emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

be able to have `d' in debugger treat macro expansion like `c' does


From: Drew Adams
Subject: be able to have `d' in debugger treat macro expansion like `c' does
Date: Mon, 11 May 2009 15:34:42 -0700

In the Lisp debugger (the one for `debug-on-entry' etc.), if you're going along
doing `d, d, d...', and you get to a Lisp macro, such as `dolist', you must
switch to `c' instead of `d', if you don't want to drill down into the steps of
the macro expansion itself.

It would be good to be able to optionally have `d' skip over macro expansions
(that is, expand all at once, like `c' does). A new user option could control
this.

[Alternatively, we could have a different key from `d', say `s' (for "step"),
that does this always - does what `d' does except for macros, where it does what
`c' does. But I suspect a user option would be sufficient - you probably either
want to do this all the time or you don't (no need for two different stepping
keys).]

With the alternative behavior, in `dolist', for example, you would step through
the function calls, using `d', and automatically skip over the macro expansions,
also using `d'. There are two macro expansions for `dolist': #[(spec &rest body)
"...] for `dolist' itself and #[(name &rest body) "...] for `block'. No need to
switch from `d' to `c' for those expansions. In something like `dolist', you
typically just want to get quickly to the loop iterations.

Dunno what others think, but using the debugger with things like `dolist' (which
I've been doing for years) is a pain, compared to using the debugger with, say,
`while'. It's almost enough of a pain to make one avoid using `dolist' and such.
;-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]