+2009-07-10 Sam Steingold <sds@gnu.org>
+
+ * progmodes/compile.el (compilation-mode-font-lock-keywords):
+ Omake sometimes indents the errors it prints, so allow all
+ regexps to start with spaces.
+
2009-07-10 Eli Zaretskii <eliz@gnu.org>
* cus-edit.el (customize-changed-options-previous-release): Bump
(line (nth 2 item))
(col (nth 3 item))
(type (nth 4 item))
+ (pat (car item))
end-line end-col fmt)
+ ;; omake reports some error indented, so skip the indentation.
+ ;; another solution is to modify (some?) regexps in
+ ;; `compilation-error-regexp-alist'.
+ ;; note that omake usage is not limited to ocaml and C (for stubs).
+ (unless (string-match (concat "^" (regexp-quote "^ *")) pat)
+ (setq pat (concat "^ *"
+ (if (= ?^ (aref pat 0))
+ (substring pat 1)
+ pat))))
(if (consp file) (setq fmt (cdr file) file (car file)))
(if (consp line) (setq end-line (cdr line) line (car line)))
(if (consp col) (setq end-col (cdr col) col (car col)))
;; 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)
+ `(,pat
(0 (save-match-data
(compilation-compat-error-properties
(funcall ',line (cons (match-string ,file)
(unless (or (null (nth 5 item)) (integerp (nth 5 item)))
(error "HYPERLINK should be an integer: %s" (nth 5 item)))
- `(,(nth 0 item)
+ `(,pat
,@(when (integerp file)
`((,file ,(if (consp type)