[aat] Adjust unsafe-to-break logic some more
I believe I'm happy with it now.
This commit is contained in:
parent
f49256d80f
commit
2971e9da49
|
@ -639,10 +639,10 @@ struct StateTableDriver
|
||||||
* go differently if we start from state 0 here. */
|
* go differently if we start from state 0 here. */
|
||||||
if (state && buffer->idx)
|
if (state && buffer->idx)
|
||||||
{
|
{
|
||||||
/* If starting here at state 0 has the exact same entry, it's safe
|
/* If there's no action and we're just epsilon-transitioning to state 0,
|
||||||
* to break as before as far as we are concerned. */
|
* safe to break. */
|
||||||
const Entry<EntryData> *start_entry = machine.get_entryZ (0, klass);
|
if (c->is_actionable (this, entry) ||
|
||||||
if (memcmp (start_entry, entry, sizeof (*entry)))
|
!(entry->newState == 0 && entry->flags == context_t::DontAdvance))
|
||||||
buffer->unsafe_to_break (buffer->idx - 1, buffer->idx + 1);
|
buffer->unsafe_to_break (buffer->idx - 1, buffer->idx + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue