• Alan Mackenzie's avatar
    Restore fontification of delimiters of multiline CC Mode strings. · 0c2d921a
    Alan Mackenzie authored
    E.g., on typing the closing delimiter of a string continued onto a second
    line, the opening delimiter retained its font-lock-warning-face.
    
    * lisp/progmodes/cc-defs.el (c-c++-raw-string-opener-re)
    (c-c++-raw-string-opener-1-re): New constants.
    (c-sub-at-c++-raw-string-opener, c-at-c++-raw-string-opener): New macros.
    
    * lisp/progmodes/cc-engine.el (c-raw-string-pos)
    (c-depropertize-raw-strings-in-region, c-after-change-unmark-raw-strings):
    Replace uses of open-coded raw string regexps by the new constants and macros
    in cc-defs.el.
    
    * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Ditto
    
    * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Set
    c-new-BEG to the beginning of the string when we encounter its closing ".
    When not in a raw string, but in a string, clear syntax-table properties from
    its delimiters and set c-new-BEG/END to its limits.
    (c-after-change-mark-abnormal-strings): When applying syntax-table properties
    to string delimiters, also set c-new-BEG/END to ensure subsequent
    fontification.
    0c2d921a
cc-defs.el 99.9 KB