diff options
-rw-r--r-- | lib.c | 2 | ||||
-rw-r--r-- | tests/012/seq.tl | 39 |
2 files changed, 40 insertions, 1 deletions
@@ -10996,7 +10996,7 @@ val rmismatch(val left, val right, val testfun_in, val keyfun_in) case VEC: switch (type(right)) { case NIL: - return if3(length(left) == zero, nil, zero); + return if3(length(left) == zero, nil, negone); case CONS: case LCONS: return rmismatch(right, left, testfun, keyfun); diff --git a/tests/012/seq.tl b/tests/012/seq.tl index 936dc8c9..23971c97 100644 --- a/tests/012/seq.tl +++ b/tests/012/seq.tl @@ -120,6 +120,45 @@ (rmismatch #(2 1) #(3 2 1)) -3) (mtest + (rmismatch '() '()) nil + (rmismatch '(1) '()) -1 + (rmismatch '() '(1)) -1 + (rmismatch '(1) '(1)) nil + (rmismatch '(1 2) '(1 2)) nil + (rmismatch '(2 2) '(1 2)) -2 + (rmismatch '(1 2) '(2 2)) -2 + (rmismatch '(3 2 1) '(1 1)) -2 + (rmismatch '(1 1) '(3 2 1)) -2 + (rmismatch '(3 2 1) '(2 1)) -3 + (rmismatch '(2 1) '(3 2 1)) -3) + +(mtest + (rmismatch '() #()) nil + (rmismatch '(1) #()) -1 + (rmismatch '() #(1)) -1 + (rmismatch '(1) #(1)) nil + (rmismatch '(1 2) #(1 2)) nil + (rmismatch '(2 2) #(1 2)) -2 + (rmismatch '(1 2) #(2 2)) -2 + (rmismatch '(3 2 1) #(1 1)) -2 + (rmismatch '(1 1) #(3 2 1)) -2 + (rmismatch '(3 2 1) #(2 1)) -3 + (rmismatch '(2 1) #(3 2 1)) -3) + +(mtest + (rmismatch #() '()) nil + (rmismatch #(1) '()) -1 + (rmismatch #() '(1)) -1 + (rmismatch #(1) '(1)) nil + (rmismatch #(1 2) '(1 2)) nil + (rmismatch #(2 2) '(1 2)) -2 + (rmismatch #(1 2) '(2 2)) -2 + (rmismatch #(3 2 1) '(1 1)) -2 + (rmismatch #(1 1) '(3 2 1)) -2 + (rmismatch #(3 2 1) '(2 1)) -3 + (rmismatch #(2 1) '(3 2 1)) -3) + +(mtest (rmismatch "" "") nil (rmismatch "1" "") -1 (rmismatch "" "1") -1 |