Macro Def-Gmap-Arg-Type

Part of:

package gmap
( def-gmap-arg-type name args &body body )
Defines a GMap arg-type. Syntax is identical to defun. The body should
return a list of 1 to 5 elements: (0, “init”) the initial value of the
state variable; (1, “exitp”), if non-nil, a function of one argument which
is called on the state variable, a true result causing the iteration to
exit; (2, “argfn”), if non-nil, a function of one argument which is called
on the state variable to get the value to be used on this iteration; (3,
“nextfn”), if non-nil, a function of one argument which is called on the
state variable to get the new value of same; and (4, “let-specs”) a list of
clauses for an nlet that will wrapped around the entire expansion.

It is also possible for an arg-type to generate multiple arguments. If
element 2, “argfn”, is of the form (:values N FN), FN should be a function
returning N values, which will be passed as separate arguments to the function
being mapped.