diff options
author | Alan Mackenzie <acm@muc.de> | 2016-03-14 21:44:11 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2016-03-14 21:44:11 +0000 |
commit | eabd667a9584fe5bd2422e296d256dceea67debf (patch) | |
tree | 64011eef07067c923e9ad6db3c6301221e85ff5a /lisp/emacs-lisp/syntax.el | |
parent | d457fd9dc782465e1547f74021390c9d5951d6af (diff) | |
download | emacs-eabd667a9584fe5bd2422e296d256dceea67debf.tar.gz emacs-eabd667a9584fe5bd2422e296d256dceea67debf.tar.bz2 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 'lisp/emacs-lisp/syntax.el')
0 files changed, 0 insertions, 0 deletions