Thanks to visit codestin.com
Credit goes to github.com

Skip to content

timerで起動した後にコマンドラインに文字が現れる #1058

@rickhowe

Description

@rickhowe

ウィンドウが複数ある場合、
次のようなtimerを使用したコマンド T で関数 T() を起動した後に
:、/、? でコマンドラインモードにすると、文字 'b' が現れます。
どうやら入力ストリームに文字が入ってしまっているようです。

function! T(...)
	if winnr('$') > 1
		call system('path')
		wincmd w
	endif
endfunction
command! T call timer_start(0, 'T')

いろいろと調べてみた結果、この現象は

  • timerを使う
  • guiのみ
  • shelltempがオン
  • system()直後に別のウィンドウに移動する

の場合に再現するようです。

この現象は patch 0670 から発生し始め、この時の出現文字は 'a' でした。
patch 0697 からは文字が 'b' に変わりました。
最新の patch 0771 でも再現します。

Windows 7 でしか確認できませんが、その他の OS でも再現するでしょうか?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions