Stefan Monnier schrieb am So., 12. Apr. 2015 um 05:48 Uhr: > The number of arguments passed to a function is something that can be > easily checked by the function, but checking the number of arguments > accepted by a function is generally impossible (think of a function like > > (lambda (&rest args) > (if (> (length args) (if (halting-p (car args)) 2 3)) > (signal 'wrong-number-of-arguments 'foo (length args))) > ...) > But most functions are well-behaved and don't impose additional restrictions over those expressed in their parameter declaration; in these cases inspecting the argument list using help-function-arglist should work well enough. Agreed that using this as safe predicate is a security hole, the choices should just be normal symbols that are not used as functions.