tags 433666 + fixed-upstream patch
thanks
Alexander Klauer <[EMAIL PROTECTED]> writes:
> 1. Start a new text file with:
>
> emacs test.tex
>
> tex-mode should start automatically.
>
> 2. Type a dollar sign ("$") into the edit window
>
> 3. emacs immediately complains about "mismatched parentheses".
This bug has just been fixed upstream in the release branch for Emacs
22.2, here are the changelog entry and the patch:
2007-10-16 Glenn Morris <[EMAIL PROTECTED]>
* simple.el (blink-matching-open): Don't report false errors with
the `$' syntax class.
Index: simple.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/simple.el,v
retrieving revision 1.859.2.10
retrieving revision 1.859.2.11
diff -u -r1.859.2.10 -r1.859.2.11
--- simple.el 7 Oct 2007 00:30:18 -0000 1.859.2.10
+++ simple.el 16 Oct 2007 02:05:55 -0000 1.859.2.11
@@ -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.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]