diff options
| author | Simen Heggestøyl | 2016-04-24 11:03:22 +0200 |
|---|---|---|
| committer | Simen Heggestøyl | 2016-04-24 15:02:05 +0200 |
| commit | 8e2e252932faf3320f72a0b62136c4606e09ebc3 (patch) | |
| tree | aaaaa5b71b2b8ac3fbfc6b27985f1b07c71ce43c /lisp | |
| parent | 5cb7620027f78a3a0f473972a0584c8ea1791398 (diff) | |
| download | emacs-8e2e252932faf3320f72a0b62136c4606e09ebc3.tar.gz emacs-8e2e252932faf3320f72a0b62136c4606e09ebc3.zip | |
Cache results of `css--property-values'
* lisp/textmodes/css-mode.el (css--property-values): Cache computed
values.
* test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
New regression test for the above.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/textmodes/css-mode.el | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 2a61fe3736b..8a4daac353a 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el | |||
| @@ -792,13 +792,15 @@ the symbol VALUE-CLASS." | |||
| 792 | Completion candidates are looked up in `css-property-alist' by | 792 | Completion candidates are looked up in `css-property-alist' by |
| 793 | the string PROPERTY." | 793 | the string PROPERTY." |
| 794 | (or (gethash property css--property-value-cache) | 794 | (or (gethash property css--property-value-cache) |
| 795 | (seq-mapcat | 795 | (let ((values |
| 796 | (lambda (value) | 796 | (seq-mapcat |
| 797 | (if (stringp value) | 797 | (lambda (value) |
| 798 | (list value) | 798 | (if (stringp value) |
| 799 | (or (css--value-class-lookup value) | 799 | (list value) |
| 800 | (css--property-values (symbol-name value))))) | 800 | (or (css--value-class-lookup value) |
| 801 | (cdr (assoc property css-property-alist))))) | 801 | (css--property-values (symbol-name value))))) |
| 802 | (cdr (assoc property css-property-alist))))) | ||
| 803 | (puthash property values css--property-value-cache)))) | ||
| 802 | 804 | ||
| 803 | (defun css--complete-property-value () | 805 | (defun css--complete-property-value () |
| 804 | "Complete property value at point." | 806 | "Complete property value at point." |