Require CL.
(compilation-mode-font-lock-keywords): Re-install the "line as function" patch.
This commit is contained in:
parent
d5d66b7eda
commit
583a15bb15
1 changed files with 37 additions and 24 deletions
|
@ -66,9 +66,10 @@
|
||||||
;; These are the value of the `message' text-properties in the compilation
|
;; These are the value of the `message' text-properties in the compilation
|
||||||
;; buffer.
|
;; buffer.
|
||||||
|
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(eval-when-compile (require 'cl))
|
||||||
|
|
||||||
(defgroup compilation nil
|
(defgroup compilation nil
|
||||||
"Run compiler as inferior of Emacs, parse error messages."
|
"Run compiler as inferior of Emacs, parse error messages."
|
||||||
:group 'tools
|
:group 'tools
|
||||||
|
@ -673,33 +674,45 @@ Faces `compilation-error-face', `compilation-warning-face',
|
||||||
(if (consp file) (setq fmt (cdr file) file (car file)))
|
(if (consp file) (setq fmt (cdr file) file (car file)))
|
||||||
(if (consp line) (setq end-line (cdr line) line (car line)))
|
(if (consp line) (setq end-line (cdr line) line (car line)))
|
||||||
(if (consp col) (setq end-col (cdr col) col (car col)))
|
(if (consp col) (setq end-col (cdr col) col (car col)))
|
||||||
|
|
||||||
|
(if (symbolp line)
|
||||||
|
;; The old compile.el had here an undocumented hook that
|
||||||
|
;; allowed `line' to be a function that computed the actual
|
||||||
|
;; error location. Let's do our best.
|
||||||
|
`(,(car item)
|
||||||
|
(0 (compilation-compat-error-properties
|
||||||
|
(funcall ',line (list* (match-string ,file)
|
||||||
|
default-directory
|
||||||
|
',(nthcdr 4 item))
|
||||||
|
,(if col `(match-string ,col)))))
|
||||||
|
(,file compilation-error-face t))
|
||||||
|
|
||||||
|
`(,(nth 0 item)
|
||||||
|
|
||||||
`(,(nth 0 item)
|
,@(when (integerp file)
|
||||||
|
`((,file ,(if (consp type)
|
||||||
|
`(compilation-face ',type)
|
||||||
|
(aref [compilation-info-face
|
||||||
|
compilation-warning-face
|
||||||
|
compilation-error-face]
|
||||||
|
(or type 2))))))
|
||||||
|
|
||||||
,@(when (integerp file)
|
,@(when line
|
||||||
`((,file ,(if (consp type)
|
`((,line compilation-line-face nil t)))
|
||||||
`(compilation-face ',type)
|
,@(when end-line
|
||||||
(aref [compilation-info-face
|
`((,end-line compilation-line-face nil t)))
|
||||||
compilation-warning-face
|
|
||||||
compilation-error-face]
|
|
||||||
(or type 2))))))
|
|
||||||
|
|
||||||
,@(when line
|
,@(when col
|
||||||
`((,line compilation-line-face nil t)))
|
`((,col compilation-column-face nil t)))
|
||||||
,@(when end-line
|
,@(when end-col
|
||||||
`((,end-line compilation-line-face nil t)))
|
`((,end-col compilation-column-face nil t)))
|
||||||
|
|
||||||
,@(when col
|
,@(nthcdr 6 item)
|
||||||
`((,col compilation-column-face nil t)))
|
(,(or (nth 5 item) 0)
|
||||||
,@(when end-col
|
(compilation-error-properties ',file ,line ,end-line
|
||||||
`((,end-col compilation-column-face nil t)))
|
,col ,end-col ',(or type 2)
|
||||||
|
',fmt)
|
||||||
,@(nthcdr 6 item)
|
append))))) ; for compilation-message-face
|
||||||
(,(or (nth 5 item) 0)
|
|
||||||
(compilation-error-properties ',file ,line ,end-line
|
|
||||||
,col ,end-col ',(or type 2)
|
|
||||||
',fmt)
|
|
||||||
append)))) ; for compilation-message-face
|
|
||||||
compilation-error-regexp-alist)
|
compilation-error-regexp-alist)
|
||||||
|
|
||||||
compilation-mode-font-lock-keywords))
|
compilation-mode-font-lock-keywords))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue