summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-06-25 20:25:51 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-06-25 20:25:51 -0700
commitd5e7ea92ffcde75c4401e009c74d63ee70ba9ff2 (patch)
tree22044684ec1b7869af03ffbf8cf639feff91b874 /lib.c
parentb30ef1a6cb0892c142cd8ccad671e1ad2dae903a (diff)
downloadtxr-d5e7ea92ffcde75c4401e009c74d63ee70ba9ff2.tar.gz
txr-d5e7ea92ffcde75c4401e009c74d63ee70ba9ff2.tar.bz2
txr-d5e7ea92ffcde75c4401e009c74d63ee70ba9ff2.zip
in: allow hash with keyfun and testfun.
* lib.c (in): A simple check and fallthrough lets this function process hash tables more generally in this function. * txr.1: Documented.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib.c b/lib.c
index 1d76aa65..40662d29 100644
--- a/lib.c
+++ b/lib.c
@@ -9709,7 +9709,9 @@ val in(val seq, val item, val testfun, val keyfun)
default:
switch (si.kind) {
case SEQ_HASHLIKE:
- return tnil(gethash_e(self, si.obj, item));
+ if (null_or_missing_p(testfun) && null_or_missing_p(keyfun))
+ return tnil(gethash_e(self, si.obj, item));
+ /* fallthrough */
case SEQ_LISTLIKE:
case SEQ_VECLIKE:
{