]> code.delx.au - gnu-emacs/commitdiff
Refine the previous change
authorDmitry Gutov <dgutov@yandex.ru>
Tue, 18 Aug 2015 15:56:00 +0000 (18:56 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Tue, 18 Aug 2015 16:07:26 +0000 (19:07 +0300)
* lisp/simple.el (blink-matching-open): Use minibuffer-message
outside of save-excursion (bug#21286).

lisp/simple.el

index afb2d4a9ecbb41b046f895094382d66ccafa7c79..0d691eabdf2393a9181829a2abc72985b4f617a8 100644 (file)
@@ -7004,12 +7004,9 @@ The function should return non-nil if the two tokens do not match.")
                      (sit-for blink-matching-delay))
                  (delete-overlay blink-matching--overlay)))))
        (t
-        (save-excursion
-          (let* ((orig-pos (prog1
-                               (point)
-                             (goto-char blinkpos)))
-
-                 (open-paren-line-string
+        (let ((open-paren-line-string
+               (save-excursion
+                 (goto-char blinkpos)
                  ;; Show what precedes the open in its line, if anything.
                  (cond
                   ((save-excursion (skip-chars-backward " \t") (not (bolp)))
@@ -7036,13 +7033,10 @@ The function should return non-nil if the two tokens do not match.")
                     "..."
                     (buffer-substring blinkpos (1+ blinkpos))))
                   ;; There is nothing to show except the char itself.
-                  (t (buffer-substring blinkpos (1+ blinkpos))))))
-            ;; Because minibuffer-message causes a full redisplay, go back
-            ;; to the original point before that happens.
-            (goto-char orig-pos)
-            (minibuffer-message
-             "Matches %s"
-             (substring-no-properties open-paren-line-string)))))))))
+                  (t (buffer-substring blinkpos (1+ blinkpos)))))))
+          (minibuffer-message
+           "Matches %s"
+           (substring-no-properties open-paren-line-string))))))))
 
 (defvar blink-paren-function 'blink-matching-open
   "Function called, if non-nil, whenever a close parenthesis is inserted.