diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2023-07-27 20:24:33 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2023-07-27 20:24:33 -0700 |
commit | 718718b657cc07dab9b3f3e74106b4ba4d0dadaf (patch) | |
tree | b9217e739b0a82fcb82ebaf381eee1720b46b219 /tests/008/call.expected | |
parent | 9fd7b65bfbc670dbfb14d7b46061e48d603dd98c (diff) | |
download | txr-718718b657cc07dab9b3f3e74106b4ba4d0dadaf.tar.gz txr-718718b657cc07dab9b3f3e74106b4ba4d0dadaf.tar.bz2 txr-718718b657cc07dab9b3f3e74106b4ba4d0dadaf.zip |
match: bug: lexical symbol macros neglected
When a pattern variable match like @foo references a global
symbol macro, that's treated as an existing expression to
match, and not a new binding. However, local symbol macros
are not treated this way; they are invisible to variable
patterns. That is an unintended inconsistency.
* stdlib/match.tl (var-list exists): Use lexical-binding-kind
rather than lexical-var-p. This returns true for lexical
symbol macros also.
* tests/011/patmatch.tl: New test cases.
* txr.1: Documentation revised to clarify that both global
and local symbol macros are considered to be existing variable
bindings by pattern matching.
Diffstat (limited to 'tests/008/call.expected')
0 files changed, 0 insertions, 0 deletions