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

[Vim](http://www.vim.org/) patchダイジェスト \[2017/11]
([8.0.1242](https://github.com/vim/vim/commit/ffd99f729bd806e09d9355ede9c17780b61057bf) ～ [8.0.1360](https://github.com/vim/vim/commit/76bb7196f5102c9929959d710e8ed97a19affa4d))

* [8.0.1360](https://github.com/vim/vim/commit/76bb7196f5102c9929959d710e8ed97a19affa4d): terminalでTerminalハイライトが効かなくなっていたのを修正しました。(関連patch: [8.0.1359](https://github.com/vim/vim/commit/46359e198f6d6884dc3d3c4a3e46625f1b2a2ad2))
* [runtimeファイル更新](https://github.com/vim/vim/commit/2f0584910c0ea93966dfa7b3b0272dfb16ea6f91): ドキュメントの誤字修正。他。
* [8.0.1359](https://github.com/vim/vim/commit/46359e198f6d6884dc3d3c4a3e46625f1b2a2ad2): Libvterm ANSIカラーはRGB値から認識することが出来ないのを修正しました。VTermColorにANSIカラーのindexを追加しました。(関連patch: [8.0.1360](https://github.com/vim/vim/commit/76bb7196f5102c9929959d710e8ed97a19affa4d))
* [8.0.1358](https://github.com/vim/vim/commit/8b9e20afb0da79a21155988a38704b5777cc2efe): terminalでundercurlハイライト(下波線)を使えるようにしました。
* [8.0.1356](https://github.com/vim/vim/commit/c5aa55db7e5bc791f99fb15b0f4be0d5dd166f62): `GUIEnter`イベント内で`:simalt`を使用すると奇妙な文字が挿入される件を修正しました。
* [8.0.1355](https://github.com/vim/vim/commit/a45ff6caba706191b4fe328cab4c742ce17fa779): Windows: vim.exeでカーソルキーが効かなくなっていたので1つ前のpatchをrevertしました。(関連patch: [8.0.1354](https://github.com/vim/vim/commit/3660a10c73a6d716ae9fca21f7c5a3282ddc7c85))
* [8.0.1353](https://github.com/vim/vim/commit/1ed2276fd50f34e824eeae93d5a5ebfdf118be26): `QuickFixCmdPost`イベントの呼び出しに一貫性がないのを修正しました。
* [8.0.1350](https://github.com/vim/vim/commit/1355aad2b94790217aeef9077d3fb9925461f137): :four_leaf_clover:input methodが有効(`+multi_byte_ime` or `+xim`)な場合は`+multi_byte`も有効にするようにしました。(関連patch: [8.0.1336](https://github.com/vim/vim/commit/6315a9ae924d2104b61d1667ea71af3ac7cf48fa))
* [8.0.1346](https://github.com/vim/vim/commit/a3571ebef5a2969d16e3e202ec4bca8858aca6ba): `balloon_split()`に50byteの文字列を渡すとクラッシュする件を修正しました。(関連patch: [8.0.1309](https://github.com/vim/vim/commit/51b0f3701ecb440aa72ab6017c1df6940c0e0f6f))
* [8.0.1345](https://github.com/vim/vim/commit/c41838aa01ef99540e2737c42e9b1283e3da5e26): viminfo一時ファイルのためのstat()とopen()で競合状態が起きていたのを修正しました。(関連patch: [8.0.1347](https://github.com/vim/vim/commit/e0aa23f7e3cc389251ecb3266926ac7d83056b1b))
* [8.0.1344](https://github.com/vim/vim/commit/2877d334ad1321d1fcd5f903c0493bd0cdd787f8): GUIで動作している時は`'imactivatefunc'`および`'imstatusfunc'`を使用しないようにしました。(関連patch: [8.0.1336](https://github.com/vim/vim/commit/6315a9ae924d2104b61d1667ea71af3ac7cf48fa))
* [8.0.1343](https://github.com/vim/vim/commit/d7ccc4d81dbcfa3ac0352bacea6e294fc9e33fda): :four_leaf_clover:Windows: emojiをカラーで表示するようにしました。描画速度を改善しました。`'renderoptions'`の`taamode`の指定が反映されるようになりました。
* [8.0.1336](https://github.com/vim/vim/commit/6315a9ae924d2104b61d1667ea71af3ac7cf48fa): :four_leaf_clover:`+xim`, `+multi_byte_ime`または`global-ime`が有効の状態でコンパイルされていないVimでも`'imactivatefunc'`, `'imstatusfunc'`および`'iminsert'`等の設定をおこなえるようにしました。(関連patch: [8.0.1337](https://github.com/vim/vim/commit/50d43153a7e3e452cd166cde0d84ecacd316321f), [8.0.1338](https://github.com/vim/vim/commit/819edbe078c8579f3620d12dac830f12ccdc5a45), [8.0.1340](https://github.com/vim/vim/commit/281c93e7140ba87552c4edcbfdaaa5e25dc6a97a), [8.0.1341](https://github.com/vim/vim/commit/be5d998d0ea2226f1f7180c32b19df17ad674853), [8.0.1342](https://github.com/vim/vim/commit/fb1db0e3550355e10ac86c4a4af21209c5456a66), [8.0.1344](https://github.com/vim/vim/commit/2877d334ad1321d1fcd5f903c0493bd0cdd787f8), [8.0.1350](https://github.com/vim/vim/commit/1355aad2b94790217aeef9077d3fb9925461f137). [8.0.1351](https://github.com/vim/vim/commit/bdb8139098d170ede2bc79dd4f62e4ed5e778d3e)) (関連URI: [vim-jp/issues/1118](https://github.com/vim-jp/issues/issues/1118))
* [8.0.1335](https://github.com/vim/vim/commit/291a9d15ed1eb1094edc8ad6dda00a6da3bd7072): `Writefile()`でfsync()を使用するとデバイスによってはエラーを発生させる可能性があった件を修正しました。(関連patch: [8.0.1305](https://github.com/vim/vim/commit/7567d0b115e332f61a9f390aaccdf7825b891227), [8.0.1339](https://github.com/vim/vim/commit/83799a7b7414048df4ff4e507293416e8438e225))
* [8.0.1334](https://github.com/vim/vim/commit/3167c3e7010ac7e2fd7d3aa198dd2d1dcff8ecc8): ウィンドウツールバー(`:h winbar`)のあるウィンドウを`:split`するとウィンドウレイアウトが崩れる件を修正しました。
* [8.0.1332](https://github.com/vim/vim/commit/93a32e2ec4b5a391c5006ca09f196e6510c8c2e9): quickfixウィンドウ内のhighlight項目の属性に runtime/syntax/qf.vim で定義されたもの(`qfSeparator`等)を使用するようにしました。
* [8.0.1331](https://github.com/vim/vim/commit/3679c17917d7ff22e836982c81e5816bd07451dd): `set winminheight=0`した場合にクラッシュする可能性があるのを修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/a2a80162deb1e96e16b097dfe48b61b6eb0824bf): 各種ドキュメントの更新。
* [8.0.1330](https://github.com/vim/vim/commit/52dbb5ea7fde4a77178bc59e2383ca40df503812): Windowsの`:terminal`で環境変数`VIM_SERVERNAME`が設定されない件を修正しました。(関連URI: [vim-jp/issues/1119](https://github.com/vim-jp/issues/issues/1119))
* [8.0.1328](https://github.com/vim/vim/commit/ff5467965e3871d3dc0288416fcc6b1e2ba4f822): `:term ++close`と`autocmd`の組み合わせでエラー`E16`が起きる件を修正しました。
* [8.0.1324](https://github.com/vim/vim/commit/bb160a188abb3c40258d3e5726524ce203333e84): 一部のxtermエミュレータが送ってくるマウス移動イベント`0x80`を受け入れるようにしました。
* [8.0.1323](https://github.com/vim/vim/commit/73675fbc4810470f8935f05a3c16c14e0d5e737f): terminalウィンドウ内のマウスイベントが永久ループを起こす可能性があったのを修正しました。
* [8.0.1318](https://github.com/vim/vim/commit/246fe03d154c09070d5b7365b7f61716c4e0ddd4): :four_leaf_clover:terminal内のballoonをいい感じの方法で複数行にしました。`balloon_split()`を追加しました。`balloon_show()`がリストを受け入れるようにしました。
* [8.0.1312](https://github.com/vim/vim/commit/c3719bd87beca9f72d2e9f11e36d561c2c3b57b0): FEAT_BEVAL_GUIを追加し、GUI固有のファイルから共通コードを移動するためにリファクタリングしました。
* [8.0.1309](https://github.com/vim/vim/commit/51b0f3701ecb440aa72ab6017c1df6940c0e0f6f): :four_leaf_clover:`'balloonevalterm'`を追加し、terminal内のマウスの動きを処理するコードを追加しました。※GUI Unix用の初期実装です。(関連patch: [8.0.1312](https://github.com/vim/vim/commit/c3719bd87beca9f72d2e9f11e36d561c2c3b57b0), [8.0.1313](https://github.com/vim/vim/commit/d1c28346e194ecf2303fe744052fb7cedc28fcfa), [8.0.1318](https://github.com/vim/vim/commit/246fe03d154c09070d5b7365b7f61716c4e0ddd4), [8.0.1346](https://github.com/vim/vim/commit/a3571ebef5a2969d16e3e202ec4bca8858aca6ba))
* [8.0.1308](https://github.com/vim/vim/commit/234d16286a2733adedef56784c17415ae169b9ad): :four_leaf_clover:vimを標準入力からテキストを読込むように起動させた時(`:h --`)に`--not-a-term`を指定した場合は、標準出力に`Vim: Reading from stdin...`を出力しないようにしました。
* [8.0.1305](https://github.com/vim/vim/commit/7567d0b115e332f61a9f390aaccdf7825b891227): :four_leaf_clover:`writefile()`の引数{flags}に`s`および`S`を追加しました。これらの指定で`'fsync'`に依存せずにfsync()の呼び出しを制御出来ます。(関連patch: [8.0.1335](https://github.com/vim/vim/commit/291a9d15ed1eb1094edc8ad6dda00a6da3bd7072))
* [8.0.1304](https://github.com/vim/vim/commit/d0480097177369a6ed91d47aba189ae647afcd68): `incsearch`がオンの時、`//`入力後の`CTRL-G`/`CTRL-T`が前回の検索パターンで検索していない件を修正しました。(`:h /<CR>`)
* [8.0.1303](https://github.com/vim/vim/commit/9c6ce0e62297294b41344e684429a91853bc2268): termresponse (`:h termresponse-variable`)でTerminal.appかiTerm2と認識した場合は`'ttymouse'`に`sgr`を設定するようにしました。
* [8.0.1299](https://github.com/vim/vim/commit/a42ad57e481d6ed9c34c80c99bd0512d4660515b): terminalウィンドウでBracketed paste (`:h xterm-bracketed-paste`)が正しく動作しない件を修正しました。
* [8.0.1295](https://github.com/vim/vim/commit/e42a6d250907e278707753d7d1ba91ffc2471db0): :four_leaf_clover:configureに`--enable-autoservername`オプションを追加しました。有効時はVim起動時にサーバ名(`:h client-server-name`)を自動で定義します。(関連patch: [8.0.1297](https://github.com/vim/vim/commit/23921432369e210029a26864cfb4f1537b3c3395))
* [8.0.1294](https://github.com/vim/vim/commit/2f27aab8e68c48a1b8a51715e1009d572f8e13b5): GUI: terminalウィンドウで`<C-W>s`→`<C-W>q`すると操作不能になることがある件を修正しました。(関連patch: [8.0.1296](https://github.com/vim/vim/commit/1dcada1933acdab93ac423951b5958125343833d))
* [8.0.1292](https://github.com/vim/vim/commit/d327b0c68fa9b32877123f77560f4521a9eb39db): ウィンドウツールバー(`:h winbar`)を素早くダブルクリックするとビジュアルモードになってしまう件を修正しました。
* [8.0.1291](https://github.com/vim/vim/commit/f8c53d3d268fc67a29c8c1a4e76fae85762e11b5): C言語で`*`直後の`/*`をコメント開始と認識してインデントがおかしくなる件を修正しました。
* [8.0.1290](https://github.com/vim/vim/commit/80eaddd3a0bc47cb14168964678420cfe03a2502): `:undo`後に`undotree()`の返す値`seq_cur`がおかしいことがある件を修正しました。(関連URI: [vim-jp/issues/1113](https://github.com/vim-jp/issues/issues/1113))
* [runtimeファイル更新](https://github.com/vim/vim/commit/7f2e9d7c9cdfc5201a899b7b610edf64bf80c45f): [syntax/tex.vim](https://github.com/vim/vim/commit/7f2e9d7c9cdfc5201a899b7b610edf64bf80c45f#diff-9aa7419d9504f85f995d943175f49e46)の文法エラー修正。その他。
* [8.0.1289](https://github.com/vim/vim/commit/13e904199c2af6aac9b289a7f520d8e16f6e478a): :four_leaf_clover:`'viewoptions'`に`curdir`を追加しました。`:mkview`にローカルディレクトリの情報が含まれるのを抑止出来ます。
* [8.0.1288](https://github.com/vim/vim/commit/ae147ab2d7649e7a0bcf11b9f3db1900c1a4d594): GUI: terminalウィンドウのステータスラインをドラッグ出来ない件を修正しました。
* [8.0.1287](https://github.com/vim/vim/commit/aeeb6888ca3ee5122793b37c5aacc6c960b02c37): `viminfo`用の一時ファイルのpermissionがおかしい場合がある件を修正しました。(関連patch: [8.0.1300](https://github.com/vim/vim/commit/cd142e3369db8888163a511dbe9907bcd138829c))
* [8.0.1286](https://github.com/vim/vim/commit/5fd8b78214a52b561780eb5ba000b1a3f5ba1d3d): channelを使用するとたまにクラッシュすることがある件を修正しました。
* [8.0.1285](https://github.com/vim/vim/commit/d09a206ee94ccb653707ce9b6e536d4d58886e04): 配布しているautoloadファイルがユーザのファイルと衝突する可能性があるのでリネームしました。(runtime/autoload/filetype.vim → runtime/autoload/dist/ft.vim) ※commitコメントが[間違えている](https://github.com/vim/vim/commit/d09a206ee94ccb653707ce9b6e536d4d58886e04)
* [8.0.1284](https://github.com/vim/vim/commit/462455ee8b81cb5709007d91248ac4a88308d6e9): fileタイプの検出を高速化しました。(関連patch: [8.0.1281](https://github.com/vim/vim/commit/851ee6c3da5fd726d92e1e3300d7e5e2e8b907c5), [8.0.1282](https://github.com/vim/vim/commit/cef7322d8a902b4655ed861489c4e798672074f0)) (関連URI: [tweet](https://twitter.com/h_east/status/929273389243437056))
* [8.0.1280](https://github.com/vim/vim/commit/de323093e1be165a3eadd1ab3d02942358cd97bf): Pythonの値`"None"`をVimの`v:none`に変換するようにしました。
* [8.0.1279](https://github.com/vim/vim/commit/040c1feb212568cf04265e59b26182f8b76057aa): GUI起動時のcolor scheme、keymapおよびcompiler設定の展開を遅延させることで起動時間を短縮しました。
* [8.0.1278](https://github.com/vim/vim/commit/8ac441576fd219fb7227349e228d5b68520b204a): :four_leaf_clover:`'guioptions'`に`'k'`を追加しました。スクロールバー、ツールバー、タブライン等の追加/削除時にGUIのウィンドウサイズを維持します。
* [8.0.1277](https://github.com/vim/vim/commit/26d205dcd886b48713f22cbdbf2a8e55400083dc): terminalウィンドウの`CR`→`NL`変換は問題を起こしていたので止めました。
* [8.0.1276](https://github.com/vim/vim/commit/a3f7e58bf846b28b347a5d5b96c2d829871bd212): `term_start()`の`'exit_cb'`でterminalウィンドウをcloseすると、次に入力したキーが失われる件を修正しました。
* [8.0.1275](https://github.com/vim/vim/commit/c9e9c7140994154bb4a29764491d42c001b24596): `CmdlineLeave`autocmdが処理されるとFoldを開く動作がおこなわれるべき処理がおこなわれなくなる件を修正しました。
* [8.0.1274](https://github.com/vim/vim/commit/0c4dc88a637a5027209aa00226996af84e248636): Foldingを使っているバッファに`setbufline()`を使用するとおかしな結果になっていた件を修正しました。(関連URI: [vim-jp/issues/1080](https://github.com/vim-jp/issues/issues/1080))
* [runtimeファイル更新](https://github.com/vim/vim/commit/b0d45e7f5354375edd02afafde3bd37dac1515ff): [netrwプラグインの大幅な更新](https://github.com/vim/vim/commit/b0d45e7f5354375edd02afafde3bd37dac1515ff#diff-3abb9629535900f0c07a312231e18483)。ドキュメントの更新。他
* [8.0.1268](https://github.com/vim/vim/commit/3bf8c3c38ff0d24047e2f2979c07a349fb89e557): PCへのインストール手順(src/INSTALLpc.txt)が不完全だったので更新しました。
* [8.0.1264](https://github.com/vim/vim/commit/c3632516303842244442f354734e54a403ec4b50): terminal debuggerプラグインが小さなウィンドウでフリーズする件を修正しました。
* [8.0.1263](https://github.com/vim/vim/commit/5a73e0ca54c77e067c3b12ea6f35e3e8681e8cf8): ユーザがプライマリグループに不注意な場合に他のユーザがswpファイルを読み取ることができる件を修正しました。
* [8.0.1261](https://github.com/vim/vim/commit/1232624ae5b56c167c5982a2620f736c4bbc19ef): terminalウィンドウ内のプログラムが`CR`の代わりに`NL`を取得していた件を修正しました。(関連URI: [vim-jp/issues/1103](https://github.com/vim/vim/commit/1232624ae5b56c167c5982a2620f736c4bbc19ef))
* [8.0.1258](https://github.com/vim/vim/commit/52a2f0f1da4e554a81beb45211a9d09afffde595): sgr mouseをサポートしていなくても`'ttymouse'`に`sgr`がセットされてしまう件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/01164a6546b4c635daf96a1f17d1cb2d07f32a66): [gdb](https://github.com/vim/vim/commit/01164a6546b4c635daf96a1f17d1cb2d07f32a66#diff-4087905b34e6464e5513e36267ee0539)および[NeoMutt設定ファイル](https://github.com/vim/vim/commit/01164a6546b4c635daf96a1f17d1cb2d07f32a66#diff-2eeab09ce8e5c3eb5be0c3eb98f852da)のfiletypeプラグインの追加。documentの追記、誤記修正。等々。
* [8.0.1250](https://github.com/vim/vim/commit/f8f8b2eadbaf3090fcfccbab560de5dbd501833d): `'hlsearch'`のhighlightがincsearch後も残っている件を修正しました。(関連patch: [8.0.1238](https://github.com/vim/vim/commit/2e51d9a0972080b087d566608472928d5b7b35d7), [8.0.1304](https://github.com/vim/vim/commit/d0480097177369a6ed91d47aba189ae647afcd68))
* [8.0.1249](https://github.com/vim/vim/commit/c20e0d52071a3f6e12321ec3344024faa4695da9): test用共通関数`WaitFor()`で式の評価時のエラーを無視しないようにしました。(関連patch: [8.0.1251](https://github.com/vim/vim/commit/d97fbf171ec0e63117813da045d2a1c51a9b6f62))
* [8.0.1247](https://github.com/vim/vim/commit/86b21bb3e7bc687fc74e127d78a89b411929716b): :four_leaf_clover:Debianビルド情報のバッジを[README.md](https://github.com/vim/vim)に追加しました。(関連patch: [8.0.1248](https://github.com/vim/vim/commit/5130f316612dfc71c433c2743340dc45444eb17d))
* [8.0.1242](https://github.com/vim/vim/commit/ffd99f729bd806e09d9355ede9c17780b61057bf): 関数の引数がダッシュ(`-`)の場合に文字列`-`ではなく数字の`0`とみなされていた件を修正しました。

---
#### 凡例

|表記|意味|
|:------|:------|
|: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)を参照。