From: Po Lu Date: Wed, 8 Nov 2023 03:03:57 +0000 (+0800) Subject: Don't leave point amid text conversion edits if auto-fill transpires X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=089b7d4e6281f47fae51668ce6947aad24e34b76;p=emacs.git Don't leave point amid text conversion edits if auto-fill transpires * lisp/simple.el (analyze-text-conversion): Save point in old-point after auto-fill completes, so that point-moved is not set if point remains intact subsequent to the execution of both hooks. --- diff --git a/lisp/simple.el b/lisp/simple.el index 3a5a81e0011..266a66500cb 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -11205,15 +11205,19 @@ seconds." ;; whether or not auto-fill has actually taken ;; place. (old-undo-list buffer-undo-list) + ;; Save the point position to return it there + ;; later. (old-point (point))) (save-excursion (if (and auto-fill-function newline-p) (progn (goto-char (nth 2 edit)) (previous-logical-line) - (funcall auto-fill-function)) + (funcall auto-fill-function) + (setq old-point (point))) (when (and auto-fill-function auto-fill-p) - (progn (goto-char (nth 2 edit)) - (funcall auto-fill-function)))) + (goto-char (nth 2 edit)) + (funcall auto-fill-function) + (setq old-point (point)))) ;; Record whether or not this edit should result in ;; an undo boundary being added. (setq any-nonephemeral