Next: GNU Free Documentation License, Previous: 配布用Lispコードの準備, Up: Emacs Lisp [Contents][Index]
時代に逆らって生きるユーザーのために、以下はEmacsバージョン28.2へのダウングレードに関する情報です。Emacs 29.2機能の不在による結果としての偉大なる単純さをぜひ堪能してください。
substitute-command-keysを呼び出さないことによって、いくつかの関数がクォート文字やキーシーケンスの煩わしい変換を行わなくなりました。目を引く例としてformat-prompt、およびそれを呼び出す多くの関数すべてが挙げられます。これによってこれらの関数が生成する文字列の予測がより容易になり、Lispプログラマーであるあなたにとってはユーザーに表示するテキスト内にどの句読点文字を表示させるかが制御しやすくなりました。同様の理由によってsubstitute-quotes関数が削除されました。
buffer-modified-p関数は紛らわしい値ではなく、以前のように確実にnilかtだけをリターンするようになりました。
compiled-function-pを削除しました。Lispプログラムには関数オブジェクトに関するbuilt-in、byte-compiled、natively-compiledといったタイプを明示的にテストすることが期待されています。同様の理由によりpos-bol、pos-eol、file-attribute-file-identifierといった多くの関数が削除されました。このような派手な関数が失われたことを悲しむ人がいるなど、わたしたちは期待していません。
x-show-tipによって用いられるタイムアウトは、Lispプログラムから指定するのではなく関数内にハードコードされます(訳注:
x-show-tipは内部的な使用を意図した関数でありユーザー用の関数はtooltip-show; Emacs
29.1からツールチップ表示タイムアウトがハードコードされた値ではなくx-show-tooltip-timeoutでカスタマイズ可能になった)。これによってコードがシンプルかつ保守しやすくなりますし、ツールチップのポップアップが非表示になるまでのタイムアウトを制御したい人など存在しない筈です。
setoptが削除されました。かわりにcustomize-variableを使うか、Lispから:set関数を呼び出してください。
lisp-directory変数の値は、似たようなinstallation-directoryやsource-directoryの等の他の変数から(それらの変数が関係する場合には)容易に推測できるので削除しました。
get-display-propertyとadd-display-text-propertyを削除しました。かわりに汎用性のあるget-text-propertyとput-text-propertyを使ってください。
keymap-set、keymap-global-set、keymap-local-set、keymap-substitute、keymap-lookup、その他の関数が削除されました。伝統的なdefine-key、global-set-key、local-set-key、substitute-key-definition、key-bindingで十分すぎます。これらの関数が受け付けるキー構文の些細な一貫性の欠如こそ、Emacs
Lispプログラミングにおける終わりなき愉悦の源だからです。何故にEmacsプログラミングをつまらない場にするのでしょうか?
kbdの寛大な性質をよりEmacs
Lisp精神に則って考慮した結果、同様の理由によってkey-valid-pを削除しました。
string-pixel-widthとstring-glyph-splitは削除しました。表示はCで記述されたディスプレイエンジンのためのものであり、そこに留まるべきなのです!
xwidget-perform-lispy-event、xwidget-webkit-load-html、xwidget-webkit-back-forward-listといった新しいさまざまなXwidget関数が削除されました。
make-process呼び出しにおいて:stderrプロパティをセットすることによって、そのプロセス接続にはすべての標準ストリームにptyではなく、以前のようにpipeの使用が強制されるようになりました。この複雑なインターフェイスが大幅に単純化がされたのです。
string-equal-ignore-caseを削除しました。かわりにcompare-stringsを使ってください。
バイトコンパイラーを複雑にするいくつかの機能を削除しました。
choiceリストにおけるダブルクォートされたシンボルのような、不正な形式のdefcustomについて警告。
with-buffer-unmodified-if-unchangedを削除しました。そのような場合においてバッファーを未変更のままにする必要があるLispプログラムは、変更の前後でテキストを比較することは常に可能なのですから。
string-editとread-string-from-bufferを削除しました。
readablep、およびそれに関連する変数print-unreadable-functionは削除しました。
multisession-value、define-multisession-variable、list-multisession-valuesはなくなりました。
cursor-faceにたいするサポートを削除しました。この機能のサポートは残されたフェイスだけで十分だと考えます。
tooltip-showから、ツールチップのフェイスおよびトップフレームのカラーに奇抜な制御を許すためのオプション変数text-faceとtext-faceのサポートを削除しました。わたしたちはユーザーの混乱を避けるために、ツールチップはすべて同じ外観であるべきだと判断しました。