Bill_Clementson@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