Eli Zaretskii writes: > It's probably a good feature, but it has at least one caveat: setting > that variable non-nil will cause not only the header-line face to be > rescaled, it will also cause any face that inherits from header-line > to be rescaled. Not sure if this is a problem, but it should be > called out in NEWS, at least. [...] > This should mention modes that arrange their display in tabular form > below the header-line, such as tabulated-list-mode and its > descendants. Otherwise the last sentence and the goal of the feature > itself are left on a level that's too abstract. I've made an attempt to improve this in the attached. >> -(make-variable-buffer-local 'text-scale-mode-remapping) >> +(make-obsolete-variable 'text-scale-mode-remapping "no longer used." "28.1") >> + >> +(defvar text-scale-mode--remappings nil >> + "List of current remapping cookies for `text-scale-mode'.") > > Why this change? This is to give the variable the correct plural form, and to mark it internal by giving it the double dash. >> +(defvar text-scale-mode-header-line nil > > I suggest to name this text-scale-remap-header-line-face. Done. >> + "If non-nil, also change text height of the header line.") > > Not just height, the size. Also, please say "`header-line' face", and > mention that all the faces that inherit from it will be affected as > well. Done. >> +(defun face-remap--remap-face (sym) >> + (push (face-remap-add-relative sym >> + :height >> + (expt text-scale-mode-step >> + text-scale-mode-amount)) >> + text-scale-mode--remappings)) > > I wonder whether this is all there is to it. The display code doesn't > automatically use the remapped face in all cases, we need to code that > "by hand" in each and every case. So far we've been doing that only > for the default face; I wonder if we'll have to do something similar > for header-line on the C level... Please be sure to test this in > every possible way, including cursor motion around such rescaled > header-lines etc. I've done my best to test it some more, including cursor motion around the adjusted header line, as well as scrolling the window left and right and up and down (using mouse and keyboard). I've not been able to produce any failures so far. Please let me know if you have any more ideas for what I could do to try to break it.