changeset 58445:4b0746e87898

(compilation-start): In cd command use substitute-env-vars -- not quite shell compatible but better than nothing. (compilation-error-regexp-alist-alist): Simplify ftnchek to only handle the newer versions messages, which are more parseable.
author Daniel Pfeiffer <occitan@esperanto.org>
date Mon, 22 Nov 2004 23:31:28 +0000
parents 6e4821835989
children 0582bf7a9726
files lisp/progmodes/compile.el
diffstat 1 files changed, 4 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Mon Nov 22 23:30:19 2004 +0000
+++ b/lisp/progmodes/compile.el	Mon Nov 22 23:31:28 2004 +0000
@@ -181,15 +181,9 @@
     (epc
      "^Error [0-9]+ at (\\([0-9]+\\):\\([^)\n]+\\))" 2 1)
 
-    (ftnchek-file
-     "^File \\(.+\\.f\\):$"
-     1 nil nil 0)
-    (ftnchek-line-file
-     "\\(^Warning .* \\)?line \\([0-9]+\\)\\(?: col \\([0-9]+\\)\\)? file \\(.+\\.f\\)"
-     4 2 3 (1) nil (1 'default nil t))
-    (ftnchek-line
-     "\\(?:^\\(Warning\\) .* \\)?line \\([0-9]+\\)\\(?: col \\([0-9]+\\)\\)?"
-     nil 2 3 (1) nil (1 (compilation-face '(1)) nil t))
+    (ftnchek
+     "\\(^Warning .*\\)? line[ \n]\\([0-9]+\\)[ \n]\\(?:col \\([0-9]+\\)[ \n]\\)?file \\([^ :;\n]+\\)"
+     4 2 3 (1))
 
     (iar
      "^\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(?:Error\\|Warnin\\(g\\)\\)\\[[0-9]+\\]:"
@@ -916,7 +910,7 @@
 	;; would do it again through the shell: (cd "..") AND sh -c "cd ..; make"
 	(cd (if (string-match "^\\s *cd\\(?:\\s +\\(\\S +?\\)\\)?\\s *[;&\n]" command)
 		(if (match-end 1)
-		    (match-string 1 command)
+		    (substitute-env-vars (match-string 1 command))
 		  "~")
 	      default-directory))
 	(erase-buffer)