Fix insertion order of add-hook! when appending

When appending multiple functions to a hook(s) with add-hook!, insertion
order was not preserved. e.g.

  => (add-hook! :append 'some-mode-hook #'(hook-1 hook-2))
  => some-mode-hook
  (hook-2 hook-1)
This commit is contained in:
Henrik Lissner 2018-06-06 19:21:27 +02:00
parent fcb5284393
commit dda81f7b54
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -304,7 +304,7 @@ Body forms can access the hook's arguments through the let-bound variable
`(remove-hook ',hook ,fn ,local-p) `(remove-hook ',hook ,fn ,local-p)
`(add-hook ',hook ,fn ,append-p ,local-p)) `(add-hook ',hook ,fn ,append-p ,local-p))
forms))) forms)))
`(progn ,@forms)))) `(progn ,@(if append-p (nreverse forms) forms)))))
(defmacro remove-hook! (&rest args) (defmacro remove-hook! (&rest args)
"Convenience macro for `remove-hook'. Takes the same arguments as "Convenience macro for `remove-hook'. Takes the same arguments as