GNU bug report logs - #10882
bs cannot recover from error splitting

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Fri, 24 Feb 2012 18:46:01 UTC

Severity: minor

Done: Juanma Barranquero <lekktu <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Bug-Gnu-Emacs <bug-gnu-emacs <at> gnu.org>
Subject: bs cannot recover from error splitting
Date: Fri, 24 Feb 2012 19:42:15 +0100
Package: emacs
Severity: minor

emacs -Q
C-x 2
C-x b test <RET>
M-: (setq window-size-fixed 'height) <RET>   ;; in buffer "test"
M-x bs-show <RET>  =>  Window #<window 3 on *scratch*> too small for splitting
;; ok, let's kill that window
C-x 0
;; now the only window shows "*scrach*"
M-x bs-show <RET>  =>  we're back to the old config and the "too small" error.

The problem is that bs--show-with-configuration errs out, so bs-show
ends and the saved configuration is never reset to nil. Each new
attempt to use bs-show finds a saved configuration and restores it
before anything else.

The simplest way to fix it is using ignore-errors to protect against
split-window-below failing, so the code acts as if the window was too
small in the first place. It causes no harm because, once bs-show is
exited normally, the current window configuration is restored.

OK to install now?

    Juanma



=== modified file 'lisp/bs.el'
--- lisp/bs.el	2012-01-19 07:21:25 +0000
+++ lisp/bs.el	2012-02-24 18:37:28 +0000
@@ -1415,5 +1415,5 @@
 	(setq bs--window-config-coming-from (current-window-configuration))
 	(when (> (window-height (selected-window)) 7)
-          (select-window (split-window-below))))
+          (ignore-errors (select-window (split-window-below)))))
       (bs-show-in-buffer liste)
       (bs-message-without-log "%s" (bs--current-config-message)))))




This bug report was last modified 13 years and 92 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.