Subject: bug#40596: closed (Re: bug#40596: 28.0.50; Function with more than one key gives "wrong number of arguments" error)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 13 Apr 2020 13:59:02 +0000

Your bug report

#40596: 28.0.50; Function with more than one key gives "wrong number of arguments" error

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40596: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40596
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#40596: 28.0.50; Function with more than one key gives "wrong number of arguments" error
From: Eli Zaretskii <[email-masked]>
To: Jean Louis <[email-masked]>
Cc: [email-masked]
Date: Mon, 13 Apr 2020 16:57:46 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Mon, 13 Apr 2020 16:43:49 +0300
> From: Jean Louis <[email-masked]>
> Cc: [email-masked]
> 
> > > (tmp-function-1 "text" "<html>" :one "Hello")
> > 
> > I think it interprets &key as a name of a simple argument.
> 
> A yes, close.

Done.

Subject: 28.0.50; Function with more than one key gives "wrong number of arguments" error
From: Jean Louis <[email-masked]>
To: [email-masked]
Date: Mon, 13 Apr 2020 14:19:10 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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:

Debugger entered--Lisp error: (wrong-number-of-arguments ((t) (text html &key one) "This one works fine" (message one)) 6)
  tmp-function-1("text" "<html>" :one "Hello" :two "But not alright")
  eval((tmp-function-1 "text" "<html>" :one "Hello" :two "But not alright") nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

I have tried searching the manual for Emacs Lisp for anything related to
`&key' and I cannot find any references, in my opinion the description
of `defun' in the Emacs Lisp manual is not satisfactorily.

Jean

In GNU Emacs 28.0.50 (build 5, x86_64-pc-linux-gnu, X toolkit, cairo version 1.14.8, Xaw3d scroll bars)
 of 2020-03-28 built on protected.rcdrun.com
Repository revision: dceba13ce57ed0cb726e89566197f77359a38d91
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.11907000
System Description: Hyperbola GNU/Linux-libre

Recent messages:
Mark set
tmp-function-2
Entering debugger...
Back to top level
tmp-function-2
Entering debugger...
previous-line: Beginning of buffer [4 times]
Back to top level
kill-line: End of buffer [6 times]
Mark set

Configured using:
 'configure --prefix=/package/text/emacs-2020-03-28 --with-modules
 --without-gpm --with-x-toolkit=lucid
 PKG_CONFIG_PATH=/home/data1/protected/GNUstep/Library/Libraries/pkgconfig:/usr/lib/pkgconfig'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS JSON PDUMPER
LCMS2 GMP

Important settings:
  value of $LC_ALL: de_DE.UTF-8
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort hashcash mail-extr emacsbug message rmc puny dired
dired-loaddefs format-spec rfc822 mml mml-sec password-cache epa derived
epg epg-config gnus-util rmail rmail-loaddefs text-property-search
time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
help-fns radix-tree cl-print debug backtrace help-mode easymenu
find-func cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo x-toolkit x multi-tty make-network-process
emacs)

Memory information:
((conses 16 52165 9031)
 (symbols 48 6514 1)
 (strings 32 18090 1316)
 (string-bytes 1 578502)
 (vectors 16 10940)
 (vector-slots 8 141658 11450)
 (floats 8 27 48)
 (intervals 56 546 84)
 (buffers 1000 13))

-- 
Thanks,
Jean Louis