CommonMarkの参照実装のある処理は、1行読むごとに複雑なロジックでフラグを更新していて追いにくい上にバグってるので、簡素なコードに置き換えるPRを出した。それでも計算量は増えてないか減っているはず。
なんかPRが大きいから簡潔に説明してって言われたけど大きくて複雑なのは削除したコードで、追加したコードは仕様ほとんどそのままである。結局既存のコードが何をしていてどこが問題なのかの説明が大分長くなってしまった。
https://github.com/commonmark/commonmark.js/pull/269#issuecomment-1668007671