diff options
| author | Alan Mackenzie | 2016-03-14 21:44:11 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2016-03-14 21:44:11 +0000 |
| commit | eabd667a9584fe5bd2422e296d256dceea67debf (patch) | |
| tree | 64011eef07067c923e9ad6db3c6301221e85ff5a /src/coding.c | |
| parent | d457fd9dc782465e1547f74021390c9d5951d6af (diff) | |
| download | emacs-eabd667a9584fe5bd2422e296d256dceea67debf.tar.gz emacs-eabd667a9584fe5bd2422e296d256dceea67debf.zip | |
Fix a cacheing bug, which led to inordinately slow c-beginning-of-defun.
* lisp/progmodes/cc-defs.el (c-self-bind-state-cache): New macro.
* lisp/progmodes/cc-engine.el (c-ssb-lit-begin): Always call c-parse-state
rather than just using the cache variable c-state-cache.
(c-syntactic-skip-backward): Invoke c-self-bind-state-cache to isolate calls
to c-parse-state from other uses of the parse state cache.
* lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun): Invoke
c-self-bind-state-cache around the processing, replacing flawed bindings of
c-state-cache.
Diffstat (limited to 'src/coding.c')
0 files changed, 0 insertions, 0 deletions