GNU bug report logs -
#40596
28.0.50; Function with more than one key gives "wrong number of arguments" error
Previous Next
Reported by: Jean Louis <bugs <at> gnu.support>
Date: Mon, 13 Apr 2020 12:21:01 UTC
Severity: normal
Found in version 28.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* Eli Zaretskii <eliz <at> gnu.org> [2020-04-13 15:31]:
> > From: Jean Louis <bugs <at> gnu.support>
> > Date: Mon, 13 Apr 2020 14:19:10 +0300
> >
> > Here is something that could be a bug, I cannot know at this moment, as
> > I am researching yet if I can use &key with Emacs's `defun':
> >
> > (defun tmp-function-1 (text html &key one)
> > "This one works fine"
> > (message one))
> >
> > (tmp-function-1 "text" "<html>" :one "Hello")
> >
> > (defun tmp-function-2 (text html &key one two)
> > "This one does not work, wrong number of arguments"
> > (message one))
> >
> > (tmp-function-1 "text" "<html>" :one "Hello" :two "But not alright")
> >
> > Evaluating the last function does not work, it gives the error:
>
> You need to use cl-defun, not defun. The latter doesn't support &key.
I understand and not that I need it. Then if the Emacs Lisp `defun'
does not support &key, why is then this below working?
(defun tmp-function-1 (text html &key one)
"This one works fine"
(message one))
(tmp-function-1 "text" "<html>" :one "Hello")
It should not work, if Emacs Lisp does not support &key
Isn't it?
Jean
This bug report was last modified 5 years and 42 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.