GNU bug report logs - #51577
27.2; Regression: reproducible hang with face functions

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Wed, 3 Nov 2021 02:45:02 UTC

Severity: normal

Tags: moreinfo, notabug, wontfix

Found in version 27.2

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Drew Adams <drew.adams <at> oracle.com>
To: Eli Zaretskii <eliz <at> gnu.org>, Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: "51577 <at> debbugs.gnu.org" <51577 <at> debbugs.gnu.org>
Subject: bug#51577: [External] : Re: bug#51577: 27.2; Regression: reproducible hang with face functions
Date: Thu, 4 Nov 2021 19:21:27 +0000
> As for detecting loops: it could be tricky.  It is easy enough to
> detect simple loops such as the one in this case, where a face
> inherits directly from itself, and the value of the :inherit attribute
> is the symbol of a face.  But inheritance loops could be less simple:
> a face could inherit from itself indirectly, and the value of the
> attribute could be a list, not a named face.  Detecting loops in those
> cases would require recording face specs/names we already saw in some
> list, and each time we get an :inherit attribute, check if its value
> is already in the list.  Is that worth our while, if the result will
> be a silent error message in *Messages*?

Yes, nested inherits are more complicated.

Whether some attempt is made in that regard
could maybe be a wishlist request.

Let's not let ideal become the enemy of good,
here.

I'd be happy just removing the regression, i.e.,
returning to the behavior prior to Emacs 27
(in this regard - I don't mean just reverting
code; how to remove the regression is up to you).

IOW, allow a face `foo' to have (and ignore) an
`:inherit foo' in its face spec.

Clearly, somehow Emacs 26 tolerated such simple
self-inheritance (as a no-op).  Whether it did
so in the right way or not, in terms of design
or implementation, I don't know.




This bug report was last modified 3 years and 255 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.