On Tue, Dec 22, 2009 at 8:06 PM, Alessio Stalla alessiostalla@gmail.com wrote:
On Tue, Nov 24, 2009 at 10:27 PM, logicmoo@gmail.com wrote:
Thanks, you are right, much better to use the built-in key stuff
(defun (setf jfield) (newvalue class-ref-or-field field-or-instance &optional ( instance nil instance-supplied-p) unused-value) (declare (ignore unused-value)) (if instance-supplied-p (jfield class-ref-or-field field-or-instance instance newvalue) (jfield class-ref-or-field field-or-instance newvalue)))
I have tentatively included this code in java.lisp in my local copy of abcl, with the intention to commit it to trunk. It works like a charm, but I have a problem: how can I tell abcl to autoload java.lisp if it sees (setf (jfield ...)) for the first time?
You can't: the autoloader seems to work with symbols only; I've made the preloaded-function-proxy work with SETF functions too, so, you can lookup there how to do it. You'll just need to invent a syntax for the lisp side: multi-symbol lists are already taken for installing the autoloader on multiple symbols.
Bye,
Erik.