summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-02-26 10:56:43 -0800
committerKaz Kylheku <kaz@kylheku.com>2024-02-26 10:56:43 -0800
commitc1782706c0e162e11e2ea777dd02a249db2eb3f8 (patch)
treefe9d60a11e1676915a2fb92dd124f2e461b772bd
parent5c591d3aaf1e98f415a594d57eb46955342aee79 (diff)
downloadtxr-c1782706c0e162e11e2ea777dd02a249db2eb3f8.tar.gz
txr-c1782706c0e162e11e2ea777dd02a249db2eb3f8.tar.bz2
txr-c1782706c0e162e11e2ea777dd02a249db2eb3f8.zip
keep-if: don't report as remove-if in errors.
* lib.c (rem_if_impl): New static function, based on renaming remove_if, and adding a self parameter. (remove_if): Now wrapper around rem_if_impl. (keep_if): Retarget to rem_if_impl, passing "keep-if" name.
-rw-r--r--lib.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib.c b/lib.c
index 38028ea7..5dc93c4f 100644
--- a/lib.c
+++ b/lib.c
@@ -3089,9 +3089,8 @@ static val rem_impl(val (*eqfun)(val, val), val name,
}
}
-val remove_if(val pred, val seq_in, val keyfun_in)
+static val rem_if_impl(val pred, val seq_in, val keyfun_in, val self)
{
- val self = lit("remove-if");
val keyfun = default_null_arg(keyfun_in);
switch (type(seq_in)) {
@@ -3188,9 +3187,14 @@ val keepqual(val obj, val seq, val keyfun)
return rem_impl(nequal, lit("keepqual"), obj, seq, keyfun);
}
+val remove_if(val pred, val seq, val keyfun)
+{
+ return rem_if_impl(pred, seq, keyfun, lit("remove-if"));
+}
+
val keep_if(val pred, val seq, val keyfun)
{
- return remove_if(notf(pred), seq, keyfun);
+ return rem_if_impl(notf(pred), seq, keyfun, lit("keep-if"));
}
val keep_keys_if(val pred, val seq_in, val keyfun_in)