summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/subr-x.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2021-10-27 14:03:43 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2021-10-27 14:03:43 -0400
commitc22b735f0c6261b485f0f2afa10ec4c598550b5b (patch)
tree7190d6aac4d4b4a8cbfa6a001316865bb2057899 /lisp/emacs-lisp/subr-x.el
parent9559cc85e834a270b7627b3766df814946cd314a (diff)
downloademacs-c22b735f0c6261b485f0f2afa10ec4c598550b5b.tar.gz
(string-pixel-width): Rewrite to avoid side effects
* src/xdisp.c (Fwindow_text_pixel_size): Allow `window` to be a buffer. * lisp/emacs-lisp/subr-x.el (string-pixel-width): Simplify accordingly.
Diffstat (limited to 'lisp/emacs-lisp/subr-x.el')
-rw-r--r--lisp/emacs-lisp/subr-x.el9
1 files changed, 2 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el
index f2060814f25..00668d47439 100644
--- a/lisp/emacs-lisp/subr-x.el
+++ b/lisp/emacs-lisp/subr-x.el
@@ -446,13 +446,8 @@ is inserted before adjusting the number of empty lines."
"Return the width of STRING in pixels."
(with-temp-buffer
(insert string)
- (save-window-excursion
- ;; Avoid errors if the selected window is a dedicated one,
- ;; and they just want to insert a document into it.
- (set-window-dedicated-p nil nil)
- (set-window-buffer nil (current-buffer))
- (car (window-text-pixel-size
- nil (line-beginning-position) (point))))))
+ (car (window-text-pixel-size
+ (current-buffer) (point-min) (point)))))
(provide 'subr-x)