<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Dear maintainers</p>
<p>#1 a user-defined allocate-instance method is not called at all</p>
<p>#2 slot-missing is called with a slot-name of nil</p>
<p>#3 update-dependent is not being applied to its keyword arguments</p>
<p>Best regards</p>
<p>William<br>
</p>
<font face="Courier New, Courier, monospace">"1.2.1"</font><br>
<font face="Courier New, Courier, monospace">"Java_HotSpot(TM)_Client_VM-Oracle_Corporation-1.7.0_17-b02"</font><br>
<font face="Courier New, Courier, monospace">"x86-Windows_7-6.1"</font><br>
<font face="Courier New, Courier, monospace">;;;#1<br>
CL-USER(2): (defclass quux-class (standard-class) ())<br>
#<STANDARD-CLASS QUUX-CLASS {D2A36B}><br>
CL-USER(3): (defmethod allocate-instance :after ((class
quux-class) &rest initargs)<br>
(format t "allocated ~S~%" class))<br>
#<STANDARD-METHOD ALLOCATE-INSTANCE :AFTER (QUUX-CLASS)
{14A0B92}><br>
CL-USER(4): (defclass quux nil (bar) (:metaclass quux-class))<br>
#<QUUX-CLASS QUUX {50039B}><br>
CL-USER(5): (make-instance *)<br>
#<QUUX {B2D899}><br>
CL-USER(6): (inspect (fdefinition 'allocate-instance))<br>
0 LAYOUT -----------> #<LAYOUT {BEF803}><br>
1 NAME -------------> ALLOCATE-INSTANCE<br>
2 LAMBDA-LIST ------> (CLASS &REST ...)<br>
3 REQUIRED-ARGS ----> (CLASS)<br>
4 OPTIONAL-ARGS ----> NIL<br>
5 INITIAL-METHODS --> NIL<br>
6 METHODS ----------> (#<STANDARD-METHOD
ALLOCATE-INSTANCE :AFTER (QUUX-CLASS) {14A0B92}>
#<STANDARD-METHOD ALLOCATE-INSTANCE :BEFORE (CLASS)
{18C9692}> ...)<br>
7 METHOD-CLASS -----> #<STANDARD-CLASS STANDARD-METHOD
{A801B0}><br>
8 %METHOD-COMBINATION -> #<METHOD-COMBINATION STANDARD
{F167BB}><br>
9 ARGUMENT-PRECEDENCE-ORDER -> (CLASS)<br>
10 DECLARATIONS -----> NIL<br>
11 CLASSES-TO-EMF-TABLE -> #<EQUAL HASH-TABLE 0 entries,
11 buckets {D15EE4}><br>
12 %DOCUMENTATION ---> NIL<br>
;;;#2<br>
CL-USER(11): (make-instance 'quux)<br>
#<QUUX {F2AE7E}><br>
CL-USER(12): (slot-value * 'baz)<br>
#<THREAD "interpreter" {1A2FE4D}>: Debugger invoked on
condition of type SIMPLE-ERROR<br>
The slot NIL is missing from the class #<QUUX-CLASS QUUX
{50039B}>.<br>
Restarts:<br>
0: TOP-LEVEL Return to top level.<br>
;;;#3<br>
CL-USER(2): (defclass foo-class (standard-class) ())<br>
#<STANDARD-CLASS FOO-CLASS {14A123F}><br>
CL-USER(3): (defclass foo-dep () ())<br>
#<STANDARD-CLASS FOO-DEP {145B486}><br>
CL-USER(4): (defmethod mop:update-dependent ((class foo-class)
(dep foo-dep) &key direct-slots &allow-other-keys))<br>
#<STANDARD-METHOD MOP:UPDATE-DEPENDENT (FOO-CLASS FOO-DEP)
{155388B}><br>
CL-USER(5): (defclass foo () (bar) (:metaclass foo-class))<br>
#<FOO-CLASS FOO {25D10A}><br>
CL-USER(6): (mop:add-dependent * (make-instance 'foo-dep))<br>
(#<FOO-DEP {F167BB}>)<br>
CL-USER(7): (trace mop:update-dependent)<br>
(MOP:UPDATE-DEPENDENT)<br>
CL-USER(8): (defclass foo () (bar baz) (:metaclass foo-class))<br>
0: (MOP:UPDATE-DEPENDENT #<FOO-CLASS {25D10A}>
#<FOO-DEP {F167BB}> (:DIRECT-SUPERCLASSES NIL
:DIRECT-SUPERCLASSES NIL DIRECT-SLOTS ((:NAME BAR) (:NAME BAZ))))<br>
#<THREAD "interpreter" {886140}>: Debugger invoked on
condition of type PROGRAM-ERROR<br>
Odd number of keyword arguments.<br>
Restarts:<br>
0: TOP-LEVEL Return to top level.</font><br>
</body>
</html>