]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix ispell-word on colorless TTY frames
authorEli Zaretskii <eliz@gnu.org>
Sun, 26 Jun 2022 07:22:20 +0000 (10:22 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 26 Jun 2022 07:22:20 +0000 (10:22 +0300)
* lisp/textmodes/ispell.el
(ispell-highlight-spelling-error-generic): Keep marker position of
END intact, deletion of text notwithstanding.  (Bug#56219)

lisp/textmodes/ispell.el

index 1810d7bcaeb7f759a6ed40caf5246603e2573356..8c8522a6e5ee45e8ce8e63500ee26391cd8cc84c 100644 (file)
@@ -2615,15 +2615,18 @@ Optional REFRESH will unhighlighted then highlight, using block cursor
        (text (buffer-substring-no-properties start end))
                                        ; Save highlight region.
        (inhibit-quit t)                ; inhibit interrupt processing here.
-       (buffer-undo-list t))           ; don't clutter the undo list.
+       (buffer-undo-list t)            ; don't clutter the undo list.
+        (end1 (if (markerp end) (marker-position end) end)))
     (goto-char end)
     (delete-region start end)
-    (insert-char ?  (- end start))     ; minimize amount of redisplay
+    (insert-char ?  (- end1 start))    ; minimize amount of redisplay
     (sit-for 0)                                ; update display
     (if highlight (setq inverse-video (not inverse-video))) ; toggle video
-    (delete-region start end         ; delete whitespace
+    (delete-region start end1)         ; delete whitespace
     (insert text)                      ; insert text in inverse video.
     (sit-for 0)                                ; update display showing inverse video.
+    (if (markerp end)
+        (set-marker end end1))          ; restore marker position
     (if (not highlight)
        (goto-char end)
       (setq inverse-video (not inverse-video)) ; toggle video