-
Notifications
You must be signed in to change notification settings - Fork 11
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
Patch 7.4.651 のテストが無い #709
Comments
本件、テストを追加してみようと思ったのですが、現在の挙動および期待する挙動がわからなかったため相談させてください。 OS:Linux 手順: vim -u NONEで起動して確認簡略化のために、以下を設定してからテストを実施しています。 set hlsearch
set history=10000 確認内容
上記表の、以下の点がよくわかりませんでした。
|
@deris Vim contribute authorアタックチャンスを受けていただきありがとうございます。 ご指摘の通り、なんか全然整合取れていないですね。ASCII文字でも確認しましたが同様の結果になりました。
ちなみに上記挙動はVim 7.4.576でも同じですので以下のmattnさんのpatchによるdegradeではないです。 |
あー、ダメだ前言撤回。
:echo matchstr('12345678901234567890','.*\%17v.')
12345678901234567
:echo matchstr('12345678901234567890','.*\%<18v')
1234567890123456 |
「 |
"¥%<18v." (最後ドット) ですね。誤植です。 |
@ynkdir あっホントだ。enもjpも両方確認してたけど気付かなかったです:sweat_smile: Thanks! ...ということは |
"%<5v" とかの / の結果は n してみればわかりますが empty match のため 1 文字ずつマッチしてます。 |
たぶん / も matchstr も期待通りの挙動だと思います。 |
@h-east @ynkdir お二人とも丁寧なご説明ありがとうございます。 ゼロ幅マッチがポイントということですね。(ちゃんとhelpを確認できていませんでした:sweat_smile: 確かにゼロ幅マッチだということを意識して考えると現状動作を理解することができました。 理解した内容をまとめたので、何か誤りがあればコメントいただけますでしょうか?
|
確かにそうですね。
Yes.
Yes.
ほぼYes. 以下のバッファに
こうなるのを見て全貌が理解出来ました。
ということでお時間のある時に是非test作成に再チャレンジ下さい。 |
@h-east コメントありがとうございます。 helpには以下の様に記載があったので、表示列以降にマッチ(%5vだけで%5v.*の意となる)と誤解釈していましたが、表示列以降のいずれかの位置にゼロ幅にマッチということですね。腑に落ちました。
test作成、再度挑戦したいと思います! |
|
See #704
The text was updated successfully, but these errors were encountered: