all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Yuri D'Elia <wavexx@thregr.org>
Cc: emacs-devel@gnu.org
Subject: Re: master 5ee43ba0df causing display hangs?
Date: Wed, 11 Dec 2019 19:47:40 +0200	[thread overview]
Message-ID: <83lfriah4z.fsf@gnu.org> (raw)
In-Reply-To: <87lfrisrcd.fsf@wavexx.thregr.org> (message from Yuri D'Elia on Wed, 11 Dec 2019 18:29:54 +0100)

> From: Yuri D'Elia <wavexx@thregr.org>
> Cc: emacs-devel@gnu.org
> Date: Wed, 11 Dec 2019 18:29:54 +0100
> 
> What I meant was: is it worth it to also check explicitly whether the
> value of :inherit is a face using LFACEP (hopefully I got the right
> macro name) directly in merge_named_face? Or is it simply redundant?

It's not redundant, but it takes CPU cycles, and this code is called
in the bowels of the display engine, so it needs to be as fast as
possible.

Moreover, the value of :inherit can legitimately be a list of faces,
not just a single face.  So the test is somewhat complicated, and I'd
rather not do it.

In general, we just ignore invalid face specs in all this code, so I
think it's okay to do that here as well.  Once we are protected from
looping on such mistaken specs, we should be OK, I think.

(Btw, the problem in this case couldn't have been detected in
merge_named_face, because the offending symbol, gnus-header-content,
was indeed a face; it's its :inherit attribute that was faulty.  So
we'd need to try detecting that in face_inherited_attr itself, and
then deal with the fact that the value can be a list.)



      reply	other threads:[~2019-12-11 17:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-07 13:08 master 5ee43ba0df causing display hangs? Yuri D'Elia
2019-12-07 17:42 ` Eli Zaretskii
2019-12-07 18:14   ` Eli Zaretskii
2019-12-07 18:56     ` Yuri D'Elia
2019-12-07 19:18       ` Eli Zaretskii
2019-12-07 23:03         ` Yuri D'Elia
2019-12-08 15:55           ` Eli Zaretskii
2019-12-08 16:03             ` Yuri D'Elia
2019-12-08 16:57               ` Eli Zaretskii
2019-12-10 10:57                 ` Yuri D'Elia
2019-12-10 12:01                   ` Eli Zaretskii
2019-12-11 11:36                     ` Yuri D'Elia
2019-12-11 17:14                       ` Eli Zaretskii
2019-12-11 17:29                         ` Yuri D'Elia
2019-12-11 17:47                           ` Eli Zaretskii [this message]

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=83lfriah4z.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=wavexx@thregr.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.