LVAL xlist()
{
LVAL last,next,val;
/* protect some pointers */
xlsave1(val);
/* add each argument to the list */
for (val = NIL; moreargs(); ) {
/* append this argument
to the end of the list */
next = consa(nextarg());
if (val) rplacd(last,next);
else val = next;
last = next;
}
/* restore the stack */
xlpop();
/* return the list */
return (val);
}