From: Karl Heuer Date: Fri, 31 Oct 1997 23:03:30 +0000 (+0000) Subject: (tex-validate-region): Really check X-Git-Tag: emacs-20.3~2870 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2ed2806cd9b5120292cacb658af9dd7b6bcdad0a;p=emacs.git (tex-validate-region): Really check for mismatched parens. --- diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 509b7fd4556..f599c581540 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -834,9 +834,20 @@ area if a mismatch is found." (condition-case () (save-restriction (narrow-to-region start end) + ;; First check that the open and close parens balance in numbers. (goto-char start) (while (< 0 (setq max-possible-sexps (1- max-possible-sexps))) - (forward-sexp 1))) + (forward-sexp 1)) + ;; Now check that like matches like. + (goto-char start) + (while (progn (skip-syntax-forward "^(") + (not (eobp))) + (let ((match (matching-paren (following-char)))) + (save-excursion + (forward-sexp 1) + (or (= (preceding-char) match) + (error "Mismatched parentheses")))) + (forward-char 1))) (error (skip-syntax-forward " .>") (setq failure-point (point)))))