Greeting from me!
When studying define-macro(http://www.newlisp.org/downloads/newlis ... fine-macro), I am a little confused with following statement:
Note that in fexprs, the danger exists of passing a parameter with the same variable name as used in the define-macro definition. In this case, the fexpr's internal variable would end up receiving nil instead of the intended value:
Code: Select all
;; not a good definition!
(define-macro (my-setq x y) (set x (eval y)))
;; symbol name clash for x
(my-setq x 123) → 123
x → nil
Thanks very much in advance!
Best Regards
Nan Xiao