Mercurial > emacs
diff lisp/paren.el @ 90813:e6fdae9180d4
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 698-710)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 216)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-196
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 24 Apr 2007 21:56:25 +0000 |
parents | 95d0cdf160ea 97456f440211 |
children | 31beec9ee600 |
line wrap: on
line diff
--- a/lisp/paren.el Tue Apr 24 11:35:23 2007 +0000 +++ b/lisp/paren.el Tue Apr 24 21:56:25 2007 +0000 @@ -143,6 +143,7 @@ (let ((oldpos (point)) (dir (cond ((eq (syntax-class (syntax-after (1- (point)))) 5) -1) ((eq (syntax-class (syntax-after (point))) 4) 1))) + (window-start (window-start)) pos mismatch face) ;; ;; Find the other end of the sexp. @@ -247,7 +248,13 @@ ;; ;; Always set the overlay face, since it varies. (overlay-put show-paren-overlay 'priority show-paren-priority) - (overlay-put show-paren-overlay 'face face))) + (overlay-put show-paren-overlay 'face face)) + ;; If there are continued lines, the above operations can + ;; force redisplay to recenter the window (since there is no + ;; way for it to know that the overlay changes to the buffer + ;; are harmless). So reset the window-start. + (unless (window-minibuffer-p) + (set-window-start (selected-window) window-start))) ;; show-paren-mode is nil in this buffer. (and show-paren-overlay (delete-overlay show-paren-overlay))