From: Dmitry Gutov Date: Tue, 18 Aug 2015 15:56:00 +0000 (+0300) Subject: Refine the previous change X-Git-Tag: emacs-25.0.90~1358 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9c1e7d5a2666cdf63abcc6623a8489d7bd47fe22;p=emacs.git Refine the previous change * lisp/simple.el (blink-matching-open): Use minibuffer-message outside of save-excursion (bug#21286). --- diff --git a/lisp/simple.el b/lisp/simple.el index afb2d4a9ecb..0d691eabdf2 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -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.