diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-17 07:56:29 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-17 07:56:29 -0800 |
commit | e45772713089105c776556655d671102375d9a72 (patch) | |
tree | b6201f694dac62b8375c087a97ccf437847dce52 /tests/008 | |
parent | cf5fbe748a05001e840d3efcdba15e8d56369ccb (diff) | |
download | txr-e45772713089105c776556655d671102375d9a72.tar.gz txr-e45772713089105c776556655d671102375d9a72.tar.bz2 txr-e45772713089105c776556655d671102375d9a72.zip |
@(call): bugfix: matching doesn't continue.
* match.c (v_call): This function must propagate the
next_spec_k return value, rather than return a
short-circuiting match object, which causes the parent
to immediately succeed.
* tests/008/call.txr: New test case, from Frank Schwidom.
* tests/008/call.expected: Likewise.
Diffstat (limited to 'tests/008')
-rw-r--r-- | tests/008/call.expected | 2 | ||||
-rw-r--r-- | tests/008/call.txr | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/008/call.expected b/tests/008/call.expected new file mode 100644 index 00000000..f644dfc5 --- /dev/null +++ b/tests/008/call.expected @@ -0,0 +1,2 @@ +correct +1 diff --git a/tests/008/call.txr b/tests/008/call.txr new file mode 100644 index 00000000..0cbb39f6 --- /dev/null +++ b/tests/008/call.txr @@ -0,0 +1,13 @@ +@(next :list '("1")) +@(define match1 (A)) +@ (all) +1 +@ (and) +@A +@ (end) +@(end) +@(call 'match1 A) +@(output) +correct +@A +@(end) |