diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-06-06 09:17:40 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-06-06 09:17:40 -0700 |
commit | c27a97c95c628ff1e49339f82537bbf3719ab75a (patch) | |
tree | e918d29f8232608c7a6605bc385cc4eba759a84d /gc.h | |
parent | 6892a6968691e4a5f0965acb83f7e6df202c6007 (diff) | |
download | txr-c27a97c95c628ff1e49339f82537bbf3719ab75a.tar.gz txr-c27a97c95c628ff1e49339f82537bbf3719ab75a.tar.bz2 txr-c27a97c95c628ff1e49339f82537bbf3719ab75a.zip |
Fixing issue with list-like iteration over generic sequences,
namely that empty strings and vectors are not nil.
The nullify function is introduced. It is also exposed to
users, as is the existing make_like function.
* eval.c (mapcarv, mappendv, lazy_mapcar, lazy_mapcarv):
Use nullify to handle non-list inputs correctly.
(eval_init): Registering make_like and nullify as intrinsics.
* lib.c (copy_list, to_seq, list_collect_nconc, list_collect_append,
reverse, lazy_appendv_func, lazy_appendv, ldiff, memq, memql,
memqual, remq, remql, remqual, remove_if, keep_if, rem_lazy_rec,
remq_lazy, remql_lazy, remqual_lazy, remove_if_lazy, keep_if_lazy,
countqual, countql, countq, count_if, some_satisfy, all_satisfy,
none_satisfy, do_chain, chainv, do_and, andv, do_or, orv,
cat_vec, assoc, assql, mapcar, mapcon, mappend, sort, multi_sort,
find, find_if, posqual, posql, posq, pos, pos_if, set_diff,
search): Use nullify for correctness. Some functions fixed
so return sequence matches type of input sequence.
(nullify): New function.
* lib.h (nullify): Declared.
* txr.1: Documented nullify and ake-like.
Diffstat (limited to 'gc.h')
0 files changed, 0 insertions, 0 deletions