Next: GNU Free Documentation License, Previous: Packaging, Up: Top [Contents][Index]
時代に逆らって生きるユーザーのために、以下はEmacsバージョン24.5へのダウングレードに関する情報です。Emacs 26.3機能の不在による結果としての偉大なる単純さをぜひ堪能してください。
file-attribute-type
やfile-attribute-modification-time
のようなアクセサ関数を廃止することによって簡略化されました。常に序数値で個別の属性にアクセスして、眠りながらにして序数値を諳んじることができるのが真のLispプログラマーです。
gnutls-boot
の:complete-negotiation
パラメーターが不要になり削除されました(これは単に非同期性の撤廃がEmacsを単純化する一例に過ぎない)。
current-time-string
、current-time-zone
、decode-time
、format-time-string
、set-time-zone-rule
はタイムゾーンルールとして整数オフセットを受け取らなくなります。さらにformat-time-string
は‘%q’を四半期に変換しなくなります。あなたでも簡単に行えるのでしょう。
line-number-display-width
、およびdisplay-line-numbers-disable
プロパティにたいするサポートも削除しました。
[:blank:]
のUnicode文字プロパティにたいするサポートを削除することにより正規表現が簡略化されました。その結果として当該クラスはスペースとタブだけにマッチするようになります。繰り返しますが、これは時の逆行によるUnicodeの重要性減少に合致しています。
char-from-name
を削除しました。EmacsがUnicodeをサポートするかぎり(それほど長い間ではないが)、ucs-names
がリターンするUnicode文字の完全なリストへのアクセスで十分容易なはずです。
file-attributes
、file-symlink-p
、make-symbolic-link
のような引数としてファイル名を受け取る種々の関数は‘/:’でクォートされたファイル名にたいする特別なサポートを取り戻し、シンボリックリンクのターゲット内の‘~’はあなたが期待する通り(すなわちホームディレクトリー)に解釈されるようになりました。これらの関数の呼び出しが対話的か否かによる操作の差異による混乱は削除されました。
(rename-file
"A" "B")
はAをBにリネームしません。これはファイルの処理をより冒険的にするためです。
format
関数がより多くの場面で新たな文字列をリターンするようになりました。
equal
を使用するようになりました。同様にalist-get
は比較にassq
、map-get
とmap-put
はeql
を常に使用します。
format
、make-hash-table
、min
、max
、logb
は結果を予測可能性を減少させるために、内部で時折値を丸めるようになりました。
ffloor
、fceiling
、ftruncate
、fround
が整数の引数を受け取るようになりました。それとは逆にdecode-char
のような浮動小数点整数を受け取る関数は、整数の引数を受け取らなくなります。いずれの場合でも結果は時として愉快なほど無意味です。
cl-defstruct
はrecordを使用しなくなります。これにより極めて少数の既存コードや過去のコードがrecordによって破壊される可能性を取り除きました。
string-as-unibyte
、string-make-multibyte
、および同種の関数を再び使用できるようになりました。これは更に遠い過去においてEmacsがマルチバイトテキストを削除するための準備です。
string-version-lessp
関数を削除しました。
read-color
がカラー名の表示時にそのカラーをバックグラウンドに使用しなくなりました。これはユーザーを驚かせるとともに、カラーに問題のある端末で奇妙で一貫性のない結果をもたらすと判断しました。
file-name-case-insensitive-p
を削除しました。
read-multiple-choice
を削除しました。
add-variable-watcher
とそれに対応するデバッガコマンドdebug-on-variable-change
は削除されました。同じユースケースを網羅するには各停止ポイントで変数の値を調べれば十分なので、これらはデバッグを複雑にしてしまいます。ルールを単純化しましょう!
mapcan
がなくなりました。かわりにmapcar
を使用して結果のリストを適切に処理してください。
length
やmember
のような低レベルなリスト関数に循環リストを与えれば、Emacsのフリーズを引き起こすように無限ループできるようになりました。これは循環的ではない入力の際に、これらの関数を僅かに高速にするために役立つかもしれません。
write-region
関数がファイル名ハンドラーにたいしてlockname引数を伝播しなくなりました。
file-attributes
由来の奇妙な乱数値をリターンするLispプログラムを再び記述できるようになりました。これにより近い過去において興味深いアプリケーションをいくつか生み出すことができます。
file-attributes
、file-symlink-p
、make-symbolic-link
がローカルのシンボリックリンクのターゲットをあるケースにおいて暗黙に変更するようになりました。
file-missing
は削除されました。そのようなエラーの処理はかわりにfile-error
カテゴリーにまとめられます。
delete-directory
再帰的に処理を行い、かつがdelete-directory
が取得する前に別のプロセスがディレクトリーを削除した場合にはエラーをシグナルするようになりました。
dutch
はトルコ語のサポートも試みるようになりました(ただし不正確)。さらに‘IJ’や‘ij’を放置せずに特殊文字への変換も行います。
escape-glyph
フェイスで表示されるようになります。これはより単純であり、ユーザーがこれらの文字を含むテキストを閲覧時に解決すべき楽しいパズルを提供するでしょう。
electric-quote-context-sensitive
と変数electric-quote-inhibit-functions
によりelectric
quotingがより単純になり、何か間違ったことを行えるようになります。
text-quoting-style
は削除されて単なる変数になりました。
file-name-quote
、file-name-unquote
、file-name-quoted-p
を削除しました。ファイル名がクォート済みかどうかをチェックするコードの記述は容易であり、二重にクォートされたファイル名でも適切に記述されたLispコードでは問題が起こるはずがありません。
z-group
、min-width
、parent-frame
、delete-before
等のフレームパラメーターを削除しました。ウィンドウマネージャーの機能が次第に低下していかないことは明らかであり、Emacsがウィンドウマネージャーを置き換えるべきではありません。
mode-line-format
とheader-line-format
を削除しました。
movemail
置換を通常はビルドするようになり、configure時のオプション
--with-mailutilsは削除されました。これはセキュリティーが重要ではない場合のEmacsのセットアップを簡略化します。
emacs-build-number
に格納するかわりに変数emacs-version
に含めるようになりました。
attempt-stack-overflow-recovery
変数、attempt-orderly-shutdown-on-fatal-signal
変数が含まれます。