emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master c8b8e11 19/38: js2-define-destruct-symbols: Speed up, theo


From: Dmitry Gutov
Subject: [elpa] master c8b8e11 19/38: js2-define-destruct-symbols: Speed up, theoretically
Date: Wed, 09 Sep 2015 18:41:44 +0000

branch: master
commit c8b8e114160f4ab6cb4e6424ddb015ae36ad7d9c
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]