[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Macro handling patch for lisp/emacs-lisp/debug.el.
From: |
Lute Kamstra |
Subject: |
Macro handling patch for lisp/emacs-lisp/debug.el. |
Date: |
Thu, 10 Mar 2005 12:19:55 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Does anybody see any problems with the following patch?
Lute.
Index: lisp/emacs-lisp/debug.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/debug.el,v
retrieving revision 1.75
diff -c -r1.75 debug.el
*** lisp/emacs-lisp/debug.el 10 Mar 2005 09:42:13 -0000 1.75
--- lisp/emacs-lisp/debug.el 10 Mar 2005 11:13:23 -0000
***************
*** 171,176 ****
--- 171,183 ----
(save-window-excursion
(with-no-warnings
(setq unread-command-char -1))
+ (when (eq (car debugger-args) 'debug)
+ ;; Skip the frames for backtrace-debug, byte-code,
+ ;; and implement-debug-on-entry.
+ (backtrace-debug 4 t)
+ ;; Place an extra debug-on-exit for macro's.
+ (when (eq 'lambda (car-safe (cadr (backtrace-frame 4))))
+ (backtrace-debug 5 t)))
(pop-to-buffer debugger-buffer)
(debugger-mode)
(debugger-setup-buffer debugger-args)
***************
*** 190,199 ****
(goto-char (point-min))
(message "%s" (buffer-string))
(kill-emacs))
- (if (eq (car debugger-args) 'debug)
- ;; Skip the frames for backtrace-debug, byte-code,
- ;; and implement-debug-on-entry.
- (backtrace-debug 4 t))
(message "")
(let ((standard-output nil)
(buffer-read-only t))
--- 197,202 ----
***************
*** 263,274 ****
;; lambda is for debug-on-call when a function call is next.
;; debug is for debug-on-entry function called.
(cond ((memq (car debugger-args) '(lambda debug))
! (insert "--entering a function:\n")
! (if (eq (car debugger-args) 'debug)
! (progn
! (delete-char 1)
! (insert ?*)
! (beginning-of-line))))
;; Exiting a function.
((eq (car debugger-args) 'exit)
(insert "--returning value: ")
--- 266,272 ----
;; lambda is for debug-on-call when a function call is next.
;; debug is for debug-on-entry function called.
(cond ((memq (car debugger-args) '(lambda debug))
! (insert "--entering a function:\n"))
;; Exiting a function.
((eq (car debugger-args) 'exit)
(insert "--returning value: ")
Index: lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.7081
diff -c -r1.7081 ChangeLog
*** lisp/ChangeLog 10 Mar 2005 09:43:01 -0000 1.7081
--- lisp/ChangeLog 10 Mar 2005 11:13:46 -0000
***************
*** 10,15 ****
--- 10,19 ----
(debug, debugger-setup-buffer): Comment update.
(debugger-frame-number): Update to work with
implement-debug-on-entry.
+ (debug): Set debug-on-exit before calling debugger-setup-buffer so
+ that backtrace marks the frames set to debug-on-exit and we don't
+ have to do it manually. Set an extra debug-on-exit for macro's.
+ (debugger-setup-buffer): Don't mark the top frame manually.
2005-03-10 Jay Belanger <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Macro handling patch for lisp/emacs-lisp/debug.el.,
Lute Kamstra <=