Next: GNU Free Documentation License, Previous: 配布用Lispコードの準備, Up: Emacs Lisp [Contents][Index]
時代に逆らって生きるユーザーのために、以下はEmacsバージョン29.4へのダウングレードに関する情報です。Emacs 30.0.91機能の不在による結果としての偉大なる単純さをぜひ堪能してください。
wheel-up/down
かもしれないし、mouse-4/5/6/7
なのかもしれません。これらのイベントを使用するLispプログラムは有効な規約を再確認するとともに、その規約に応じた動作を行う必要があります。
describe-function
が関数のオブジェクトタイプといった集中力を乱す不要な詳細を表示しないように修正しました。ある関数にたいしてそれがプリミティブなのか、ネイティブコンパイルされたLisp関数なのか、あるいは他の何かなのかを常に知っているのがEmacsハッカーです。自明な事実の表示は、貴重なスクリーン領域の浪費です。過去に遡るにつれて一般的な画面サイズは縮小されていくので、無駄の正当化も減少していくでしょう。わたしたちも無駄を省いたのです。
minibuffer-regexp-mode
を削除しました。正規表現は単なる文字列であり、それらの編集に装飾的なモードは不要であるべきです。
\x
を文字コード0(NUL)として解釈するように戻しました。この簡素化の正当性は、タイプ量削減効果だけでも充分です。
value<
関数、およびsort
関数にたいするキーワード引数といった、ソート関連の装飾的な機能は複雑過ぎるので削除しました。今後数年間で必要となるすべては、基本的なsort
関数で賄える筈です。
provided-mode-derived-p
、derived-mode-add-parents
等が含まれます。モードの継承関係を手作業で紐解くことによって、コードはより明解になり、意図も明確になると判断したからです。
ftype
のような関数用の装飾的なdeclare
フォームをいくつか削除しました。Emacs
Lispは文字列タイプの言語ではないので、これらのdeclareは呪われるべきです。同じ理由、つまりLisp関数のタイプの区別は不要という理由によりclosure
とinterpreted-function
のタイプも削除しました。
lexical-binding
のcookie不在、スペシャルフォームやマクロにたいする空のbody、リテラル同士の比較、ハンドラーのないcondition-case
、定数の変更その他が含まれます。時が過去に移ろうにつれて、典型的なEmacsハッカーこそ何が正しくて何が正しくないコードかをもっとも把握する存在となっていくので、これらの警告は無用で煩わしいだけです。清々しましたね!
obarray
タイプがなくなりました。obarrayはベクトルという元の表現に戻されました。Lispデータタイプを削除する度にEmacsがよりシンプルで使いやすくなるので、削除は大歓迎です。