emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 5ee43ba0df causing display hangs?


From: Yuri D'Elia
Subject: Re: master 5ee43ba0df causing display hangs?
Date: Sun, 08 Dec 2019 00:03:35 +0100
User-agent: mu4e 1.3.5; emacs 27.0.50

On Sat, Dec 07 2019, Eli Zaretskii wrote:
> Thanks.  Then I guess I will need that recipe to see where I goofed.

Tried a few times to get a small repro, but this might be easier to be
debugged.

> memcpy (inherited_attrs, attrs, LFACE_VECTOR_SIZE * sizeof (attrs[0]));
> while (UNSPECIFIEDP (attr_val)
>        && !NILP (inherited_attrs[LFACE_INHERIT_INDEX])
>        && !UNSPECIFIEDP (inherited_attrs[LFACE_INHERIT_INDEX]))
>   {
>     Lisp_Object parent_face = inherited_attrs[LFACE_INHERIT_INDEX];
>     bool ok;
>     if (CONSP (parent_face))
>       {
>         Lisp_Object tail;
>         for (tail = parent_face; !NILP (tail); tail = XCDR (tail))
>           {
>             ok = get_lface_attributes (w, f, XCAR (tail), inherited_attrs,
>                                        false, named_merge_points);
>             if (!ok)
>               break;

While attaching with gdb I noticed this is where it gets stuck in a loop.
get_lface_attributes returns !ok, break stops only the for loop, but
since nothing else changed for the upper "while" it goes on forever.

Looking at few lines below, it looks like this needs to break out of the
while() as well?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]