emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/textmodes/tex-mode.el,v


From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/textmodes/tex-mode.el,v
Date: Mon, 17 Sep 2007 07:04:46 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/09/17 07:04:46

Index: tex-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/textmodes/tex-mode.el,v
retrieving revision 1.194
retrieving revision 1.195
diff -u -b -r1.194 -r1.195
--- tex-mode.el 17 Sep 2007 06:58:39 -0000      1.194
+++ tex-mode.el 17 Sep 2007 07:04:46 -0000      1.195
@@ -2032,21 +2032,28 @@
          (file-name-directory (buffer-file-name tex-last-buffer-texed)))
        found-desired (num-errors-found 0)
        last-filename last-linenum last-position
-       begin-of-error end-of-error)
+       begin-of-error end-of-error errfilename)
     ;; Don't reparse messages already seen at last parse.
     (goto-char compilation-parsing-end)
     ;; Parse messages.
     (while (and (not (or found-desired (eobp)))
+               ;; First alternative handles the newer --file-line-error style:
+               ;; ./test2.tex:14: Too many }'s.
+               ;; Second handles the old-style:
+               ;; ! Too many }'s.
                (prog1 (re-search-forward
-                       "^\\(?:[^:\n]+:[[:digit:]]+:\\|!\\) " nil 'move)
+                       "^\\(?:\\([^:\n]+\\):[[:digit:]]+:\\|!\\) " nil 'move)
                  (setq begin-of-error (match-beginning 0)
-                       end-of-error (match-end 0)))
+                       end-of-error (match-end 0)
+                       errfilename (match-string 1)))
                (re-search-forward
                 "^l\\.\\([0-9]+\\) \\(\\.\\.\\.\\)?\\(.*\\)$" nil 'move))
       (let* ((this-error (copy-marker begin-of-error))
             (linenum (string-to-number (match-string 1)))
             (error-text (regexp-quote (match-string 3)))
             (filename
+             ;; Prefer --file-liner-error filename if we have it.
+             (or errfilename
              (save-excursion
                (with-syntax-table tex-error-parse-syntax-table
                  (backward-up-list 1)
@@ -2055,7 +2062,7 @@
                    (skip-syntax-backward "(_")
                    (backward-up-list 1)
                    (skip-syntax-forward "(_"))
-                 (thing-at-point 'filename))))
+                     (thing-at-point 'filename)))))
             (new-file
              (or (null last-filename)
                  (not (string-equal last-filename filename))))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]