Appendix E Emacs 28 アンチニュース
時代に逆らって生きるユーザーのために、以下はEmacsバージョン28.2へのダウングレードに関する情報です。Emacs
29.1機能の不在による結果としての偉大なる単純さを、ぜひ堪能してください。
- 新しいリリースと同じように、Emacs
28でもLispプログラムのネイティブコンパイルのサポートとともにコンパイルが可能です。とはいえ以前のあるバージョンにおいて行われるこの機能の削除にたいする準備として、わたしたちはEmacsに同梱されている全Lispファイルの事前ネイティブコンパイルの機能を削除しました。これによりEmacsのビルドプロセスがより高速になりました。
- tree-sitterライブラリーとともにEmacsをビルドできなくなったので、プログラムしたい言語用にグラマーのライブラリーを見つけてインストールする必要がなくなりました。同様にサポートされているプログラミング言語それぞれにたいしてただ1つのメジャーモードが残るように、tree-sitterライブラリーにもとづくすべてのモードも削除されました。tree-sitterにサポートされたモードをオンにして、それらがもつパーサーベースのフォント表示やインデント、その他の機能を試みるかどうかの判断は不要です。これは一部の言語とファイルタイプについてはメジャーモードが何も存在しなくなることを意味するため、あなたには自然かつ高性能な選択肢として由緒正しきFundamentalモードが残されました。たとえばGo、Rust、およびCMakeファイルにたいするファイル編集用のメジャーモードは最早存在しません。これはシンプルで無駄のないEmacsに向けた新たなマイルストーンです。
- SQLiteデータベースにアクセスするためのビルトインサポートは削除されました。これまでいつも行ってきたように、SQLiteファイルを(Emacsが十分サポート可能な)単なるバイナリーファイルとして再び編集できるようになりました。
- Haikuオペレーティングシステムのユーザーへの計らいとして、そのOS上でのEmacsのビルドを可能にするコードを削除しました。わたしたちはHaikuユーザーが彼ら自身の、よりシンプルなエディターを用いてファイル編集をエンジョイしてくれることを期待しています。
- XにおけるXInput2の入力イベント用のサポートはなくなりました。わたしたちは伝統的なX入力イベントで十分すぎると考えており、これは時を遡れば確実と言えます。派手な入力メカニズムのサポートが全くもって無駄だということにXウィンドウシステムのメンテナーが一旦気づいてしまえば、XInput2も最終的にはXから削除されることでしょう。
- “pure GTK”
(PGTKとも呼ばれる)構成によるEmacsはサポートされなくなりました。これはEmacsからGTKツールキットのサポートが完全に削除されることを見越したダウングレードであり、時を遡るにつれてGTKは消滅するというわたしたちの予測にも合致しています。わたしたちはX上でサポートされる唯一のGUI構成として独自ウィジェットを備えた純粋なXビルドだけを残して、その他すべてのツールキットにたいするサポートを削除する計画です。
- コマンドラインオプションの--init-directoryは削除されました。いずれにせよ別ユーザーのinitファイルを用いたEmacsの初期化というアイデアは馬鹿げてます。
- 単純化とネイティブコンパイルオプションの最終的な削除に則し、configure時の--with-native-compilation=aotオプションを削除しました。これによってどのようにネイティブコンパイルが機能するかが劇的に簡略化されるとともに、Emacsのネイティブコンパイルに関するconfigure時の決定が明確になりました。Emacsは事前ロードされていないLispパッケージを使う前のみネイティブコードにコンパイルするか、さもなくばネイティブコンパイルを全く使わないかのいずれかです。中途半端で特別な例外などたくさんです。同様の理由により、
native-compile-prune-cache
およびstartup-redirect-eln-cache
の機能はEmacsから削除されました。
- Emacsで非常に長い行をもつファイルの編集時に、まともな性能と応答性を発揮させるための特別なコードと機能を削除しました。時を遡るにつれてそのようなファイルはどんどん希少になっていき、それ故にEmacsにそのようなトリッキーなコードすべてを含めるのは不必要な複雑さをもたらすと判断されました。
- EmacsからEglotとLSPサーバーのサポートが削除されました。時を遡れば、ビルトインのソースコード解析手法でも十分すぎると判断しました。
- イメージのスケーリングや回転を行うコマンドは、タイプするのがより容易になるように+、-、rのような単一のキーに再度バインドされました。それらのキーを誤ってタイプしてしまうリスクについてですがEmacsユーザー、とりわけ時を遡りどんどん若くなっていくEmacsユーザーがタイプミスを犯すなど、わたしたちは信じていません。
- 多用されるコマンドのタイプを簡素化するためにC-x 8 . .をC-x 8 .、C-x 8 = =はC-x 8 =というバインドに戻しました。そもそも時を遡るにしたがって、それらのキーにバインドされるコマンド自体どんどん少なくなっていくので、装飾に富んだ長いキーシーケンスへの需要はなくなることでしょう。
- うっかり*scratch*バッファーをkillしてしまった場合にEmacsが再作成するのは、Lisp
InteractionモードではなくFundamentalモードのバッファーになりました。自分で好きなモードをオンにすることができるのです。過去へのEmacsリリースにおけるわたしたちの長期計画では*scratch*バッファー再作成の完全な削除を予定しており、これはそれに向けた最初の一歩となります。
-
rlogin
およびrsh
プロトコルにたいするサポートが復活しました。時を遡るにつれてこれらのプロトコルの重要性と人気がますます高まることが予想されるためです。
- Emacsから最終的にUnicodeサポートを削除するための準備として、Unicodeサポートのバージョンを14.0にダウングレードしました。
- フォントサイズのグローバルな変更ができなくなりました。そのようなコマンドがあるのは贅沢です。ない方が余程ましなので過去のある時点において、Emacsから可変サイズのフォントにたいするすべてのサポートは削除されることになるでしょう。
- Emacs簡素化というわたしたちの果てなき探求にもとづき、コマンド
duplicate-line
およびduplicate-dwim
を削除しました。昔からの友であるM-wとC-y(1回以上タイプする)で十分な筈です。同じ理由からコマンドrename-visited-file
もなくなりました。
- プレフィックスキーマップC-x 8 eにバインドされていたEmoji関連の多くのコマンドを削除しました。C-x 8
RETを用いてEmojiシーケンスをタイプする機能で十分であること、そしてユーザーがタイプしたいEmojiシーケンスにたいするコードポイントの知識を要求することによって、ユーザーにより良いサービスが提供できると判断しました。
- 多くの書体(script)と入力メソッド、とりわけ誰も使わない古い書体を削除しました。同様の理由から、ギリシャ語とウクライナ語に翻訳されたEmacsのチュートリアルは理由できなくなくなりました。
- package.elでVCS(バージョンコントロールシステム)のレポジトリからソースコードが取得できなくなりました。レポジトリのクローンには、Gitのようなコマンドラインツールで十分な筈です。したがって
package-vc-install
コマンド、およびその他の同類コマンドも削除しました。
- Emacs 28.2ではコンピューターのメモリーとディスクの容量を削減して良好な状態に保つために、その他の多くの機能とファイルが削除されました。