Function: compilation--compat-parse-errors
compilation--compat-parse-errors is a byte-compiled function defined
in compile.el.gz.
Signature
(compilation--compat-parse-errors LIMIT)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/compile.el.gz
(defun compilation--compat-parse-errors (limit)
(when compilation-parse-errors-function
;; FIXME: We should remove the rest of the compilation keywords
;; but we can't do that from here because font-lock is using
;; the value right now. --Stef
(save-excursion
(setq compilation-error-list nil)
;; Reset compilation-parsing-end each time because font-lock
;; might force us the re-parse many times (typically because
;; some code adds some text-property to the output that we
;; already parsed). You might say "why reparse", well:
;; because font-lock has just removed the `compilation-message' property
;; so have to do it all over again.
(if compilation-parsing-end
(set-marker compilation-parsing-end (point))
(setq compilation-parsing-end (point-marker)))
(condition-case nil
;; Ignore any error: we're calling this function earlier than
;; in the old compile.el so things might not all be setup yet.
(funcall compilation-parse-errors-function limit nil)
(error nil))
(dolist (err (if (listp compilation-error-list) compilation-error-list))
(let* ((src (car err))
(dst (cdr err))
(loc (cond ((markerp dst)
(cons nil
(compilation--make-cdrloc nil nil dst)))
((consp dst)
(cons (nth 2 dst)
(compilation--make-cdrloc
(nth 1 dst)
(cons (cdar dst) (caar dst))
nil))))))
(when loc
(goto-char src)
;; (put-text-property src (line-end-position)
;; 'font-lock-face 'font-lock-warning-face)
(put-text-property src (line-end-position)
'compilation-message
(compilation--make-message loc 2 nil nil)))))))
(goto-char limit)
nil)