emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111588: * paren.el (show-paren-funct


From: Bastien Guerry
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111588: * paren.el (show-paren-function): Make sure an overlay exists
Date: Wed, 23 Jan 2013 10:43:29 +0100
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111588
committer: Bastien Guerry <address@hidden>
branch nick: trunk
timestamp: Wed 2013-01-23 10:43:29 +0100
message:
  * paren.el (show-paren-function): Make sure an overlay exists
  before trying to delete it.  Also use `pos' as a position only
  when it is an integer.
  
  See this thread: http://thread.gmane.org/gmane.emacs.devel/156498
modified:
  lisp/ChangeLog
  lisp/paren.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-01-23 08:49:34 +0000
+++ b/lisp/ChangeLog    2013-01-23 09:43:29 +0000
@@ -1,3 +1,9 @@
+2013-01-23  Bastien Guerry  <address@hidden>
+
+       * paren.el (show-paren-function): Make sure an overlay exists
+       before trying to delete it.  Also use `pos' as a position only
+       when it is an integer.
+
 2013-01-23  Dmitry Antipov  <address@hidden>
 
        * play/gametree.el (gametree-break-line-here): Use point-marker.

=== modified file 'lisp/paren.el'
--- a/lisp/paren.el     2013-01-01 09:11:05 +0000
+++ b/lisp/paren.el     2013-01-23 09:43:29 +0000
@@ -243,23 +243,23 @@
          ;;
          ;; Turn on highlighting for the matching paren, if found.
          ;; If it's an unmatched paren, turn off any such highlighting.
-         (unless (integerp pos)
-           (delete-overlay show-paren-overlay))
-         (let ((to (if (or (eq show-paren-style 'expression)
-                           (and (eq show-paren-style 'mixed)
-                                (not (pos-visible-in-window-p pos))))
-                       (point)
-                     pos))
-               (from (if (or (eq show-paren-style 'expression)
+         (if (not (integerp pos))
+             (when show-paren-overlay (delete-overlay show-paren-overlay))
+           (let ((to (if (or (eq show-paren-style 'expression)
                              (and (eq show-paren-style 'mixed)
                                   (not (pos-visible-in-window-p pos))))
-                         pos
-                       (save-excursion
-                         (goto-char pos)
-                         (- (point) dir)))))
-           (if show-paren-overlay
-               (move-overlay show-paren-overlay from to (current-buffer))
-             (setq show-paren-overlay (make-overlay from to nil t))))
+                         (point)
+                       pos))
+                 (from (if (or (eq show-paren-style 'expression)
+                               (and (eq show-paren-style 'mixed)
+                                    (not (pos-visible-in-window-p pos))))
+                           pos
+                         (save-excursion
+                           (goto-char pos)
+                           (- (point) dir)))))
+             (if show-paren-overlay
+                 (move-overlay show-paren-overlay from to (current-buffer))
+               (setq show-paren-overlay (make-overlay from to nil t)))))
          ;;
          ;; Always set the overlay face, since it varies.
          (overlay-put show-paren-overlay 'priority show-paren-priority)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]