changeset:   4457:2785829fe37c25a05d7dc850cf9767fcf8f04786
user:        Mike Sperber <sperber(a)deinprogramm.de>
date:        Wed Mar 12 19:37:49 2008 +0100
files:       lisp/ChangeLog lisp/window-xemacs.el
description:
Fix window-configuration problem.
2008-03-12  Mike Sperber  <mike(a)xemacs.org>
	* window-xemacs.el (restore-saved-window): Restore window
	parameters right after splitting, rather than after traversing the
	other children.
diff -r 11357f7846bf1ab10224f0025a6cc3327c419e84 -r
2785829fe37c25a05d7dc850cf9767fcf8f04786 lisp/ChangeLog
--- a/lisp/ChangeLog	Tue Mar 11 23:15:08 2008 -0700
+++ b/lisp/ChangeLog	Wed Mar 12 19:37:49 2008 +0100
@@ -1,3 +1,9 @@ 2008-03-07  Michael Sperber  <mike@xemac
+2008-03-12  Mike Sperber  <mike(a)xemacs.org>
+
+	* window-xemacs.el (restore-saved-window): Restore window
+	parameters right after splitting, rather than after traversing the
+	other children.
+
 2008-03-07  Michael Sperber  <mike(a)xemacs.org>
 
 	* gnuserv.el (gnuserv-temp-file-regexp): Quote the temp-directory
diff -r 11357f7846bf1ab10224f0025a6cc3327c419e84 -r
2785829fe37c25a05d7dc850cf9767fcf8f04786 lisp/window-xemacs.el
--- a/lisp/window-xemacs.el	Tue Mar 11 23:15:08 2008 -0700
+++ b/lisp/window-xemacs.el	Wed Mar 12 19:37:49 2008 +0100
@@ -379,17 +379,21 @@ by `current-window-configuration'."
 
 (defun restore-saved-window (configuration window saved-window direction)
   "Within CONFIGURATION, restore WINDOW to the state of SAVED-WINDOW."
-  (and (saved-window-next-child saved-window)
-       (not (saved-window-minibufferp (saved-window-next-child saved-window)))
-       (progn
-	 (cond ((eq direction 'vertical)
-		(split-window window nil nil))
-	       ((eq direction 'horizontal)
-		(split-window window nil t)))
-	 (restore-saved-window configuration
-			       (window-next-child window)
-			       (saved-window-next-child saved-window)
-			       direction)))
+  (cond
+   ((and (saved-window-next-child saved-window)
+	 (not (saved-window-minibufferp (saved-window-next-child saved-window))))
+    (cond ((eq direction 'vertical)
+	   (split-window window nil nil))
+	  ((eq direction 'horizontal)
+	   (split-window window nil t)))
+    (if (not (saved-window-minibufferp saved-window))
+	(restore-saved-window-parameters configuration window saved-window))
+    (restore-saved-window configuration
+			  (window-next-child window)
+			  (saved-window-next-child saved-window)
+			  direction))
+  ((not (saved-window-minibufferp saved-window))
+   (restore-saved-window-parameters configuration window saved-window)))
 
   (if (saved-window-first-hchild saved-window)
       (restore-saved-window configuration
@@ -400,10 +404,7 @@ by `current-window-configuration'."
       (restore-saved-window configuration
 			    window
 			    (saved-window-first-vchild saved-window)
-			    'vertical))
-
-  (if (not (saved-window-minibufferp saved-window))
-      (restore-saved-window-parameters configuration window saved-window)))
+			    'vertical)))
 
 (defun restore-saved-window-parameters (configuration window saved-window)
   "Restore the window parameters stored in SAVED-WINDOW on WINDOW."
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches