- ao_scheme_print_start();
- while (cons) {
- if (ao_scheme_print_mark_addr(cons)) {
- printf("...");
- break;
- }
- ao_scheme_poly_display(cons->car);
-
- cdr = cons->cdr;
- if (ao_scheme_poly_type(cdr) == AO_SCHEME_CONS)
- cons = ao_scheme_poly_cons(cdr);
- else {
- ao_scheme_poly_display(cdr);
- cons = NULL;
+ /* If we're still printing, clear the print marks on
+ * all printed pairs
+ */
+ while (written--) {
+ ao_scheme_print_clear_addr(clear);
+ clear = ao_scheme_poly_cons(clear->cdr);