all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.



  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.