* 22.1.1; Frame title no more updated after calling `set-frame-configuration'
@ 2007-08-30 17:41 Sébastien Rocca Serra
2007-08-31 11:36 ` martin rudalics
0 siblings, 1 reply; 15+ messages in thread
From: Sébastien Rocca Serra @ 2007-08-30 17:41 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1.1: Type: text/plain, Size: 974 bytes --]
Hi,
I have a problem with Emacs 22: I display the current buffer's name in the
frame title, but as soon as I call `set-frame-configuration', my frame title
no longer updates when I switch buffer.
Context
-------
1. I start "emacs -Q" with version "GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600)
of 2007-06-02 on RELEASE"
2. I display the current buffer's name in the frame title by running (setq
frame-title-format "%b") in the scratch
3. I save the frame configuration by executing (setq my-frameconfig
(current-frame-configuration)) in the scratch buffer
4. If I switch buffers, the title frame updates fine
5. I restore the frame config by calling (set-frame-configuration
my-frameconfig)
Problem
-------
After calling `set-frame-configuration' (step 5), the title frame is frozen,
it no longer updates when I switch buffer.
Notes
-----
This also happens in EmacsW32 "GNU Emacs 22.0.990.1 (i386-mingw-nt5.1.2600)
of 2007-05-23 on LENNART-69DE564 (patched)".
Thanks!
[-- Attachment #1.2: Type: text/html, Size: 1116 bytes --]
[-- Attachment #2: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-08-30 17:41 22.1.1; Frame title no more updated after calling `set-frame-configuration' Sébastien Rocca Serra
@ 2007-08-31 11:36 ` martin rudalics
2007-08-31 12:09 ` Sébastien Rocca Serra
2007-09-07 3:53 ` Glenn Morris
0 siblings, 2 replies; 15+ messages in thread
From: martin rudalics @ 2007-08-31 11:36 UTC (permalink / raw)
To: Sébastien Rocca Serra; +Cc: emacs-devel
> I have a problem with Emacs 22: I display the current buffer's name in the
> frame title, but as soon as I call `set-frame-configuration', my frame title
> no longer updates when I switch buffer.
Thanks for reporting this.
> 2. I display the current buffer's name in the frame title by running (setq
> frame-title-format "%b") in the scratch
>
> 3. I save the frame configuration by executing (setq my-frameconfig
> (current-frame-configuration)) in the scratch buffer
>
> 4. If I switch buffers, the title frame updates fine
>
> 5. I restore the frame config by calling (set-frame-configuration
> my-frameconfig)
>
> Problem
> -------
>
> After calling `set-frame-configuration' (step 5), the title frame is frozen,
> it no longer updates when I switch buffer.
It's not necessary to explicitly set `frame-title-format' to produce a
bug here. Doing `set-frame-configuration' with multiple frames, any
frames that get their name assigned explicitly from the saved
configuration parameters won't get their titles updated.
Could you try the patch below (against EMACS_22_BASE)?
--------------------------------------------------------
*** frame.c.~1.340.2.1.~ Wed Jul 25 07:15:52 2007
--- frame.c Fri Aug 31 13:23:02 2007
***************
*** 99,105 ****
Lisp_Object Qouter_window_id;
#endif
Lisp_Object Qparent_id;
! Lisp_Object Qtitle, Qname;
Lisp_Object Qunsplittable;
Lisp_Object Qmenu_bar_lines, Qtool_bar_lines;
Lisp_Object Qleft_fringe, Qright_fringe;
--- 99,105 ----
Lisp_Object Qouter_window_id;
#endif
Lisp_Object Qparent_id;
! Lisp_Object Qtitle, Qname, Qexplicit_name;
Lisp_Object Qunsplittable;
Lisp_Object Qmenu_bar_lines, Qtool_bar_lines;
Lisp_Object Qleft_fringe, Qright_fringe;
***************
*** 2143,2148 ****
--- 2143,2149 ----
:"tty"));
}
store_in_alist (&alist, Qname, f->name);
+ store_in_alist (&alist, Qexplicit_name, (f->explicit_name ? Qt : Qnil));
height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f));
store_in_alist (&alist, Qheight, make_number (height));
width = (f->new_text_cols ? f->new_text_cols : FRAME_COLS (f));
***************
*** 2580,2585 ****
--- 2581,2587 ----
{"right-fringe", &Qright_fringe},
{"wait-for-wm", &Qwait_for_wm},
{"fullscreen", &Qfullscreen},
+ {"explicit-name", &Qexplicit_name},
};
#ifdef HAVE_WINDOW_SYSTEM
--------------------------------------------------------
*** frame.el.~1.243.2.2.~ Wed Aug 8 23:12:04 2007
--- frame.el Fri Aug 31 13:26:24 2007
***************
*** 818,825 ****
;; 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)))
parms))
(set-window-configuration (nth 2 parameters)))
(setq frames-to-delete (cons frame frames-to-delete))))))
--- 818,829 ----
;; 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))
! (name (assq 'name parms))
! (explicit-name (cdr (assq 'explicit-name parms))))
! (when mini (setq parms (delq mini parms)))
! (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))))))
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-08-31 11:36 ` martin rudalics
@ 2007-08-31 12:09 ` Sébastien Rocca Serra
2007-09-04 8:06 ` Sébastien Rocca Serra
2007-09-07 3:53 ` Glenn Morris
1 sibling, 1 reply; 15+ messages in thread
From: Sébastien Rocca Serra @ 2007-08-31 12:09 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
[-- Attachment #1.1: Type: text/plain, Size: 101 bytes --]
Great, thanks!
The problem is that I have nothing ready to build Emacs... Sorry about that.
Cheers!
[-- Attachment #1.2: Type: text/html, Size: 118 bytes --]
[-- Attachment #2: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-08-31 12:09 ` Sébastien Rocca Serra
@ 2007-09-04 8:06 ` Sébastien Rocca Serra
0 siblings, 0 replies; 15+ messages in thread
From: Sébastien Rocca Serra @ 2007-09-04 8:06 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
[-- Attachment #1.1: Type: text/plain, Size: 108 bytes --]
Small update: this bug also happens in "GNU Emacs 23.0.0.1 (
i386-mingw-nt5.1.2600) of 2007-08-18 on TPAD".
[-- Attachment #1.2: Type: text/html, Size: 147 bytes --]
[-- Attachment #2: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-08-31 11:36 ` martin rudalics
2007-08-31 12:09 ` Sébastien Rocca Serra
@ 2007-09-07 3:53 ` Glenn Morris
2007-09-07 22:52 ` Glenn Morris
2007-10-08 9:31 ` martin rudalics
1 sibling, 2 replies; 15+ messages in thread
From: Glenn Morris @ 2007-09-07 3:53 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
martin rudalics wrote:
> Could you try the patch below (against EMACS_22_BASE)?
After applying this,
emacs -Q --eval '(set-frame-configuration (current-frame-configuration))'
segfaults in x_set_frame_parameters.
#0 0x000000000041fa76 in x_set_frame_parameters (f=0x1e13c970, alist=11127185)
at frame.c:2792
param_index = 232
old_value = 11127185
prop = 11434337
val = 11127185
tail = 11127185
width = 80
height = 34
left = 11127233
top = 11127233
icon_left = 11127233
icon_top = 11127233
parms = (Lisp_Object *) 0x7fff648cb610
values = (Lisp_Object *) 0x7fff648cb4b0
i = 13
p = 42
left_no_change = 0
top_no_change = 0
icon_left_no_change = 0
icon_top_no_change = 0
fullscreen_is_being_set = 0
gcpro1 = {
next = 0x7fff648cba20,
var = 0x7fff648cba28,
nvars = 42
}
#1 0x000000000041e899 in Fmodify_frame_parameters (frame=504613236,
alist=505523237) at frame.c:2281
f = (FRAME_PTR) 0x1e13c970
tail = 505524293
prop = 140734880332296
val = 11127185
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-07 3:53 ` Glenn Morris
@ 2007-09-07 22:52 ` Glenn Morris
2007-09-08 8:45 ` martin rudalics
2007-10-08 9:31 ` martin rudalics
1 sibling, 1 reply; 15+ messages in thread
From: Glenn Morris @ 2007-09-07 22:52 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
Glenn Morris wrote:
> martin rudalics wrote:
>
>> Could you try the patch below (against EMACS_22_BASE)?
>
> After applying this,
>
> emacs -Q --eval '(set-frame-configuration (current-frame-configuration))'
>
> segfaults in x_set_frame_parameters.
Seems (?) to work ok with the following extra change:
*** frame.c 25 Jul 2007 05:15:52 -0000 1.340.2.1
--- frame.c 7 Sep 2007 22:51:56 -0000
*** 2768,2773 ****
--- 2770,2778 ----
icon_top = val;
else if (EQ (prop, Qicon_left))
icon_left = val;
+ else if (EQ (prop, Qexplicit_name))
+ /* Handled elsewhere. */
+ continue;
else if (EQ (prop, Qforeground_color)
|| EQ (prop, Qbackground_color)
|| EQ (prop, Qfont)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-07 22:52 ` Glenn Morris
@ 2007-09-08 8:45 ` martin rudalics
2007-09-12 7:32 ` Glenn Morris
0 siblings, 1 reply; 15+ messages in thread
From: martin rudalics @ 2007-09-08 8:45 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
>>emacs -Q --eval '(set-frame-configuration (current-frame-configuration))'
>>
>>segfaults in x_set_frame_parameters.
>
>
>
> Seems (?) to work ok with the following extra change:
>
>
> *** frame.c 25 Jul 2007 05:15:52 -0000 1.340.2.1
> --- frame.c 7 Sep 2007 22:51:56 -0000
> *** 2768,2773 ****
> --- 2770,2778 ----
> icon_top = val;
> else if (EQ (prop, Qicon_left))
> icon_left = val;
> + else if (EQ (prop, Qexplicit_name))
> + /* Handled elsewhere. */
> + continue;
> else if (EQ (prop, Qforeground_color)
> || EQ (prop, Qbackground_color)
> || EQ (prop, Qfont)
>
This would be needed in any case because "explicit-name" should never
get assigned to by `modify-frame-parameters'. I'm not entirely sure
though whether every possible setting of "name" gets correctly reflected
in "explicit-name", but such a bug would have existed before. At least
I'm tempted to move the
f->explicit_name = ! NILP (name);
in set_term_frame_name as
f->explicit_name = Qt;
to the end of the else branch below to catch the cases where there's no
change either because the strings are equal or there's a name clash, but
that's probably only a minor issue.
I wouldn't care if anyone came up with a completely different solution ;-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-08 8:45 ` martin rudalics
@ 2007-09-12 7:32 ` Glenn Morris
2007-09-28 3:53 ` Glenn Morris
0 siblings, 1 reply; 15+ messages in thread
From: Glenn Morris @ 2007-09-12 7:32 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
martin rudalics wrote:
> I wouldn't care if anyone came up with a completely different solution ;-)
You could install your fix in the trunk only if unsure about it. The
original issue does not seem serious enough to potentially mess up the
release branch anyway.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-12 7:32 ` Glenn Morris
@ 2007-09-28 3:53 ` Glenn Morris
2007-09-28 5:44 ` martin rudalics
2007-09-28 19:04 ` Richard Stallman
0 siblings, 2 replies; 15+ messages in thread
From: Glenn Morris @ 2007-09-28 3:53 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
Glenn Morris wrote:
> martin rudalics wrote:
>
>> I wouldn't care if anyone came up with a completely different solution ;-)
>
> You could install your fix in the trunk only if unsure about it. The
> original issue does not seem serious enough to potentially mess up
> the release branch anyway.
Nobody came up with another solution. How about installing yours in
the trunk, and deleting this from FOR-RELEASE? It's not a very
important bug, and if the fix is uncertain that seems like the best
policy to me.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-28 3:53 ` Glenn Morris
@ 2007-09-28 5:44 ` martin rudalics
2007-09-28 7:10 ` Glenn Morris
2007-09-28 19:04 ` Richard Stallman
1 sibling, 1 reply; 15+ messages in thread
From: martin rudalics @ 2007-09-28 5:44 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
> Nobody came up with another solution. How about installing yours in
> the trunk, and deleting this from FOR-RELEASE? It's not a very
> important bug, and if the fix is uncertain that seems like the best
> policy to me.
>
I did not yet manage to understand that fully. At least I have to
handle this in the various incarnations of frame_parm_handler too.
I removed it from Emacs 22 FOR-RELEASE because I'll hardly come up
with a solution that won't break more important components.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-28 5:44 ` martin rudalics
@ 2007-09-28 7:10 ` Glenn Morris
0 siblings, 0 replies; 15+ messages in thread
From: Glenn Morris @ 2007-09-28 7:10 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
martin rudalics wrote:
> I did not yet manage to understand that fully. At least I have to
> handle this in the various incarnations of frame_parm_handler too.
> I removed it from Emacs 22 FOR-RELEASE because I'll hardly come up
> with a solution that won't break more important components.
OK. I put it in trunk F-R for the sake of it.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-28 3:53 ` Glenn Morris
2007-09-28 5:44 ` martin rudalics
@ 2007-09-28 19:04 ` Richard Stallman
1 sibling, 0 replies; 15+ messages in thread
From: Richard Stallman @ 2007-09-28 19:04 UTC (permalink / raw)
To: Glenn Morris; +Cc: rudalics, emacs-devel
If the fix appears to work, please install it in Emacs 22. It seems
simple and localized; even if it isn't 100% right, it is unlikely to
cause worse problems than the one it fixes.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-09-07 3:53 ` Glenn Morris
2007-09-07 22:52 ` Glenn Morris
@ 2007-10-08 9:31 ` martin rudalics
2007-10-08 19:05 ` Glenn Morris
1 sibling, 1 reply; 15+ messages in thread
From: martin rudalics @ 2007-10-08 9:31 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 276 bytes --]
>>Could you try the patch below (against EMACS_22_BASE)?
>
>
> After applying this,
>
> emacs -Q --eval '(set-frame-configuration (current-frame-configuration))'
>
> segfaults in x_set_frame_parameters.
Glenn. Could you try again with the attached Emacs_22_BASE patch?
[-- Attachment #2: frame-frame.patch --]
[-- Type: text/plain, Size: 2040 bytes --]
*** frame.c.~1.340.2.2.~ Sat Oct 6 11:46:22 2007
--- frame.c Mon Oct 8 11:22:54 2007
***************
*** 100,105 ****
--- 100,106 ----
#endif
Lisp_Object Qparent_id;
Lisp_Object Qtitle, Qname;
+ Lisp_Object Qexplicit_name;
Lisp_Object Qunsplittable;
Lisp_Object Qmenu_bar_lines, Qtool_bar_lines;
Lisp_Object Qleft_fringe, Qright_fringe;
***************
*** 3006,3011 ****
--- 3007,3013 ----
tem = Qnil;
else
XSETFASTINT (tem, FRAME_X_OUTPUT (f)->parent_desc);
+ store_in_alist (alistptr, Qexplicit_name, (f->explicit_name ? Qt : Qnil));
store_in_alist (alistptr, Qparent_id, tem);
}
***************
*** 3967,3972 ****
--- 3969,3976 ----
staticpro (&Qframep);
Qframe_live_p = intern ("frame-live-p");
staticpro (&Qframe_live_p);
+ Qexplicit_name = intern ("explicit-name");
+ staticpro (&Qexplicit_name);
Qheight = intern ("height");
staticpro (&Qheight);
Qicon = intern ("icon");
*** frame.el.~1.243.2.5.~ Sat Oct 6 11:05:52 2007
--- frame.el Mon Oct 8 11:27:14 2007
***************
*** 807,814 ****
;; 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)))
parms))
(set-window-configuration (nth 2 parameters)))
(setq frames-to-delete (cons frame frames-to-delete))))))
--- 807,818 ----
;; 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))
! (name (assq 'name parms))
! (explicit-name (cdr (assq 'explicit-name parms))))
! (when mini (setq parms (delq mini parms)))
! (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))))))
[-- Attachment #3: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-10-08 9:31 ` martin rudalics
@ 2007-10-08 19:05 ` Glenn Morris
2007-10-08 21:07 ` martin rudalics
0 siblings, 1 reply; 15+ messages in thread
From: Glenn Morris @ 2007-10-08 19:05 UTC (permalink / raw)
To: martin rudalics; +Cc: emacs-devel
martin rudalics wrote:
>>>Could you try the patch below (against EMACS_22_BASE)?
Works for me, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration'
2007-10-08 19:05 ` Glenn Morris
@ 2007-10-08 21:07 ` martin rudalics
0 siblings, 0 replies; 15+ messages in thread
From: martin rudalics @ 2007-10-08 21:07 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
>>>>Could you try the patch below (against EMACS_22_BASE)?
>
>
> Works for me, thanks.
Thanks for testing. I'll install this in a couple of days
if noone objects.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2007-10-08 21:07 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-30 17:41 22.1.1; Frame title no more updated after calling `set-frame-configuration' Sébastien Rocca Serra
2007-08-31 11:36 ` martin rudalics
2007-08-31 12:09 ` Sébastien Rocca Serra
2007-09-04 8:06 ` Sébastien Rocca Serra
2007-09-07 3:53 ` Glenn Morris
2007-09-07 22:52 ` Glenn Morris
2007-09-08 8:45 ` martin rudalics
2007-09-12 7:32 ` Glenn Morris
2007-09-28 3:53 ` Glenn Morris
2007-09-28 5:44 ` martin rudalics
2007-09-28 7:10 ` Glenn Morris
2007-09-28 19:04 ` Richard Stallman
2007-10-08 9:31 ` martin rudalics
2007-10-08 19:05 ` Glenn Morris
2007-10-08 21:07 ` martin rudalics
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.