C++ Mode - Fontify "class Foo {\n ~Foo() noexcept;" correctly

This fixes bug #49787.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): (In `if' form just
before CASE 8) Remove the (not ...) around the (looking-at
c-after-suffixed-type-maybe-decl-key).

* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Add
`c-not-decl' to the values of c-type which are erased at the start of a
fontification.
This commit is contained in:
Alan Mackenzie 2022-08-24 19:27:32 +00:00
parent 95b1eacd47
commit 78923c5f4e
2 changed files with 4 additions and 3 deletions

View file

@ -10571,8 +10571,8 @@ This function might do hidden buffer changes."
backup-maybe-typeless
(when c-recognize-typeless-decls
(or (not got-suffix)
(not (looking-at
c-after-suffixed-type-maybe-decl-key))))))
(looking-at
c-after-suffixed-type-maybe-decl-key)))))
;; Got an empty paren pair and a preceding type that probably
;; really is the identifier. Shift the type backwards to make
;; the last one the identifier. This is analogous to the

View file

@ -940,7 +940,8 @@ casts and declarations are fontified. Used on level 2 and higher."
'(c-decl-arg-start
c-decl-end
c-decl-id-start
c-decl-type-start)))
c-decl-type-start
c-not-decl)))
(1- (point))
pos)
limit 'c-type)))