Mercurial > emacs
changeset 79094:a28250ba40a4
Re-fill copyright header.
(blink-matching-open): Don't report false errors with the `$' syntax
class.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Tue, 16 Oct 2007 02:05:55 +0000 |
parents | cc9515f436e3 |
children | f92551297d22 |
files | lisp/simple.el |
diffstat | 1 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/simple.el Mon Oct 15 17:39:35 2007 +0000 +++ b/lisp/simple.el Tue Oct 16 02:05:55 2007 +0000 @@ -1,7 +1,8 @@ ;;; simple.el --- basic editing commands for Emacs ;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -4485,7 +4486,8 @@ matching-paren open-paren-line-string old-start - new-start) + new-start + isdollar) (save-excursion (save-restriction ;; Don't search for matching paren within minibuffer prompt. @@ -4503,7 +4505,7 @@ (error nil))) (and blinkpos ;; Not syntax '$'. - (not (eq (syntax-class (syntax-after blinkpos)) 8)) + (not (setq isdollar (eq (syntax-class (syntax-after blinkpos)) 8))) (setq matching-paren (let ((syntax (syntax-after blinkpos))) (and (consp syntax) @@ -4511,12 +4513,19 @@ (cdr syntax))))) (cond ((not blinkpos) - (unless (and blink-matching-paren-distance (> new-start old-start)) + ;; Don't complain when `$' with no blinkpos, because it + ;; could just be the first one in the buffer. + (unless (or (eq (syntax-class (syntax-after (1- oldpos))) 8) + (and blink-matching-paren-distance + (> new-start old-start)) ;; When `blink-matching-paren-distance' is non-nil and we ;; didn't find a matching paren within that many characters ;; don't display a message. - (message "Unmatched parenthesis"))) - ((not (or (eq matching-paren (char-before oldpos)) + (message "Unmatched parenthesis")))) + ;; isdollar is for: + ;; http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00871.html + ((not (or isdollar + (eq matching-paren (char-before oldpos)) ;; The cdr might hold a new paren-class info rather than ;; a matching-char info, in which case the two CDRs ;; should match.