Skip to content
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

:tjump で一覧から選択してバッファに戻ったときにカーソルアイコンが戻らない #1156

Closed
higemaniya opened this issue Mar 12, 2018 · 9 comments

Comments

@higemaniya
Copy link

@higemaniya higemaniya commented Mar 12, 2018

質問・報告の内容

時々、あれ?と思うことがあるので、細かいことですが報告させていただきます。

Windows 版 GVim (64bit) で、g CTRL-] (または :tjump) したとき、該当が複数あると
ジャンプ先の選択状態になります。このとき、マウスカーソルを動かすと赤い🛇になっています。

その後、どれかを選択してEnterするとリストが消え、マウスカーソルも消えますが、
マウスカーソルを動かすと赤い🛇のままになっています。操作は普通にできるようです。
そしてなにかの拍子に通常のポインタに戻ります。

Vimのバージョン

8.0.1592 (https://github.com/vim/vim-win32-installer/releases/download/v8.0.1592/gvim_8.0.1592_x64.zip)

OSの種類/ディストリ/バージョン

  • Windows 10 Pro 64bit (10.0.16299.248)

使用している or 関係していそうなプラグイン

gvim -u NONE -N で起動して確認しました

@mattn
Copy link
Member

@mattn mattn commented Mar 12, 2018

diff --git a/src/misc1.c b/src/misc1.c
index 135293dd2..725b3fc53 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -3565,6 +3565,9 @@ get_number(
 	else if (c == CAR || c == NL || c == Ctrl_C || c == ESC)
 	    break;
     }
+#ifdef FEAT_MOUSE
+    setmouse();
+#endif
     --no_mapping;
     --allow_keys;
     return n;

ask_yesno 等では setmouse しているが get_number だけ無い。

@mattn
Copy link
Member

@mattn mattn commented Mar 12, 2018

@h-east
Copy link
Member

@h-east h-east commented Mar 26, 2018

GTK2-GNOMEで再現しました。でも、まっつんさんのpatchでは直らないですね。

:ver
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 26 2018 21:52:47)
Included patches: 1-1645
Compiled by h_east@localhost.localdomain
Huge version with GTK2-GNOME GUI.  Features included (+) or not (-):

@h-east
Copy link
Member

@h-east h-east commented Mar 27, 2018

GTK2-GNOMEこれで直りました。
Windowsの方、patchの動作確認お願いします。

diff --git a/src/misc1.c b/src/misc1.c
index 135293dd2..812ca6acd 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -3594,6 +3594,9 @@ prompt_for_number(int *mouse_used)
     cmdline_row = 0;
     save_State = State;
     State = ASKMORE;	/* prevents a screen update when using a timer */
+#ifdef FEAT_MOUSE
+    setmouse();
+#endif
 
     i = get_number(TRUE, mouse_used);
     if (KeyTyped)
@@ -3608,6 +3611,9 @@ prompt_for_number(int *mouse_used)
     else
 	cmdline_row = save_cmdline_row;
     State = save_State;
+#ifdef FEAT_MOUSE
+    setmouse();
+#endif
 
     return i;
 }

@h-east
Copy link
Member

@h-east h-east commented Mar 27, 2018

Windowsでも直っていることを確認したのでThreadにpatchを投げました。
https://groups.google.com/d/msg/vim_dev/GpWQRohxikU/BmbiYWdLFQAJ

@h-east h-east assigned h-east and unassigned mattn Apr 25, 2018
@h-east
Copy link
Member

@h-east h-east commented Apr 25, 2018

Fixed by patch 8.0.1756

@higemaniya 報告ありがとうございました👍

@h-east h-east closed this Apr 25, 2018
@h-east
Copy link
Member

@h-east h-east commented Aug 21, 2018

実は報告の症状は patch 8.0.0722 によるregressionにより起きていたもので、さらに私の書いた patch 8.0.1756でCUIとset mouse=ainputlist()のマウス選択が出来なくなるというregressionが起きていました。。

新たにpatch送りました。
https://groups.google.com/d/msg/vim_dev/WY7QoL85sBM/OQZPIiZpAQAJ

@h-east
Copy link
Member

@h-east h-east commented Aug 27, 2018

8.1.0328 で一連のregressionが直りました。※但し、:tjump時のマウスの形状が🚫✖️にならなくなっちゃった。
vim/vim@4cbdf15

あとさらに関連バグが報告されています。
vim/vim#3239 (comment)
これは一連のregression前から起きていたものなのですが、最初のregression(8.0.0722)で起きないように蓋されてしまって、今回の8.1.0328でまともになったので発見されてしまったパターンのやつです。

@h-east
Copy link
Member

@h-east h-east commented Aug 28, 2018

関連バグ(起動オプション-cinputlist()を呼び出してマウス選択後にカーソル行のバッファとステータスラインにゴミが表示される on xfce4-terminalやxterm)も直りました。
8.1.0329
vim/vim@a06afc7
これにて一件落着(たぶん)。


※但し、:tjump時のマウスの形状が🚫✖️にならなくなっちゃった。

これ、どなたかチャレンジしてみませんか?案外簡単かも

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants