Mercurial > emacs
changeset 105574:5d7b16939e28
(compilation-mode-font-lock-keywords): Do not prepend "^ *" to
non-anchored patterns, like the perl one (bug#3928).
author | Sam Steingold <sds@gnu.org> |
---|---|
date | Mon, 12 Oct 2009 21:04:15 +0000 |
parents | e7f57b24c0a2 |
children | 474fc7c0fe88 |
files | lisp/ChangeLog lisp/progmodes/compile.el |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Oct 12 20:42:45 2009 +0000 +++ b/lisp/ChangeLog Mon Oct 12 21:04:15 2009 +0000 @@ -1,7 +1,10 @@ 2009-10-12 Sam Steingold <sds@gnu.org> * progmodes/compile.el (compilation-next-error-function): Fix the - timestamps if the buffer has been visited before + timestamps if the buffer has been visited before. + + (compilation-mode-font-lock-keywords): Do not prepend "^ *" to + non-anchored patterns, like the perl one (bug#3928). 2009-10-12 Glenn Morris <rgm@gnu.org>
--- a/lisp/progmodes/compile.el Mon Oct 12 20:42:45 2009 +0000 +++ b/lisp/progmodes/compile.el Mon Oct 12 21:04:15 2009 +0000 @@ -989,11 +989,10 @@ ;; 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)))) + (when (and (= ?^ (aref pat 0)) ; anchored: starts with "^" + ;; but does not allow an arbitrary number of leading spaces + (not (and (= ? (aref pat 1)) (= ?* (aref pat 1))))) + (setq pat (concat "^ *" (substring pat 1)))) (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)))