GNU bug report logs - #75168
31.0.50; text-scale confuses ruler-mode when display-line-number-mode is active

Previous Next

Package: emacs;

Reported by: Arsen Arsenović <arsen <at> aarsen.me>

Date: Sat, 28 Dec 2024 21:16:01 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 75168 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Arsen Arsenović <arsen <at> aarsen.me>
Cc: 75168 <at> debbugs.gnu.org
Subject: Re: bug#75168: 31.0.50;
 text-scale confuses ruler-mode when display-line-number-mode is active
Date: Sun, 29 Dec 2024 08:37:17 +0200
> Date: Sat, 28 Dec 2024 22:15:28 +0100
> From:  Arsen Arsenović via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Reproduction steps:
> 1. emacs -Q
> 2. M-x display-line-numbers-mode RET
> 3. M-x ruler-mode RET
> 4. C-x C-+ C-+ C-+ C-+
> 
> You should notice that the ruler is misaligned.

Ruler mode doesn't work well with text-scale, as the comment there says.

> I've hotfixed this in my running Emacs by applying:
> 
> modified   lisp/ruler-mode.el
> @@ -636,7 +636,7 @@ ruler-mode-ruler
>                  ;; FIXME: ruler-mode relies on I being an integer, so
>                  ;; the column numbers might be slightly off if the
>                  ;; line-number face is customized.
> -                (round (line-number-display-width 'columns))
> +                (+ (round (line-number-display-width)) 2)
>                0))
>           (j (ruler-mode-text-scaled-window-hscroll))
>           ;; Setup the scrollbar, fringes, and margins areas.
> 
> ... and re-evaling the ruler-mode-ruler defun.
> 
> Per the line-number-display-width doc, when it is called with 'columns,
> it returns the number of columns in the frames canonical font size, but
> that's not the font size that is used for the fringes: the fringes seem
> to use the font the buffer is using, at least after text-scale-mode does
> its thing.

I'm not sure I understand what you mean by "fringes seem to use the
font the buffer is using".  When I type "C-x C-+ C-+...", the fringes
stay at their original width.  Do you see something different?

Anyway, the change you suggest is basically going back to what we had
before fixing bug#28855, so I don't think we can make such a change,
at least not literally.  We need something more complex to account for
the use cases described in that bug.

> Interestingly, changing text-scale-remap-header-line appears to have no
> effect, but that variable ought to be accounted for somehow also, I
> think?  Though, if the line-numbers and header line always use the same
> face, then the above should be correct, I think?

If you take a look at ruler-mode.el, you will see that it overrides
header-line-format by its own code.




This bug report was last modified 174 days ago.

Previous Next


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