Subject: bug#11719: closed (Re: bug#11719: 24.1; CL argument list error)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 23 Jun 2012 04:29:02 +0000

Your bug report

#11719: 24.1; CL argument list 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].

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

Subject: Re: bug#11719: 24.1; CL argument list error
From: Stefan Monnier <[email-masked]>
To: Joe Wells <[email-masked]>
Cc: [email-masked]
Date: Sat, 23 Jun 2012 00:24:57 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.2

>   (funcall (function* (lambda ((x . y)) (cons y x))) '(1 . 2))
> returns (2 . 1), as expected and documented.
> In Emacs 24.1, evaluating the above sexp yields this error message:
>   Wrong type argument: listp, y

Should be fixed now, thank you,

        Stefan

Subject: 24.1; CL argument list error
From: Joe Wells <[email-masked]>
To: [email-masked]
Date: Fri, 15 Jun 2012 14:44:06 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear Emacs maintainers and bug fixers,

In Emacs 22.1, evaluating

  (funcall (function* (lambda ((x . y)) (cons y x))) '(1 . 2))

returns (2 . 1), as expected and documented.

In Emacs 24.1, evaluating the above sexp yields this error message:

  Wrong type argument: listp, y

This happens because

  (cl--make-usage-args '((x . y)))

recursively descends into it argument list and evaluates this:

  (memq '&cl-defs '(x . y))

In the older Emacs, cl--make-usage-args did not even exist and only a
simpler portion of its code is present instead of the call to
cl--make-usage-args.  In particular, the recursive descent is missing.

I hope this bug report is somehow helpful.

By the way, I have personally worked around the bug by disabling
cl--make-usage-args completely, which is okay because it is only used
to build a doc string for the anonymous function.  I disabled it like
this:

  (defadvice cl--make-usage-args (around jbw-fix-brokenness activate))

-- 
With my best wishes,

Joe Wells

----------------------------------------------------------------------
In GNU Emacs 24.1.1 (i686-redhat-linux-gnu, GTK+ Version 2.10.4)
 of 2012-06-12 on jove
Configured using:
 `configure '--build=i686-redhat-linux-gnu'
 '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu'
 '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
 '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
 '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib'
 '--libexecdir=/usr/libexec' '--localstatedir=/var'
 '--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
 '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg'
 '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm'
 '--with-x-toolkit=gtk' 'build_alias=i686-redhat-linux-gnu'
 'host_alias=i686-redhat-linux-gnu' 'target_alias=i386-redhat-linux-gnu'
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32
 -march=i386 -mtune=generic -fasynchronous-unwind-tables''