remove unfinished queries from 'ts_query_cursor_remove_match'

This commit is contained in:
Michael Davis 2022-01-18 17:01:07 -06:00
parent 51354ef776
commit 716ef24578
No known key found for this signature in database
GPG key ID: 25D3AFE4BA2A0C49

View file

@ -3725,6 +3725,20 @@ void ts_query_cursor_remove_match(
return;
}
}
// Remove unfinished query states as well to prevent future
// captures for a match being removed.
for (unsigned i = 0; i < self->states.size; i++) {
const QueryState *state = &self->states.contents[i];
if (state->id == match_id) {
capture_list_pool_release(
&self->capture_list_pool,
state->capture_list_id
);
array_erase(&self->states, i);
return;
}
}
}
bool ts_query_cursor_next_capture(