Re: my last message on STklos

From: Moises Lejter <mlm_at_cs.brown.edu>
Date: Thu, 27 Jul 1995 04:13:53 -0400

That change to the #'method macro I sketched will not in fact work,
and I am not sure what the right thing to do is. I would suggest
keeping the set of patches I sent out, and just noting that it is not
possible to create multi-methods for local-scope classes. (At least
until someone actually needs those ;-) )

Also - in order for things to work, the following patch is also
necessary, in Tk-meta.stk:

---patch begins here---
diff -w -r1.1 Tk-meta.stk
101c101,102
< (define-method compute-get-n-set ((class <With-Tk-virtual-slots-metaclass>) slot)
---
> (define-method compute-get-n-set ((class <With-Tk-virtual-slots-metaclass>)
>                                 slot env)
---patch ends here---
Since I modified the multi-method #'compute-get-n-set, this version
must be changed to match.
Also - I have a question about this.  The code for the Tk-meta version
of #'compute-get-n-set says:
  (define-method compute-get-n-set ((class <With-Tk-virtual-slots-metaclass>)
				    slot env)
    (if (memv (get-slot-allocation slot) '(:tk-virtual :pseudo))
	[let ((tk-name (make-keyword (get-keyword :tk-name (cdr slot) (car slot)))))
	  (compute-tk-virtual-get-n-set class tk-name)]
	[next-method]))
Don't I need to pass arguments to that inner call [next-method] there
at the end?  Or do multi-methods someone encode their arguments in
there, somewhere?
Moises
Received on Thu Jul 27 1995 - 10:17:20 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST