summaryrefslogtreecommitdiffstats
path: root/socket.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-12-17 19:09:22 -0800
committerKaz Kylheku <kaz@kylheku.com>2023-12-17 19:09:22 -0800
commit81715deb567a159997e3a774883f1910074ee0dc (patch)
treea2ea841dfd1be756b2e4f78734576fecfe5e7831 /socket.c
parent8d21380003fb01ce01df4b062c50cc6cded0d02c (diff)
downloadtxr-81715deb567a159997e3a774883f1910074ee0dc.tar.gz
txr-81715deb567a159997e3a774883f1910074ee0dc.tar.bz2
txr-81715deb567a159997e3a774883f1910074ee0dc.zip
txr: bug in handling @{nil ...} variable match.
In March 2012, b7f1f4c5bbea86e288b6a4d68595c1d2d07217bd introduced the feature that the @nil variable matches and discards. This was incompletely implemented. Some cases of a nil variable with modifiers fail to match. * match.c (dest_bind): This function must correctly handle the case when pattern is nil: it should just return bindings without extending them. If the pattern is any nonbindable symbol, it should indicate a failed match using t. The logic has not been touched since 2009, at which time an additional bogosity was introduced of calling funcall(testfun, pattern, value) when pattern is a non-bindable symbol. If value is a string, that could never work. Possibly the idea is that the value could come from a symbol-valued expression, such as one producing a keyword symbol. We are not going to support that, unless someone complains. * tests/000/nilvar.txr, tests/000/nilvar.expected: New files, providing a test case that fails without this commit.
Diffstat (limited to 'socket.c')
0 files changed, 0 insertions, 0 deletions