Fix compilation-transform-file-match-alist failure
* lisp/progmodes/compile.el (compilation-error-properties): Fix thinko in compilation-transform-file-match-alist feature -- `file' isn't a list of files after all.
This commit is contained in:
parent
193ece8d32
commit
981f1358f0
1 changed files with 13 additions and 12 deletions
|
@ -1181,18 +1181,19 @@ POS and RES.")
|
|||
2)))
|
||||
;; Remove matches like /bin/sh and do other file name transforms.
|
||||
(save-match-data
|
||||
(let ((transformed nil))
|
||||
(dolist (f file)
|
||||
(let ((match
|
||||
(cl-loop for (regexp replacement)
|
||||
in compilation-transform-file-match-alist
|
||||
when (string-match regexp f)
|
||||
return (or replacement t))))
|
||||
(cond ((not match)
|
||||
(push f transformed))
|
||||
((stringp match)
|
||||
(push (replace-match match nil nil f) transformed)))))
|
||||
(setq file (nreverse transformed))))
|
||||
(let ((file-name
|
||||
(and (consp file)
|
||||
(not (bufferp (car file)))
|
||||
(if (cdr file)
|
||||
(expand-file-name (car file) (cdr file))
|
||||
(car file)))))
|
||||
(cl-loop for (regexp replacement)
|
||||
in compilation-transform-file-match-alist
|
||||
when (string-match regexp file-name)
|
||||
return (if replacement
|
||||
(setq file (list (replace-match replacement nil nil
|
||||
file-name)))
|
||||
(setq file nil)))))
|
||||
(if (not file)
|
||||
;; If we ignored all the files with errors on this line, then
|
||||
;; return nil.
|
||||
|
|
Loading…
Add table
Reference in a new issue