From: Arsen Arsenović Date: Sat, 18 Jan 2025 15:40:29 +0000 (+0100) Subject: ruler-mode: Improve compatibility with text-scale (bug#75168) X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c3a84eeb3e192827f8a979b02867f0142724ec59;p=emacs.git ruler-mode: Improve compatibility with text-scale (bug#75168) * lisp/ruler-mode.el (ruler-mode-ruler): Use pixelwise line-number display width for alignment with line numbers. (cherry picked from commit 311b3f70f543a106bc9ebc369b69432a106b0e38) --- diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el index 003dcae560f..64568e06cc9 100644 --- a/lisp/ruler-mode.el +++ b/lisp/ruler-mode.el @@ -632,12 +632,7 @@ Optional argument PROPS specifies other text properties to apply." (let* ((w (ruler-mode-text-scaled-window-width)) (m (window-margins)) (f (window-fringes)) - (i (if display-line-numbers - ;; 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)) - 0)) + (i 0) (j (ruler-mode-text-scaled-window-hscroll)) ;; Setup the scrollbar, fringes, and margins areas. (lf (ruler-mode-space @@ -745,6 +740,12 @@ Optional argument PROPS specifies other text properties to apply." (dolist (p (nreverse props)) (add-text-properties (nth 0 p) (nth 1 p) (nthcdr 2 p) ruler-str)) + ;; Attach an alignment indent. + (if display-line-numbers + (setq ruler-str + (concat (ruler-mode-space `(,(line-number-display-width t))) + ruler-str))) + ;; Return the ruler propertized string. Using list here, ;; instead of concat visually separate the different areas. (if (nth 2 (window-fringes))