• Re: macroexpand-all & eval-and-compile

    From Steve G@Sgonedes1977@gmail.com to gnu.emacs.help on Wed Mar 30 16:07:55 2022
    From Newsgroup: gnu.emacs.help

    Helmut Eller <eller.helmut@gmail.com> writes:

    Can somebody explain why

    (require 'cl-lib)
    (macroexpand-all '(eval-and-compile (cl-defstruct x)))

    Try using macroexpand-1.

    I think you are misunderstanding eval-and-compile. this function is not designed for interactive use. When you apply the function
    eval-and-compile it is probably doing what you want without the
    notification. Explicit macroexpansion can get hairy.

    returns the constant 'x instead of something similar to the code
    returned by

    (macroexpand-all '(cl-defstruct x))

    that actually defines a structure?

    Try using eval before macro expand. (eval (macroexpand-1 .... ))

    Helmut

    --- Synchronet 3.21d-Linux NewsLink 1.2