lets define the symbol-macro as
Code: Select all
(define-symbol-macro macro 0)
Code: Select all
(let ((macro 1)) macro)
Code: Select all
(let ((0 1)) 0)
maybe this is, because it is a special form
but then it is wierd that this special form
Code: Select all
(setq macro 1)
I also can not make the symbol-macro unbound again, as with normal macros, and functions (fmakunbound) and symbols, following code throws an error:
Code: Select all
(fmakunbound macro)
Another example:
Code: Select all
(defvar *cons* (cons 1 2))
(define-symbol-macro test (car *cons*))
(setq test 0)
but if I write the macro-expansion of test in the last function:
Code: Select all
(setq (car *cons*) 1)
why are symbol macros setq-able?