From: Lars Ingebrigtsen Date: Tue, 31 Aug 2021 02:31:01 +0000 (+0200) Subject: Fix point placement after ispell-complete-word X-Git-Tag: emacs-28.0.90~1247 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bd17fe1d9e82ababab84b11cd689dcb0315742dd;p=emacs.git Fix point placement after ispell-complete-word * lisp/textmodes/ispell.el (ispell-complete-word): Leave point at the end of the inserted word instead of a less than useful amount of distance from the start of the word (bug#37552). --- diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 632b00111ab..c2f6b35df89 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -3636,8 +3636,7 @@ sequence inside of a word. Standard ispell choices are then available." ;; FIXME: completion-at-point-function. (interactive "P") - (let ((cursor-location (point)) - (case-fold-search-val case-fold-search) + (let ((case-fold-search-val case-fold-search) (word (ispell-get-word nil "\\*")) ; force "previous-word" processing. start end possibilities replacement) (setq start (car (cdr word)) @@ -3674,18 +3673,12 @@ Standard ispell choices are then available." (ispell-add-per-file-word-list word)) (replacement ; REPLACEMENT WORD (delete-region start end) - (setq word (if (atom replacement) replacement (car replacement)) - cursor-location (+ (- (length word) (- end start)) - cursor-location)) - (insert word) - (if (not (atom replacement)) ; recheck spelling of replacement. - (progn - (goto-char cursor-location) - (ispell-word nil t))))) + (insert (if (atom replacement) replacement (car replacement))) + (unless (atom replacement) ; recheck spelling of replacement. + (ispell-word nil t)))) (if (get-buffer ispell-choices-buffer) (kill-buffer ispell-choices-buffer)))) - (ispell-pdict-save ispell-silently-savep) - (goto-char cursor-location))) + (ispell-pdict-save ispell-silently-savep))) ;;;###autoload