summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-10-26 06:41:57 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-10-26 06:41:57 -0700
commitc2d87ddcd9e18d7088448533ba8203cd9a8a042e (patch)
treeec4a0ec4f732fef9c9cd87ab3276ece7a407673b /lib.h
parentbc0d27c80e2f7b534ba1efd3f60210b5855f65c1 (diff)
downloadtxr-c2d87ddcd9e18d7088448533ba8203cd9a8a042e.tar.gz
txr-c2d87ddcd9e18d7088448533ba8203cd9a8a042e.tar.bz2
txr-c2d87ddcd9e18d7088448533ba8203cd9a8a042e.zip
last, butlast: become accessors, get optional arg.
* eval.c (optimize_qquote_form): Pass nil to default new argument of butlast. (me_whilet, me_iflet_whenlet): Likewise for last. (eval_init): Add optional argument to registration of last and butlast intrinsics. * lib.c (last, butlast): Support optional numeric argument, like in Common Lisp. * lib.h (last, butlast): Declarations updated. * share/txr/stdlib/place.tl (last, butlast): New place macros. * txr.1: Updated documentation. The description of last is now moved into the sequence functions section.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib.h b/lib.h
index 5092d73d..30d4bd5c 100644
--- a/lib.h
+++ b/lib.h
@@ -507,7 +507,7 @@ loc listref_l(val list, val ind);
loc tail(val cons);
loc term(loc head);
loc lastcons(val list);
-val last(val list);
+val last(val list, val n);
val nthlast(val pos, val list);
val nthcdr(val pos, val list);
val butlastn(val n, val list);
@@ -964,7 +964,7 @@ val ref(val seq, val ind);
val refset(val seq, val ind, val newval);
val dwim_set(val seq, val ind_range, val newval);
val dwim_del(val seq, val ind_range);
-val butlast(val seq);
+val butlast(val seq, val idx);
val replace(val seq, val items, val from, val to);
val update(val seq, val fun);
val search(val seq, val key, val from, val to);