emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r109993: Try to keep height of debugg


From: martin rudalics
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109993: Try to keep height of debugger window consistent. (Bug#8789)
Date: Wed, 12 Sep 2012 17:49:17 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109993
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Wed 2012-09-12 17:49:17 +0200
message:
  Try to keep height of debugger window consistent.  (Bug#8789)
  
  * emacs-lisp/debug.el (debugger-previous-window-height): New
  variable.
  (debug): When debugger-jumping-flag is non-nil try to restore
  height of debugger window.  (Bug#8789)
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/debug.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-09-12 13:12:48 +0000
+++ b/lisp/ChangeLog    2012-09-12 15:49:17 +0000
@@ -1,3 +1,10 @@
+2012-09-12  Martin Rudalics  <address@hidden>
+
+       * emacs-lisp/debug.el (debugger-previous-window-height): New
+       variable.
+       (debug): When debugger-jumping-flag is non-nil try to restore
+       height of debugger window.  (Bug#8789)
+
 2012-09-12  Stefan Monnier  <address@hidden>
 
        * emacs-lisp/edebug.el (edebug-enter): Don't mess with

=== modified file 'lisp/emacs-lisp/debug.el'
--- a/lisp/emacs-lisp/debug.el  2012-09-12 00:14:50 +0000
+++ b/lisp/emacs-lisp/debug.el  2012-09-12 15:49:17 +0000
@@ -96,6 +96,9 @@
 (defvar debugger-previous-window nil
   "This is the window last showing the debugger buffer.")
 
+(defvar debugger-previous-window-height nil
+  "The last recorded height of `debugger-previous-window'.")
+
 (defvar debugger-previous-backtrace nil
   "The contents of the previous backtrace (including text properties).
 This is to optimize `debugger-make-xrefs'.")
@@ -234,7 +237,17 @@
                  . (,(when debugger-previous-window
                        `(previous-window . ,debugger-previous-window)))))
              (setq debugger-window (selected-window))
-             (setq debugger-previous-window debugger-window)
+             (if (eq debugger-previous-window debugger-window)
+                 (when debugger-jumping-flag
+                   ;; Try to restore previous height of debugger
+                   ;; window.
+                   (condition-case nil
+                       (window-resize
+                        debugger-window
+                        (- debugger-previous-window-height
+                           (window-total-size debugger-window)))
+                     (error nil)))
+               (setq debugger-previous-window debugger-window))
              (debugger-mode)
              (debugger-setup-buffer debugger-args)
              (when noninteractive
@@ -262,6 +275,9 @@
                  (recursive-edit))))
          (when (and (window-live-p debugger-window)
                     (eq (window-buffer debugger-window) debugger-buffer))
+           ;; Record height of debugger window.
+           (setq debugger-previous-window-height
+                 (window-total-size debugger-window))
            ;; Unshow debugger-buffer.
            (quit-restore-window debugger-window debugger-bury-or-kill))
           ;; Restore previous state of debugger-buffer in case we were


reply via email to

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