[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once
From: |
Michael Heerdegen |
Subject: |
bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once |
Date: |
Sat, 25 Oct 2014 01:13:36 +0200 |
Hello,
this is a feature request.
The problem is the following:
When writing a complex macro, one often wants to check some examples to
see if it expands code as intended.
There are different ways of doing that: M-x pp-macroexpand-expression or
M-x emacs-lisp-macroexpand for example.
But there is a problem: if the macro expansion is a toplevel call to
some other macro, this one will also be expanded, because the above
commands use `macroexpand' which successively expands until the result
is not a macro call. This is not useful for checking macro expansions.
I want to suggest to alter `pp-macroexpand-expression', or to provide a
new command, based on a function that expands only one time like
(defun macroexpand1 (expr)
(apply (cdr (symbol-function (car expr))) (cdr expr)))
(This can no doubt be improved, e.g. to DTRT for autoloaded macros.)
Or did I miss something? Opinions?
Thanks,
Michael.
In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.1)
of 2014-10-17 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11601000
System Description: Debian GNU/Linux testing (jessie)
- bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once,
Michael Heerdegen <=