GNU bug report logs - #40596
28.0.50; Function with more than one key gives "wrong number of arguments" error

Previous Next

Package: emacs;

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


Message #11 received at 40596 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 40596 <at> debbugs.gnu.org
Subject: Re: bug#40596: 28.0.50; Function with more than one key gives "wrong
 number of arguments" error
Date: Mon, 13 Apr 2020 16:02:30 +0300
* 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.