なるほど。確かに1文字以上右スクロールして隙間の裏にカーソルがあると縦線だけ不正作画されてました。
この変更後は今度は隙間が0/1pxのときも画面上に線が表示されるようになり、
左端からカーソルを移動すると線が画面に残るようになりました。
太線の作画判定とOFFのほうの復帰処理部分の判定も変更する必要があります。
修正用コードはあるのですが、元の私が書いたコードがあいまいな関係で仕様そのものについて意見を聞いておきたいです。
隙間が0のとき行番号領域の上に線を引いたほうがいいのかどうかと、
行番号領域に線を引かない場合は、
A. 太線のときは2px引けるときだけ引き、通常線なら1px引けるときに引く
B. 1pxでも引けるなら太線のときも1px引く
C. 太線・通常線どちらも2px以上の隙間で引く
または、私が思いつかなかったほかの案のどの仕様がいいのだろう。
旧動作は隙間1pxを死守します。隙間2pxのときで太線だと左端にカーソルがあると1px幅だけ線を引いてました。
上記B. に加えて1pxマージンがあるという物です。
何でそういう動作にしたか記憶・記録がないです。
おそらく行番号の縦線と接近して並ぶのがイヤだからか、単に条件式を深く考えなかったとか。
#これとは別に隙間の太線がOnPaintのクリッピング領域に含まれないので線が残るというバグも、あわせて修正予定です。