[slime-devel] Re: Automatic "semantic" indentation

Luke Gorrie luke at bluetail.com
Mon Apr 5 15:55:58 UTC 2004


Bill_Clementson at peoplesoft.com writes:

> Here is the documentation for excl:arglist:
> arglist
> Arguments: function
>
> Returns two values: if the the argument list of the operator (function,
> generic function, or macro) specified by the argument is known, it and t
> are returned. If the argument list is not known (that information can be
> discarded to save space), nil and nil are returned. Note that some argument
> lists may be uninformative (perhaps simply &rest args) when a function does
> all argument processing within its body. Also, the compiler may have
> simplified the argument list for its purposes. This function is designed to
> assist only.

I'm guessing this is a case where the compiler has simplified the
argument list for its purposes. One fix would be to scan the arglist
to make sure it's properly terminated, and otherwise ignore it. But
maybe that way we would miss some useful information.

Could you please post the (voluminous) output of this, just to see if
we can pick a meaningful pattern in their arglist formats?

  (let ((arglists '()))
    (do-all-symbols (sym) 
      (when (macro-function sym) 
        (push (list sym (arglist sym)) arglists)))
    arglists)

-Luke






More information about the slime-devel mailing list