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

screen が invalid 状態のとき,'w0', 'w$' の Position の返す値がおかしい #1042

Closed
haya14busa opened this Issue Mar 31, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@haya14busa
Member

haya14busa commented Mar 31, 2017

質問・報告の内容

screen が invalid 状態のとき,'w0', 'w$' の Position の返す値がおかしい

再現手順

v8.0.515 以上 (HEAD, v8.0.515)

$ vim -X -N -u NONE -i NONE -n -V1 -e -s --cmd "echo getpos('w0') getpos('w$')" --cmd quit
[0, 0, 1, 0] [0, -1, 1, 0]
$ vim -X -N -u NONE -i NONE -n -V1 -e -s --cmd "call setline(1, range(100))" --cmd "echo getpos('w0') getpos('w$')" --cmd 'quit!'
[0, 1, 1, 0] [0, 0, 1, 0]

v8.0.515 以前 (v8.0.514)

$ vim -X -N -u NONE -i NONE -n -V1 -e -s --cmd "echo getpos('w0') getpos('w$')" --cmd quit
[0, 1, 1, 0] [0, 1, 1, 0]
$ vim -X -N -u NONE -i NONE -n -V1 -e -s --cmd "call setline(1, range(100))" --cmd "echo getpos('w0') getpos('w$')" --cmd 'quit!'
[0, 1, 1, 0] [0, 42, 1, 0]

(42 はターミナルのheightによる)

再現手順のように 'w0', 'w$' の値が -s を付けて実行した際に v8.0.515 で変わってしまっています.
これは -s を付けないと再現しません.

該当行的にはこのあたりです. vim/vim@d5d3753#diff-730e42441ff982fa04a4df341a0c3e24L180
!screen_valid(TRUE) のチェック位置が変わったせいで挙動が変わってしまっています.

ただ単純に戻すと 8.0.0515 が直した問題が発生してしまうので,どう戻せばいいかちょっとわかりませんでした.

Vimのバージョン

8.0.515

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

  • Manjaro Linux

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

https://github.com/thinca/vim-themis によるテストなどなどで,w0, w$ の値に依存する
コードを書いてるとテストが落ちるようになる.

その他

元の挙動が保証されてなかったとしても,現在 line('w$') が -1 を返す場合があるのは少なくともマズそうです.

@h-east

This comment has been minimized.

Show comment
Hide comment
@h-east

h-east Mar 31, 2017

Member

@haya14busa 先にvim_devに報告した方が良さそうな気がします。

Member

h-east commented Mar 31, 2017

@haya14busa 先にvim_devに報告した方が良さそうな気がします。

@h-east h-east added the kind/bug label Mar 31, 2017

@haya14busa

This comment has been minimized.

Show comment
Hide comment
@haya14busa

haya14busa Apr 3, 2017

Member

たしかに 🦀

ということで report しました vim/vim#1613

Member

haya14busa commented Apr 3, 2017

たしかに 🦀

ということで report しました vim/vim#1613

@h-east

This comment has been minimized.

Show comment
Hide comment
@h-east

h-east Apr 4, 2017

Member

patch 8.0.0542
vim/vim@a1d5fa6

Member

h-east commented Apr 4, 2017

patch 8.0.0542
vim/vim@a1d5fa6

@h-east h-east closed this Apr 4, 2017

@h-east h-east added the xlose/fixed label Apr 4, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment