• Alan Mackenzie's avatar
    Fix irregularities with CC Mode fontification, particularly with "known types" · 61a5c30e
    Alan Mackenzie authored
    * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
    optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
    type.
    (c-font-lock-single-decl): New variable template-class, set to non-nil when we
    have a construct like the above.  Pass this as argument to
    c-font-lock-declarators.
    (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
    being processed starts before the function's starting position.
    (c-complex-decl-matchers): Remove the redundant clause which fontified "types
    preceded by, e.g., "struct"".
    
    * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
    (c-template-typename-key): New lang defconsts and defvar.
    61a5c30e
cc-fonts.el 107 KB