char *s = r;
while (cons) {
- if (ao_lisp_poly_type(cons->car) != AO_LISP_INT)
+ if (!ao_lisp_integer_typep(ao_lisp_poly_type(cons->car)))
return ao_lisp_error(AO_LISP_INVALID, "non-int passed to pack");
- *s++ = ao_lisp_poly_int(cons->car);
+ *s++ = ao_lisp_poly_integer(cons->car);
cons = ao_lisp_poly_cons(cons->cdr);
}
*s++ = 0;
}
void
-ao_lisp_string_print(ao_poly p)
+ao_lisp_string_write(ao_poly p)
{
char *s = ao_lisp_poly_string(p);
char c;
printf ("\\t");
break;
default:
- putchar(c);
+ if (c < ' ')
+ printf("\\%03o", c);
+ else
+ putchar(c);
break;
}
}
}
void
-ao_lisp_string_patom(ao_poly p)
+ao_lisp_string_display(ao_poly p)
{
char *s = ao_lisp_poly_string(p);
char c;