Тук-тук. Это опять я.
Ваша функция:
>? (defmacro super-quote (arg) `(quote ,arg))
А это примерно то что мне нужно:
>? (defun set-new (new-arg val) (setq (super-quote new-arg) val))
Но:
>? (set-new НАШЛОСЬ 1)
> ...выдаёт ошибку о том что НАШЛОСЬ не имеет значения
Хотя в new-arg "НАШЛОСЬ" уже подставлено, и я ожидал что можно будет:
>? НАШЛОСЬ
> 1
Я написал через setq потому что setf не заработал, выдало ошибку вроде "...error (setf quote)... . Раньше тоже помню что setf не работал в этом случае. Но зато кажется обычный set работал. Причём вроде начиналось как-то так:
(set '(super-quote ...
Ещё вроде был eval, кажется два, вот так как-то:
(eval (quote (eval...
Между ними был наверное quote. Странно было что при одном eval-е оно не работало, а с повтором заработало, хотя
(eval (quote...
кажется можно долго повторять.
(defmacro set-new (new-arg val) `(setf ,new-arg ,val)) Но в этом мало смысла.