Vladimir,
Eeeewww! Gives me the creeps just thinking of the implications.
Guess you are right. You certainly don't want to
feed this function a list from atomsfamily to map out all the arg lists for
all functions. There might be some dangerous functions out there
that have no arguments. For the rest, I was feeding arguments that
should normally cause termination for other reasons. Few functions will
take only symbol arguments. But the risk is too great for wholesale
use.
It could still be used judiciously to determine the arity of
functions whose purpose(by name) is relatively clear. A clear
determination of a function's purpose and side-effects though is as
important as the number of arguments.
Now, where's that wish list???????
Regards,
Doug
"Vladimir Nesterovsky" wrote in message
news:B344801D2E6FD3FF2073DD3C0A0DF192@in.WebX.maYIadrTaRb...
> Doug, --
>
> great idea! I forgot we can do almost anything now that we have
> vl-catch-all-apply. 🙂
>
> One problem though ----- after you get to the right number of arguments
> it will actually work, and there's no telling what it could do.
>
> Ex.:
>
> (defun test(a b c)
> (vlxxx-format-disk-c-no-warning))
>
> Granted, the probability is very low, but not zero.
>
> I thought to try to stop the execution by passing (/ 0 0) into it,
> but the arguments get evaluated in Vlisp _before_ there's an
> attempt to pass them to function call:
>
> Command: (defun foo ( a b c ) 1)
> FOO
> Command: (foo 1)
> ; error: too few arguments
> Command: (foo 1 (print 2))
> 2 ; error: too few arguments
> Command: (foo 1 (/ 0 0))
> ; error: divide by zero
>
> I begin to remember now, I once tried similar approach but
> this problem stopped me. 😐
>
> VLIDE obviously has the access to this info, it shows on its inspect
> windows for USUBR objects. Now _how_ can we persuade ADESK
> to tell us about it?.... Anyone?......
>
>
>
> Doug Broad wrote in message
> news:8431D33A77A628F4B6811DD27B8AE07A@in.WebX.maYIadrTaRb...
> > Vladimir,
> >