changeset 53894:0a356c1b7057

(window-safely-shrinkable-p): Don't change the buffer-list. Don't allow shrink if there's a window on our right.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 09 Feb 2004 00:52:41 +0000
parents 3c462fb496fc
children 522c584a7e2d
files lisp/window.el
diffstat 1 files changed, 6 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/window.el	Mon Feb 09 00:49:54 2004 +0000
+++ b/lisp/window.el	Mon Feb 09 00:52:41 2004 +0000
@@ -1,6 +1,6 @@
 ;;; window.el --- GNU Emacs window commands aside from those written in C
 
-;; Copyright (C) 1985, 1989, 1992, 1993, 1994, 2000, 2001, 2002
+;; Copyright (C) 1985, 1989, 1992, 1993, 1994, 2000, 2001, 2002, 2004
 ;;  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -188,13 +188,11 @@
 (defun window-safely-shrinkable-p (&optional window)
   "Non-nil if the WINDOW can be shrunk without shrinking other windows.
 If WINDOW is nil or omitted, it defaults to the currently selected window."
-  (save-selected-window
-    (when window (select-window window))
-    (or (and (not (eq window (frame-first-window)))
-	     (= (car (window-edges))
-		(car (window-edges (previous-window)))))
-	(= (car (window-edges))
-	   (car (window-edges (next-window)))))))
+  (with-selected-window (or window (selected-window))
+    (let ((edges (window-edges)))
+      (or (= (nth 2 edges) (nth 2 (window-edges (previous-window))))
+	  (= (nth 0 edges) (nth 0 (window-edges (next-window))))))))
+
 
 (defun balance-windows ()
   "Make all visible windows the same height (approximately)."