Open mnishz opened 5 years ago
ご確認どうもありがとうございました。"patched" となっているけど、間違いかな? 素人目には真面目に直すの結構大変なんじゃないかと思ったのですが。。 もし解析内容におかしな点がなくて、すぐに patch ができるような感じでなければ、 同現象で困っている人 (どれだけいるか分かりませんが) への情報共有として vim-dev の issue に挙げておくのがいいかなと思ったのですがどうでしょうか。 その場合こちらは duplication で close ですかね。
"patched" となっているけど、間違いかな?
間違いでした:bow:
vim_devにreportしちゃってください。
その場合こちらは duplication で close ですかね。
オープン状態でOKです。
間違いでした:bowing_man:
承知いたしました。
reportしましたー
進捗がすごい(語彙力
端末ノーマルモードのときにバッファの内容が更新される現象は直りましたが、 Bramさんも触れているように違うタイミングで発生するE315に変わったように見えます。 incsearchやsearch commandは関係なくて、端末ジョブモードに戻ったときに発生するようになりました。
質問・報告の内容
Summary
E315 occurs when typing text for search command with the following conditions.
How to recreate
https://github.com/mnishz/E315_recreation
vim -Nu NONE main.c
:set incsearch
:term
cat 9500_lines
<c-w>Ni
gcc main.c
./a.out
<c-w>N
/type something
Please click the image to play GIF.
Failure sequence
I think there are at least three points that can cause E315.
Root cause
My 1st idea: Incsearch functions restore
curwin->w_cursor
to the last line after some lines in terminal were scrolled off. So, I thought that we can fix it by calling check_cusor() just after the restoring. But, on second though, it might not be expected behavior that terminal buffer is updated during terminal-normal mode. When I types text for search command, it seems that the buffer is updated and could be scrolled off.I also found that any motion normal commands like 'G' update the buffer.
Recreation script
I tried to recreate this E315 using the following file, but it doesn't occur. https://github.com/mnishz/E315_recreation/blob/master/E315_recreation.vim
Vimのバージョン
8.1.875
OSの種類/ディストリ/バージョン
Linux Ubuntu 18.04 LTS 64 bit
使用している or 関係していそうなプラグイン
プラグインは関係なさそうです。
その他
特にありません。