Vim patchダイジェスト [2018/07]

[Vim](http://www.vim.org/) patchダイジェスト \[2018/07]
([8.1.0134](https://github.com/vim/vim/commit/ca06da92432a57e5dcf3e0eebd322fae80941a6b) ～ [8.1.0229](https://github.com/vim/vim/commit/79c2ad50b8069bbb3281bcabe412bd6641756724))

* [runtimeファイル更新](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1):
  - :four_leaf_clover: [ファイルタイプにWebAssemblyを追加](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1#diff-44a099e40ae628aef90a28c6408a4c61)。[ftplugin](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1#diff-6ef9dbe84dd9d7f2dc02584618bd1a18), [indentファイル](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1#diff-d75a62a596f00617a0eb9c66af60cb2d), [syntaxファイル](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1#diff-eb2674f4e077179864117575aabfc739)の追加。
  - [todo](https://github.com/vim/vim/commit/d2855f5454c5c6c5f786b228c5b67757edfefcb1#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。

* [8.1.0229](https://github.com/vim/vim/commit/79c2ad50b8069bbb3281bcabe412bd6641756724): プロファイリングデータ(`:h profile`)をダンプするときにクラッシュすることがあった件を修正しました。
* [8.1.0228](https://github.com/vim/vim/commit/92d147be959e689f8f58fd5d138a31835e160289): Vimがビジー状態の時にファイルをドロップすると無視される件を修正しました。
* [8.1.0226](https://github.com/vim/vim/commit/1f0bfe561737cd445532f20d7607a81d1dadddee): `+vreplace`機能(`gR`および`gr{char}`)をTinyフィーチャーでも使用できるようにしました。(#ifdef FEAT_VREPLACE の削除)
* [8.1.0225](https://github.com/vim/vim/commit/612cc3888b136e80485132d9f997ed457dbc5501): :four_leaf_clover: `mode()`がインサートモードから`CTRL-O`を使用した場合の状態を取得できるようにしました。("niI", "niR" と "niV" を追加)
* [runtimeファイル更新](https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716):
  * [reStructuredTextのファイルタイププラグイン](https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716#diff-46fcf4be2ddce0ab7d0cd14638c516ad)がsyntax foldingを[サポート](https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716#diff-23fc2941ef3a53f58f7631b5c6d77a78)。
  * すべてのhelpファイルのmodelineに`noet`を追加。
  * [todo](https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716#diff-38d7929bd26d74d92ceddf984bbfc8db)の更新。他。
* [8.1.0224](https://github.com/vim/vim/commit/fdd7155fab3447b38280035c66178330f8f041e7):  bracketed paste modeで`t_PE`が検出されなかった場合にハングする件を修正しました。
* [8.1.0223](https://github.com/vim/vim/commit/6ab9e429da18f4d784222a9f7dfafb7c0218b7eb): shellコマンドの補完(`:!<TAB>`, `getcompletion('', 'shellcmd')`)をおこなうと、`$PATH`内のサブディレクトリが候補に現れる件を修正しました。
* [8.1.0220](https://github.com/vim/vim/commit/2c8c681bfcd5138a0ec8ce018216dc2dc69a11a0): :four_leaf_clover: if_ruby: `v:true`, `v:false`を数値ではなく、true, falseに変換するようにしました。
* [8.1.0218](https://github.com/vim/vim/commit/95e51470f10e1ddcc4b2ce53e4f7ff7aa2e58417): :four_leaf_clover: `matchadd()`と`matchaddpos()`の第5引数`dict`のアイテムに`window`を追加しました。指定したwindow IDに作用するようになります。
* [8.1.0215](https://github.com/vim/vim/commit/d2a054910bf8f0888fac81e46a64a22dd4a763b5): configureで`--with-x`を指定しても`X`(ウィンドウシステム)が使用できない場合にエラーにならなかったのを修正しました。
* [8.1.0214](https://github.com/vim/vim/commit/83ec2a7f5fb481b30a5d556b6aad49a62585bccd): `+autochdir`機能が`has()`や`:version`で報告されない件を修正しました。
* [8.1.0213](https://github.com/vim/vim/commit/0a08c63da17dfd93ac2885e3f3f8a083a9b3131c): quickfixウィンドウで`CTRL-W CR`が正しく動作していなかったのを修正しました。
* [8.1.0212](https://github.com/vim/vim/commit/53901442f37a59e5495165f91db5574c0b43ab04): 各種言語インターフェイス内で`w_set_curswant`フラグがセットされていなかったのを修正しました。
* [8.1.0211](https://github.com/vim/vim/commit/00136dc321586800986e8f743c2f108f5eecbf92): ファイル名`~`が`expand()`で`$HOME`の値になってしまう件を修正しました。
* [8.1.0209](https://github.com/vim/vim/commit/b6c8cd8dc3fbbe9da1180ce1b75f2252df2c1318): if_ruby: 標準エラー出力が表示を乱す件を修正しました。
* [8.1.0203](https://github.com/vim/vim/commit/578333b2ecdfef3109cb07a82c3aa08ad3dc5664): if_perl: WindowsでPerl 5.28とビルドするとエラーになる件を修正しました。
* [8.1.0202](https://github.com/vim/vim/commit/6183ccbd679751ff5b138f23a34ead3d7bbc5c1b): `:version`が常に`+packages`を表示している件を修正しました。
* [8.1.0201](https://github.com/vim/vim/commit/79a494d5e2f97c10e74f92ea529552623c314422): :four_leaf_clover: if_python: Python 3.7からimpモジュールを使用すると、`DeprecationWarning` が (`__main__` で) デフォルト有効になったため、if_python3 の初期化処理内で imp モジュールをインポートする際に警告が出るので、importlibに置き換えました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/a9604e61451707b38fdcb088fbfaeea2b922fef6): 各種helpファイルの更新。[todo](https://github.com/vim/vim/commit/a9604e61451707b38fdcb088fbfaeea2b922fef6#diff-38d7929bd26d74d92ceddf984bbfc8db)の更新。
* [8.1.0198](https://github.com/vim/vim/commit/0a6efcd27d62935c465b4406c0c0db9be10a0ddb): :four_leaf_clover: シンタックスハイライトの処理時間が`'redrawtime'`を超過してキャンセルされた場合にメッセージを出力するようにしました。
* [8.1.0196](https://github.com/vim/vim/commit/f63db65b2418140d1bdbc032511f530234bd2496): terminal-debugger: .gdbinit にフォーカス系のコマンドが書かれているとエラーが発生する件を修正しました。
* [8.1.0193](https://github.com/vim/vim/commit/ca4cc018addbeb3ac5d0e05f18847015f91ff814): terminal-debugger: ボタンが機能しない場合がある件を修正しました。(関連patch: [8.1.0195](https://github.com/vim/vim/commit/963c1ad5d072346d9e95d4c3be066b5e03c601d3))
* [8.1.0192](https://github.com/vim/vim/commit/0270f38e1ae484c31a80c813a08691c47a207f1a): regexpを再帰的に実行するとクラッシュする件を修正しました。
* [8.1.0190](https://github.com/vim/vim/commit/18c4f1badbc96d39de5b348f268ac8d55c2b0b67): if_perl: 参照カウントの実装が良くなかったのでリファクタリングしてtestを追加しました。(関連patch: [8.1.0191](https://github.com/vim/vim/commit/3166afd945e57f04b231e71e054b9593cc29ff0b), [8.1.0234](https://github.com/vim/vim/commit/41c363a3154dd1caeb431fa54748ad48ef6d3bd1))
* [runtimeファイル更新](https://github.com/vim/vim/commit/b477af2260d9bc7ae7f743f0a14265d7ee12ee09): 各種helpファイルの更新。[todo](https://github.com/vim/vim/commit/b477af2260d9bc7ae7f743f0a14265d7ee12ee09#diff-38d7929bd26d74d92ceddf984bbfc8db)の更新。
* [8.1.0184](https://github.com/vim/vim/commit/b6959a8e06cef6d2126b030b2f8acd49457a3582): :four_leaf_clover: `getwininfo()`が返す辞書のアイテムに`wincol`と`winrow`を追加しました。ウィンドウレイアウトの把握が容易になります。(関連patch: [8.1.0187](https://github.com/vim/vim/commit/7132ddc1014a4e1230f0080e418221e5843e1277))
* [8.1.0183](https://github.com/vim/vim/commit/174136713181a1d1460951d7a0392b16603f81bb): if_lua: Lua 5.3でAPI `lua_rawgeti()`のI/F変更により環境によっては正しく動作しなくなっていたのを修正しました。
* [8.1.0182](https://github.com/vim/vim/commit/4fc85003c5f53d6ceb3dbea4b8fae5681615a20c): Unicode標準の更新を反映しました。
* [8.1.0177](https://github.com/vim/vim/commit/93343725b5fa1cf580a24302455980faacae8ee2): sandbox内では`:function`が使用できないが、lambdaでは定義できてしまう件を修正しました。(sandbox内で`:function`で定義した関数を使用できるようにしました) (関連patch: [8.1.0189](https://github.com/vim/vim/commit/d90a144eda047816acffc7a8f297b43a7120710e))
* [8.1.0174](https://github.com/vim/vim/commit/907dad72ef9d29422352fb74ba156e7085a3fc71): 最終行がfoldされている場合のページスクロール(`CTRL-F`, `CTRL-B`等)で最終行の表示がおかしくなる件を修正しました。
* [8.1.0172](https://github.com/vim/vim/commit/c229e54a69468722ca2449e807e90445b7479659): `'viminfofile'`オプションの値をファイル名として扱っていなかったのを修正しました。(Windowsのパス区切り `\`を`\\`と指定しなくてよくなりました)
* [8.1.0171](https://github.com/vim/vim/commit/875cf8789426cc258d85358ea2c86744a5a87b16): terminalウィンドウで`CTRL-W n`を入力すると、ml_getエラーが発生することがある件を修正しました。(terminal_loop()の外側でリサイズした時に発生していました)
* [8.1.0168](https://github.com/vim/vim/commit/9d5185bf9dfaef59e47c573a60044a21d5e29c0c): `:marks`の出力がマルチバイト文字の場合に短過ぎる件を修正しました。(関連patch: [8.1.0175](https://github.com/vim/vim/commit/bde14d8e24f6b8ca409290733dbf11cb6fee5751))
* [8.1.0167](https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3): 辞書アイテムのロックフラグのリセット処理が多くの場所でおこなわれていたのを整理しました。
* [8.1.0166](https://github.com/vim/vim/commit/e0be167a805fd547c25ec1ec97fd4c7f13046236): C関数dict_add_nr_str()が不細工な件を修正しました。dict_add_number()とdict_add_string()に分離しました。
* [8.1.0165](https://github.com/vim/vim/commit/4cde86c2ef885e82fff3d925dee9fb5671c025cf): :four_leaf_clover:`:clist`および`:llist`を`:filter`でフィルタリング出来るようにしました。例: `:filter /pat/ clist`。モジュール名、ファイル名、パターン名、テキスト名を対象に絞り込めます。
* [runtimeファイル更新](https://github.com/vim/vim/commit/fd35811ca528de7612f9571bce20ef4c392fe5f7): [doc/evim.man](https://github.com/vim/vim/commit/fd35811ca528de7612f9571bce20ef4c392fe5f7#diff-163924dd811247aaa06a71794a4d8a9c)の追加、各種デンマーク語翻訳ファイルの追加、その他。
* [8.1.0164](https://github.com/vim/vim/commit/fe08df452af10db8a24dbeb1bd9ef09492a4bc66): if_lua: 無名バッファで`luaeval('vim.buffer().name')`がエラーを返す件を修正しました。空文字列を返すようにしました。
* [8.1.0161](https://github.com/vim/vim/commit/386bc82a3f82f70bad75aaad74dba57a176b5840): `'autoread'`が設定されているバッファのファイルが削除された場合にバッファが更新されない件を修正しました。
* [8.1.0160](https://github.com/vim/vim/commit/cbbe4ab4b27a2060506fcd2427aed8d8fbff1a21): デンマーク語のマニュアル翻訳を追加しました。(関連patch: [8.1.0162](https://github.com/vim/vim/commit/08505312fe1ad3b843f95282bff9b0fbbbea508d))
* [8.1.0159](https://github.com/vim/vim/commit/6c5d1043022520512ee36aa1a29662b60af33c95): 入力文字列がユーザ名と完全一致する場合、ユーザ名補完がおこなわれない件を修正しました。
* [8.1.0158](https://github.com/vim/vim/commit/1ebff3dc93b6d022ccfe0613c1d1ee2d62fc7935): GUI: `gs`や`:sleep`中に`CTRL-C`押下した後の`input()`が失敗する件を修正しました。
* [8.1.0157](https://github.com/vim/vim/commit/e330ef42f256e60017e5f8bf4be79a5308fe9e2f): 古いiTerm2で起動時に1行目にゴミが表示される件を修正しました。
* [8.1.0155](https://github.com/vim/vim/commit/ae728edc93fe5a2f8c39fa75b1ae9ed71526858c): runtime/docディレクトリに `evim.man`が収録されていなかったのを修正しました。
* [8.1.0154](https://github.com/vim/vim/commit/c9fe5ab3b093803b6e8d03358ba16aca6b6f0db1): `set smarttab shiftwidth=0 softtabstop=-1`でクラッシュする件を修正しました。
* [8.1.0152](https://github.com/vim/vim/commit/f3dc235576da7394fbe743aba732f43289f32c24): Windows: 個別のテストを簡単に実行することができない件を改善しました。
* [8.1.0149](https://github.com/vim/vim/commit/26d4b896a789e65df7ee0cf3e25056eabc523fda): 複数のタブのどれかで `:lcd` が使用されている場合に生成されたセッションファイルが、タブを正しく復元できない件を修正しました。
* [8.1.0147](https://github.com/vim/vim/commit/3b48b11c07b85520f4ca3566e92c3f6486509b72): if_python3: Python 3.7 でビルドした場合にコンパイルwarningが出る件を修正しました。
* [8.1.0143](https://github.com/vim/vim/commit/3d1d6475f9665660c80cc53a7da2d5450b8b8d08): matchitプラグインとmatchparenプラグインでエラー`E363`をハンドルしていない件を修正しました。
* [8.1.0142](https://github.com/vim/vim/commit/e6882bdc44efbcea0af647f5759a8f48cf29e27c): :four_leaf_clover: xtermとvt320のbuiltin termcapにkeypadの数字キーのキーコードを追加しました。
* [8.1.0141](https://github.com/vim/vim/commit/531b9a3a638cb1147db4f096bfbcb14d2ae32b04): `:cexpr`が最初のエラーにジャンプしない件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/6dc819b1299e1d9f99303568772ade544d5c1322): helpファイルおよび言語ファイルの修正等。
* [8.1.0140](https://github.com/vim/vim/commit/972bfddc6b3f52ae0865ad8c0bf6089bc8a9883a): GUI: レジスタへの記録時および起動時の `-w` や `-W`指定時に不要なフォーカスイベントが記録される件を修正しました。
* [8.1.0138](https://github.com/vim/vim/commit/33d5ab3795720b7d986f9f17f660ee9e448466e0): `'softtabstop'`の負の値が正しく使用されていない件を修正しました。(関連patch: [8.1.0105](https://github.com/vim/vim/commit/04958cbaf25eea27eceedaa987adfb354ad5f7fd))
* [8.1.0135](https://github.com/vim/vim/commit/e0429681aed5448d1c3b8399d152a2b1a05ea6d7): インサートモード中の`CTRL-O u`がメッセージ出力により画面更新が遅れる件を修正しました。
* [8.1.0134](https://github.com/vim/vim/commit/ca06da92432a57e5dcf3e0eebd322fae80941a6b): if_lua: `funcref`に対応していなかった件を修正しました。

---
#### 凡例

|表記|意味|
|:------|:------|
|:four_leaf_clover:|新機能、大幅な仕様変更|
|`'hoge'`|オプション (`:h options`参照)|
|`:hoge`|Exコマンド (`:h :index`参照)|
|`hoge()`|組み込み関数 (`:h functions`参照)|
|`v:hoge`|Vim定義済変数 (`:h v:`参照)|
|`+hoge`|feature (`:h +feature-list`参照)|

---
#### 方針
[こちら](http://qiita.com/h_east/items/23cd0d10932505072e6b#%E6%96%B9%E9%87%9D)を参照。