# HG changeset patch # User Daniel Pfeiffer # Date 1101166288 0 # Node ID 4b0746e87898464b5e700f6e1ce2a1670d5d2403 # Parent 6e4821835989ef1b5f5a4b18f77e17acbdbe86ef (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. diff -r 6e4821835989 -r 4b0746e87898 lisp/progmodes/compile.el --- 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)