Hi,
; SLIME 2012-01-06 CL-USER> (defgeneric foo (x) (:documentation "Hi there!")) #<STANDARD-GENERIC-FUNCTION FOO {78189538}> CL-USER> (documentation 'foo 'function) "Hi there!" CL-USER>
LispObject.java didn't know that things other than Function could be in a symbol's function slot.
Regards,
Rudi
Changes in HEAD Modified src/org/armedbear/lisp/LispObject.java diff --git a/src/org/armedbear/lisp/LispObject.java b/src/org/armedbear/lisp/LispObject.java index ce52169..e0d3f35 100644 --- a/src/org/armedbear/lisp/LispObject.java +++ b/src/org/armedbear/lisp/LispObject.java @@ -658,7 +658,7 @@ public class LispObject //extends Lisp return ((Cons)entry).cdr; } if(docType == Symbol.FUNCTION && this instanceof Symbol) { - Object fn = ((Symbol)this).getSymbolFunction(); + LispObject fn = ((Symbol)this).getSymbolFunction(); if(fn instanceof Function) { DocString ds = fn.getClass().getAnnotation(DocString.class); if(ds != null) { @@ -672,6 +672,9 @@ public class LispObject //extends Lisp return doc; } } + } else if (fn instanceof StandardGenericFunction) { + return StandardGenericFunction.checkStandardGenericFunction(fn) + .slots[StandardGenericFunctionClass.SLOT_INDEX_DOCUMENTATION]; } } return NIL;