From: Lars Ingebrigtsen Date: Mon, 7 Dec 2020 15:36:09 +0000 (+0100) Subject: Insert skeletons at the correct point X-Git-Tag: emacs-28.0.90~4877 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3ee94cc7bb657f0d3186d344fb1236b50edd5f69;p=emacs.git Insert skeletons at the correct point * lisp/skeleton.el (skeleton-read): Don't insert the skeleton at an arbitrary point if the user moves around (bug#17752). --- diff --git a/lisp/skeleton.el b/lisp/skeleton.el index 6e2c10d9711..5578a937d76 100644 --- a/lisp/skeleton.el +++ b/lisp/skeleton.el @@ -312,10 +312,15 @@ automatically, and you are prompted to fill in the variable parts."))) (save-excursion (insert "\n"))) (unwind-protect (setq prompt (cond ((stringp prompt) - (read-string (format prompt skeleton-subprompt) - (setq initial-input - (or initial-input - (symbol-value 'input))))) + ;; The user may issue commands to move + ;; around (like `C-M-v'). Ensure that we + ;; insert the skeleton at the correct + ;; (initial) point. + (save-excursion + (read-string (format prompt skeleton-subprompt) + (setq initial-input + (or initial-input + (symbol-value 'input)))))) ((functionp prompt) (funcall prompt)) (t (eval prompt))))