diff options
| author | Alan Mackenzie | 2017-07-13 19:56:00 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2017-07-13 19:56:00 +0000 |
| commit | 7eef16a923fa54ec0a88e00e75176a844dbd2944 (patch) | |
| tree | efbc000f0b52351b7ac0321f42cb06c282e5df2e /lib | |
| parent | 1f08279e1b20bd1e07132b6ee0a25a154811615a (diff) | |
| download | emacs-7eef16a923fa54ec0a88e00e75176a844dbd2944.tar.gz emacs-7eef16a923fa54ec0a88e00e75176a844dbd2944.zip | |
C++ Mode. Fix anomaly occurring when a ">" is deleted then reinserted.
This fontification anomaly happened because after deleting the ">",
c-forward-<>-arglist parses the preceding identifier as a putative type but
stores it in c-found-types before it becomes clear it is not an unambiguous
type. c-forward-<>-arglist fails, leaving the spurious type id in
c-found-types. Fix this by "binding" c-found-types "to itself" in
c-forward-<>-arglist, and restoring the original value when that function call
fails.
* lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
(c-forward-<>-arglist): Record the original value of c-found-types at the
beginning of the function, and restore it at the end on failure.
* lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
accurately.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions