# HG changeset patch # User Alan Mackenzie # Date 1203459017 0 # Node ID 4c9d1aa65d3410f4493b6fb56e52203ad67c89ec # Parent e67a400370f55096faaa33c49fcf08342cd0f7dd Set of changes so that "obtrusive" syntactic elements in a C/C++/ObjC preprocessor line (e.g. an unbalanced string quote or unmatched paren) don't interact syntactically with stuff outside the CPP line. (c-cpp-matchers): Make it put regexp parens around "error\\|warning". diff -r e67a400370f5 -r 4c9d1aa65d34 lisp/progmodes/cc-fonts.el --- a/lisp/progmodes/cc-fonts.el Tue Feb 19 22:08:55 2008 +0000 +++ b/lisp/progmodes/cc-fonts.el Tue Feb 19 22:10:17 2008 +0000 @@ -394,14 +394,14 @@ `(;; The stuff after #error and #warning is a message, so ;; fontify it as a string. ,@(when (c-lang-const c-cpp-message-directives) - (let* ((re (c-make-keywords-re nil + (let* ((re (c-make-keywords-re 'appendable ; nil (c-lang-const c-cpp-message-directives))) (re-depth (regexp-opt-depth re))) `((,(concat noncontinued-line-end (c-lang-const c-opt-cpp-prefix) re "\\s +\\(.*\\)$") - ,(+ ncle-depth re-depth 1) font-lock-string-face)))) + ,(+ ncle-depth re-depth 1) font-lock-string-face t)))) ;; Fontify filenames in #include <...> as strings. ,@(when (c-lang-const c-cpp-include-directives)