From 1a3fe1a084fd68ff4f10ef8cf031f347563b79ca Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 28 Aug 2022 12:01:52 -0700 Subject: 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. --- lib.h | 1 + 1 file changed, 1 insertion(+) (limited to 'lib.h') 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))) -- cgit v1.2.3