Vim patchダイジェスト [2017/09]

[Vim](http://www.vim.org/) patchダイジェスト \[2017/09]
([8.0.1027](https://github.com/vim/vim/commit/2db0ec4b2ec405aca4e642e0420ce703f94914a8) ～ [8.0.1168](https://github.com/vim/vim/commit/0aa398f55a327282c70f56e0bac2dcb9521da378))

* [8.0.1168](https://github.com/vim/vim/commit/0aa398f55a327282c70f56e0bac2dcb9521da378): `matchadd()`等と`'cursorline'`の組み合わせで間違ったhighlight表示になる件を修正しました。
* [8.0.1167](https://github.com/vim/vim/commit/3a497e1a414dc44b3df6a6fca60838ecd8ff0ca6): Motifで`:terminal`のキータイプがもっさりしている件を修正しました。
* [8.0.1166](https://github.com/vim/vim/commit/c958b316386fa44116a02bfbd5859edc54a4a7e0): macOS High Sierraで`:terminal`が動かない件を修正しました。
* [8.0.1164](https://github.com/vim/vim/commit/65ed136844fbaffdd473903ed841c944600234dc): `'statusline'`でStatusLineのhighlightを変更しても反映されない件を修正しました。
* [8.0.1160](https://github.com/vim/vim/commit/816968defc8ae79eb7e2319e991e74661be8d750): ウィンドウを閉じた後にタブローカルな変数の取得に失敗する件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/24a98a0eb77245adc50facad8b735b20bfd31a7e): [ラトビア語のtutor](https://github.com/vim/vim/commit/24a98a0eb77245adc50facad8b735b20bfd31a7e#diff-9384cc54d4af6adbbfa039a3a6f0b6ee)および[メッセージ翻訳ファイル(lv.po)](https://github.com/vim/vim/commit/24a98a0eb77245adc50facad8b735b20bfd31a7e#diff-991a6823490c9d032ceec37792004c80)を追加。他。
* [8.0.1154](https://github.com/vim/vim/commit/1b38344e00af65df12946fffda7f3201621c35ef): `'indentkeys'`の`0=word`指定が正しく動作しない件を修正しました。
* [8.0.1151](https://github.com/vim/vim/commit/09ca932f8e7d63a83b39baa7c03d4c6145e3baab): `"vim -c startinsert!"`が正しく動かない件を修正しました。
* [8.0.1150](https://github.com/vim/vim/commit/6edeaf387c7218a84a5521a4e82b4000496b523b): WindowsのGvimでダイアログのフォントサイズが正しくない件を修正しました。
* [8.0.1149](https://github.com/vim/vim/commit/a8fc0d3817f69b3599a1b56d74a2ddbd3139f40c): libvtermにxtermカラーを使用するようにしました。
* [8.0.1137](https://github.com/vim/vim/commit/e745d75c3e0d976e73bd17c395e9cce98f671692): configureで`--enable-rubyinterp`を指定した場合、makeでエラーになる件を修正しました。
* [8.0.1133](): ウィンドウ内の描画が`'redrawtime'`の値以内に完了しているのに、稀にタイムアウト判定されてsyntaxがoffになってしまう件を修正しました。(関連URI: [vim-jp/issues/1076](https://github.com/vim-jp/issues/issues/1076))
* [terminal.c](https://github.com/vim/vim/commit/2e6ab18729a634f3223a92be318e98e87b572a7b): terminal.cを不意に削除してしまっていたので復活させました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/37c64c78fd87e086b5a945ad7032787c274e2dcb): [TAP (Test Anything Protocol)のsyntax定義](https://github.com/vim/vim/commit/37c64c78fd87e086b5a945ad7032787c274e2dcb#diff-ccff9833f0c99b5c29018cdac66ddbcf)の追加。他。
* [8.0.1126](https://github.com/vim/vim/commit/71b29640669872b0209985fc5a3b447de62a4cf0): terminalウィンドウを`:vsp`するとフリーズする件を修正しました。
* [8.0.1123](https://github.com/vim/vim/commit/1b9645de3c05f37b5c30e78f999351b0cf486ade): :four_leaf_clover:ウィンドウローカルなツールバーを実装しました。(`:help window-toolbar`) (関連patch: [8.0.1125](https://github.com/vim/vim/commit/d326ad6e93604222c64bae51f47521fe9114d1ea), [8.0.1129](https://github.com/vim/vim/commit/a5a2be26febee62da480265ed9a52f782d5b4388), [8.0.1138](https://github.com/vim/vim/commit/eb163d73b11c10b461a2839530173a33d7915a33), [8.0.1139](https://github.com/vim/vim/commit/a21a6a9ade7bec3a07992d4d900d4ce82eeb8a29), [8.0.1142](https://github.com/vim/vim/commit/378daf87d380b9f3c4f822786dfbfdcad9ca2db9))
* [8.0.1119](https://github.com/vim/vim/commit/8adb0d03ca2694922da915356d7ede05e31c5a5c): terminalウィンドウが分割されている時に片方のウィンドウを閉じるとジョブがkillされる件を修正しました。
* [8.0.1118](https://github.com/vim/vim/commit/4033c55eca575777718c0701e26635a0cc47d907): `FEAT_WINDOWS`による #ifdef判定を廃止しました。
* [8.0.1115](https://github.com/vim/vim/commit/495b7dd213e096361e6f15e7aed313c1d63d9d3e): `foldtextresult()`を再帰的に呼び出すとクラッシュする件を修正しました。
* [8.0.1114](https://github.com/vim/vim/commit/4cf56bbc85f77846aeb378cfb071677336dfad6d): :four_leaf_clover:`'iminsert'`のデフォルト値を`0`に変更しました。(インサートモード初回時にデフォルトでIMEがONになる挙動が改善されます)
* [8.0.1113](https://github.com/vim/vim/commit/eef9adddab4c7fc7bb1c54267e76849caf565edf): Terminalノーマルモードからインサートモードに移行出来てしまう件を修正しました。
* [8.0.1112](https://github.com/vim/vim/commit/fc2b270cfd36230166df486aae4d96d9d1f32755): :four_leaf_clover:`getqflist()`の引数{what}および戻り値のエントリに`"idx"`と`"size"`を追加しました。
* [8.0.1110](https://github.com/vim/vim/commit/e8ff56b28ed67bff4ee1dbe7b4bd620c1c04a535): configureで`--enable-perlinterp`を指定した場合、makeで`_FORTIFY_SOURCE`関連でエラーになる事がある件を修正しました。(関連patch: [8.0.1111](https://github.com/vim/vim/commit/b5e79ef5a9e85f5bb70eb4cc6e12cbeec2a820ca))
* [8.0.1108](https://github.com/vim/vim/commit/69fbc9e1dab176f345719436cd89d854df0a2abd): :four_leaf_clover:terminalウィンドウ用のマッピングコマンド `:tmap`, `:tnoremap`, `:tunmap`および`:tmapclear`を追加しました。(関連patch: [8.0.1120](https://github.com/vim/vim/commit/63c4e8a1986796094e6f15b893f2deccdf482617))
* [8.0.1106](https://github.com/vim/vim/commit/69e8aa75112a0b12811a4f4d11061adceffbbabc): Windowsでterminalの色が通常の色と一致しない件を修正しました。
* [8.0.1102](https://github.com/vim/vim/commit/c71053c61180ed1ad0c98ba6063b769757832932): GUIかつ`'termguicolors'`がONの時にはterminalの前景色/背景色には実際のものを使用するようにしました。また、highlightグループ `"Terminal"`が定義されている場合はそれを使うようにしました。
* [8.0.1101](https://github.com/vim/vim/commit/71eeb74a608ddae2b52fb43766616672d0cdda18): ログの書き込みに失敗した時にチャンネルの書き込みに失敗する件を修正しました。
* [8.0.1100](https://github.com/vim/vim/commit/072412ed45aa20a67aaa7e387d7f6bf59c7d3fbe): `'lazyredraw'`を設定し、`term_start()`後にキーを入力すると無限ループになる件を修正しました。(関連URI: [vim-jp/issues/1057](https://github.com/vim-jp/issues/issues/1057#issuecomment-328335221))
* [8.0.1097](https://github.com/vim/vim/commit/49a613f84aaa7cccd1d12a2ffc4ebb1956f973aa): ジョブで背景色が変更された場合に背景色がおかしい件を修正しました。
* [8.0.1096](https://github.com/vim/vim/commit/238d43b32859d1b4e6b7072d552289a748cbfee1): Terminalノーマルモードの背景色がおかしい件を修正しました。
* [8.0.1090](https://github.com/vim/vim/commit/65f084749b260746d7f186af4f080298be2df55b): :four_leaf_clover:Exコマンド用の特別な文字`<cexpr>`を追加しました。`<cexpr>`はカーソル下のC言語の式を形成するより多くを含む単語に置き換えられます。(`:help :<cexpr>`)
 (関連patch: [8.0.1091](https://github.com/vim/vim/commit/95c83c64be8d4af74bfda1f283a5bcf3f110719e))
* [8.0.1089](https://github.com/vim/vim/commit/c168bd4bd3a9b856fc410fc4515dcca1d10d7461): :four_leaf_clover:ユーザー定義コマンドの置き換えテキストに`<range>`を追加しました。(`:help <range>`)
* [8.0.1077](https://github.com/vim/vim/commit/fe386641b0c56c5de2bca8e1f4cd5e2a1f1aea7e): :four_leaf_clover:term debuggerプラグインを追加しました。今のところ、停止したときだけ現在の行を表示します。`:packadd termdebug`すれば使用可能になり、`:Termdebug vim`等として起動します。※要gdb (関連patch: [8.0.1085](https://github.com/vim/vim/commit/e09ba7bae5c867f6d3abc184709dd27488318e97), [8.0.1092](https://github.com/vim/vim/commit/45d5f26d11d9aac2383453d2c1a8582cad1c8a3d), [8.0.1107](https://github.com/vim/vim/commit/38baa3e63427112d389de5e5942243414d9b1336))
* [8.0.1076](https://github.com/vim/vim/commit/3c518400d1a51929572dd9fcf77dba94d78d7545): :four_leaf_clover:`term_start()`がコールバックを受け付けられない件、ジョブなしで2つの端末を使用する場合は1つしか読み込まれない件およびウィンドウのない端末が間違ったptyを返す件を修正しました。`term_start()`の引数{options}にエントリ`"callback"`、`"out_cb"`および`"err_cb"`を追加しました。
* [8.0.1075](https://github.com/vim/vim/commit/1a735d6c9bf4204492b9f9aeba280737fab46ed3): Windowsの`:terminal`でマウスが使えない件を修正しました。
* [8.0.1074](https://github.com/vim/vim/commit/2dc9d26c14e410c09e538cccfa90da19ae344ba4): :four_leaf_clover:`:term NONE`がWindowsで動作しない件を修正しました。`term_gettty()`に引数{input}を追加しました。`job_info()`の返す辞書のエントリ`"tty"`を`"tty_in"`と`"tty_out"`に分けました。
* [8.0.1073](https://github.com/vim/vim/commit/ba2929b6afd2fc20479912a8dec789be26a38244): `'statusline'`でhighlightを変更すると無限ループになる件を修正しました。
* [8.0.1072](https://github.com/vim/vim/commit/99433291b135094d9592c41f96d3ccd60073e2c1): `:highlight`コマンドが何も変更がなくても再描画する件を修正しました。
* [8.0.1071](https://github.com/vim/vim/commit/c6da01a5b8efe9ca4931074c0cf2189d357707a2): :four_leaf_clover:環境変数`$TERM`が`"putty"`または`"cygwin"`で始まっている場合は`background`のデフォルト値を`dark`にするようにしました。
* [8.0.1069](https://github.com/vim/vim/commit/37b53270e1a65d1d56187a3d68439e666e8b75fd): まだ、`'t_RS'`のリクエストで時々`CTRL-X`を取得してしまう件を修正しました。(関連patch: [8.0.0993](https://github.com/vim/vim/commit/f6d9f96b2d67327bbadd7210acc7c6028439bbcd), [8.0.1128](https://github.com/vim/vim/commit/e22bbf65088a01b465918919782c19eb291f9cf0))
* [8.0.1067](https://github.com/vim/vim/commit/e723c42836d971180d1bf9f98916966c5543fff1): タイマーコールバック内でtry/catchを使用してエラーが検出されると、タイマー呼び出しが停止してしまう件を修正しました。。
* [8.0.1060](https://github.com/vim/vim/commit/3971905bac0fe7e7519b35b1e558b4f1de55708d): `'imstyle'`が`0` (on-the-spot)の時に`<Left>`にマッピングするとIME入力がおかしくなる件を修正しました。(関連URI: [vim-jp/issues/663](https://github.com/vim-jp/issues/issues/663))
* [8.0.1053](https://github.com/vim/vim/commit/9d954207e2cc807b475bb04f8b59ef5bb3772d99): 起動時に`setline()`が動作しない件を修正しました。
* [8.0.1052](https://github.com/vim/vim/commit/e88fc7a574263fd399c6815378bcd8fd228d8b54): :four_leaf_clover:`term_start()`の引数{options}にエントリ`"in_io"`, `"out_io"`, `"err_io"`を追加しました。
* [8.0.1051](https://github.com/vim/vim/commit/9d654a8d8cd3421307445f111785fb303a38c2a0): `:term`に空白を含む引数が渡せない件を修正しました。
* [8.0.1050](https://github.com/vim/vim/commit/595a40226ea1285689b622042534fd8442402db3): :four_leaf_clover:Hugeフィーチャー(デフォルト)でビルド時はterminal機能を含めるようにしました。
* [8.0.1040](https://github.com/vim/vim/commit/3653822546fb0f1005c32bb5b70dc9bfacdfc954): :four_leaf_clover:`setqflist()`および`getqflist()`の引数{what}にエントリ`"efm"`を追加しました。`"lines"`をパースするためのerrorformatとして使われます。`"efm"`未指定時は`'errorformat'`の値が使われます。
* [8.0.1039](https://github.com/vim/vim/commit/b31cf2bb0be95d106bd8eef93cc07550591c1d0d): :four_leaf_clover:`setbufline()`を追加しました。カレントバッファ以外のバッファを変更できるようになりました。
* [8.0.1038](https://github.com/vim/vim/commit/cf4b00c856ef714482d8d060332ac9a4d74e6b88): :four_leaf_clover:「取り消し線(Strike-through)」属性のサポートを追加しました。`synIDattr()`の引数{what}に`"strike"`を追加、`'highlight'`の表示モードに`t`を追加、termcapオプション`t_Ts`と`t_Te`を追加、他。
* [8.0.1037](https://github.com/vim/vim/commit/da22b8cc8b1b96fabd5a4c35c57b04a351340fb1): `'diffopt'`の`"icase"`アイテムが大文字小文字以外の差分がある場合のハイライト表示に反映されない件を修正しました。
* [8.0.1035](https://github.com/vim/vim/commit/ef68e4fa528165f8dd63156feeffc1af629b8d8a): :four_leaf_clover:バッファラインのterminalへの送信がWindowsで正しく動作しない件を修正しました(2)。`:terminal`の引数に`++eof`を追加しました。(関連patch: [8.0.1034](https://github.com/vim/vim/commit/3346cc4ffb459ecddb97a8c19bcc5834afa4dead))
* [8.0.1034](https://github.com/vim/vim/commit/3346cc4ffb459ecddb97a8c19bcc5834afa4dead): :four_leaf_clover:バッファラインのterminalへの送信がWindowsで正しく動作しない件を修正しました(1)。`term_start()`の引数{options}にエントリ`"eof_chars"`を追加しました。(関連patch: [8.0.1035](https://github.com/vim/vim/commit/ef68e4fa528165f8dd63156feeffc1af629b8d8a), [8.0.1036](https://github.com/vim/vim/commit/dada6d2a8e887309e88cb126f1251d81f91b4b9d))
* [8.0.1033](https://github.com/vim/vim/commit/995e4afcfe60aa3c214ba680e7b027a4e05cf62b): 環境変数TERMが`screen.xterm`の場合はxtermと同等のtermcapを使用するようにしました。但し、termresponseのバージョンが大き過ぎる時は、xtermではないと認識します。
* [8.0.1031](https://github.com/vim/vim/commit/2c809b7c7d2bb5e4b7fd09c3d312cadecf0c1ff0): :four_leaf_clover:`getqflist()`および`setqflist()`の引数{what}のエントリ`"text"`の名称を`"lines"`に変更しました。(`getqflist()`の戻り値のエントリ`"text"`および`setqflist()`の第1引数{list}のエントリ`"text"`と混乱しやすかった為)
 (関連patch: [8.0.1006](https://github.com/vim/vim/commit/7adf06f4e25c795ba32ff0b2e8591330f6a41afb))
* [8.0.1029](https://github.com/vim/vim/commit/da73253a0b908bad03ddcd625fe3fb32008efbf6): :four_leaf_clover:`getqflist()`は常に`"items"`エントリを返すようにしました。
* [8.0.1028](https://github.com/vim/vim/commit/3d593c2dc97c5426316bf343910cad911b2f6b49): Windowsで`$HOME`未設定時にviminfoを`$VIM/_viminfo`に作成していた件を修正しました。(関連patch: [8.0.1012](https://github.com/vim/vim/commit/48340b62e812dc9280f621a2eb6db76d43555c66))
* [8.0.1027](https://github.com/vim/vim/commit/2db0ec4b2ec405aca4e642e0420ce703f94914a8): PuTTY, XfceおよびKonsoleで環境変数TERMが "xterm-256colors" の場合、起動時に`'t_RS'`の値('$q q')や`'t_RC'`の値('?12$p')が画面に出力されてしまう件を修正しました。(関連patch: [8.0.0996](https://github.com/vim/vim/commit/833e0e3c8ccd6047dd596c4ffd68cb0ab13b4e41), [8.0.1016](https://github.com/vim/vim/commit/f3af54eeb1575618b866aa837e7aca7665aca196), [8.0.1021](https://github.com/vim/vim/commit/dc5471d482c372f547006325d7c8f16d6cc9d371), [8.0.1059](https://github.com/vim/vim/commit/3d8d2c7ca5dda5bfd62c6d5df6659cf62e960a3d), [8.0.1066](https://github.com/vim/vim/commit/2e49b6b20c3d7229edf41ac03931ce32ce0f7bd8), [8.0.1068](https://github.com/vim/vim/commit/618d6d277e7b64ea03fcefdd75d673e8973b46c4))

---
#### 凡例

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

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

---
#### ひとこと