From: Juri Linkov Date: Sun, 20 Nov 2022 18:02:20 +0000 (+0200) Subject: Disable display-line-numbers-mode in string-pixel-width (bug#59311) X-Git-Tag: emacs-29.0.90~1616^2~11 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5c709bd605d39032362a2850321615faed4d1eb3;p=emacs.git Disable display-line-numbers-mode in string-pixel-width (bug#59311) * lisp/emacs-lisp/subr-x.el (string-pixel-width): Turn off display-line-numbers-mode when it's enabled. --- diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el index 6e4d88b4df3..18087bc937f 100644 --- a/lisp/emacs-lisp/subr-x.el +++ b/lisp/emacs-lisp/subr-x.el @@ -322,6 +322,10 @@ as the new values of the bound variables in the recursive invocation." ;; Keeping a work buffer around is more efficient than creating a ;; new temporary buffer. (with-current-buffer (get-buffer-create " *string-pixel-width*") + ;; `display-line-numbers-mode' is enabled in internal buffers + ;; that breaks width calculation, so need to disable (bug#59311) + (when (bound-and-true-p display-line-numbers-mode) + (display-line-numbers-mode -1)) (delete-region (point-min) (point-max)) (insert string) (car (buffer-text-pixel-size nil nil t)))))