diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-08-19 07:47:14 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-08-19 07:47:14 -0700 |
commit | 055ea6cbe74203568d6e038298725fb0f97bfbfe (patch) | |
tree | 2addadf9c0c721d4ba2caa3eca9dec11891e3fa6 /METALICENSE | |
parent | f057826476218f1c277e6f14870b8f85184e1e38 (diff) | |
download | txr-055ea6cbe74203568d6e038298725fb0f97bfbfe.tar.gz txr-055ea6cbe74203568d6e038298725fb0f97bfbfe.tar.bz2 txr-055ea6cbe74203568d6e038298725fb0f97bfbfe.zip |
Fix parser bug caused by wrong kind of weak hash table.
This bug causes the parser associated with a stream to suddenly
disappear while reading forms from the stream. Parsing continues,
but with a new parser which does not carry the lookahead token
from the previous parse. So for instance, we miss the opening
parenthesis of the next form.
* parser.c (parse_init): The stream_parser_hash must be
a hash table with weak keys, but not weak values.
We want the association to go away only if the stream becomes
unreachable, not if the parser becomes unreachable
while the stream is still reachable.
Diffstat (limited to 'METALICENSE')
0 files changed, 0 insertions, 0 deletions