Mercurial > emacs
changeset 52367:535dab9cd1c1
(blink-matching-open): Work correctly on chars that
are designated as parens through the syntax-table text property.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 29 Aug 2003 16:07:16 +0000 |
parents | d910762f4540 |
children | ef170d234e2d |
files | lisp/simple.el |
diffstat | 1 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/simple.el Fri Aug 29 16:06:11 2003 +0000 +++ b/lisp/simple.el Fri Aug 29 16:07:16 2003 +0000 @@ -3500,7 +3500,8 @@ (point))))) (let* ((oldpos (point)) (blinkpos) - (mismatch)) + (mismatch) + matching-paren) (save-excursion (save-restriction (if blink-matching-paren-distance @@ -3514,12 +3515,20 @@ (setq blinkpos (scan-sexps oldpos -1))) (error nil))) (and blinkpos - (/= (char-syntax (char-after blinkpos)) - ?\$) - (setq mismatch - (or (null (matching-paren (char-after blinkpos))) + (save-excursion + (goto-char blinkpos) + (not (looking-at "\\s$"))) + (setq matching-paren + (or (and parse-sexp-lookup-properties + (let ((prop (get-text-property blinkpos 'syntax-table))) + (and (consp prop) + (eq (car prop) 4) + (cdr prop)))) + (matching-paren (char-after blinkpos))) + mismatch + (or (null matching-paren) (/= (char-after (1- oldpos)) - (matching-paren (char-after blinkpos)))))) + matching-paren)))) (if mismatch (setq blinkpos nil)) (if blinkpos ;; Don't log messages about paren matching.