summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-10-06 06:20:55 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-10-06 12:24:27 -0700
commit037e9a2b91f982fc941af8a152b4b104e418755b (patch)
tree1c2976ca207b1bbbcbbfc6beb4d5a85f345d85fc /lib.c
parent2d76229afdcdf356da469b6a81149553c1fd4952 (diff)
downloadtxr-037e9a2b91f982fc941af8a152b4b104e418755b.tar.gz
txr-037e9a2b91f982fc941af8a152b4b104e418755b.tar.bz2
txr-037e9a2b91f982fc941af8a152b4b104e418755b.zip
Allow conses functions to work on vecs and strings.
* lib.c (conses): Use consp termination test only if input is a list.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib.c b/lib.c
index 25299bc7..20fb605e 100644
--- a/lib.c
+++ b/lib.c
@@ -475,8 +475,12 @@ val conses(val list)
{
list_collect_decl (out, ptail);
- for (; consp(list); list = cdr(list))
- ptail = list_collect(ptail, list);
+ if (listp(list))
+ for (; consp(list); list = cdr(list))
+ ptail = list_collect(ptail, list);
+ else
+ for (; list; list = cdr(list))
+ ptail = list_collect(ptail, list);
return out;
}