Subject: Re: bug#15788: 24.3.50; Can't change the default face's attributes

From: Jan Djärv <[email-masked]>
Date: Sat, 02 Nov 2013 13:12:25 +0100

Hello.

2013-11-02 12:54, Eli Zaretskii skrev:
>> From: Jan Djärv <[email-masked]>
>> Date: Sat, 2 Nov 2013 09:02:23 +0100
>> Cc: [email-masked]
>>
>> Fixed.
>>
>> 	Jan D.
>>
>> 2 nov 2013 kl. 05:22 skrev Dmitry Gutov <[email-masked]>:
>>
>>> Specifically, this code does nothing, irrespective of values of height
>>> and family:
>>>
>>> (set-face-attribute 'default nil :height 105 :family "Fira Mono")
>>>
>>> 'bzr bisect' points to revision 114895
>>> ([email-masked])
>>>
>>>
>>> In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4)
>>> of 2013-11-02 on axl
>>> Bzr revision: 114899 [email-masked]
>>> Windowing system distributor `The X.Org Foundation', version 11.0.11303000
>>> System Description:	Ubuntu 13.04
>
> Unfortunately, the fix breaks the w32 build: it hits assertion
> violation at startup.  The details are below.  Let me know how can I
> help you debug this.
>

What is the value of attrs[LFACE_DISTANT_FOREGROUND_INDEX])?

	Jan D.

>    xfaces.c:1810: Emacs fatal error: assertion failed: UNSPECIFIEDP (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) || IGNORE_DEFFACE_P (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) || STRINGP (attrs[LFACE_DISTANT_FOREGROUND_INDEX])
>
>    Breakpoint 1, terminate_due_to_signal (sig=22, backtrace_limit=2147483647)
>        at emacs.c:350
>    350       signal (sig, SIG_DFL);
>    (gdb) bt
>    #0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647)
>        at emacs.c:350
>    #1  0x0115b5bc in die (
>        msg=0x148e7e4 <DEFAULT_REHASH_SIZE+3612> "UNSPECIFIEDP (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) || IGNORE_DEFFACE_P (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) || STRINGP (attrs[LFACE_DISTANT_FOREGROUND_INDEX])",
>        file=0x148d9d0 <DEFAULT_REHASH_SIZE+8> "xfaces.c", line=1810)
>        at alloc.c:6698
>    #2  0x010d6a49 in check_lface_attrs (attrs=0x379ab54) at xfaces.c:1808
>    #3  0x010d6cc8 in check_lface (lface=58305365) at xfaces.c:1842
>    #4  0x010de9c9 in realize_default_face (f=0x35a74b8) at xfaces.c:5381
>    #5  0x010de16c in realize_basic_faces (f=0x35a74b8) at xfaces.c:5247
>    #6  0x010d43a3 in recompute_basic_faces (f=0x35a74b8) at xfaces.c:735
>    #7  0x010247e6 in init_iterator (it=0x82e650, w=0x35a7720, charpos=1,
>        bytepos=1, row=0x0, base_face_id=DEFAULT_FACE_ID) at xdisp.c:2706
>    #8  0x01039452 in resize_mini_window (w=0x35a7720, exact_p=1) at xdisp.c:10406
>    #9  0x01011162 in do_switch_frame (frame=57293069, track=1, for_deletion=0,
>        norecord=56191026) at frame.c:832
>    #10 0x010116e0 in Fselect_frame (frame=57293069, norecord=56191026)
>        at frame.c:885
>    #11 0x010800b9 in select_frame_norecord (frame=57293069) at window.c:3061
>    #12 0x01080247 in run_window_configuration_change_hook (f=0x36a3908)
>        at window.c:3085
>    #13 0x011ed565 in x_set_tool_bar_lines (f=0x36a3908, value=4, oldval=56191002)
>        at w32fns.c:1717
>    #14 0x0101649e in x_set_frame_parameters (f=0x36a3908, alist=56191002)
>        at frame.c:2801
>    #15 0x0101924d in x_default_parameter (f=0x36a3908, alist=56171710,
>        prop=56334746, deflt=4, xprop=0x0, xclass=0x0, type=RES_TYPE_NUMBER)
>        at frame.c:3821
>    #16 0x011f3599 in Fx_create_frame (parameters=56171710) at w32fns.c:4491
>
>    Lisp Backtrace:
>    "x-create-frame" (0x82f288)
>    "x-create-frame-with-faces" (0x82f488)
>    "make-frame" (0x82f688)
>    "frame-initialize" (0x82f888)
>    "command-line" (0x82fabc)
>    "normal-top-level" (0x82fc70)
>    (gdb) frame 2
>    #2  0x010d6a49 in check_lface_attrs (attrs=0x379ab54) at xfaces.c:1808
>    1808      eassert (UNSPECIFIEDP (attrs[LFACE_DISTANT_FOREGROUND_INDEX])
>    (gdb) l
>    1803               || IGNORE_DEFFACE_P (attrs[LFACE_INVERSE_INDEX])
>    1804               || SYMBOLP (attrs[LFACE_INVERSE_INDEX]));
>    1805      eassert (UNSPECIFIEDP (attrs[LFACE_FOREGROUND_INDEX])
>    1806               || IGNORE_DEFFACE_P (attrs[LFACE_FOREGROUND_INDEX])
>    1807               || STRINGP (attrs[LFACE_FOREGROUND_INDEX]));
>    1808      eassert (UNSPECIFIEDP (attrs[LFACE_DISTANT_FOREGROUND_INDEX])
>    1809               || IGNORE_DEFFACE_P (attrs[LFACE_DISTANT_FOREGROUND_INDEX])
>    1810               || STRINGP (attrs[LFACE_DISTANT_FOREGROUND_INDEX]));
>    1811      eassert (UNSPECIFIEDP (attrs[LFACE_BACKGROUND_INDEX])
>    1812               || IGNORE_DEFFACE_P (attrs[LFACE_BACKGROUND_INDEX])
>    (gdb) p attrs[LFACE_DISTANT_FOREGROUND_INDEX]
>    $1 = 56191002
>    (gdb) xtype
>    Lisp_Symbol
>    (gdb) xsymbol
>    $2 = (struct Lisp_Symbol *) 0x3596818
>    "nil"
>