all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* be able to have `d' in debugger treat macro expansion like `c' does
@ 2009-05-11 22:34 Drew Adams
  0 siblings, 0 replies; only message in thread
From: Drew Adams @ 2009-05-11 22:34 UTC (permalink / raw
  To: 'emacs-devel'

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.
;-)





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-11 22:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-11 22:34 be able to have `d' in debugger treat macro expansion like `c' does Drew Adams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.