summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib.c b/lib.c
index acd7d643..6109a5b3 100644
--- a/lib.c
+++ b/lib.c
@@ -834,7 +834,11 @@ val bignump(val num)
val plusv(val nlist)
{
- return reduce_left(func_n2(plus), nlist, num(0), nil);
+ if (!nlist)
+ return num(0);
+ else if (!cdr(nlist))
+ return car(nlist);
+ return reduce_left(func_n2(plus), cdr(nlist), car(nlist), nil);
}
val minusv(val minuend, val nlist)