summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-01-17 19:54:22 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-01-17 19:54:22 -0800
commita1c7cc2f9faf4463722e78f24b9433dc9cf0bbf7 (patch)
treedd4e724c28760398435ff2e7c06fda4d2381416a /eval.c
parent1157ea776e88fa956e1e524813ab22a9c4e46ca0 (diff)
downloadtxr-a1c7cc2f9faf4463722e78f24b9433dc9cf0bbf7.tar.gz
txr-a1c7cc2f9faf4463722e78f24b9433dc9cf0bbf7.tar.bz2
txr-a1c7cc2f9faf4463722e78f24b9433dc9cf0bbf7.zip
New function, split*.
* eval.c (eval_init): Register split*. * lib.c (split_star_func): New static function. (partition_split_common): Take pointer-to-function argument instead of boolean. Hoist this C function into the lazy cons. (partition): Pass pointer to partition_func ito partition_split_common, intsead of a flag requesting the use of partition_func. (split): Pass apointer to split_func into partition_split_common. (split_star): New function. * lib.h (split_star): Declared. * txr.1: Documented split*.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 34d73304..654fe8ae 100644
--- a/eval.c
+++ b/eval.c
@@ -4733,6 +4733,7 @@ void eval_init(void)
reg_fun(intern(lit("partition-by"), user_package), func_n2(partition_by));
reg_fun(intern(lit("partition"), user_package), func_n2(partition));
reg_fun(intern(lit("split"), user_package), func_n2(split));
+ reg_fun(intern(lit("split*"), user_package), func_n2(split_star));
reg_fun(intern(lit("partition*"), user_package), func_n2(partition_star));
reg_fun(memq_s, func_n2(memq));
reg_fun(memql_s, func_n2(memql));