> This gives a backtrace like this: > ------ Buffer: *Backtrace* ------ > Debugger entered--entering a function: > * (lambda (var) (if (or inhibit-debug-on-entry debugger-jumping-flag) nil > (debug ...)) (list (quote setq) var (list ... var)))(x) > (inc x) > (progn (setq x 0) (inc x)) > eval((progn (setq x 0) (inc x))) > eval-last-sexp-1(nil) > eval-last-sexp(nil) > call-interactively(eval-last-sexp) > ------ Buffer: *Backtrace* ------
> where you can see the debug-entry-code (if (or inhibit-debug-on-entry > debugger-jumping-flag) nil (debug ...)). I would prefer to hide the > internals of the debugger from its users. debug.el already hides its internals. See debugger-setup-buffer. It just has to be updated to hide this part of the internals. > You proposed to change defun, defsubst, defalias and defmacro to add > debug-entry-code when their argument was in debug-function-list. That > is a similarly big change. There's no need to do that. The hooks are already present for defadvice, so we should simply use them. Better yet, we should use defadvice directly: (defadvice <FOO> (before debug-on-entry activate) (if inhibit-debug-on-entry nil (debug 'debug))) This will properly survive function redefinitions. Stefan _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel