changeset 98309:01cf1247cab6

(latex-find-indent): ... and don't change original position when it fails.
author Martin Rudalics <rudalics@gmx.at>
date Tue, 23 Sep 2008 06:35:31 +0000
parents 9062732fe4b3
children 49fd9d409f65
files lisp/textmodes/tex-mode.el
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/tex-mode.el	Tue Sep 23 06:15:52 2008 +0000
+++ b/lisp/textmodes/tex-mode.el	Tue Sep 23 06:35:31 2008 +0000
@@ -2586,15 +2586,18 @@
 	  (member (match-string 2) tex-verbatim-environments)
 	  0)
      ;; Put leading close-paren where the matching open paren would be.
-     (and (or (eq (latex-syntax-after) ?\))
-	      ;; Try to handle escaped close parens.
-	      (and (looking-at "\\\\\\([])}]\\)")
-		   (goto-char (match-beginning 1))))
-	  (ignore-errors
-	    (save-excursion
-	      (latex-skip-close-parens)
-	      (latex-backward-sexp-1)
-	      (latex-find-indent 'virtual))))
+     (and (let (escaped)
+	    (or (eq (latex-syntax-after) ?\))
+		;; Try to handle escaped close parens but keep original
+		;; position if it doesn't work out.
+		(setq escaped (looking-at "\\\\\\([])}]\\)")))
+	    (ignore-errors
+	      (save-excursion
+		(when escaped
+		  (goto-char (match-beginning 1)))
+		(latex-skip-close-parens)
+		(latex-backward-sexp-1)
+		(latex-find-indent 'virtual)))))
      ;; Default (maybe an argument)
      (let ((pos (point))
 	   ;; Outdent \item if necessary.