Wrong argument count in error message for methods

Bug #1184325 reported by Nick Levine
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Low
Unassigned

Bug Description

Version: SBCL 1.1.7.114-be974ed-dirty
uname -a: FreeBSD raven.ravenbrook.com 8.3-RELEASE-p3 FreeBSD 8.3-RELEASE-p3 #0: Mon Jun 11 23:52:38 UTC 2012 <email address hidden>:/usr/obj/usr/src/sys/GENERIC i386
Features: (:ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS :BSD :C-STACK-IS-CONTROL-STACK
 :COMMON-LISP :COMPARE-AND-SWAP-VOPS :CYCLE-COUNTER :ELF :FREEBSD :GCC-TLS
 :GENCGC :IEEE-FLOATING-POINT :INLINE-CONSTANTS :LINKAGE-TABLE :LITTLE-ENDIAN
 :MEMORY-BARRIER-VOPS :MULTIPLY-HIGH-VOPS :OS-PROVIDES-BLKSIZE-T
 :OS-PROVIDES-DLADDR :OS-PROVIDES-DLOPEN :OS-PROVIDES-GETPROTOBY-R
 :OS-PROVIDES-POLL :OS-PROVIDES-PUTWC :OS-PROVIDES-SUSECONDS-T
 :PACKAGE-LOCAL-NICKNAMES :RAW-INSTANCE-INIT-VOPS
 :RESTORE-FS-SEGMENT-REGISTER-FROM-TLS :SB-DOC :SB-EVAL :SB-LDB
 :SB-PACKAGE-LOCKS :SB-SOURCE-LOCATIONS :SB-TEST :SB-UNICODE :SBCL
 :STACK-ALLOCATABLE-CLOSURES :STACK-ALLOCATABLE-FIXED-OBJECTS
 :STACK-ALLOCATABLE-LISTS :STACK-ALLOCATABLE-VECTORS
 :STACK-GROWS-DOWNWARD-NOT-UPWARD :UNIX :UNWIND-TO-FRAME-AND-CALL-VOP :X86)

The style warning can count to three, the error message cannot.

CL-USER> (progn (defgeneric frob (x))
                (defmethod frob (x))
                (multiple-value-bind (ignore err)
                    (ignore-errors (frob 1 2 3))
                  (declare (ignore ignore))
                  (princ err)))
; in: PROGN (DEFGENERIC FROB
; (X))
; (FROB 1 2 3)
;
; caught STYLE-WARNING:
; The function was called with three arguments, but wants exactly one.
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
invalid number of arguments: 5
#<SB-INT:SIMPLE-PROGRAM-ERROR "invalid number of arguments: ~S" {5B0AE2D9}>

Fwiw, if the package of the symbol naming the GF is SB-PCL, the problem does not occur.

CL-USER> (in-package sb-pcl)
#<PACKAGE "SB-PCL">
SB-PCL> (progn (defgeneric frob (x))
                (defmethod frob (x))
                (multiple-value-bind (ignore err)
                    (ignore-errors (frob 1 2 3))
                  (declare (ignore ignore))
                  (princ err)))
; in: PROGN (DEFGENERIC FROB
; (X))
; (SB-PCL::FROB 1 2 3)
;
; caught STYLE-WARNING:
; The function was called with three arguments, but wants exactly one.
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
invalid number of arguments: 3
#<SIMPLE-PROGRAM-ERROR "invalid number of arguments: ~S" {5B1F2EF1}>
SB-PCL>

Tags: pcl
Stas Boukarev (stassats)
Changed in sbcl:
status: New → Triaged
importance: Undecided → Low
tags: added: pcl
Stas Boukarev (stassats)
Changed in sbcl:
assignee: nobody → Stas Boukarev (stassats)
Stas Boukarev (stassats)
Changed in sbcl:
assignee: Stas Boukarev (stassats) → nobody
Revision history for this message
Stas Boukarev (stassats) wrote :

6cc3ff26a1d0c58ab061edb35fe01308824253d2

Changed in sbcl:
status: Triaged → Fix Committed
Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.