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: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/debug.el
Date: Wed, 08 Jun 2005 23:09:34 -0400

Index: emacs/lisp/emacs-lisp/debug.el
diff -c emacs/lisp/emacs-lisp/debug.el:1.82 emacs/lisp/emacs-lisp/debug.el:1.83
*** emacs/lisp/emacs-lisp/debug.el:1.82 Wed Jun  8 19:35:54 2005
--- emacs/lisp/emacs-lisp/debug.el      Thu Jun  9 03:09:30 2005
***************
*** 88,93 ****
--- 88,95 ----
  (defvar debugger-outer-standard-output)
  (defvar debugger-outer-inhibit-redisplay)
  (defvar debugger-outer-cursor-in-echo-area)
+ (defvar debugger-will-be-back nil
+   "Non-nil if we expect to get back in the debugger soon.")
  
  (defvar inhibit-debug-on-entry nil
    "Non-nil means that debug-on-entry is disabled.")
***************
*** 123,128 ****
--- 125,131 ----
                             (get-buffer-create "*Backtrace*")))
          (debugger-old-buffer (current-buffer))
          (debugger-step-after-exit nil)
+           (debugger-will-be-back nil)
          ;; Don't keep reading from an executing kbd macro!
          (executing-kbd-macro nil)
          ;; Save the outer values of these vars for the `e' command
***************
*** 218,230 ****
                (fundamental-mode)
                (with-selected-window (get-buffer-window debugger-buffer 0)
                    (when (and (window-dedicated-p (selected-window))
!                              (not debugger-step-after-exit))
                      ;; If the window is not dedicated, burying the buffer
                      ;; will mean that the frame created for it is left
                      ;; around showing some random buffer, and next time we
                      ;; pop to the debugger buffer we'll create yet
                      ;; another frame.
!                     ;; If debugger-step-after-exit is non-nil, the frame
                      ;; would need to be de-iconified anyway immediately
                      ;; after when we re-enter the debugger, so iconifying it
                      ;; here would cause flashing.
--- 221,233 ----
                (fundamental-mode)
                (with-selected-window (get-buffer-window debugger-buffer 0)
                    (when (and (window-dedicated-p (selected-window))
!                              (not debugger-will-be-back))
                      ;; If the window is not dedicated, burying the buffer
                      ;; will mean that the frame created for it is left
                      ;; around showing some random buffer, and next time we
                      ;; pop to the debugger buffer we'll create yet
                      ;; another frame.
!                     ;; If debugger-will-be-back is non-nil, the frame
                      ;; would need to be de-iconified anyway immediately
                      ;; after when we re-enter the debugger, so iconifying it
                      ;; here would cause flashing.
***************
*** 320,326 ****
    (save-excursion
      (set-buffer (or buffer (current-buffer)))
      (setq buffer (current-buffer))
!     (let ((buffer-read-only nil)
          (old-end (point-min)) (new-end (point-min)))
        ;; If we saved an old backtrace, find the common part
        ;; between the new and the old.
--- 323,329 ----
    (save-excursion
      (set-buffer (or buffer (current-buffer)))
      (setq buffer (current-buffer))
!     (let ((inhibit-read-only t)
          (old-end (point-min)) (new-end (point-min)))
        ;; If we saved an old backtrace, find the common part
        ;; between the new and the old.
***************
*** 390,395 ****
--- 393,399 ----
    (interactive)
    (setq debugger-step-after-exit t)
    (setq debugger-jumping-flag t)
+   (setq debugger-will-be-back t)
    (add-hook 'post-command-hook 'debugger-reenable)
    (message "Proceeding, will debug on next eval or call.")
    (exit-recursive-edit))
***************
*** 400,405 ****
--- 404,415 ----
    (unless debugger-may-continue
      (error "Cannot continue"))
    (message "Continuing.")
+   (save-excursion
+     ;; Check to see if we've flagged some frame for debug-on-exit, in which
+     ;; case we'll probably come back to the debugger soon.
+     (goto-char (point-min))
+     (if (re-search-forward "^\\* " nil t)
+         (setq debugger-will-be-back t)))
    (exit-recursive-edit))
  
  (defun debugger-return-value (val)
***************
*** 410,415 ****
--- 420,431 ----
    (setq debugger-value val)
    (princ "Returning " t)
    (prin1 debugger-value)
+   (save-excursion
+     ;; Check to see if we've flagged some frame for debug-on-exit, in which
+     ;; case we'll probably come back to the debugger soon.
+     (goto-char (point-min))
+     (if (re-search-forward "^\\* " nil t)
+         (setq debugger-will-be-back t)))
    (exit-recursive-edit))
  
  (defun debugger-jump ()
***************
*** 419,424 ****
--- 435,441 ----
    (setq debugger-jumping-flag t)
    (add-hook 'post-command-hook 'debugger-reenable)
    (message "Continuing through this frame")
+   (setq debugger-will-be-back t)
    (exit-recursive-edit))
  
  (defun debugger-reenable ()
***************
*** 467,473 ****
    (beginning-of-line)
    (backtrace-debug (debugger-frame-number) t)
    (if (= (following-char) ? )
!       (let ((buffer-read-only nil))
        (delete-char 1)
        (insert ?*)))
    (beginning-of-line))
--- 484,490 ----
    (beginning-of-line)
    (backtrace-debug (debugger-frame-number) t)
    (if (= (following-char) ? )
!       (let ((inhibit-read-only t))
        (delete-char 1)
        (insert ?*)))
    (beginning-of-line))
***************
*** 483,489 ****
    (beginning-of-line)
    (backtrace-debug (debugger-frame-number) nil)
    (if (= (following-char) ?*)
!       (let ((buffer-read-only nil))
        (delete-char 1)
        (insert ? )))
    (beginning-of-line))
--- 500,506 ----
    (beginning-of-line)
    (backtrace-debug (debugger-frame-number) nil)
    (if (= (following-char) ?*)
!       (let ((inhibit-read-only t))
        (delete-char 1)
        (insert ? )))
    (beginning-of-line))




reply via email to

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