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

[Vim](http://www.vim.org/) patchダイジェスト \[2018/09]
([8.1.0342](https://github.com/vim/vim/commit/94f01956a583223dafe24135489d0ab1100ab0ad) ～ [8.1.0443](https://github.com/vim/vim/commit/6dff58f15cede9139b2fcfc64c9064326ea3d3b0))

* [8.1.0442](https://github.com/vim/vim/commit/f45d747ebf920940b041f5c75c2bfdffb6b670ae): GUI: `:redraw | sleep`の後にカーソルが描画されない件を修正しました。
* [8.1.0436](https://github.com/vim/vim/commit/ee91c33570008aefd2d62b8f88b22db751acacbe): `getcmdline()`で`inputsecret()`からのテキストを取得できてしまう件を修正しました。(関連patch: [8.1.0439](https://github.com/vim/vim/commit/438d176e35c16d56ff3bb7a80300197ce5a30c4f), [8.1.0441](https://github.com/vim/vim/commit/d3dc062160b52f2a01900a8b8badb531fb8b3f16))
* [8.1.0433](https://github.com/vim/vim/commit/31cbadf74bccc2a5cd8233bc31bbcfe466b00021): マッピングで`inputsecret()`からのテキストを取得できてしまう件を修正しました。
* [8.1.0425](https://github.com/vim/vim/commit/9cea87c5775948a35098f3602746c20ecf95dbcd): `appendbufline()`でエラー`E315`になったりクラッシュすることがあるのを修正しました。
* [8.1.0424](https://github.com/vim/vim/commit/e76d7a63dfe916c321e248fbfc97bd948d6fbabb): `make test`の出力がかなり冗長だったので、出力の殆どを /dev/null にリダイレクトしました。
* [8.1.0418](https://github.com/vim/vim/commit/b872e63fc6c1955d3a9c33745e29c57f354aa73b): :four_leaf_clover:Windows: ビルド時に環境変数`LUA_LIBDIR`と`LUA_INCDIR`で個別にパス指定できるようにしました。
* [8.1.0416](https://github.com/vim/vim/commit/b0e982bf05feb27eddb5f809b052c1137f4d4add): :four_leaf_clover:`:sort u`で削除された行数をメッセージ表示するようにしました。(削除行数が`'report'`の値を超えた場合のみ)
* [8.1.0414](https://github.com/vim/vim/commit/3f3fb0b14734272e7c817020c847aaa0fba5cea5): `OptionSet`イベント内で`:set`を使用すると`v:option_old`と`v:option_new`がクリアされる件を修正しました。
* [8.1.0401](https://github.com/vim/vim/commit/110bd60985c31e8978e9b071e2179f4233ef8557): :four_leaf_clover:`swapname()`を追加しました。指定バッファのswapファイルパスを取得出来ます。
* [8.1.0397](https://github.com/vim/vim/commit/e8fa05b5bc2d6d76bf5af50176a63655d00d1110): :four_leaf_clover:オートコマンドイベント`DiffUpdated`を追加しました。diff更新時に発生します。(関連patch: [8.1.0360](https://github.com/vim/vim/commit/e828b7621cf9065a3582be0c4dd1e0e846e335bf), [8.1.0402](https://github.com/vim/vim/commit/198fa066b2ec011e91012c1a3d85a73df7b93f31))
* [8.1.0393](https://github.com/vim/vim/commit/785fc6567f572b8caefbc89ec29bbd8b801464ae): :four_leaf_clover:`'diffopt'`にオプション`iblank`, `iwhiteall` および `iwhiteeol`を追加しました。(関連patch: [8.1.0360](https://github.com/vim/vim/commit/e828b7621cf9065a3582be0c4dd1e0e846e335bf))
* [8.1.0392](https://github.com/vim/vim/commit/50eb16c3b23235b21ce4494673a7741a9a196176): `'incsearch'`時に`:/foo/s//`をタイプするとエラーになる件を修正しました。
* [8.1.0374](https://github.com/vim/vim/commit/bd9a53c06c8869ad811cb3dd01a309c9be7d7a63): `'relativenumber'`時のカーソル移動が遅い件を改善しました。(関連patch: [8.1.0449](https://github.com/vim/vim/commit/7701f308565fdc7b5096a6597d9c3b63de0bbcec))
* [8.1.0372](https://github.com/vim/vim/commit/90a997987dbbe43af3c15118a35f658f0f037d1d): `'cursorline'`時の画面更新が遅い件を改善しました。(関連patch: [8.1.0373](https://github.com/vim/vim/commit/1b7fefcbce5dd2fd337e217d4857b941da3f8bed), [8.1.0435](https://github.com/vim/vim/commit/8c63e0ec314ba07d54b881dc629fe19e6eda1fb8), [8.1.0448](https://github.com/vim/vim/commit/4a5abbd6138240d109278fe1f0b45489d22f712d))
* [8.1.0371](https://github.com/vim/vim/commit/643b6140873e0e6f297df0cbca11bc1ea1f21925): Cソースコード内の`select()`の引数がプラットフォームによっては間違っていた件を修正しました。
* [8.1.0369](https://github.com/vim/vim/commit/67f8ab829911c7901c534ef2bf19cc34b622936f): :four_leaf_clover:Vim scriptで継続行の途中でも `"\␣` (␣は半角スペース) の3文字でコメントを入れられるようにしました。
* [8.1.0365](https://github.com/vim/vim/commit/4c7b08f6409349cf5324a26f7523c438590550ef): :four_leaf_clover:関数のプロファイリング(`:h :profile`)に関数の定義されているファイル名と行番号を出力するようにしました。(関連patch: [8.1.0362](https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761))
* [8.1.0362](https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761): :four_leaf_clover:Vim scriptの関数実行時にスクリプトファイルの行番号を`<sflnum>`で参照できるようにしました。また、`:verbose set`の出力にスクリプトファイルの行番号を出すようにしました。(関連patch: [8.1.0365](https://github.com/vim/vim/commit/4c7b08f6409349cf5324a26f7523c438590550ef))
* [8.1.0361](https://github.com/vim/vim/commit/6b0b83f768cf536b34ce4d3f2de6bf62324229aa): :four_leaf_clover:ユーザー名補完の候補にリモートユーザー名を含めるようにしました。(`$USER`が有効な値の場合のみ)
* [8.1.0360](https://github.com/vim/vim/commit/e828b7621cf9065a3582be0c4dd1e0e846e335bf): :four_leaf_clover:内部diffを実装しました。xdiffライブラリのソースコードを組み込んだので、外部diffプログラムがなくても差分機能を使用できます。`'diffexpr'`が空の場合はデフォルトで内部diffを使います。(`:h 'diffopt'` して`internal`で検索) (関連patch: [8.1.0363](https://github.com/vim/vim/commit/c93262b2e3fb043c685bd4014a35a29111dea484), [8.1.0364](https://github.com/vim/vim/commit/e797abf3c75358ebc0b31d6e076972daf889e06e), [8.1.0366](https://github.com/vim/vim/commit/007921611b04d8fca5ad0b1d4e7b0461b47cd435), [8.1.0370](https://github.com/vim/vim/commit/274cea35c6d409cfb16862ff24e789b2d3ea3ee3), [8.1.0375](https://github.com/vim/vim/commit/3b8defd0a52fc1276816608e7bb24b628ab14c2e), [8.1.0377](https://github.com/vim/vim/commit/42335f50bc6fac444a8af74c81df8369d722a6fb), [8.1.0378](https://github.com/vim/vim/commit/0d5f21c3dfaceed08b4cdb33a73eb16f680ff49b), [8.1.0379](https://github.com/vim/vim/commit/78dcd4f002c41fff9c15434336f57210edc384f2), [8.1.0381](https://github.com/vim/vim/commit/5c6f574bd1e07d6eab077fa8f28b2c0cd480b068), [8.1.0382](https://github.com/vim/vim/commit/0f7683f9739087f3c7a4678c5182ed0517523b4a), [8.1.0393](https://github.com/vim/vim/commit/785fc6567f572b8caefbc89ec29bbd8b801464ae), [8.1.0394](https://github.com/vim/vim/commit/e3521d9cbb786806eaff106707851d37d2c0ecef), [8.1.0397](https://github.com/vim/vim/commit/e8fa05b5bc2d6d76bf5af50176a63655d00d1110), [8.1.0400](https://github.com/vim/vim/commit/d2b58c0a2c665075a8cfef57db6e1b37d4523e02), [8.1.0402](https://github.com/vim/vim/commit/198fa066b2ec011e91012c1a3d85a73df7b93f31))
* [runtimeファイル更新](https://github.com/vim/vim/commit/93a1df2c205c8399d96c172d9483e0793d32892a): [Todo](https://github.com/vim/vim/commit/93a1df2c205c8399d96c172d9483e0793d32892a#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.1.0358](https://github.com/vim/vim/commit/a5c48c2698291e59244a705af1b7dbc60e03b09c): ジョブ終了後に`using term_dumpwrite()`を呼び出すとクラッシュする件を修正しました。(関連patch: [8.1.0359](https://github.com/vim/vim/commit/6f8bdab8e2ffec07aea03447f87c80b50e01f430))
* [8.1.0356](https://github.com/vim/vim/commit/99f043a57d0be35ef72572b0429cf51525c3cd2b): `'incsearch'`時に`:s`中の`CTRL-R CTRL-W`が正しくない件を修正しました。
* [8.1.0355](https://github.com/vim/vim/commit/a750ac2288eae4f751185597885552e9b6e4d27c): プレビューウィンドウのためのポップアップメニューの高さの調整が正しくなかった件を修正しました。(:raising_hand:: ポップアップメニューを上下どちらに出すかの判定はカレントウィンドウとカーソル位置で決定しているのに、上側に出すときだけプレビューウィンドウがあればポップアップメニューとの重複を許容するこのpatchは不自然なので近い内にvim_devで~~問い合わせる予定~~ [問い合わせ中](https://github.com/vim/vim/pull/3414#issuecomment-431233071)→修正されました:+1:) (関連patch: [8.1.0554](https://github.com/vim/vim/commit/614ab8aa00346724bfc27980d25985d482269b75))
* [8.1.0353](https://github.com/vim/vim/commit/99396d4cbf78d313a454c7448acc07412d2e45b7): :four_leaf_clover:packageの`"after"`ディレクトリを`'rtp'`のユーザーの`"after"`ディレクトリよりも後ろに追加していたのを、他の`"after"`ディレクトリの前に挿入するように変更しました。(関連patch: [8.1.0354](https://github.com/vim/vim/commit/53c8a478cc4265549597b00214e0da812154742e))
* [8.1.0352](https://github.com/vim/vim/commit/d4a1aabe372ccb95aec968f4d54503231b1f956c): 圧縮されたtarファイルのブラウズが機能しないことがあったのを修正しました。
* [8.1.0351](https://github.com/vim/vim/commit/198cb66d652d3d8ac16226dcc929a11b0b720151): `'incsearch'`状態で`:/foo/s//<Esc>`すると、最後の検索パターンが変更されてしまう件を修正しました。
* [8.1.0350](https://github.com/vim/vim/commit/0b1468884a2a1c5d3442cbb7119330e307f0aa3d): :four_leaf_clover:`job_start()`の引数{options}のエントリに`"noblock"`を追加しました。1にするとwriteがノンブロッキングでおこなわれます。
* [runtimeファイル更新](https://github.com/vim/vim/commit/20aac6c1126988339611576d425965a25a777658): 
 * [C言語の補完スクリプト](https://github.com/vim/vim/commit/20aac6c1126988339611576d425965a25a777658#diff-36ef923174402482c54ec06d3f06a2f4)を少し改善しました。
 * [Haskell Stack用コンパイラ定義ファイル](https://github.com/vim/vim/commit/20aac6c1126988339611576d425965a25a777658#diff-08f65e80a0ca11ac7fda8eca63984780)を追加しました。
 * [MS-DOSバッチファイルのインデント定義ファイル](https://github.com/vim/vim/commit/20aac6c1126988339611576d425965a25a777658#diff-528bb04e8332f5735bd77d15d6bcfed5)を追加しました。
 * [Todo](https://github.com/vim/vim/commit/20aac6c1126988339611576d425965a25a777658#diff-38d7929bd26d74d92ceddf984bbfc8db)の更新。
 * helpファイルの更新。他。
* [8.1.0346](https://github.com/vim/vim/commit/acca8df9d475bbfbafc71691ebc3b857ecd2777e): 古くて使われていない [Aap](http://www.a-a-p.org/)ビルド関連のファイルを削除しました。
* [8.1.0345](https://github.com/vim/vim/commit/c9cc9c78f21caba7ecb5c90403df5e19a57aa96a): :four_leaf_clover:`getloclist()`の引数{what}のエントリに`"filewinid"`を追加しました。
* [8.1.0343](https://github.com/vim/vim/commit/3c5b8cd25485183ff7ce737e4dac069541210f6c): `:lcd`しているカレントウィンドウで呼び出した`getcwd()`の結果が、`'shellslash'`の設定を反映していない件を修正しました。(関連patch: [8.1.0429](https://github.com/vim/vim/commit/c75878c923034b883090aef3f08f565513d98f4d))
* [8.1.0342](https://github.com/vim/vim/commit/94f01956a583223dafe24135489d0ab1100ab0ad): `term_start()`等のコールバック関数内で`:bwipe`するとSEGVすることがある件を修正しました。(関連patch: [8.1.0349](https://github.com/vim/vim/commit/ed5a9d661248a2160368f1b0ab3a1bf74831db04), [8.1.0367](https://github.com/vim/vim/commit/84d9390480548c8d711dd772cb162a91d0bb3c30))

---
#### 凡例

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

---
#### Reviewer
以下の方々にレビューしてもらいました。ありがとうございます。(敬称略、順不同)
@k-takata