「GNU Emacs 31.1」リリース ─ Tree-sitter文法の自動インストールに対応
Unicode 17.0、Org 9.8を採用、パッケージ管理も強化
0:09
GNUは8月24日(現地時間)、拡張可能なテキストエディタ「GNU Emacs 31.1」をリリースした。
「GNU Emacs」は、Emacs Lispによる高度なカスタマイズおよび機能拡張が可能なオープンソースのテキストエディタ。プログラムコードや文書の編集に加え、ファイル管理、メール、シェル、バージョン管理、プロジェクト管理などの機能を備えている。
「GNU Emacs 31.1」のハイライトは次の通り。
〇Tree-sitterベースのメジャーモードを有効化するtreesit-enabled-modesオプションを追加
〇不足しているTree-sitter文法ライブラリの自動インストールに対応
〇Unicode Standard 17.0に対応
〇Org 9.8を収録
〇補完候補の一覧を即座に表示し、入力に合わせて更新する機能を追加
〇flex補完スタイルを高速かつ高精度なアルゴリズムへ刷新
〇TTYフレームでchild frameをサポート
〇対応する端末でxterm-mouse-modeを標準で有効化
〇ウィンドウレイアウトの回転、反転、転置を行うコマンドを追加
〇フレームおよびタブを分割、結合するコマンドを追加
〇ユーザー独自のEmacs Lispファイルを管理するuser-lispディレクトリ機能を追加
〇package-refresh-contentsを非同期化
〇パッケージのインストールや更新前にソースコード、差分、ChangeLogを確認する機能を追加
〇利用可能なELPAパッケージを提案するpackage-autosuggestを追加
〇iCalendar、npmrc、HTML、go.work向けの新しいメジャーモードを追加
〇NonGNU ELPAで提供されていたlua-modeを標準収録
〇システムのタスクバーと統合するsystem-taskbar-modeを追加
〇システムのスリープ抑制やスリープ前後の処理を提供するsystem-sleepを追加
〇secure-hashでSHA-3をサポート
〇Network Security ManagerがTLS 1.1、DHEおよびRSA鍵交換について標準で警告
〇従来のunexec dumperを削除
〇Emacs独自の古いctagsプログラムをビルドおよびインストールしないよう変更
など。
Tree-sitter関連では、新しいユーザーオプション「treesit-enabled-modes」により、利用可能なTree-sitterベースのメジャーモードを一括または個別に有効化できるようになった。
補完機能では、ミニバッファを開いた時点で「*Completions*」バッファを表示し、文字の入力に合わせて候補一覧を更新する仕組みが追加された。flex補完スタイルについても、候補の検索および順位付けを行うアルゴリズムが書き直された。
端末関連では、TTYフレーム上でchild frameを利用できるようになった。これにより、PosframeやCorfuなどが端末上でもchild frameを使用でき、tty-tip-modeを有効にすることでツールチップも表示できる。
パッケージ管理では、パッケージ一覧の更新が非同期化され、対話的にpackage-refresh-contentsを実行した際に操作をブロックしなくなった。パッケージのインストールまたは更新前に、ダウンロードしたソースコードや既存バージョンとの差分、ChangeLogを確認する機能も追加されている。
新しいpackage-autosuggestコマンドおよびpackage-autosuggest-modeでは、現在のバッファに適したメジャーモードが組み込まれていない場合、内蔵データベースを使用して追加可能なELPAパッケージを提案できる。
「GNU Emacs 31.1」のソースコードは、Webサイトから入手できる。
(川原 龍人/びぎねっと)
この記事をシェアしてください
