LoginSignup
12
1

More than 5 years have passed since last update.

Vim patchダイジェスト [2019/01]

Last updated at Posted at 2019-01-27

Vimのリリースされたpatchの説明です。patchの内容を確認し、必要であれば動作確認をおこなったうえで書いています。英語を忠実に訳すよりは、Vimを使っている人が理解しやすい文章になるように心がけています。
新機能、大幅な仕様変更には、:four_leaf_clover:が付いています。
(8.1.06738.1.0865)

  • 8.1.0865: 'listchars'nbsp:X だけ設定した場合、正しく動かない件を修正しました。
  • 8.1.0864: :four_leaf_clover:'scrolloff''sidescrolloff' をグローバルオプションから、グローバル/ウィンドウについてローカルなオプションに変更しました。
  • 8.1.0863: :four_leaf_clover:job_info()の返す辞書に "termsig" エントリを追加しました。プロセスを終了させたシグナルを格納します。Unixのみ。
  • 8.1.0862: :four_leaf_clover:文字クラス [:ident:], [:keyword:] および [:fname:] を追加しました。
  • 8.1.0859: 'errorformat'%v がマルチバイトの表示桁オフセットの計算が正しくないのを修正しました。
  • 8.1.0857: :alien:インデント機能のコードを新規ファイル indent.c に移動しました。
  • 8.1.0856: カレントウィンドウ以外のウィンドウをスクロールすると、'cursorline'のハイライトが更新されないことがあるのを修正しました。
  • 8.1.0854: :four_leaf_clover:xxdが64bitアドレスをサポートしました。
  • 8.1.0851: feedkeys()の第2引数が 'L' の時に正しく動作していなかったのを修正しました。
  • 8.1.0849: cursorlineのハイライトが更新されない場合があるのを修正しました。
  • 8.1.0848: if_ruby: Ruby 1.8 でビルド出来ない件を修正しました。
  • 8.1.0846: :four_leaf_clover:Vimが動作するシステムを認識するのが簡単ではない件を修正しました。has()の引数に以下の文字列を指定出来るようにしました。(関連patch: 8.1.0878, 8.1.0884)
    • 'bsd': BSDファミリOS(macOSを除く)
    • 'hpux': HP-UXバージョン
    • 'linux': Linuxバージョン
    • 'sun': SunOSバージョン
    • 'moon': SunOSバージョン以外(イースターエッグ的な!?)
  • 8.1.0845: job_status()でジョブを解放すると問題が発生する件を修正しました。
  • 8.1.0840: getchar(0)が文字を返さなくなっていた件を修正しました。(関連patch: 8.1.0834)
  • 8.1.0834: メッセージを処理する前に、GUIが長時間ウェイトしたり、ウェイトから早く戻るとマッピングがタイムアウトする可能性がある件を修正しました。※GUI/CUIのキー入力処理(gui_inchar(), mch_inchar())周りに結構手を入れてます。(関連patch: 8.1.0840, 8.1.0842, 8.1.0844, 8.1.0851)
  • 8.1.0829: 'hidden'をセットしていると、セッション(:h :mksession)が余計なバッファを作成してしまう件を修正しました。
  • runtimeファイル更新: Todo更新。helpファイル更新。他。
  • 8.1.0826: :alien:FEAT_VIRTUALEDITマクロの定義/参照を辞めました。すべてのVimで'virtualedit'が使えます。(未定義→定義で僅か)約10Kバイトのコードの追加です。(関連patch: 8.1.0828)
  • 8.1.0824: SunOS/Solaris: ttysで問題が起きていたのを修正しました。
  • 8.1.0822: 毎回 char_avail() でキー入力を覗いてメッセージ出力をフラッシュしていたのでVimの動作が遅くなっていた件を修正しました。
  • 8.1.0818: Windows: 巨大なデータをch_sendraw()で送信できない件を修正しました。
  • 8.1.0814: :mksessionがとても長い'runtimepath'を扱えない件を修正しました。
  • 8.1.0805: :alien:FEAT_MBYTEマクロ(とUNICODE16マクロ)の定義/参照を辞めました。常にマルチバイト有効でconfigureされます。※既存のpatchは#ifdef FEAT_MBYTEとそれに対応する#endifの行を削除する必要があります。 (関連patch: 8.1.0733, 8.1.0806, 8.1.0809, 8.1.0810, 8.1.0811, 8.1.0812, 8.1.0882, 8.1.0942)
  • 8.1.0804: v:errmsgに空のリストを設定するとクラッシュする件を修正しました。
  • 8.1.0803: ファイル名にシングルクォートがあると、セッションファイル(:h :mksession)で問題が起きる件を修正しました。
  • 8.1.0794: -tabmoveの前にスペースがあると正しく動作しない件を修正しました。
  • 8.1.0792: インサートモード補完ポップアップメニューが表示されている時にコマンドラインウィンドウを開くと、コマンドラインウィンドウがポップアップメニューで見えない件を修正しました。
  • 8.1.0786: terminalウィンドウでスクロールバックがクリアされて、かつ、ステータス行を更新した場合にml_getエラーE315になる件を修正しました。
  • 8.1.0785: :alien: configureに依存している関数を#ifdefで囲んだり削除したりしました。※callcatcherというtoolを使って該当箇所を検出しています。
  • 8.1.0782: Windows: gVim起動直後に非アクティブにすると数秒後にカーソルがアクティブ時の形状になる件を修正しました。(関連patch: 8.0.1279)
  • 8.1.0777: Windows: チャネルのためのパイプがいい感じに動作していなかったのを修正しました。(名前付きパイプを使用するようにして、バッファサイズも指定したので、Windowsでのチャネルの動作が早くなった!) (関連patch: 8.1.0796)
  • 8.1.0768: 補完を更新するとポップアップメニューがちらつくことがある件を修正しました。(関連patch: 8.1.0876)
  • 8.1.0766: VMS用Vimのいくつかの問題を修正しました。(関連patch: 8.1.0791)
  • runtimeファイル更新: Todo更新。helpファイル更新。他。
  • 8.1.0763: :four_leaf_clover:Sun Workshopのサポートを削除しました。(:h workshop.txt) (関連patch: 8.1.0764)
  • 8.1.0759: :four_leaf_clover:'listchars'tab:に3文字目を指定できるようにしました。(:h lcs-tab)
  • 8.1.0754: 'cursorcolumn'をセットすると、優先桁(curswant)がクリアされてしまう件を修正しました。
  • 8.1.0747: :four_leaf_clover:map()に悪い式を指定した場合はエラーE15を出すようにしました。
  • 8.1.0746: concealと'cursorline'の組み合わせでハイライトが更新されないことがあるのを修正しました。
  • 8.1.0743: :alien:エラーメッセージ出力マクロを廃止しました。可変長引数のsemsg(), siemsg() を追加しました。(既存のpatchの修正方法についてはこちら) (関連patch: 8.1.0744, 8.1.0745, 8.1.0748, 8.1.0749, 8.1.0752, 8.1.0753, 8.1.0779, 8.1.0781, 8.1.0783, 8.1.0954)
  • 8.1.0735: :four_leaf_clover:Blob型を追加しました。任意のバイトシーケンスを格納できます。mattnさんがVimconf2018で発表(発表資料PDF)したものです。(関連patch: 8.1.0736, 8.1.0737, 8.1.0738, 8.1.0741, 8.1.0742, 8.1.0755, 8.1.0756, 8.1.0757, 8.1.0765, 8.1.0774, 8.1.0793, 8.1.0797, 8.1.0798, 8.1.0802)
  • 8.1.0734: セッションファイル(:h :mksession)がhlsearchの状態を保存していなかった件を修正しました。
  • 8.1.0733: :alien:暫定的に常にマルチバイト機能を有効にしました。ソースコード中の#ifdef FEAT_MBYTEを削除するための下準備です。(関連patch: 8.1.0805)
  • 8.1.0731: :four_leaf_clover:js_encode(), js_decode(), json_encode(), json_decode()に負の無限大のサポートを追加しました。
  • 8.1.0729: :four_leaf_clover:オートコマンドイベントSourcePostを追加しました。Vim scriptを読み込んだ後にトリガーされます。(関連patch: 8.1.0732)
  • 8.1.0728: :four_leaf_clover:'formatoptions'pフラグを追加しました。ピリオドに続く単一の空白で改行されるのを抑制します。
  • 8.1.0723: :alien:個別テストのビルドルールを src/testdir/Makefile に移動しました。テストファイルを新規追加した時に、個別テスト用の変更を src/Make_all.mak にしなくてもよくなりました。
  • 8.1.0720: :four_leaf_clover:setqflist()およびsetloclist()の引数{what}にidxエントリを追加しました。quickfix/locationリストの現在のエントリのインデックスを設定できます。
  • 8.1.0719: :four_leaf_clover::alien:常に+visualextra機能有効でビルドするようにしました。(FEAT_VISUALEXTRAマクロ定義を削除しました)
  • 8.1.0717: :four_leaf_clover:sign_jump()を追加しました。指定した目印(sign)に移動します。(関連patch: 8.1.0614, 8.1.0673)
  • 8.1.0716: :four_leaf_clover:'completefunc'v:noneを返した場合はwarningメッセージを出さないようにしました。
  • 8.1.0710: タイマを使うと、ジョブの終了に時間が掛かることがある件を修正しました。
  • 8.1.0706: :four_leaf_clover::redrawtablineを追加しました。強制的にタブラインを再描画します。
  • 8.1.0704: if_ruby: Ruby 2.6 でビルドするとコンパイラがwarningメッセージを出す件を修正しました。
  • 8.1.0700: gtが時々タブを再描画しない件を修正しました。
  • 8.1.0698: タブを開くときにコマンドラインを無駄にクリアしていた件を修正しました。
  • 8.1.0695: :popupした時に端末モード用のメニューしかないと内部エラー(E341)になる件を修正しました。
  • 8.1.0692: アンロードしたバッファをチャネルで再作成できない件を修正しました。(関連patch: 8.1.0693)
  • 8.1.0686: 'cpoptions'yが含まれている場合、クリップボードにヤンクするとredoレジスタ(:h ".)が変更されてしまう件を修正しました。
  • 8.1.0683: spellのハイライトが終了しない場合があったのを修正しました。
  • 8.1.0680: :four_leaf_clover::versionで無効になっている機能をハイライトするようにしました。(ハイライトグループは WarningMsg)
  • 8.1.0675: :four_leaf_clover:テキストプロパティの桁を画面桁からbyte桁に変更しました。(関連patch: 8.1.0579, 8.1.0676, 8.1.0678, 8.1.0681, 8.1.0682, 8.1.0688, 8.1.0689, 8.1.0690, 8.1.0691, 8.1.0694, 8.1.0707)
  • runtimeファイル更新: Todo更新。helpファイル更新。他。
  • 8.1.0673: :alien:目印(sign)機能のほとんどを sign.c に移動しました。(関連patch: 8.1.0614, 8.1.0679, 8.1.0697, 8.1.0701, 8.1.0702, 8.1.0709, 8.1.0717, 8.1.0750, 8.1.0767, 8.1.0772)

凡例

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

方針

こちらを参照。

12
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1