summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-05-10 07:40:13 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-05-10 07:40:13 -0700
commitd29381d5d2d9af69e954cfd9d3fd8d533003a7e2 (patch)
treec2c8b9a00e27651d05b4f87e5b96d20bdfbb21d9 /lib.c
parent326d267efb40ae2f8c750fede3343f68e732e1d3 (diff)
downloadtxr-d29381d5d2d9af69e954cfd9d3fd8d533003a7e2.tar.gz
txr-d29381d5d2d9af69e954cfd9d3fd8d533003a7e2.tar.bz2
txr-d29381d5d2d9af69e954cfd9d3fd8d533003a7e2.zip
tree: copy-tree-iter function.
* lib.c (copy): Handle tree_iter_s via copy_tree_iter. * tree.c (copy_tree_iter): New function. (tree_init): copy-tree-iter intrinsic registered. * tree.h (copy_tree_iter): Declared. * tests/010/tree.tl: New test case. * txr.1: Documented. * share/txr/stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index 5419494e..721e6e48 100644
--- a/lib.c
+++ b/lib.c
@@ -11340,6 +11340,8 @@ val copy(val seq)
return copy_carray(seq);
if (seq->co.cls == tree_s)
return copy_search_tree(seq);
+ if (seq->co.cls == tree_iter_s)
+ return copy_tree_iter(seq);
if (obj_struct_p(seq))
return copy_struct(seq);
/* fallthrough */