]> git.eshelyaron.com Git - emacs.git/commitdiff
(show-paren-function): Handle multibyte characters.
authorKarl Heuer <kwzh@gnu.org>
Thu, 20 Feb 1997 05:48:19 +0000 (05:48 +0000)
committerKarl Heuer <kwzh@gnu.org>
Thu, 20 Feb 1997 05:48:19 +0000 (05:48 +0000)
lisp/paren.el

index 66d27fbb6aff55d0230eb8ba6bdb6a2013b7a09e..51b75388b83dfd78a1c2f6995876829e63cd4c03 100644 (file)
@@ -104,7 +104,7 @@ after `show-paren-delay' seconds of Emacs idle time."
                    (let ((beg (min pos oldpos)) (end (max pos oldpos)))
                      (and (/= (char-syntax (char-after beg)) ?\$)
                           (setq mismatch
-                                (not (eq (char-after (1- end))
+                                (not (eq (char-before end)
                                          ;; This can give nil.
                                          (matching-paren (char-after beg))))))))
                ;; If they don't properly match, use a different face,
@@ -137,9 +137,9 @@ after `show-paren-delay' seconds of Emacs idle time."
                   ;; highlight the paren at point to indicate misbalance.
                   (let ((from (if (= dir 1)
                                   (point)
-                                (1- (point))))
+                                (forward-point -1)))
                         (to (if (= dir 1)
-                                (1+ (point))
+                                (forward-point 1)
                               (point))))
                     (if show-paren-overlay-1
                         (move-overlay show-paren-overlay-1
@@ -157,11 +157,15 @@ after `show-paren-delay' seconds of Emacs idle time."
               ;; If it's an unmatched paren, turn off any such highlighting.
               (or (and (not (integerp pos))
                        (delete-overlay show-paren-overlay))
-                  (if show-paren-overlay
-                      (move-overlay show-paren-overlay (- pos dir) pos
-                                    (current-buffer))
-                    (setq show-paren-overlay
-                          (make-overlay (- pos dir) pos))))
+                  (save-excursion
+                    (goto-char pos)
+                    (if show-paren-overlay
+                        (move-overlay show-paren-overlay
+                                      (forward-point (- dir))
+                                      pos
+                                      (current-buffer))
+                      (setq show-paren-overlay
+                            (make-overlay (forward-point (- dir)) pos)))))
               ;; Always set the overlay face, since it varies.
               (overlay-put show-paren-overlay 'face face))
              (t