From: Eli Zaretskii Date: Sat, 16 Dec 2017 14:09:41 +0000 (+0200) Subject: Avoid reordering of output in 'shr-insert-document' X-Git-Tag: emacs-26.0.91~124 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f274cbd185;p=emacs.git Avoid reordering of output in 'shr-insert-document' * lisp/net/shr.el (shr-string-pixel-width): Preserve point across shr-pixel-column invocations. (Bug#29734) --- diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 8a64f7549f2..c505f25a5a9 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -591,9 +591,14 @@ size, and full-buffer size." (defun shr-string-pixel-width (string) (if (not shr-use-fonts) (length string) - (with-temp-buffer - (insert string) - (shr-pixel-column)))) + ;; Save and restore point across with-temp-buffer, since + ;; shr-pixel-column uses save-window-excursion, which can reset + ;; point to 1. + (let ((pt (point))) + (with-temp-buffer + (insert string) + (shr-pixel-column)) + (goto-char pt)))) (defsubst shr--translate-insertion-chars () ;; Remove soft hyphens.