changeset 79050:1a92b80c7fa2

(set-frame-configuration): Assign name parameter only if it has been set explicitly before.
author Martin Rudalics <rudalics@gmx.at>
date Fri, 12 Oct 2007 08:40:56 +0000
parents 257d07b87d1c
children 791005d11e25
files lisp/frame.el
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/frame.el	Fri Oct 12 08:36:47 2007 +0000
+++ b/lisp/frame.el	Fri Oct 12 08:40:56 2007 +0000
@@ -807,8 +807,15 @@
 			;; Since we can't set a frame's minibuffer status,
 			;; we might as well omit the parameter altogether.
 			(let* ((parms (nth 1 parameters))
-			       (mini (assq 'minibuffer parms)))
-			  (if mini (setq parms (delq mini parms)))
+			       (mini (assq 'minibuffer parms))
+			       (name (assq 'name parms))
+			       (explicit-name (cdr (assq 'explicit-name parms))))
+			  (when mini (setq parms (delq mini parms)))
+			  ;; Leave name in iff it was set explicitly.
+			  ;; This should fix the behavior reported in
+			  ;; http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01632.html
+			  (when (and name (not explicit-name))
+			    (setq parms (delq name parms)))
 			  parms))
 		       (set-window-configuration (nth 2 parameters)))
 		   (setq frames-to-delete (cons frame frames-to-delete))))))