emacs-diffs
[Top][All Lists]
Advanced

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

master cdede98: * lisp/progmodes/cc-cmds.el: Don't use local vars as sym


From: Stefan Monnier
Subject: master cdede98: * lisp/progmodes/cc-cmds.el: Don't use local vars as symbols
Date: Mon, 20 Jan 2020 09:50:39 -0500 (EST)

branch: master
commit cdede988b48802c5f2ccce2d38bebcdc4c7dbb05
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/progmodes/cc-cmds.el: Don't use local vars as symbols
    
    (c--call-post-self-insert-hook-more-safely-1): Avoid `add-hook` and
    `run-hooks` on local vars.  Avoid O(n^2) while we're at it.
---
 lisp/progmodes/cc-cmds.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index da614d7..a608122 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -512,11 +512,11 @@ function to control that."
        (let ((src (default-value 'post-self-insert-hook)))
          (while src
            (unless (memq (car src) c--unsafe-post-self-insert-hook-functions)
-             (add-hook 'dest (car src) t)) ; Preserve the order of the 
functions.
+             (push (car src) dest))
            (setq src (cdr src)))))
-       (t (add-hook 'dest (car src) t))) ; Preserve the order of the functions.
+       (t (push (car src) dest)))
       (setq src (cdr src)))
-    (run-hooks 'dest)))
+    (mapc #'funcall (nreverse dest)))) ; Preserve the order of the functions.
 
 (defmacro c--call-post-self-insert-hook-more-safely ()
   ;; Call post-self-insert-hook, if such exists.  See comment for



reply via email to

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