branch: master commit c8b8e114160f4ab6cb4e6424ddb015ae36ad7d9c Author: Dmitry Gutov <dgu...@yandex.ru> Commit: Dmitry Gutov <dgu...@yandex.ru>
js2-define-destruct-symbols: Speed up, theoretically --- js2-mode.el | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/js2-mode.el b/js2-mode.el index 37a4f2a..b885efd 100644 --- a/js2-mode.el +++ b/js2-mode.el @@ -7982,26 +7982,26 @@ declared; probably to check them for errors." (js2-set-face (setq leftpos (js2-node-abs-pos node)) (+ leftpos (js2-node-len node)) face 'record)) - (setq name-nodes (list node)))) + (list node))) ((js2-object-node-p node) (dolist (elem (js2-object-node-elems node)) (when (js2-object-prop-node-p elem) - (setq name-nodes - (append name-nodes - (js2-define-destruct-symbols - ;; In abbreviated destructuring {a, b}, right == left. - (js2-object-prop-node-right elem) - decl-type face ignore-not-in-block)))))) + (push (js2-define-destruct-symbols + ;; In abbreviated destructuring {a, b}, right == left. + (js2-object-prop-node-right elem) + decl-type face ignore-not-in-block) + name-nodes))) + (apply #'append (nreverse name-nodes))) ((js2-array-node-p node) (dolist (elem (js2-array-node-elems node)) (when elem - (setq name-nodes - (append name-nodes - (js2-define-destruct-symbols - elem decl-type face ignore-not-in-block)))))) + (push (js2-define-destruct-symbols + elem decl-type face ignore-not-in-block) + name-nodes))) + (apply #'append (nreverse name-nodes))) (t (js2-report-error "msg.no.parm" nil (js2-node-abs-pos node) - (js2-node-len node)))) - name-nodes)) + (js2-node-len node)) + nil)))) (defvar js2-illegal-strict-identifiers '("eval" "arguments")