summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-01-28 22:29:02 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-01-28 22:29:43 -0800
commitb8966f0bf73f01e1e380a08e6949ccc9ddd45637 (patch)
tree432fb8cd11319e84500103158bfe482f15b340b1 /eval.c
parent1f4a36cb97cb259ce8209de52229f33b341af9cd (diff)
downloadtxr-b8966f0bf73f01e1e380a08e6949ccc9ddd45637.tar.gz
txr-b8966f0bf73f01e1e380a08e6949ccc9ddd45637.tar.bz2
txr-b8966f0bf73f01e1e380a08e6949ccc9ddd45637.zip
* eval.c (eval_init): Registered existing make_catenated_stream as
intrinsic. * stream.c (cat_get_line, cat_get_char, cat_get_byte): Do not remove the last stream from the stream list, so that there is some stream object there which can take the unget-char or unget-byte operations. (cat_unget_byte, cat_unget_char): New static functions. (cat_stream_ops): unget_char and unget_byte function pointers filled in. * txr.1: Documented catenated-streams.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index d526954d..1cfd76f6 100644
--- a/eval.c
+++ b/eval.c
@@ -2542,6 +2542,7 @@ void eval_init(void)
reg_fun(intern(lit("real-time-stream-p"), user_package), func_n1(real_time_stream_p));
reg_fun(intern(lit("stream-set-prop"), user_package), func_n3(stream_set_prop));
reg_fun(intern(lit("stream-get-prop"), user_package), func_n2(stream_get_prop));
+ reg_fun(intern(lit("make-catenated-stream"), user_package), func_n0v(make_catenated_stream));
reg_var(intern(lit("s-ifmt"), user_package), &s_ifmt);
reg_var(intern(lit("s-iflnk"), user_package), &s_iflnk);
reg_var(intern(lit("s-ifreg"), user_package), &s_ifreg);
@@ -2573,6 +2574,7 @@ void eval_init(void)
reg_fun(intern(lit("open-process"), user_package), func_n3o(open_process, 2));
reg_fun(intern(lit("remove-path"), user_package), func_n1(remove_path));
reg_fun(intern(lit("rename-path"), user_package), func_n2(rename_path));
+
reg_var(intern(lit("*user-package*"), user_package), &user_package);
reg_var(intern(lit("*keyword-package*"), user_package), &keyword_package);
reg_var(intern(lit("*system-package*"), user_package), &system_package);