From c49bb125fc9beb835ffee8d78625cbe7541dd262 Mon Sep 17 00:00:00 2001 From: Ben Segall Date: Sun, 19 Jul 2015 14:30:20 -0700 Subject: Cache (regexp-opt rust-special-types 'symbols) in rust-is-lt-char-operator regexp-opt is generally intended to be cached, and the extra GC was causing noticeable lag when typing sometimes. --- rust-mode.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust-mode.el b/rust-mode.el index 40a2492..e451dfa 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -378,6 +378,7 @@ ;; newer Emacs versions, but will work on Emacs 23.) (defun regexp-opt-symbols (words) (concat "\\_<" (regexp-opt words t) "\\_>")) +(defconst rust-re-special-types (regexp-opt-symbols rust-special-types)) (defvar rust-mode-font-lock-keywords (append @@ -851,7 +852,7 @@ (or ;; The special types can't take type param lists, so a < after one is ;; always an operator - (looking-at (regexp-opt rust-special-types 'symbols)) + (looking-at rust-re-special-types) (rust-is-in-expression-context 'ident))) -- cgit v1.2.3