projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Split out read debug, add memory validation
[fw/altos]
/
src
/
lisp
/
ao_lisp_builtin.c
diff --git
a/src/lisp/ao_lisp_builtin.c
b/src/lisp/ao_lisp_builtin.c
index ad8f4125ff8ba1f777d065fe03faa9bcc7e4fb53..fdca020849177c9d2684bc22cfd91ef2c7c20b0a 100644
(file)
--- a/
src/lisp/ao_lisp_builtin.c
+++ b/
src/lisp/ao_lisp_builtin.c
@@
-125,7
+125,7
@@
ao_lisp_check_argt(ao_poly name, struct ao_lisp_cons *cons, int argc, int type,
ao_poly car = ao_lisp_arg(cons, argc);
if ((!car && !nil_ok) || ao_lisp_poly_type(car) != type)
ao_poly car = ao_lisp_arg(cons, argc);
if ((!car && !nil_ok) || ao_lisp_poly_type(car) != type)
- return ao_lisp_error(AO_LISP_INVALID, "%s:
invalid type for arg %d", ao_lisp_poly_atom(name)->name, argc
);
+ return ao_lisp_error(AO_LISP_INVALID, "%s:
arg %d invalid type %v", ao_lisp_poly_atom(name)->name, argc, car
);
return _ao_lisp_bool_true;
}
return _ao_lisp_bool_true;
}
@@
-226,9
+226,9
@@
ao_lisp_do_setq(struct ao_lisp_cons *cons)
return AO_LISP_NIL;
name = cons->car;
if (ao_lisp_poly_type(name) != AO_LISP_ATOM)
return AO_LISP_NIL;
name = cons->car;
if (ao_lisp_poly_type(name) != AO_LISP_ATOM)
- return ao_lisp_error(AO_LISP_INVALID, "set! of non-atom
"
);
+ return ao_lisp_error(AO_LISP_INVALID, "set! of non-atom
%v", name
);
if (!ao_lisp_atom_ref(name))
if (!ao_lisp_atom_ref(name))
- return ao_lisp_error(AO_LISP_INVALID, "atom
not defined"
);
+ return ao_lisp_error(AO_LISP_INVALID, "atom
%v not defined", name
);
return ao_lisp__cons(_ao_lisp_atom_set,
ao_lisp__cons(ao_lisp__cons(_ao_lisp_atom_quote,
ao_lisp__cons(name, AO_LISP_NIL)),
return ao_lisp__cons(_ao_lisp_atom_set,
ao_lisp__cons(ao_lisp__cons(_ao_lisp_atom_quote,
ao_lisp__cons(name, AO_LISP_NIL)),