branch: elpa/rainbow-delimiters
commit d8de0c69548c74da7cae77241c454106d93bf202
Author: Fanael Linithien <[email protected]>
Commit: Fanael Linithien <[email protected]>
Kill rainbow-delimiters--parse-partial-sexp-cache when turning off.
Instead of setting rainbow-delimiters--parse-partial-sexp-cache to nil
when turning on, kill the local binding when turning off. This allows
the GC to collect the old value immediately after the mode is turned off,
instead of when the buffer is killed or the mode is turned on again.
---
rainbow-delimiters.el | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/rainbow-delimiters.el b/rainbow-delimiters.el
index 7ee40790c5..8ad7b74c90 100644
--- a/rainbow-delimiters.el
+++ b/rainbow-delimiters.el
@@ -419,8 +419,6 @@ Used by font-lock for dynamic highlighting."
(defun rainbow-delimiters--mode-turn-on ()
"Set up `rainbow-delimiters-mode'."
- ;; Flush the ppss cache now in case there's something left in there.
- (setq rainbow-delimiters--parse-partial-sexp-cache nil)
(add-hook 'before-change-functions
#'rainbow-delimiters--syntax-ppss-flush-cache t t)
(add-hook 'change-major-mode-hook #'rainbow-delimiters--mode-turn-off nil t)
(font-lock-add-keywords nil rainbow-delimiters--font-lock-keywords 'append)
@@ -428,6 +426,7 @@ Used by font-lock for dynamic highlighting."
(defun rainbow-delimiters--mode-turn-off ()
"Tear down `rainbow-delimiters-mode'."
+ (kill-local-variable 'rainbow-delimiters--parse-partial-sexp-cache)
(font-lock-remove-keywords nil rainbow-delimiters--font-lock-keywords)
(remove-hook 'change-major-mode-hook #'rainbow-delimiters--mode-turn-off t)
(remove-hook 'before-change-functions
#'rainbow-delimiters--syntax-ppss-flush-cache t))