Next: GNU Free Documentation License, Previous: 配布用Lispコードの準備, Up: Emacs Lisp [Contents][Index]
時代に逆らって生きるユーザーのために、以下はEmacsバージョン28.2へのダウングレードに関する情報です。Emacs 29.3機能の不在による結果としての偉大なる単純さをぜひ堪能してください。
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
のサポートを削除しました。わたしたちはユーザーの混乱を避けるために、ツールチップはすべて同じ外観であるべきだと判断しました。