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

[Vim](http://www.vim.org/)のリリースされた[patch](https://github.com/vim/vim/commits/master)の説明です。patchの内容を確認し、必要であれば動作確認をおこなったうえで書いています。英語を忠実に訳すよりは、Vimを使っている人が理解しやすい文章になるように心がけています。
([8.1.0554](https://github.com/vim/vim/commit/614ab8aa00346724bfc27980d25985d482269b75) ～ [8.1.0672](https://github.com/vim/vim/commit/9067cd6cdfdc0bb869aa7f5d2a6c607ea8255239))

* [8.1.0672](https://github.com/vim/vim/commit/9067cd6cdfdc0bb869aa7f5d2a6c607ea8255239): if_lua: `v:null`をサポートしていなかった件を修正しました。
* [8.1.0671](https://github.com/vim/vim/commit/e1e714ef0d1f4bb8b1712795e9106e3b4ff4c7bd): `'formatoptions'`が`a`と`n`を含んでいる場合に、インサートモードで行頭の数字を削除した場合のカーソル位置が正しくない件を修正しました。
* [8.1.0664](https://github.com/vim/vim/commit/af0839acec403379627a4bc50cbeca588344cea5): configure: `--fail-if-missing`が`--enable-gui`の引数に適用されていない件を修正しました。
* [8.1.0662](https://github.com/vim/vim/commit/ef0a1d5ed3566b91143d30ae9de3240f47c6e282): チルダ(`~`)の展開処理で先頭の文字以外もチェックしていたのを修正しました。
* [8.1.0661](https://github.com/vim/vim/commit/a8bfa1727a370d659dc0ccc3f0fd1763b10b5457): X11: クリップボードのregexpが再帰的に使われた場合に正しく動作しない件を修正しました。
* [8.1.0657](https://github.com/vim/vim/commit/01e51e5b305c13c68b5ea2b9e14779e1e88664ef): regexpを再帰的に使うとエラーになる件を修正しました。
* [8.1.0656](https://github.com/vim/vim/commit/c0c7549687b8d095f3ab7e99c8e0bfaaf63b57d4): X11: 終了時にXサーバーに再接続すると問題を引き起こす件を修正しました。
* [8.1.0651](https://github.com/vim/vim/commit/2ac372ccee1af6f9fa105bf2648d5e4efa554236): `:args \"foo`が引数なしの`:args`のように動作してしまう件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/c8c8849267503b2d2d6d821047ee8619c7821728): [Todo](https://github.com/vim/vim/commit/c8c8849267503b2d2d6d821047ee8619c7821728#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。ftpluginに[Configuration File(.cfg)用の設定](https://github.com/vim/vim/commit/c8c8849267503b2d2d6d821047ee8619c7821728#diff-82cd436d2dfc5a4c20d401735cae486c)を追加。
* [8.1.0646](https://github.com/vim/vim/commit/b09c684195d803137d52c34fb4d3a410be5ac10f): if_ruby: Ruby 2.6.0でビルド出来ない件を修正しました。
* [8.1.0640](https://github.com/vim/vim/commit/548e5985734e4b216852205879daf9bfb00dbe5a): `'incsearch'`時にビジュアルモードで選択後、`:tab`を入力するとエラー`E14`になる件を修正しました。
* [8.1.0633](https://github.com/vim/vim/commit/cd929f7ba8cc5b6d6dcf35c8b34124e969fed6b8): 端末ウィンドウを開くときにメモリ不足になるとクラッシュする件を修正しました。
* [8.1.0630](https://github.com/vim/vim/commit/a42df5934bdc1178ed2ee8cb9c8686975b578497): オートコマンドを使用したウィンドウで`:wincmd p`が動作しない件を修正しました。
* [8.1.0629](https://github.com/vim/vim/commit/5d24a2257e597fd752e33b2c1e9c19cf9114a517): `gn`が複数行にマッチした時に間違ったテキストを選択してしまう件を修正しました。
* [8.1.0627](https://github.com/vim/vim/commit/9123c0b31a283f460ed2b6af95080120cf528118): if_python: スクリプトローカル関数の名前が扱えない件を修正しました。
* [8.1.0626](https://github.com/vim/vim/commit/4814ccbdf0e99e2d33e1ac926c59f677f5c2afe2): Windows: GVimでオプション引数`--windowid`指定時に親ウィンドウのサイズに合わせてリサイズされない件を修正しました。
* [8.1.0622](https://github.com/vim/vim/commit/9752c72f492312acd1c84e673864faed31a3bc97): 有効なエラーエントリーがないクイックフィックス/ロケーションリストにエラー以外の項目を追加すると、有効なエントリーと認識されてしまう件を修正しました。
* [8.1.0619](https://github.com/vim/vim/commit/461a7fcfce3cd6414f990037e6468af3b5ccf119): `:echomsg`と`:echoerr`がリストと辞書を`:echo`のように扱っていなかったのを修正しました。
* [8.1.0618](https://github.com/vim/vim/commit/528ccfbaa1cc805f430a750c551e5a9fd7eb54fe): `term_getjob()`がドキュメント通りに`v:null`を返していなかった件を修正しました。
* [8.1.0616](https://github.com/vim/vim/commit/af610b8e66a7fefcb8db07ee65686f51e1cb288a): :four_leaf_clover:Windows: インストーラーを一新しました。新MUI2版を正式なインストーラーとしました。オフィシャルの[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases)から取得できます。(関連patch: [8.1.0617](https://github.com/vim/vim/commit/1916673a1696eab66516c3f96bec1f2e4b92f761), [8.1.0637](https://github.com/vim/vim/commit/4604fbbbff9e1f924e76a6b4695626b519bd4030)) (関連URI: [Qiita/新しいWindows用Vimのインストーラーを作っている話](https://qiita.com/k-takata/items/343c5ee6abbe34e85571))
* [8.1.0614](https://github.com/vim/vim/commit/162b71479bd4dcdb3a2ef9198a1444f6f99e6843): :four_leaf_clover:目印(sign)を定義および設置するための関数を追加しました(`sign_define()`, `sign_getdefined()`, `sign_getplaced()`, `sign_place()`, `sign_undefine()`, `sign_unplace()`)。また、異なるプラグインが同じ目印を使用するのを避けるための`グループ名`を導入しました。(関連patch: [8.1.0632](https://github.com/vim/vim/commit/7a2d9892b7158edf8dc48e9bcaaae70a40787b37), [8.1.0644](https://github.com/vim/vim/commit/6436cd83f90a0efc326798792e49e8ff96a43dce), [8.1.0658](https://github.com/vim/vim/commit/7d83bf4f2b785b46d87c7bc376fc9d0a862af782), [8.1.0659](https://github.com/vim/vim/commit/ced198d4b4efae75417e4366354679db2d0ec68e), [8.1.0660](https://github.com/vim/vim/commit/1ea88a3e12e5f6afc5353cd0d6e6d4f4a89ced94), [8.1.0673](https://github.com/vim/vim/commit/bbea47075cc4e7826e9f8c203e4272ba023ed7b0))
* [8.1.0613](https://github.com/vim/vim/commit/48f377a476e4a3312aa0e3535aba170484b59483): modeline経由でトリガーされたイベント内で`secure`ではない関数(例: timer_start())を呼び出すと内部的に`secure`な状態のままとなり、以後、ほとんどの操作がエラー`E12`になってしまう件を修正しました。
* [8.1.0612](https://github.com/vim/vim/commit/9d302ad4e31b4e20ce0b3af700f43edb6f5e6036): :four_leaf_clover:configureの`--with-global-runtime`オプションの値をカンマ区切りで複数指定出来るようにしました。
* [8.1.0611](https://github.com/vim/vim/commit/a79fd56923744e331b3a5badbf9186100818fb45): `:terminal`に長い合成文字を表示させるとクラッシュする件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/9d87a37ee9d87f5bdbc779bc940d5f1e6f055d0a): [Todo](https://github.com/vim/vim/commit/9d87a37ee9d87f5bdbc779bc940d5f1e6f055d0a#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.1.0606](https://github.com/vim/vim/commit/a86187b9cd529754ad85cd621169876317eb3a69): :four_leaf_clover:`'cryptmethod'`のデフォルトを`zip`から`blowfish2`に変更しました。
* [8.1.0602](https://github.com/vim/vim/commit/2caad3fbbdbf1486a176c9f6bfbc3d9be90e09f7): `:exe "cd" getcwd()`等カレントディレクトリが変化しない場合でも`DirChanged`イベントがトリガーされていた件を修正しました。
* [8.1.0592](https://github.com/vim/vim/commit/471f65813592238509923f2c8748df5be03513e9): :alien:libvtermのテストをVimのテストの一部として実施するようにしました。(関連patch: [8.1.0593](https://github.com/vim/vim/commit/37e3edce200c5a0ae8f81ca729b18d75477d2725), [8.1.0594](https://github.com/vim/vim/commit/8b321d6a521e76c5cbe640272574e4fbd42cba9b), [8.1.0595](https://github.com/vim/vim/commit/a9659e0da41388f2c7aedccf016c2fe2eeec6a82), [8.1.0597](https://github.com/vim/vim/commit/acecb3b9359dced16b471b9950594394183c503a))
* [8.1.0590](https://github.com/vim/vim/commit/cd1a62d468a55aca68deb3139d83530c7c23568d): ジョブ終了後にクローズされたチャネルが処理されない件を修正しました。
* [8.1.0588](https://github.com/vim/vim/commit/06b056e110005ce0dd97b8c6333405afd06c36fc): :four_leaf_clover:`:sign`の表示文字(`:sign define text=`)に空白を指定できるようにしました。
* [8.1.0586](https://github.com/vim/vim/commit/eae8ae1b2b4e532b125077d9838b70d966891be3): :four_leaf_clover:`:digraphs`の出力をハイライトするようにしました。また、`:digraphs!`の場合はセクションヘッダも表示するようにしました。
* [8.1.0584](https://github.com/vim/vim/commit/5f5e203c92365ac6399de3663637b73bf9fb6dfa): コマンドラインのincsearch中の`CTRL-L`が合成文字を正しく処理できていなかったのを修正しました。[コードの変更は[誤って8.1.0579に含まれて](https://github.com/vim/vim/commit/98aefe7c3250bb5d4153b994f878594d1745424e#diff-73e9c3dd77f4b30ef8ea83863a3ea5c4R772)います。]
* [8.1.0579](https://github.com/vim/vim/commit/98aefe7c3250bb5d4153b994f878594d1745424e): :four_leaf_clover:テキストプロパティ機能を追加しました。(最初の一部分) (関連patch : [8.1.0580](https://github.com/vim/vim/commit/2fa7fad831a860b627b5d6980aae0eeebfda0b3b), [8.1.0581](https://github.com/vim/vim/commit/ca79a5fc3b383dcfc8ed2077688ea69dafadc6e7), [8.1.0582](https://github.com/vim/vim/commit/fb95e212a2696e5b1c8b5e6b2984af59fa7ead6f), [8.1.0634](https://github.com/vim/vim/commit/e3d31b02a56710e64ef0c1eb6ac5afcc57cb4890), [8.1.0636](https://github.com/vim/vim/commit/b413d2e6a8cc7b1611a41bfa9462b986393ca5fe), [8.1.0638](https://github.com/vim/vim/commit/48f88ac85be8446a42a03cec45264eac21f9eba8), [8.1.0639](https://github.com/vim/vim/commit/8cf734e024af56707a1165bcdfee42364695ec8e), [8.1.0643](https://github.com/vim/vim/commit/00b1e041654e8a38fb6b81218a037e1dc94e0943), [8.1.0654](https://github.com/vim/vim/commit/c1a9bc1a7284bd0e60f9bddfef6a4ee733bfc838), [8.1.0655](https://github.com/vim/vim/commit/b56ac049ea6ca77a0a9b0a415bac5e82ae60b842), [8.1.0663](https://github.com/vim/vim/commit/8caa10a8ec6e398fd67c30b8a2bf20638d3c6c0a), [8.1.0666](https://github.com/vim/vim/commit/af0839acec403379627a4bc50cbeca588344cea5), [8.1.0667](https://github.com/vim/vim/commit/fb2f7aa982a3767cd3fa61aad8dcc075f339e15b), [8.1.0675](https://github.com/vim/vim/commit/b9c67a51c15481d9257e5c26581d17780e9808d5), [8.1.0676](https://github.com/vim/vim/commit/5e53ac00a2a3ead7b52ef56c61ccce823186bd2f)) (関連URL: [vim-jp/issues/1210/テキストプロパティ機能を叩く](https://github.com/vim-jp/issues/issues/1210))
* [8.1.0578](https://github.com/vim/vim/commit/5c5697f29829fc3b21fc5452fe8f239f6a4cb8e1): :four_leaf_clover:configureでアラビア語サポート機能、右から左へタイプ機能、ペルシア語サポート機能を無効にできるようにしました。それぞれ、`--disable-arabic`, `--disable-rightleft`, `--disable-farsi`です。
* [8.1.0577](https://github.com/vim/vim/commit/295471920def98ce84bc96e5d97c16d250c81621): GUI: タブページが1つの時でもタブライン(`set showtabline=2`)の右クリックメニューに`Close tab`を表示するようにしました。でも、選んでも無視します。
* [runtimeファイル更新](https://github.com/vim/vim/commit/d47d52232bf21036c5c89081458be7eaf2630d24): [Todo](https://github.com/vim/vim/commit/d47d52232bf21036c5c89081458be7eaf2630d24#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。`runtime/indent/testdir/`以下にインデントtestをいくつか追加。他。
* [8.1.0574](https://github.com/vim/vim/commit/4af7259b2b35e85c590d54908fcd248d2c733be8): ファイルタイプCにfoldマーカー追加時、ポインタの`*`を`'comments'`の3部コメントの中間部分だと誤認識して`'commentstring'`が使われない件を修正しました。
* [8.1.0573](https://github.com/vim/vim/commit/55d46913084745a48749d7ac4f48930852e1d87e): :four_leaf_clover:スクリプト再読み込み時、既存の(!の付いていない)コマンドでエラーE174にならないようにしました。そのスクリプトで以前定義されていたコマンドは、静かに置き換えられます。(関連patch: [8.1.0515](https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d))
* [8.1.0572](https://github.com/vim/vim/commit/76ab4fd61901090e6af3451ca6c5ca0fc370571f): OpenBSDでjobを正しく停止することが出来ない件を修正しました。
* [8.1.0570](https://github.com/vim/vim/commit/539328197c51c1586cbbb6b6be3db3c412249b49): foldマーカー追加時、`'comments'`の3部コメントの中間部分が空白文字だけの場合だと、コメント内と誤認識して`'commentstring'`が使われない件を修正しました。
* [8.1.0569](https://github.com/vim/vim/commit/10ccaa17ec8b2be1132fd19059e1cd5fb5c902c4): `execute()`が常にメッセージ表示桁を0にリセットしている件を修正しました。(関連patch: [8.1.0571](https://github.com/vim/vim/commit/446e7a3cd36b2de7d559f167eb5795d1e1cd3ddb))
* [8.1.0566](https://github.com/vim/vim/commit/20091c18c40b4e8b594769ba11e81d133c479d7c): :four_leaf_clover:termresponseでminttyを検出できるようにし、検出時は`'ttymouse'`を`sgr`に設定するようにしました。
* [8.1.0563](https://github.com/vim/vim/commit/74ea88c170f65afa50b2b97e37806d13b4e24cd7): `v:errors`に文字列を設定すると発生する内部エラーが混乱させるメッセージなので通常のエラーメッセージに変更しました。(関連patch: [8.1.0564](https://github.com/vim/vim/commit/88b53fd0521d1e62df17a8a1f2181425e9d4854c))
* [8.1.0562](https://github.com/vim/vim/commit/b6fc72851c45a36a370f9516c68508e47b41c4c1): `'diffopt'`で`algorithm:`指定よりも先に`indent-heuristic`を指定すると、内部的に`indent-heuristic`が設定されない状態になっていたのを修正しました。
* [8.1.0561](https://github.com/vim/vim/commit/97195685334c800c5ad1328d957d1bf21f5fa1fa): Windows: Visual Studio 2017でエラーメッセージの形式に変更があったので、`'errorformat'`のデフォルト値を新旧対応したものに変更しました。
* [8.1.0560](https://github.com/vim/vim/commit/51a7454cd2c34ee459f104e45768eab3817c099e): :four_leaf_clover:ユーザーコマンドの範囲指定(`:h :command-addr`)の値に`other`を追加しました。`other`指定時は範囲指定の`%`をエラーにします。
* [8.1.0557](https://github.com/vim/vim/commit/5378e1cf0a05121bfa76df2279944ad3b0b5ce4f): Termdebug: gdbが使用する `X.Y`形式のブレークポイント番号を正しく処理していなかったのを修正しました。(関連patch: [8.1.0575](https://github.com/vim/vim/commit/37402ed53475166cd988edbea1269fa4e9918dc4))
* [8.1.0555](https://github.com/vim/vim/commit/2fb8f684d888ad68b283ba8f9505106b5fb725be): 最後の検索パターンが設定されているが、最後のsubstituteパターンが設定されていない場合にクラッシュしする件を修正しました。(関連patch: [8.1.0556](https://github.com/vim/vim/commit/ed8bc78d2386d22656ba1d3e5cf739dd12964dce))
* [8.1.0554](https://github.com/vim/vim/commit/614ab8aa00346724bfc27980d25985d482269b75): popupメニューとpreviewウィンドウが重なることがあるのを修正しました。(関連patch: [8.1.0355](https://github.com/vim/vim/commit/a750ac2288eae4f751185597885552e9b6e4d27c))

---
#### 凡例

|表記|意味|
|:------|:------|
|:four_leaf_clover:|新機能、大幅な仕様変更|
|:alien:|Vim開発者向けの追加、変更|
|`'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)を参照。