[slime-devel] Restore window configuration after closing a debug window.
Nicolas Buduroi
nbuduroi at gmail.com
Thu Dec 10 06:01:14 UTC 2009
I've posted the wrong patch in my first message, it was missing a line,
here's the correct one:
--- slime.el.orig 2009-03-30 19:01:56.781250000 -0400
+++ slime.el 2009-12-10 00:58:25.843750000 -0500
@@ -1040,6 +1040,9 @@
(set-window-buffer popup-window old-buffer))))
(when (window-live-p selected-window)
(select-window selected-window)))
+ (when sldb-last-window-configuration
+ (set-window-configuration sldb-last-window-configuration)
+ (setq sldb-last-window-configuration nil))
(kill-local-variable 'slime-popup-restore-data)))
(defmacro slime-save-local-variables (vars &rest body)
@@ -4069,6 +4072,8 @@
;;(when msg (slime-insert-transcript-delimiter msg))
;;(setq slime-repl-popup-on-output (not no-popups))
(setq cont (or cont #'slime-display-eval-result))
+ (when (null sldb-last-window-configuration)
+ (setq sldb-last-window-configuration (current-window-configuration)))
(slime-rex (cont (buffer (current-buffer))) (form)
((:ok value) (slime-eval-with-transcript-cont t value cont buffer))
((:abort) (slime-eval-with-transcript-cont nil nil nil buffer))))
@@ -5158,6 +5163,9 @@
:group 'slime-debugger
:type 'integer)
+(defvar sldb-last-window-configuration nil
+ "Last window configuration before creating a new sldb buffer.")
+
;;;;; Local variables in the debugger buffer
On Thu, Dec 10, 2009 at 12:55 AM, Nicolas Buduroi <nbuduroi at gmail.com>wrote:
> Hi, I've been using slime casually for some time now and something always
> annoyed me, when the debug window pop up, it changes the size of the second
> window if there's one. I've searched for a ways to fix this behavior many
> times, but never found any simple solution. So today I've got myself into
> the code and made some changes. It works but the code is not really correct,
> one problem is that if you dig farther than the first cause and then use
> abort, it will hide the remaining debug buffers by restoring windows to
> their prior state. Can someone help me improve that code or show me a better
> way to achieve this?
>
> Here's the patch:
>
> --- slime.el.orig 2009-03-30 19:01:56.781250000 -0400
> +++ slime.el 2009-12-10 00:28:27.984375000 -0500
> @@ -1040,6 +1040,8 @@
> (set-window-buffer popup-window old-buffer))))
> (when (window-live-p selected-window)
> (select-window selected-window)))
> + (when sldb-last-window-configuration
> + (set-window-configuration sldb-last-window-configuration))
> (kill-local-variable 'slime-popup-restore-data)))
>
> (defmacro slime-save-local-variables (vars &rest body)
> @@ -4069,6 +4071,8 @@
> ;;(when msg (slime-insert-transcript-delimiter msg))
> ;;(setq slime-repl-popup-on-output (not no-popups))
> (setq cont (or cont #'slime-display-eval-result))
> + (when (null sldb-last-window-configuration)
> + (setq sldb-last-window-configuration (current-window-configuration)))
> (slime-rex (cont (buffer (current-buffer))) (form)
> ((:ok value) (slime-eval-with-transcript-cont t value cont buffer))
> ((:abort) (slime-eval-with-transcript-cont nil nil nil buffer))))
> @@ -5158,6 +5162,9 @@
> :group 'slime-debugger
> :type 'integer)
>
> +(defvar sldb-last-window-configuration nil
> + "Last window configuration before creating a new sldb buffer.")
> +
> ;;;;; Local variables in the debugger buffer
>
> Thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20091210/bee76b1e/attachment.html>
More information about the slime-devel
mailing list