summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-02-22 19:56:38 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-02-22 19:56:38 -0800
commit01148ef9f86426f0b520752ae2f930c6c1c06903 (patch)
treec67e5a6d69c50759e80fb66e32d4fdbf7434905e /eval.c
parent8f71f5ec7497440e0ab55a95c03d8a38bb875d26 (diff)
downloadtxr-01148ef9f86426f0b520752ae2f930c6c1c06903.tar.gz
txr-01148ef9f86426f0b520752ae2f930c6c1c06903.tar.bz2
txr-01148ef9f86426f0b520752ae2f930c6c1c06903.zip
* eval.c (prinl, pprinl): New functions.
(eval_init): Registered as intrinsics. * txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 13244706..9a30b391 100644
--- a/eval.c
+++ b/eval.c
@@ -2819,6 +2819,20 @@ static val and_fun(val vals)
return item;
}
+static val prinl(val obj, val stream)
+{
+ val ret = obj_print(obj, stream);
+ put_char(chr('\n'), stream);
+ return ret;
+}
+
+static val pprinl(val obj, val stream)
+{
+ val ret = obj_pprint(obj, stream);
+ put_char(chr('\n'), stream);
+ return ret;
+}
+
void eval_init(void)
{
protect(&top_vb, &top_fb, &top_mb, &special,
@@ -3128,6 +3142,8 @@ void eval_init(void)
reg_fun(intern(lit("pprint"), user_package), func_n2o(obj_pprint, 1));
reg_fun(intern(lit("tostring"), user_package), func_n1(tostring));
reg_fun(intern(lit("tostringp"), user_package), func_n1(tostringp));
+ reg_fun(intern(lit("prinl"), user_package), func_n2o(prinl, 1));
+ reg_fun(intern(lit("pprinl"), user_package), func_n2o(pprinl, 1));
reg_fun(intern(lit("make-string-input-stream"), user_package), func_n1(make_string_input_stream));
reg_fun(intern(lit("make-string-byte-input-stream"), user_package), func_n1(make_string_byte_input_stream));
reg_fun(intern(lit("make-string-output-stream"), user_package), func_n0(make_string_output_stream));