-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLPUM doesn't appear if some options are set #2
Labels
Comments
@ichizok Thanks for the clear explanation. I fixed. ありがとう |
👍 Thank you! |
h-east
added a commit
that referenced
this issue
Feb 17, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
&conceallevel > 0
の状態でcursorline
,cursorcolumn
,relativenumber
のいずれかを設定すると、<C-D>
で CLPUM が表示されないことがあります。[repro steps]
vimrc
:expected: CLPUM が表示される
actual: CLPUM が表示されない
内部的には処理が実行されているので、
<C-N>
等で候補選択すると CLPUM が表示されます。[investigation]
vim/src/main.c
Line 1196 in 60422e6
&conceallevel > 0
のときconceal_update_lines = TRUE
vim/src/main.c
Line 1299 in 60422e6
で、
curwin->w_valid &= ~VALID_CROW
となるvim/src/move.c
Line 970 in 60422e6
vim/src/move.c
Line 795 in 60422e6
そのため、CLPUM 実行時に
curs_columns
>curs_rows
>redraw_for_cursorline
と呼ばれ、vim/src/move.c
Line 145 in 60422e6
ここで、
cursorline
,relativenumber
がセットされているとredraw_win_later(wp, SOME_VALID)
が呼ばれるため、この後の再描画で CLPUM が消去されてしまいます。[solution proposal]
vim/src/move.c
Line 142 in 60422e6
vim/src/move.c
Line 824 in 60422e6
vim/src/move.c
Line 1197 in 60422e6
上記箇所の判定に
&& !clpum_visible()
を追加することで領域の再描画を回避できました。The text was updated successfully, but these errors were encountered: