From 52e5dbd2da295e7a67e66920a67423a6ca355e7c Mon Sep 17 00:00:00 2001 From: Ivan Date: Sat, 21 Mar 2026 20:01:15 +0100 Subject: [PATCH] Fix erc-track-faces-normal-list regression * lisp/erc/erc-track.el (erc-track--select-mode-line-face): Check whether ranked faces in the message appear in the value of the option `erc-track-faces-normal-list' rather than repeatedly checking if the current nominee does, usually the highest ranked face in the message. Failure to do so caused ERC to treat faces absent from the option's value as being present and thus eligible to replace ranked faces in the mode line segment. This bug was introduced in ERC 5.6 and is also part of 5.6.1. (Bug#80659) Copyright-paperwork-exempt: yes --- lisp/erc/erc-track.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index f5ea63ae764..6306df3fa2a 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el @@ -1006,7 +1006,7 @@ Failing that, choose the first face in both NEW-FACES and NORMALS." (dolist (candidate (cdr ranks)) (when (and (not (equal candidate choice)) (gethash candidate (car new-faces)) - (gethash choice normals)) + (gethash candidate normals)) (throw 'face candidate))) ;; Otherwise, go with any "normal" face other than ;; `choice' in the region.