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

挿入モードでの<expr>,input(),cmdwinの組み合わせでE315が発生する #1376

Open
kuuote opened this issue Jul 27, 2021 · 0 comments

Comments

@kuuote
Copy link
Member

kuuote commented Jul 27, 2021

不具合の内容

挿入モードに<expr>を利用したマッピングを定義し、その中でinput()を呼び出し、更にその中でcmdwinを呼び出して閉じるとエラーが発生します。

現象・ログ

E565: Not allowed to change text or change window
E315: ml_get: invalid lnum: 2

1行目のエラーが発生した後、操作をしようとする度に2行目のエラーが出力されます。

cmdwinを閉じようとした際にエラーが発生した結果、元のバッファに復帰する処理の一部が行われてカーソル位置だけ復帰しようとして起きる物だと思われます。

再現手順

  1. vim --cleanを実行
  2. inoremap <expr> Q input("")を定義
  3. 挿入モードで改行をして2行目でQ<C-f><CR>を入力

期待動作

E315が発生しない

Vimのバージョン

8.2.3227

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

  • Arch Linux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant