Appendix A Emacs 29 Antinews ¶
時代に逆らって生きるユーザーのために、以下はEmacsバージョン29.4へのダウングレードに関する情報です。Emacs 30.0.91機能の不在による結果としての偉大なる単純さをぜひ堪能してください。
- マウスホイールイベントは、以前のようにプラットフォームおよびウィンドウシステムの規約にしたがうように戻されました。マウスホイールイベントは
wheel-up/down
かもしれないし、mouse-4/5/6/7
なのかもしれません。これらのイベントを使用するLispプログラムは有効な規約を再確認するとともに、その規約に応じた動作を行う必要があります。
- コマンド
describe-function
が関数のオブジェクトタイプといった集中力を乱す不要な詳細を表示しないように修正しました。ある関数にたいしてそれがプリミティブなのか、ネイティブコンパイルされたLisp関数なのか、あるいは他の何かなのかを常に知っているのがEmacsハッカーです。自明な事実の表示は、貴重なスクリーン領域の浪費です。過去に遡るにつれて一般的な画面サイズは縮小されていくので、無駄の正当化も減少していくでしょう。わたしたちも無駄を省いたのです。
- フェイス属性のスタイル付きアンダーラインのサポートをなくしました。シンプルなアンダーラインで充分なはずです。それ以外は単にコードを肥大化させる、ステルス機能主義と言えるでしょう。同じ理由により、TTYフレームにおけるカラフルなアンダーラインのサポートも削除しました。
- IELMによる入力ヒストリーの記録を削除しました。これにより過去のセッションにおける入力に煩わされることはなくなるでしょう。セッションはそれぞれクリーンな状態で開始されます。もっとシンプルで覚えやすいものは何でしょうか?
- xwidgetのWebkitセッションでJavaScriptを無効にできなくしました。xwidgetについてはEmacsの過去のいずれかのバージョンにおいて削除される予定であり、その方針に沿って一歩進めるという判断によりxwidgetの単純化を行いました。
minibuffer-regexp-mode
を削除しました。正規表現は単なる文字列であり、それらの編集に装飾的なモードは不要であるべきです。
- Compatパッケージを削除しました。ELPAパッケージにたいする前方互換性は時を遡るにつれてますます重要性を失っていき、やがてELPAは完全に消滅するでしょう。今からそれに備えておくのが賢明だと判断した結果です。
- Emacsでは常に行われていたように、後続に16進数をもたない
\x
を文字コード0(NUL)として解釈するように戻しました。この簡素化の正当性は、タイプ量削減効果だけでも充分です。
- Emacsをクリーンかつエレガントに保つために、フリンジビットマップ用ツールチップの表示機能を削除しました。フリンジにどんな重要情報を表示できるでしょう?
さらにその目的の記述にツールチップが必要な理由はなんでしょう?
Emacsの過去のバージョンにおいてこの機能を維持し続ける正当な理由はないと判断しました。
value<
関数、およびsort
関数にたいするキーワード引数といった、ソート関連の装飾的な機能は複雑過ぎるので削除しました。今後数年間で必要となるすべては、基本的なsort
関数で賄える筈です。
- メジャーモードの継承グラフ関連の機能は不要と判断して削除しました。これには
provided-mode-derived-p
、derived-mode-add-parents
等が含まれます。モードの継承関係を手作業で紐解くことによって、コードはより明解になり、意図も明確になると判断したからです。
- 時代を遡るにつれてタッチスクリーンは次第に視界から消え去っていくので、タッチスクリーンイベントを処理するための不要な機能を削除しました。このような新しい発明は、過去において時代遅れのままにしておく必要はありません。
- sexpの移動や入れ替え、プログラム文単位での移動を行うための、新しいさまざまな関数や変数は不要なので削除しました。釣り合いのとれたカッコ単位で移動を行うオリジナル関数で充分過ぎます。
ftype
のような関数用の装飾的なdeclare
フォームをいくつか削除しました。Emacs
Lispは文字列タイプの言語ではないので、これらのdeclareは呪われるべきです。同じ理由、つまりLisp関数のタイプの区別は不要という理由によりclosure
とinterpreted-function
のタイプも削除しました。
- 一部の純粋主義者が問題ありとみなすような習慣にたいして、バイトコンパイラーが警告を発しないように修正しました。これには
lexical-binding
のcookie不在、スペシャルフォームやマクロにたいする空のbody、リテラル同士の比較、ハンドラーのないcondition-case
、定数の変更その他が含まれます。時が過去に移ろうにつれて、典型的なEmacsハッカーこそ何が正しくて何が正しくないコードかをもっとも把握する存在となっていくので、これらの警告は無用で煩わしいだけです。清々しましたね!
obarray
タイプがなくなりました。obarrayはベクトルという元の表現に戻されました。Lispデータタイプを削除する度にEmacsがよりシンプルで使いやすくなるので、削除は大歓迎です。
- 簡略化にたいする継続要求の一環として、その他の多くの関数と変数が排除されました。他にはEmacs
24以降で廃止と宣言された関数および変数が、過去のある時点におけるEmacs 24リリースの準備に向けて再び追加されています。
This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.