[slime-devel] [patch] ABCL arglist display

Matthias Hölzl tc at xantira.com
Wed Nov 11 20:17:29 UTC 2009


The current implementation of swank::arglist for ABCL seems to be not
quite correct.  The attached patch fixes two problems:

1. In the form 

(multiple-value-bind (arglist present) (or (sys::arglist ...) ...)

the value of "present" is always nil if sys::arglist returns a non-nil
arglist (since, for any form but the last, "or" returns the primary
value only).  Hence swank::arglist always returns :not-available if
sys::arglist returns a non-nil primary value, therefore no arglist info
is displayed for non-generic functions.  The attached patch fixes this.

2. The current implementation returns :not-available for generic
functions with empty argument list.  This does not seem to be quite
correct since generic functions without parameters are allowed according
to Section 3.4.2 of the HyperSpec.  The attached patch changes this by
always setting "present" to true when the function is of type
"standard-generic-function"; this seems to be correct according to the
definition of generic-function-lambda-list in AMOP, p. 216.  

Best regards,

  Matthias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: abcl-slime-arglist.patch
Type: text/x-patch
Size: 1150 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20091111/81059d84/attachment.bin>


More information about the slime-devel mailing list