Vim

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

Vim patchダイジェスト [2017/08]
(8.0.08278.0.1026)

  • 8.0.1026: :four_leaf_clover:GTKでover-the-spotをサポートしました。'imstyle'を追加しました。
  • 8.0.1023: :four_leaf_clover:getqflist()およびsetqflist()の引数{what}にエントリー"id"を追加しました。setqflist()でquickfixリストを変更するときは、正しいリストが変更されることを保証するために、 "nr"の代わりに "id"を使用してリストを指定する必要があります。
  • 8.0.1016: :four_leaf_clover:GNOME terminalが起動時に't_RC'の値('$q q')を画面に表示してしまう件を修正しました。v:termblinkresp, v:termstyleresp, v:termrgbrespおよびv:termu7respを追加しました。(関連patch: 8.0.1021, 8.0.1027)
  • 8.0.1012: :four_leaf_clover:WindowsでVimが内部で環境変数$HOMEを設定するのをやめました。$HOME未設定時は$HOMEDRIVE$HOMEPATHを参照します。$HOMEおよび$HOMEDRIVE未設定時は$USERPROFILEを参照します。(関連patch: 8.0.1017, 8.0.1028)
  • runtimeファイル更新:
  • 8.0.1006: :four_leaf_clover:getqflist()およびgetloclist()の引数{what}のエントリーに"text"を追加しました。(関連patch: 8.0.1031)
  • 8.0.1004: matchstrpos()で第1引数{expr}が文字列で第3引数{start}が{expr}の文字列長を超えている場合に戻り値が要素数が4のリストになっている件を修正しました。
  • 8.0.1000: :four_leaf_clover::terminal NONEでジョブなしのterminal(とpty)を開くようにしました。(関連patch: 8.0.1005)
  • 8.0.0999: C++のraw文字列のインデントがおかしい件を修正しました。
  • 8.0.0996: macOSのTerminal.appで環境変数TERMが "xterm-256colors" の場合、起動時に't_RS'の値('$q q')が画面に出力されてしまう件を修正しました。(関連patch: 8.0.0997, 8.0.1016, 8.0.1021, 8.0.1027, 8.0.1094)
  • 8.0.0993: たまにxtermがバックグラウンドカラーの応答後に't_RS'に関連する余分なCTRL-Xを送信することがある件を修正しました。(関連patch: 8.0.1069)
  • 8.0.0990: Windowsで'encoding'がUTF-8以外のマルチバイトエンコーディングの場合にterminalウィンドウでレジスタのペーストが文字化けする件を修正しました。(関連patch: 8.0.0991, 8.0.0992)
  • 8.0.0986: :four_leaf_clover:terminal機能はマルチバイト機能が無効の場合は無効になるようにしました。
  • 8.0.0984: GUIのterminalウィンドウでカーソル点滅が正しくない件を修正しました。(関連patch: 8.0.0918)
  • 8.0.0982: Windowsで'encoding'がUTF-8以外のマルチバイトエンコーディングの場合に文字化けが起こるのを修正しました。
  • 8.0.0981: :four_leaf_clover:terminalウィンドウはデフォルトでカーソルを点滅させないようにしました。(実際のxtermの挙動にあわせました)(関連patch: 8.0.0918)
  • 8.0.0976: :four_leaf_clover::[range]terminalの場合は選択された行をジョブに送るようにしました。:termの引数に++rows++colsを追加しました。(関連patch: 8.0.0868, 8.0.0977)
  • 8.0.0974: 文字列オプションをリセット(:h :set-default)してもOptionSetイベントがトリガされない件を修正しました。
  • 8.0.0973: :four_leaf_clover:カーソル点滅に関する初期設定がおかしかったのを修正しました。termcapオプション't_VS'を追加しました。't_vs'および't_SH'を有効にしました。(関連patch: 8.0.0918, 8.0.0965)
  • 8.0.0965: :four_leaf_clover:terminalウィンドウでカーソル形状を変更後に他ウインドウへ移動しても形状が復元されない件を修正しました。termcapオプション't_RS'を追加しました。't_SH'は正しく動かないので一旦無効にしました。(関連patch: 8.0.0918, 8.0.0973)
  • 8.0.0960: :four_leaf_clover:terminalウィンドウでCTRL-W CTRL-Cをタイプした時は強制的にジョブを終了させるようにしました。
  • 8.0.0957: :four_leaf_clover:term_sendkeys()を非ブロッキング化しました。(関連patch: 8.0.0959)
  • 8.0.0952: winptyのDLLがロード可能かチェックしてhas('terminal')の結果に反映するようにしました。(関連patch: 8.0.0958)
  • 8.0.0949: :four_leaf_clover:'winptydll'を追加しました。Windows用です。(関連patch: 8.0.0971)
  • 8.0.0941: :four_leaf_clover:ハイライトグループStatusLineTermが既存のカラースキームでうまく機能しない件を修正しました。また、ハイライトグループStatusLineTermNCを追加しました。(関連patch: 8.0.0825, 8.0.0937, 8.0.0970)
  • 8.0.0936: :four_leaf_clover:mode()をterminalのモードに対応させました。terminalジョブモード時は't'を、terminalノーマルモード時は通常のノーマルモードと同じ'n'を返します。
  • 8.0.0935: :four_leaf_clover::lsでterminalバッファの識別がおこなえるようにしました。実行中のジョブはRを、終了したジョブはFを表示します。
  • 8.0.0932: terminalウィンドウでBSEnterに正しい文字を使用できない件を修正しました。
  • 8.0.0931: :four_leaf_clover:getwininfo()の戻り値の辞書にエントリー"terminal"を追加しました。
  • 8.0.0930: terminalバッファのファイルマークおよびバッファリストの情報はviminfoファイルに含めないようにしました。
  • 8.0.0928: Windowsでジョブの引数リストのエスケープ処理に問題があったのを修正しました。
  • 8.0.0922: :four_leaf_clover:setqflist()の引数{what}のエントリー"nr"'$'の場合はquickfixリストの最後に追加するようにしました。
  • 8.0.0918: :four_leaf_clover:terminalウィンドウのカーソルの形状、属性およびカラーをサポートしました。term_getcursor()が返すリストの3番目を辞書(エントリーは"visible", "blink"および"shape")に変更しました。termcapオプション 't_SC', 't_EC'および't_SH'を追加しました。(関連patch: 8.0.0919, 8.0.0920, 8.0.0921, 8.0.0965, 8.0.0967, 8.0.0965, 8.0.0973, 8.0.0981, 8.0.0984, 8.0.1009)
  • 8.0.0916: :four_leaf_clover:term_start()の引数{options}にエントリー"term_opencmd"を追加しました。"term_finish""open"を指定した時にウィンドウを開くために使用するコマンドを指定できます。
  • 8.0.0914: :four_leaf_clover:highlightコマンドの引数term, ctermおよびguiの属性指定にnocombineを追加しました。nocombine指定時は属性を結合せずに置き換えます。(:h attr-list)
  • 8.0.0913: WindowsのterminalウィンドウでCTRL-C押下時にシェルをkillしている件を修正しました。(関連patch: 8.0.0917)
  • 8.0.0912: :four_leaf_clover::termに引数++hiddenを追加し、term_start()の引数{options}にエントリー"hidden"を追加しました。隠れ状態(hidden)でterminalバッファを開くことができるようになりました。
  • 8.0.0910: :four_leaf_clover::termに引数++curwinを追加し、term_start()の引数{options}にエントリー"curwin"を追加しました。カレントウィンドウでterminalバッファを開くことが可能になりました。
  • 8.0.0908: :four_leaf_clover:term_start()の引数{options}にエントリー"term_rows", "term_cols"および"vertical"を追加しました。
  • 8.0.0907: 文字コードCP932で'guifont'に指定したフォント名が誤って解釈される場合があったのを修正しました。
  • 8.0.0906: :four_leaf_clover:N1QL - Couchbase Query Languageのファイルタイプを追加しました。
  • 8.0.0905: WindowsのコンソールでVim終了後の画面にマルチバイト文字が正しく復元されない件を修正しました。
  • 8.0.0904: :four_leaf_clover:setqflist()の引数{what}にエントリー"text"を追加しました。"text"には1行の文字列か複数行のリストを渡します。これらは'errorformat'を使用して項目抽出がおこなわれ、結果は "nr"番目のquickfixリストに追加されます。
  • runtimeファイル更新: typo修正やtodoの更新等。
  • 8.0.0902: :four_leaf_clover:ジョブオプション(:h job-options)にエントリー"cwd""env"を追加しました。ジョブに環境変数を渡したりカレントワーキングディレクトリを設定できます。
  • 8.0.0900: :tab optionsでoption-windowが新しいタブページで開かれない件を修正しました。
  • 8.0.0898: :four_leaf_clover:terminalで代替画面を使用できるようにしました。合わせてterm_getaltscreen()を追加しました。代替画面を使用している場合に1が返ります。
  • 8.0.0896: :four_leaf_clover::termに引数++close++openを追加しました。terminalジョブ終了時のterminalウィンドウの挙動の指定ができます。また、term_start()の引数{options}のエントリーに"term_finish"を追加し同様の指定ができるようにしました。
  • 8.0.0893: :four_leaf_clover:term_getscrolled()を追加しました。terminalバッファ{buf}のスクロールした行数を返します。
  • 8.0.0892: terminalを開いたとき、ptyサイズが一致しないことがある件を修正しました。
  • 8.0.0887: sandbox内ではch_logfile()を無効にしました。
  • 8.0.0886: ":term ls"でクラッシュする件を修正しました。(関連patch: 8.0.0885)
  • 8.0.0884: :four_leaf_clover:term_wait()に引数{time}を追加して待ち時間(msec)を指定できるようにしました。無指定時は10msec待ちます。
  • 8.0.0882: term_scrape()term_getline()の第2引数が省略不可なっていなかったのを修正しました。(関連patch: 8.0.0817, 8.0.0832)
  • 8.0.0881: Microsoft Visual C++でのビルド時にwin32.makが不要になりました。
  • 8.0.0878: :four_leaf_clover::mapclearで補完が効くようにしました。
  • 8.0.0877: :four_leaf_clover:terminalウィンドウでCTRL-\ CTRL-Nを使用した場合はterminalノーマルモードに留まるようにしました。i,I,a,A等でterminalジョブモードに遷移します。(関連patch: 8.0.0863, 8.0.0873)
  • 8.0.0876: バックティック内のバックスラッシュとワイルドカードが動作しない件を修正しました。
  • 8.0.0873: terminalウィンドウが、CTRL-\ CTRL-N経由でビジュアルモードを開始できない件を修正しました。(関連patch: 8.0.0863, 8.0.0877)
  • 8.0.0872: terminalウィンドウがカレントウィンドウでマウスポインタが他のウィンドウにある時にマウススクロールが機能しない件を修正しました。
  • 8.0.0870: 'mouse'nまたはaに設定時にterminalウィンドウをマウスでクリックすると、意図しないマウスの制御コードが表示されてしまう件を修正しました。
  • 8.0.0869: terminalバッファにジョブの出力が表示されないことがある件を修正しました。
  • 8.0.0868: :term[range]でterminalサイズを指定できるようにしました。term_start()の引数{options}の"term_rows""term_cols"の指定がterminalサイズに反映されるようにしました。(関連patch: 8.0.0976)
  • 8.0.0867: ジョブまたはチャンネルを辞書の値として使用したものを文字列に変換した時に引用符で囲まれていない件を修正しました。
  • 8.0.0864: :four_leaf_clover:term_start()の引数{option}のエントリーに"term_name"を追加しました。バッファ名として使用されます。
  • 8.0.0863: terminalウィンドウでCTRL-\ CTRL-Nを入力後に1度だけノーマルモードコマンドを使えるようにしました。(関連patch: 8.0.0873, 8.0.0877)
  • 8.0.0858: :four_leaf_clover:ジョブ実行中のterminalバッファは終了出来ないようにしました。
  • 8.0.0854: terminalウィンドウが閉じられると描画がおこなわれなくなる件を修正しました。
  • 8.0.0851: 'indentexpr'が設定されているのに'smartindent'の設定が効いてしまう件を修正しました。(関連URI: vim-jp/issues/1062)
  • 8.0.0849: term_start()で{option}の"exit_cb"に登録した関数内でterminalバッファを削除するとクラッシュする件を修正しました。
  • 8.0.0848: :four_leaf_clover:内部デバッグ用ログ出力関数(ch_log(), ch_error())を可変引数化しました。
  • 8.0.0847: :argaddが引数なしの場合に空白入りのカレントファイル名を正しく処理できない件を修正しました。
  • 8.0.0846: :four_leaf_clover:job_info()が返す辞書のキーに"process""tty"を追加しました。また、term_gettty()を追加しました。
  • 8.0.0842: slave ptyをクローズ後に使用していた件を修正しました。
  • 8.0.0841: term_getline()の第2引数{row}が範囲外の場合にクラッシュする件を修正しました。
  • 8.0.0839: terminalウィンドウでCTRL-Cにてジョブをkill出来ない件を修正しました。
  • 8.0.0838: terminalウィンドウが閉じられると、バッファがハングすることがある件を修正しました。
  • runtimeファイル更新: helpのdesign-notの変更、その他typo修正やメッセージ翻訳ファイルの更新等。
  • 8.0.0836: terminalバッファの変更を行うときは、 'buftype'オプションをリセットするようにしました。(誤ってバッファを破棄しないように)
  • 8.0.0832: :four_leaf_clover:terminal関連の組み込み関数でrowcolを1始まりにしました。term_getline()term_scrape()の第2引数{row}を省略不可とし、"."指定時はカーソル行と認識するようにしました。(関連patch: 8.0.0817, 8.0.0882)
  • 8.0.0829: terminalウィンドウで実行するジョブはv:servernameの値を環境変数VIM_SERVERNAMEに渡すようにしました。

凡例

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

方針

こちらを参照。


ひとこと

patch数多過ぎ(嬉しい悲鳴)。なんとか1日遅れで追いつきました。