emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/debug.el


From: Lute Kamstra
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/debug.el
Date: Tue, 01 Mar 2005 08:00:32 -0500

Index: emacs/lisp/emacs-lisp/debug.el
diff -c emacs/lisp/emacs-lisp/debug.el:1.69 emacs/lisp/emacs-lisp/debug.el:1.70
*** emacs/lisp/emacs-lisp/debug.el:1.69 Tue Mar  1 09:08:47 2005
--- emacs/lisp/emacs-lisp/debug.el      Tue Mar  1 13:00:30 2005
***************
*** 95,100 ****
--- 95,105 ----
  
  (defvar inhibit-debug-on-entry nil)
  
+ ;; When you change this, you may also need to change the number of
+ ;; frames that the debugger skips.
+ (defconst debug-entry-code '(if inhibit-debug-on-entry nil (debug 'debug))
+   "Code added to a function to cause it to call the debugger upon entry.")
+ 
  ;;;###autoload
  (setq debugger 'debug)
  ;;;###autoload
***************
*** 189,196 ****
                  (message "%s" (buffer-string))
                  (kill-emacs))
                (if (eq (car debugger-args) 'debug)
!                   ;; Skip the frames for backtrace-debug, byte-code, and 
debug.
!                   (backtrace-debug 3 t))
                (debugger-reenable)
                (message "")
                (let ((standard-output nil)
--- 194,202 ----
                  (message "%s" (buffer-string))
                  (kill-emacs))
                (if (eq (car debugger-args) 'debug)
!                   ;; Skip the frames for backtrace-debug, byte-code,
!                   ;; and debug-entry-code.
!                   (backtrace-debug 4 t))
                (debugger-reenable)
                (message "")
                (let ((standard-output nil)
***************
*** 253,259 ****
    (delete-region (point)
                 (progn
                   (search-forward "\n  debug(")
!                  (forward-line 1)
                   (point)))
    (insert "Debugger entered")
    ;; lambda is for debug-on-call when a function call is next.
--- 259,267 ----
    (delete-region (point)
                 (progn
                   (search-forward "\n  debug(")
!                  (forward-line (if (eq (car debugger-args) 'debug)
!                                    2  ; Remove debug-entry-code frame.
!                                  1))
                   (point)))
    (insert "Debugger entered")
    ;; lambda is for debug-on-call when a function call is next.
***************
*** 426,439 ****
          (count 0))
        (while (not (eq (cadr (backtrace-frame count)) 'debug))
        (setq count (1+ count)))
        (goto-char (point-min))
!       (if (or (equal (buffer-substring (point) (+ (point) 6))
!                    "Signal")
!             (equal (buffer-substring (point) (+ (point) 6))
!                    "Return"))
!         (progn
!           (search-forward ":")
!           (forward-sexp 1)))
        (forward-line 1)
        (while (progn
               (forward-char 2)
--- 434,446 ----
          (count 0))
        (while (not (eq (cadr (backtrace-frame count)) 'debug))
        (setq count (1+ count)))
+       ;; Skip debug-entry-code frame.
+       (when (member '(debug (quote debug)) (cdr (backtrace-frame (1+ count))))
+       (setq count (1+ count)))
        (goto-char (point-min))
!       (when (looking-at "Debugger entered--\\(Lisp error\\|returning 
value\\):")
!       (goto-char (match-end 0))
!       (forward-sexp 1))
        (forward-line 1)
        (while (progn
               (forward-char 2)
***************
*** 692,700 ****
              (setq body (cons (documentation function) body)))
          (fset function (cons 'lambda (cons (car contents) body)))))))
  
- (defconst debug-entry-code '(if inhibit-debug-on-entry nil (debug 'debug))
-   "Code added to a function to cause it to call the debugger upon entry.")
- 
  (defun debug-on-entry-1 (function defn flag)
    (if (subrp defn)
        (error "%s is a built-in function" function)
--- 699,704 ----
***************
*** 707,713 ****
        (when (and (stringp (cadr tail)) (cddr tail))
          (setq tail (cdr tail)))
        ;; Skip the interactive form.
!       (when (eq 'interactive (car-safe (cadr tail))) 
          (setq tail (cdr tail)))
        (unless (eq flag (equal (cadr tail) debug-entry-code))
          ;; Add/remove debug statement as needed.
--- 711,717 ----
        (when (and (stringp (cadr tail)) (cddr tail))
          (setq tail (cdr tail)))
        ;; Skip the interactive form.
!       (when (eq 'interactive (car-safe (cadr tail)))
          (setq tail (cdr tail)))
        (unless (eq flag (equal (cadr tail) debug-entry-code))
          ;; Add/remove debug statement as needed.




reply via email to

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