summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-08-28 12:01:52 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-08-28 12:01:52 -0700
commit1a3fe1a084fd68ff4f10ef8cf031f347563b79ca (patch)
tree00f541955af1672e133064ef69abd976a15ec095 /lib.h
parenta2e0d566ef4d45d4915d43d035f6f21270d70178 (diff)
downloadtxr-1a3fe1a084fd68ff4f10ef8cf031f347563b79ca.tar.gz
txr-1a3fe1a084fd68ff4f10ef8cf031f347563b79ca.tar.bz2
txr-1a3fe1a084fd68ff4f10ef8cf031f347563b79ca.zip
New macro: close-lazy-streams.
* lib.c (lazy_stream_s): New symbol variable. (lazy_streams_binding): New static variable. (lazy_stream_register): New static function (lazy_stream_cons): If the stream is associated with a lazy cons, register it with lazy_stream_register. (obj_init): gc-protect lazy_streams_binding variable. Intern the sys:*lazy-streams* symbol. * lib.h (lazy_streams_s): Declared. * eval.c (eval_init): Register sys:*lazy-streams* special variable. * stdlib/getput.tl (close-lazy-streams): New macro. * autoload.c (getput_set_entries): Trigger autload on close-lazy-streams symbol. * txr.1: Documented. * stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index 2e506e45..2cfb714a 100644
--- a/lib.h
+++ b/lib.h
@@ -560,6 +560,7 @@ extern val path_not_found_s, path_exists_s, path_permission_s;
extern val warning_s, defr_warning_s, restart_s, continue_s;
extern val gensym_counter_s, length_s;
extern val rplaca_s, rplacd_s, seq_iter_s;
+extern val lazy_streams_s;
#define gensym_counter (deref(lookup_var_l(nil, gensym_counter_s)))