1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

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).
This commit is contained in:
Lars Ingebrigtsen 2021-08-31 04:31:01 +02:00
parent b612821388
commit bd17fe1d9e

View file

@ -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