summaryrefslogtreecommitdiffstats
path: root/tests/010/tree.tl
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 /tests/010/tree.tl
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 'tests/010/tree.tl')
-rw-r--r--tests/010/tree.tl9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/010/tree.tl b/tests/010/tree.tl
index c2fe5382..e3b2ce0c 100644
--- a/tests/010/tree.tl
+++ b/tests/010/tree.tl
@@ -94,6 +94,15 @@
(add (key n))))
(range 8 19))
+(test (let* ((t0 (tree-begin tr))
+ (t1 (progn (tree-next t0) (copy-tree-iter t0))))
+ (tree-next t0)
+ (tree-next t0)
+ (list (key (tree-next t1))
+ (key (tree-next t1))
+ (key (tree-next t1))))
+ (1 2 3))
+
(test (tree-next (tree-begin-at tr 20)) nil)
(test (tree-next (tree-begin-at #T(()) 0)) nil)