diff --git a/core/core-lib.el b/core/core-lib.el index 75eb54efc..2d77fac8d 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -157,7 +157,7 @@ Body forms can access the hook's arguments through the let-bound variable `(remove-hook ',hook ,fn ,local-p) `(add-hook ',hook ,fn ,append-p ,local-p)) forms))) - `(progn ,@(nreverse forms))))) + `(progn ,@forms)))) (defmacro remove-hook! (&rest args) "Convenience macro for `remove-hook'. Takes the same arguments as diff --git a/core/test/core-lib.el b/core/test/core-lib.el index d001f0aa9..2fff1fd6e 100644 --- a/core/test/core-lib.el +++ b/core/test/core-lib.el @@ -37,14 +37,14 @@ ;; `add-hook!' (def-test! add-one-to-one-hook - (let (hooks) + (let ((hooks '(old-hook))) (add-hook! 'hooks 'a-hook) - (should (equal hooks '(a-hook))))) + (should (equal hooks '(a-hook old-hook))))) (def-test! add-many-to-one-hook - (let (hooks) + (let ((hooks '(hook-x))) (add-hook! 'hooks '(hook-a hook-b hook-c)) - (should (equal hooks '(hook-c hook-b hook-a))))) + (should (equal hooks '(hook-a hook-b hook-c hook-x))))) (def-test! add-one-to-many-hooks (let (hooks-a hooks-b hooks-c) @@ -56,9 +56,9 @@ (def-test! add-many-to-many-hooks (let (hooks-a hooks-b hooks-c) (add-hook! '(hooks-a hooks-b hooks-c) '(hook-a hook-b hook-c)) - (should (equal hooks-a '(hook-c hook-b hook-a))) - (should (equal hooks-b '(hook-c hook-b hook-a))) - (should (equal hooks-c '(hook-c hook-b hook-a))))) + (should (equal hooks-a '(hook-a hook-b hook-c))) + (should (equal hooks-b '(hook-a hook-b hook-c))) + (should (equal hooks-c '(hook-a hook-b hook-c))))) (def-test! add-non-literal-hooks (let (some-mode-hook)