[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

arglists, error checking

In NIL we have arglist information as part of "debugging info" now.
This is separate from what is used for actually checking the arguments
to a (compiled) function, which is inline coded in the function entry
(sometimes with an out-of-line call, but the call is at the start of
the compiled function and occurs unconditionally). Using the optimize
declaration appropriately can make this check go away. &KEY is handled
out-of-line always, but the partitioning of arguments into
required/optional/rest is where the number-of-arguments check occurs,
and that precedes the &key parsing.

Anyway, this means that any kind of *RSET check would also have to be
done in some cumbersome fashion since the decision to check or not is
made at compile time.