From: Eli Zaretskii <eliz@gnu.org>
To: Alexander Adolf <alexander.adolf@condition-alpha.com>
Cc: emacs-devel@gnu.org
Subject: Re: 29.0.50 master freeze on macOS
Date: Tue, 19 Jul 2022 19:02:46 +0300 [thread overview]
Message-ID: <83pmi1m6op.fsf@gnu.org> (raw)
In-Reply-To: <5cd7689bb258db5a267a908c9cb18e0c@condition-alpha.com> (message from Alexander Adolf on Tue, 19 Jul 2022 17:27:14 +0200)
> From: Alexander Adolf <alexander.adolf@condition-alpha.com>
> Cc: emacs-devel@gnu.org
> Date: Tue, 19 Jul 2022 17:27:14 +0200
>
> It loops in face_inherited_attr(). Here is the call stack:
> [...]
> In face_inherited_attr(), variable values were:
>
> w window * NULL
> f frame * NULL
> attrs Lisp_Object * NULL
> attr_idx lface_attribute_index LFACE_EXTEND_INDEX
> named_merge_points named_merge_point * 0x7ffeee3e9018 0x00007ffeee3e9018
> inherited_attrs Lisp_Object [20]
> attr_val Lisp_Object 0xf3f0 0x000000000000f3f0
>
> Inside the while() loop, the if (CONSP (parent_face)) fails, and it
> executes the else branch. From there, it calls
>
> get_lface_attributes (struct window *w,
> struct frame *f, Lisp_Object face_name,
> Lisp_Object attrs[LFACE_VECTOR_SIZE], bool signal_p,
> struct named_merge_point *named_merge_points)
>
> which executes the “default case, no remapping” path.
>
> Interestingly, the window and frame pointers are NULL in the context of
> face_inherited_attr() only. I.e. in both the function that calls it
> (merge_named_face()), and in the function called by it
> (get_lface_attributes()), the pointers have the same, non-NULL value.
>
> Hope this helps? If you want me to look into more specific things next
> time it happens, please don't hesitate to drop me a note.
This helps, thanks. But since the loop is in that place, it is very
important to see the definition of the face which causes this.
Specifically:
. what is the value of face_name argument to merge_named_face that
calls face_inherited_attr? it should be a symbol.
. what are the attributes in the attrs[] argument to
face_inherited_attr? this is a vector of Lisp objects, and the
meaning of each component can be seen in the lface_attribute_index
enumeration
Thanks.
next prev parent reply other threads:[~2022-07-19 16:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-14 14:05 29.0.50 master freeze on macOS Alexander Adolf
2022-07-14 14:19 ` Eli Zaretskii
2022-07-14 16:02 ` Alexander Adolf
2022-07-15 16:31 ` Alexander Adolf
2022-07-15 18:04 ` Eli Zaretskii
2022-07-19 15:27 ` Alexander Adolf
2022-07-19 15:35 ` Alexander Adolf
2022-07-19 16:02 ` Eli Zaretskii [this message]
2022-07-25 13:26 ` Alexander Adolf
2022-07-25 13:50 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83pmi1m6op.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=alexander.adolf@condition-alpha.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.