fix(lib): fn! error when arglist is a cons cell

Throws a wrong-type-argument error when fn! is given a cons cell in its
arguments, e.g.

  (fn! ((x . y)) ...)
This commit is contained in:
Henrik Lissner 2021-10-19 22:29:08 +02:00
parent faceb8cef6
commit 8f040b79be

View file

@ -321,9 +321,9 @@ ARGLIST."
,(letf! (defun* allow-other-keys (args) ,(letf! (defun* allow-other-keys (args)
(mapcar (mapcar
(lambda (arg) (lambda (arg)
(if (listp arg) (cond ((nlistp (cdr-safe arg)) arg)
(allow-other-keys arg) ((listp arg) (allow-other-keys arg))
arg)) (arg)))
(if (and (memq '&key args) (if (and (memq '&key args)
(not (memq '&allow-other-keys args))) (not (memq '&allow-other-keys args)))
(if (memq '&aux args) (if (memq '&aux args)