summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-09-05 11:09:07 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-09-05 11:09:07 -0700
commit5fb2d4a21816d2d06ec0b12ff7be5b09a7771ce4 (patch)
tree46dad3990fcbbf1935c531f4a526ecc63d141825 /lib.c
parent59681c49080f395057548e0d848fbde40d3f0c34 (diff)
downloadtxr-5fb2d4a21816d2d06ec0b12ff7be5b09a7771ce4.tar.gz
txr-5fb2d4a21816d2d06ec0b12ff7be5b09a7771ce4.tar.bz2
txr-5fb2d4a21816d2d06ec0b12ff7be5b09a7771ce4.zip
Syntax errors refer to REPL line number.
* eval.c (eval_init): Registrations of lisp-parse and read must account for new optional argument. * lib.c (func_n5o): New function. * lib.h (func_n5o): Declared. * parser.c (lisp_parse): New argument for passing in line number. This is punched into the parser object. (read_eval_stream): Call to lisp_parse defaults new argument. (repl): Pass repl line number to lisp_parse. * parser.h (lisp_parse): Declaration updated. * txr.c (txr_main): Call to lisp_parse defaults new argument.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index adc73095..597a5f81 100644
--- a/lib.c
+++ b/lib.c
@@ -4238,6 +4238,14 @@ val func_n4o(val (*fun)(val, val, val, val), int reqargs)
return obj;
}
+val func_n5o(val (*fun)(val, val, val, val, val), int reqargs)
+{
+ val obj = func_n5(fun);
+ obj->f.optargs = 5 - reqargs;
+ return obj;
+}
+
+
val func_n1ov(val (*fun)(val, varg), int reqargs)
{
val obj = func_n1v(fun);