Suppose I have defined the following macro:
(defmacro mymacro (a) "" (eval a))
If I then use eval-last-sexp
(i.e. C-x C-e
) to evaluate the following,
(defun somefcn (b) "" (mymacro b))
I get the error (void-variable b)
. However, if I evaluate the definition another way (e.g. using eval-expression
), it evaluates fine and works fine.
Note that the following expression evaluates without a problem
(defun somefcn (a) "" (mymacro a))
What is going on?