From 3fa6e2f0428485e4be7ccaea5d57d2f0eb2bd9fe Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 26 May 2016 22:03:42 -0700 Subject: Bugfix: argument defaulting in take-until. * lib.c (take_until): keyfun not defaulted in list cases. Needless defaulting of key in vector/string cases, since pos function already defaults. --- lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib.c') diff --git a/lib.c b/lib.c index a0333930..04b6355d 100644 --- a/lib.c +++ b/lib.c @@ -7788,6 +7788,7 @@ val take_until(val pred, val seq, val keyfun) return nil; case CONS: case LCONS: + keyfun = default_arg(keyfun, identity_f); return make_lazy_cons(func_f1(cons(seq, cons(pred, keyfun)), take_until_list_fun)); case LSTR: @@ -7795,8 +7796,7 @@ val take_until(val pred, val seq, val keyfun) case STR: case VEC: { - val key = default_arg(keyfun, identity_f); - val pos = pos_if(pred, seq, key); + val pos = pos_if(pred, seq, keyfun); if (!pos) return seq; return sub(seq, zero, succ(pos)); -- cgit v1.2.3