GNU bug report logs - #16529
24.3.50; regression: `set-face-attribute' broken for attribute `:font'

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Thu, 23 Jan 2014 16:23:02 UTC

Severity: normal

Found in version 24.3.50

Fixed in version 24.4

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 16529 in the body.
You can then email your comments to 16529 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Thu, 23 Jan 2014 16:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Drew Adams <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 23 Jan 2014 16:23:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; regression: `set-face-attribute' broken for attribute `:font'
Date: Thu, 23 Jan 2014 08:21:42 -0800 (PST)
emacs -Q

M-: (set-face-attribute 'default nil :font "-outline-Lucida Console-normal-normal-normal-mono-14-*-*-*-c-*-iso8859-1")

That correctly sets the font for the current frame.  However, it does
NOT set the font for future frames, as the doc says it should and as it
does in previous Emacs versions (e.g. 24.3).

Similarly, this does not work anymore:

M-: (set-face-attribute 'default t :font "-outline-Lucida Console-normal-normal-normal-mono-14-*-*-*-c-*-iso8859-1")

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2014-01-17 on ODIEONE
Bzr revision: 116059 michael.albinus <at> gmx.de-20140117182409-gz695p2c951idlee
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
 CPPFLAGS=-Ic:/Devel/emacs/include'




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Fri, 24 Jan 2014 03:12:01 GMT) Full text and rfc822 format available.

Message #8 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;
 regression: `set-face-attribute' broken for attribute `:font'
Date: Thu, 23 Jan 2014 22:11:35 -0500
Works for me.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Fri, 24 Jan 2014 17:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50; regression: `set-face-attribute' broken for
 attribute `:font'
Date: Fri, 24 Jan 2014 18:43:37 +0100
> Works for me.

Doesn't work for me. Perhaps is Windows-specific.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 12:03:02 GMT) Full text and rfc822 format available.

Message #14 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: rgm <at> gnu.org, 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;
 regression: `set-face-attribute' broken for attribute `:font'
Date: Sat, 25 Jan 2014 14:01:55 +0200
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Fri, 24 Jan 2014 18:43:37 +0100
> Cc: 16529 <at> debbugs.gnu.org
> 
> > Works for me.
> 
> Doesn't work for me. Perhaps is Windows-specific.

Could you please bisect this?  I have no idea how does the font
parameter get propagated to other frames (it's not via
default-frame-alist), so I don't know where to look for the cause of
this problem.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 12:58:01 GMT) Full text and rfc822 format available.

Message #17 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: lekktu <at> gmail.com, martin rudalics <rudalics <at> gmx.at>
Cc: 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;
 regression: `set-face-attribute' broken for attribute `:font'
Date: Sat, 25 Jan 2014 14:57:26 +0200
> Date: Sat, 25 Jan 2014 14:01:55 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 16529 <at> debbugs.gnu.org
> 
> > From: Juanma Barranquero <lekktu <at> gmail.com>
> > Date: Fri, 24 Jan 2014 18:43:37 +0100
> > Cc: 16529 <at> debbugs.gnu.org
> > 
> > > Works for me.
> > 
> > Doesn't work for me. Perhaps is Windows-specific.
> 
> Could you please bisect this?

Actually, I think I found the revision to blame.  The problem started
to happen between Dec 25 and Dec 26.  This commit sounds relevant:

  revno: 115757
  committer: martin rudalics <rudalics <at> gmx.at>
  branch nick: trunk
  timestamp: Thu 2013-12-26 11:31:42 +0000
  message:
    Some more tinkering with Bug#16051.

    * window.c (resize_frame_windows): Don't let the size of the
    root window drop below the frame's default character size.
    Never ever delete any subwindows - let the window manager do the
    clipping.

    * w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
    of toolbar lines needed when they exceed the height of the root
    window.
    (unwind_create_frame_1): New function.
    (Fx_create_frame): Generally inhibit calling the window
    configuration change hook here.  Remove extra call to
    change_frame_size - it's not needed when we don't run the
    configuration change hook.

Martin, could you take a look, please?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 15:00:03 GMT) Full text and rfc822 format available.

Message #20 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: lekktu <at> gmail.com, 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;	regression: `set-face-attribute' broken for
 attribute `:font'
Date: Sat, 25 Jan 2014 15:59:05 +0100
> Martin, could you take a look, please?

Should be fixed now (apparently setting face attributes can run Lisp
code from within Fx_create_frame and if that really happens it looks
like a bad idea to me).

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 15:44:03 GMT) Full text and rfc822 format available.

Message #23 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: lekktu <at> gmail.com, 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;
 regression: `set-face-attribute' broken for attribute `:font'
Date: Sat, 25 Jan 2014 17:43:43 +0200
> Date: Sat, 25 Jan 2014 15:59:05 +0100
> From: martin rudalics <rudalics <at> gmx.at>
> CC: lekktu <at> gmail.com, 16529 <at> debbugs.gnu.org
> 
>  > Martin, could you take a look, please?
> 
> Should be fixed now

It is for me, thanks.

> (apparently setting face attributes can run Lisp code from within
> Fx_create_frame and if that really happens it looks like a bad idea
> to me).

Why do you think it is a bad idea?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 16:42:02 GMT) Full text and rfc822 format available.

Message #26 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: lekktu <at> gmail.com, 16529 <at> debbugs.gnu.org
Subject: RE: bug#16529: 24.3.50; regression: `set-face-attribute' broken for
 attribute `:font'
Date: Sat, 25 Jan 2014 08:41:28 -0800 (PST)
> Should be fixed now

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16529; Package emacs. (Sat, 25 Jan 2014 16:48:02 GMT) Full text and rfc822 format available.

Message #29 received at 16529 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: lekktu <at> gmail.com, 16529 <at> debbugs.gnu.org
Subject: Re: bug#16529: 24.3.50;	regression: `set-face-attribute' broken for
 attribute `:font'
Date: Sat, 25 Jan 2014 17:47:24 +0100
>> (apparently setting face attributes can run Lisp code from within
>> Fx_create_frame and if that really happens it looks like a bad idea
>> to me).
>
> Why do you think it is a bad idea?

Because, as someone remarked, at that time the frame is "not official
yet".  I haven't looked into the details but, if I understand correctly,
NOT running Lisp code in Fx_create_frame can detrimentally affect the
appearance of future frames.  Such design doesn't strike me as
particularly sane.  But maybe all functions run are of the benign type.

martin




bug marked as fixed in version 24.4, send any further explanations to 16529 <at> debbugs.gnu.org and Drew Adams <drew.adams <at> oracle.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 10 Feb 2014 03:50:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 10 Mar 2014 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 163 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.