/[emacs]/emacs/lisp/emacs-lisp/debug.el
ViewVC logotype

Diff of /emacs/lisp/emacs-lisp/debug.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.82 by monnier, Wed Jun 8 19:35:54 2005 UTC revision 1.83 by monnier, Thu Jun 9 03:09:30 2005 UTC
# Line 88  This is to optimize `debugger-make-xrefs Line 88  This is to optimize `debugger-make-xrefs
88  (defvar debugger-outer-standard-output)  (defvar debugger-outer-standard-output)
89  (defvar debugger-outer-inhibit-redisplay)  (defvar debugger-outer-inhibit-redisplay)
90  (defvar debugger-outer-cursor-in-echo-area)  (defvar debugger-outer-cursor-in-echo-area)
91    (defvar debugger-will-be-back nil
92      "Non-nil if we expect to get back in the debugger soon.")
93    
94  (defvar inhibit-debug-on-entry nil  (defvar inhibit-debug-on-entry nil
95    "Non-nil means that debug-on-entry is disabled.")    "Non-nil means that debug-on-entry is disabled.")
# Line 123  first will be printed into the backtrace Line 125  first will be printed into the backtrace
125                               (get-buffer-create "*Backtrace*")))                               (get-buffer-create "*Backtrace*")))
126            (debugger-old-buffer (current-buffer))            (debugger-old-buffer (current-buffer))
127            (debugger-step-after-exit nil)            (debugger-step-after-exit nil)
128              (debugger-will-be-back nil)
129            ;; Don't keep reading from an executing kbd macro!            ;; Don't keep reading from an executing kbd macro!
130            (executing-kbd-macro nil)            (executing-kbd-macro nil)
131            ;; Save the outer values of these vars for the `e' command            ;; Save the outer values of these vars for the `e' command
# Line 218  first will be printed into the backtrace Line 221  first will be printed into the backtrace
221                  (fundamental-mode)                  (fundamental-mode)
222                  (with-selected-window (get-buffer-window debugger-buffer 0)                  (with-selected-window (get-buffer-window debugger-buffer 0)
223                    (when (and (window-dedicated-p (selected-window))                    (when (and (window-dedicated-p (selected-window))
224                               (not debugger-step-after-exit))                               (not debugger-will-be-back))
225                      ;; If the window is not dedicated, burying the buffer                      ;; If the window is not dedicated, burying the buffer
226                      ;; will mean that the frame created for it is left                      ;; will mean that the frame created for it is left
227                      ;; around showing some random buffer, and next time we                      ;; around showing some random buffer, and next time we
228                      ;; pop to the debugger buffer we'll create yet                      ;; pop to the debugger buffer we'll create yet
229                      ;; another frame.                      ;; another frame.
230                      ;; If debugger-step-after-exit is non-nil, the frame                      ;; If debugger-will-be-back is non-nil, the frame
231                      ;; would need to be de-iconified anyway immediately                      ;; would need to be de-iconified anyway immediately
232                      ;; after when we re-enter the debugger, so iconifying it                      ;; after when we re-enter the debugger, so iconifying it
233                      ;; here would cause flashing.                      ;; here would cause flashing.
# Line 320  That buffer should be current already." Line 323  That buffer should be current already."
323    (save-excursion    (save-excursion
324      (set-buffer (or buffer (current-buffer)))      (set-buffer (or buffer (current-buffer)))
325      (setq buffer (current-buffer))      (setq buffer (current-buffer))
326      (let ((buffer-read-only nil)      (let ((inhibit-read-only t)
327            (old-end (point-min)) (new-end (point-min)))            (old-end (point-min)) (new-end (point-min)))
328        ;; If we saved an old backtrace, find the common part        ;; If we saved an old backtrace, find the common part
329        ;; between the new and the old.        ;; between the new and the old.
# Line 390  Enter another debugger on next entry to Line 393  Enter another debugger on next entry to
393    (interactive)    (interactive)
394    (setq debugger-step-after-exit t)    (setq debugger-step-after-exit t)
395    (setq debugger-jumping-flag t)    (setq debugger-jumping-flag t)
396      (setq debugger-will-be-back t)
397    (add-hook 'post-command-hook 'debugger-reenable)    (add-hook 'post-command-hook 'debugger-reenable)
398    (message "Proceeding, will debug on next eval or call.")    (message "Proceeding, will debug on next eval or call.")
399    (exit-recursive-edit))    (exit-recursive-edit))
# Line 400  Enter another debugger on next entry to Line 404  Enter another debugger on next entry to
404    (unless debugger-may-continue    (unless debugger-may-continue
405      (error "Cannot continue"))      (error "Cannot continue"))
406    (message "Continuing.")    (message "Continuing.")
407      (save-excursion
408        ;; Check to see if we've flagged some frame for debug-on-exit, in which
409        ;; case we'll probably come back to the debugger soon.
410        (goto-char (point-min))
411        (if (re-search-forward "^\\* " nil t)
412            (setq debugger-will-be-back t)))
413    (exit-recursive-edit))    (exit-recursive-edit))
414    
415  (defun debugger-return-value (val)  (defun debugger-return-value (val)
# Line 410  will be used, such as in a debug on exit Line 420  will be used, such as in a debug on exit
420    (setq debugger-value val)    (setq debugger-value val)
421    (princ "Returning " t)    (princ "Returning " t)
422    (prin1 debugger-value)    (prin1 debugger-value)
423      (save-excursion
424        ;; Check to see if we've flagged some frame for debug-on-exit, in which
425        ;; case we'll probably come back to the debugger soon.
426        (goto-char (point-min))
427        (if (re-search-forward "^\\* " nil t)
428            (setq debugger-will-be-back t)))
429    (exit-recursive-edit))    (exit-recursive-edit))
430    
431  (defun debugger-jump ()  (defun debugger-jump ()
# Line 419  will be used, such as in a debug on exit Line 435  will be used, such as in a debug on exit
435    (setq debugger-jumping-flag t)    (setq debugger-jumping-flag t)
436    (add-hook 'post-command-hook 'debugger-reenable)    (add-hook 'post-command-hook 'debugger-reenable)
437    (message "Continuing through this frame")    (message "Continuing through this frame")
438      (setq debugger-will-be-back t)
439    (exit-recursive-edit))    (exit-recursive-edit))
440    
441  (defun debugger-reenable ()  (defun debugger-reenable ()
# Line 467  Applies to the frame whose line point is Line 484  Applies to the frame whose line point is
484    (beginning-of-line)    (beginning-of-line)
485    (backtrace-debug (debugger-frame-number) t)    (backtrace-debug (debugger-frame-number) t)
486    (if (= (following-char) ? )    (if (= (following-char) ? )
487        (let ((buffer-read-only nil))        (let ((inhibit-read-only t))
488          (delete-char 1)          (delete-char 1)
489          (insert ?*)))          (insert ?*)))
490    (beginning-of-line))    (beginning-of-line))
# Line 483  Applies to the frame whose line point is Line 500  Applies to the frame whose line point is
500    (beginning-of-line)    (beginning-of-line)
501    (backtrace-debug (debugger-frame-number) nil)    (backtrace-debug (debugger-frame-number) nil)
502    (if (= (following-char) ?*)    (if (= (following-char) ?*)
503        (let ((buffer-read-only nil))        (let ((inhibit-read-only t))
504          (delete-char 1)          (delete-char 1)
505          (insert ? )))          (insert ? )))
506    (beginning-of-line))    (beginning-of-line))

Legend:
Removed from v.1.82  
changed lines
  Added in v.1.83

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26