> 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
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-devel