[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
problem with arglist checking
- To: commonloops.pa@Xerox.COM
- Subject: problem with arglist checking
- From: gillett@ai.mit.edu (Walter E. Gillett)
- Date: Sun, 13 Aug 89 20:12:11 EDT
- Cc: cl-bugs@franz.com
- Redistributed: commonloops.pa
When Victoria Day PCL is compiled in Allegro with default safety and speed
settings (the defaults are mostly speed=3, safety=0), method dispatch
doesn't
always check arglists properly. See the following sessions below. Arglist
checking is correct when the settings are changed to speed=0, safety=3.
This
bug should never occur, regardless of the compiler settings.
LISP-IMPLEMENTATION-TYPE: Allegro CL
LISP-IMPLEMENTATION-VERSION: 3.0.3 [tek4300] (4/30/89 23:58)
MACHINE-TYPE: Tektronix 4300
MACHINE-VERSION:
SOFTWARE-TYPE: Utek
SOFTWARE-VERSION:
SHORT-SITE-NAME: armenia
*features* is (:GSGC :FRANZ-INC :EXCL :COMMON-LISP :ALLEGRO-V3.0 :ALLEGRO
:TEK4300 :TEKTRONIX :TEKCL :UNIX :MULTIPROCESSING :XLIB :GC-CURSOR :CW-X)
;;; Following LISP session is with speed=3, safety=0 PCL.
NIL
<cl> (use-package :pcl)
T
<cl> (defclass a () ())
(:CLASS A)
NIL
<cl> (defmethod three ((a a)) 3)
(:METHOD THREE :PRIMARY (A))
NIL
<cl> (setq a (make-instance 'a))
#<A 52654551>
<cl> (three a)
3
<cl> (three a a)
3
<cl> (three a a a a a a a a)
3
;;; If PCL is recompiled with safety=3, speed=0, then the error is caught:
<cl> (three a a)
Error: Wrong number of args passed to THREE