Commit 40aa4c27 authored by Martin Rudalics's avatar Martin Rudalics
Browse files

(set-frame-configuration): Assign name parameter only

if it has been set explicitly before.
parent 5839d7e8
......@@ -71,11 +71,6 @@ http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00138.html
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01793.html
[jpw@pobox.com has a patch]
** Frame title no more updated after calling `set-frame-configuration'
Report by Sebastien Rocca Serra <sroccaserra@gmail.com> on emacs-devel
from 2007-08-30. [martin rudalics has a patch]
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01632.html
* FIXES FOR EMACS 22.3
Here we list any small fixes that arrived too late for Emacs 22.2, but
......
2007-10-12 Martin Rudalics <rudalics@gmx.at>
 
* frame.el (set-frame-configuration): Assign name parameter only
if it has been set explicitly before.
* window.el (handle-select-window): Revert part of 2007-10-06
change setting the input focus.
 
......@@ -807,8 +807,15 @@ is given and non-nil, the unwanted frames are iconified instead."
;; 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))))))
......
......@@ -1855,15 +1855,7 @@ x_implicitly_set_name (f, arg, oldval)
}
/* Change the title of frame F to NAME.
If NAME is nil, use the frame name as the title.
If EXPLICIT is non-zero, that indicates that lisp code is setting the
name; if NAME is a string, set F's name to NAME and set
F->explicit_name; if NAME is Qnil, then clear F->explicit_name.
If EXPLICIT is zero, that indicates that Emacs redisplay code is
suggesting a new name, which lisp code should override; if
F->explicit_name is set, ignore the new name; otherwise, set it. */
If NAME is nil, use the frame name as the title. */
void
x_set_title (f, name, old_name)
......
......@@ -1937,15 +1937,7 @@ x_implicitly_set_name (f, arg, oldval)
}
/* Change the title of frame F to NAME.
If NAME is nil, use the frame name as the title.
If EXPLICIT is non-zero, that indicates that lisp code is setting the
name; if NAME is a string, set F's name to NAME and set
F->explicit_name; if NAME is Qnil, then clear F->explicit_name.
If EXPLICIT is zero, that indicates that Emacs redisplay code is
suggesting a new name, which lisp code should override; if
F->explicit_name is set, ignore the new name; otherwise, set it. */
If NAME is nil, use the frame name as the title. */
void
x_set_title (f, name, old_name)
......
......@@ -1764,15 +1764,7 @@ x_implicitly_set_name (f, arg, oldval)
}
/* Change the title of frame F to NAME.
If NAME is nil, use the frame name as the title.
If EXPLICIT is non-zero, that indicates that lisp code is setting the
name; if NAME is a string, set F's name to NAME and set
F->explicit_name; if NAME is Qnil, then clear F->explicit_name.
If EXPLICIT is zero, that indicates that Emacs redisplay code is
suggesting a new name, which lisp code should override; if
F->explicit_name is set, ignore the new name; otherwise, set it. */
If NAME is nil, use the frame name as the title. */
void
x_set_title (f, name, old_name)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment