diff options
-rw-r--r-- | match.c | 4 | ||||
-rw-r--r-- | tests/000/nilvar.expected | 1 | ||||
-rw-r--r-- | tests/000/nilvar.txr | 3 |
3 files changed, 7 insertions, 1 deletions
@@ -381,8 +381,10 @@ static val dest_bind(val spec, val bindings, val pattern, return t; } return cons(cons(pattern, value), bindings); + } else if (pattern) { + return t; } else { - return funcall2(testfun, pattern, value) ? bindings : t; + return bindings; } } else if (consp(pattern)) { val piter = pattern, viter = value; diff --git a/tests/000/nilvar.expected b/tests/000/nilvar.expected new file mode 100644 index 00000000..70985094 --- /dev/null +++ b/tests/000/nilvar.expected @@ -0,0 +1 @@ +a:c diff --git a/tests/000/nilvar.txr b/tests/000/nilvar.txr new file mode 100644 index 00000000..a6d1391c --- /dev/null +++ b/tests/000/nilvar.txr @@ -0,0 +1,3 @@ +@(next :string "a !b c") +@(coll)@(cases)@{nil /!\S+/}@(or)@{var /\S+/}@(end)@(end) +@(do (put-line (join-with ":" var))) |