From 61a8fde2872355b4e721f1c5145c77122c92c40e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 18 Dec 2011 23:13:47 -0800 Subject: * eval.c (bindings_helper): Fix format arguments. (eval_init): Registered new functions: symbol-function, func-get-form, func-get-env, functionp, interp-fun-p. * lib.c (nappend2, getplist_f, improper_plist_to_alist): tail variable renamed to avoid clash in macro. (func_get_form, func_get_env, interp_fun_p): New functions. * lib.h (func_get_form, func_get_env, interp_fun_p): Declared. (list_collect): Fix macro not to throw error, but handle the case. * match.c (vars_to_bindings, extract_bindings): tail variable renamed to avoid clash in macro. * txr.1: Documentation stubs. --- lib.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib.h') diff --git a/lib.h b/lib.h index 345c3e35..3c9781b0 100644 --- a/lib.h +++ b/lib.h @@ -469,7 +469,10 @@ val func_n2v(val (*fun)(val, val, val rest)); val func_n3v(val (*fun)(val, val, val, val rest)); val func_n4v(val (*fun)(val, val, val, val, val rest)); val func_interp(val env, val form); +val func_get_form(val fun); +val func_get_env(val fun); val functionp(val); +val interp_fun_p(val); val funcall(val fun); val funcall1(val fun, val arg); val funcall2(val fun, val arg1, val arg2); @@ -571,7 +574,7 @@ INLINE val eq(val a, val b) { return ((a) == (b) ? t : nil); } #define list_collect(PTAIL, OBJ) \ do { \ if (*PTAIL) \ - internal_error("mixed collect style"); \ + PTAIL = tail(*PTAIL); \ *PTAIL = cons(OBJ, nil); \ PTAIL = cdr_l(*PTAIL); \ } while(0) -- cgit v1.2.3