- DBGI("bind "); DBG_POLY(args->car); DBG(" = "); DBG_POLY(cons->cdr); DBG("\n");
- next_frame->vals[0].atom = args->car;
- next_frame->vals[0].val = cons->cdr;
+ for (f = 0; f < args_wanted - 1; f++) {
+ DBGI("bind "); DBG_POLY(args->car); DBG(" = "); DBG_POLY(vals->car); DBG("\n");
+ ao_lisp_frame_bind(next_frame, f, args->car, vals->car);
+ args = ao_lisp_poly_cons(args->cdr);
+ vals = ao_lisp_poly_cons(vals->cdr);
+ }
+ DBGI("bind "); DBG_POLY(args->car); DBG(" = "); DBG_POLY(ao_lisp_cons_poly(vals)); DBG("\n");
+ ao_lisp_frame_bind(next_frame, f, args->car, ao_lisp_cons_poly(vals));
+ break;
+ default: