'mode-line-face' 没办法设置buffer-local值?

尝试让mode-line的face随buffer是否修改动态变化的时候,发现face-remapping-alistmode-line-face不起作用,所有buffer的mode-line-face都是同一个值(emacs -Q环境下)。

例如eval这段代码

(set (make-local-variable 'face-remapping-alist)
     (copy-tree '((mode-line error))))

之后,应该是只有当前buffer的mode-line字体变成红色,结果实际是所有buffer的mode-line都会变红。

emacs29.1 应该用’mode-line-active’ face.

From NEWS:

** Remapping ‘mode-line’ no longer works as expected. ‘mode-line’ is now the parent face of the new ‘mode-line-active’ face, and remapping parent of basic faces does not work reliably. Instead of remapping ‘mode-line’, you have to remap ‘mode-line-active’.