bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#61521: "default" is now the first item returned from (font-faces), b


From: Gregory Heytings
Subject: bug#61521: "default" is now the first item returned from (font-faces), breaking various code.
Date: Wed, 15 Feb 2023 14:11:55 +0000


Thanks. It seems the change you describe is not a recent one: the first element of the list returned by 'face-list' is 'default' in Emacs 27, 28, 29 and 30. (This is caused by e3b8ddd500, since which frame faces are stored in a hash table instead of an alist.)

Right. So I wonder whether we should remove the nreverse call in face-set-after-frame-default. WDYT?


There are three occurrences of '(nreverse (face-list))': one in facemenu-complete-face-list, which seems to date from the 1990s, one in x-create-frame-with-faces, which was added by e3b8ddd500 "to handle subtle semantic change to how frame faces propagate, which otherwise breaks frame creation with reverse video enabled (bug#41200)", and the third one in 'face-set-after-frame-default'.

The comment there is definitely outdated and should be removed, but given that '(nreverse (face-list))' is placed in a dolist whose body starts with '(face-spec-recalc face frame)', like in x-create-frame-with-faces, I'm not sure the nreverse can be removed without introducing a subtle bug. It is probably safer to leave the code unchanged.






reply via email to

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