summaryrefslogtreecommitdiff
path: root/TODO-ragel
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2023-03-12 21:10:05 -0700
committerAdrian Thurston <thurston@colm.net>2023-03-12 21:16:04 -0700
commit65540b65ff09330b0293423e3fecc44e63f30614 (patch)
treeae19fe1469d9eb623a102b861e93114c07ef7cc4 /TODO-ragel
parent463f4914057b0193c6ca025e9233c17035bc0448 (diff)
downloadragel-master.tar.gz
when marking input items as processed, ensure parse data matchesHEADmaster
After processing the last item for a named machine, mark only those items with the same ParseData pointer as processed. Previously, we would mark all preceding items as processed. This is wrong and is a problem for sequences like: machine A // some defs machine B // some defs machine C // some defs machine A // last machine B // last machine C // last Once the second A block is seen, then the first A, B and C would all get marked as processed and ready for writing, even though B and C were not complete yet. Also, now processing items with no ParseData pointer earlier by immediately marking them as processed and moving the last flushed pointer forward even if we didn't process an item with a parse data pointer.
Diffstat (limited to 'TODO-ragel')
0 files changed, 0 insertions, 0 deletions