Appendix E Emacs 25 アンチニュース
時代に逆らって生きるユーザーのために、以下はEmacsバージョン25.3へのダウングレードに関する情報です。Emacs
26.1.92機能の不在による結果としての偉大なる単純さを、ぜひ堪能してください。
- Emacsはビルド時にデフォルトでGnuTLSライブラリーを要求しなくなりました。ビルトインとしてTLS機能を欲するユーザーは、ビルド時に明示的に要求するか
—
永遠に口を閉じているかです。わたしたちはTLS機能をもつことにより、libgnutls不在によるエラーメッセージにより、ユーザーやパッケージをビルドする人を煩わせるのは、正当性はないと判断しました。また、GnuTLSとともにビルドする場合は、バージョン2.12.2はあなたが時代を逆行するにしたがい利用性と知名度が減少するので、2.12.2より古いバージョンが容認されると判断しました。
- 同様の理由により、安全でないチャンネルを通じた平文によりPOP3メールを取得する、わたしたち自身のバージョンの
movemail
をビルドするように戻しました。あなたが時代を逆行するにしたがい、POP3の安全な代替物の利用性は減少していき、わたしたちは単にそれを熱烈に支持するだけです。さらにconfigure時のオプション--with-mailutilsは、観察可能な過去において意味をもたないため削除されました。
- わたしたちは
systemd
と、それに類するサービスにたいするサポートを削除しました。これらのサービスを通じたEmacs使用を可能にするユーザーのinitファイルは提供されなくなり、これらのサービス下でのEmacsクライアントにとっては重要だったEmacsサーバーのソケット起動にたいするサポートも削除されました。繰り返しますが、これらのサービスはあなたが時代を逆行するにしたがい知名度を失うので、これらをサポートするコードはEmacsを肥大化させるだけの不要コードなのです。
- Emacsの再現可能なビルドは、過去の開発により不必要になるので、サポートされなくなります。
- --fg-daemonはなくなり、--daemonだけが残りました。新しい光り輝く“愚かなEmacs(headless
Emacs)”を欲すべきか否かというジレンマなどでグズグズする必要はありません。Hail, simplicity!(単純さ、万歳!)
- あなたが時代を逆行するにしたがいTrueColorをサポートするテキスト端末は地歩を失うので、わたしたちはテキスト端末の24ビットカラーにたいするサポートを削除しました。テキスト端末に色を望むなら、8ビットカラーで満足すべきなのです。(正直に言うと、わたしたちはテキスト端末はモノクロであるべきと考えています。ただ、あなたがこの機能に戻るためには、古いEmacsバージョンへとダウングレードを続ける必要があるでしょう。)
- Emacs 25.3ではスクリプト内の‘#!/usr/bin/env
interpreter’形式によるフォーマット識別子(magic
signature)はサポートされなくなります。時代を逆行するということは、すべてのインタープリターは単一のディレクトリー/binにあるという原始Unixデザインに近づくことを意味するので、この空想的な機能は単に不必要となるのが確実です。
- X上でのEmacsディスプレイのダブルバッファリング機能は削除されました。たとえこの機能で得られるものを一部の人々が熱望するとしても、わたしたちはその複雑性と2、3の突発的で驚くべき副作用は、それにより得られるものを正当化しないと判断しました。確かにEmacs
25.3は、あるユースケースにおいてはチカチカします。しかしEmacsユーザーは彼らが何年もしてきたように、そんなことは乗り越えるのです。この機能がなくなったので、今や不必要となったフレームパラメーター
inhibit-double-buffering
も削除しました。
- サポートされていないクォート文字の代替えとして表示されていたnon-breaking
hyphenとASCII文字は、再び
escape-glyph
フェイスを使用して表示されます。わたしたちは3つの異なるフェイスより単一のフェイスをもつほうが、ユーザーのEmacsカスタマイズ作業をより単純にすると考えます。同じ理由によりheader-line-highlight
は削除され、Emacsディスプレイのモードライン周辺の要素は単なるhighlight
フェイスとなります。
- Cのスタックオーバーフローのような致命的な例外や致命的なシグナルからのリカバリーの試みは、無効にできなくなりました。Emacsに含まれるリカバリー機能は十分に信頼に足るので、これらの状況が発生したときに編集内容を失うような危険にさらす必要はないとわたしたちは判断しました。したがって、変数
attempt-stack-overflow-recovery
およびattempt-orderly-shutdown-on-fatal-signal
は削除されました。
- タイマーはユーザーレベルの機能ではないとわたしたちは判断したため、
list-timers
コマンドは削除されました。ユーザーはタイマーへの干渉を許されるべきではないのです。近くのEmacs
Lisp導師に、セッション内に暴走タイマー(runaway
timer)があったらどうなるか尋ねてください。(もちろん、あなたが時代を逆行するにしたがい、そのような暴走タイマーは稀になり、実際のタイマーは反対方向の時間には対処できないので、自動的にシャットダウンを開始するでしょう。)
- マウスやタッチパッドを使用した水平スクロールは削除されました。過去にはワイドモニターはそれほどポピュラーではなかったので、水平スクロールはもはや必要とされないでしょう。水平スクロールにたいするマウスサポートの削除は、以前のバージョンのEmacsにおける水平スクロール完全削除の最初のステップです。
- わたしたちは
emacsclient
の--trampオプションは、あまりに危険かつ複雑なことに気づいたので、クライアントコードと使い方の単純化のため削除しました。
-
display-raw-bytes-as-hex
変数はなくなったので、8進エスケープでのみrawバイトの表示が可能です。Emacsユーザーなら、8進から他の基数への変換など、眠りながらできるべきなのです!
- バッファーにたいする行番号の表示は、ディスプレイ余白に番号を表示するだけの
linum-mode
モードのようなアドオンを使用したときだけ可能になります。これらの機能を用いた行番号表示は低速でもあり、第一そのような機能はEmacsっぽくなく、Emacsに含まれるべきではないと、わたしたちは確信しています。その結果、display-line-numbers-mode
は削除されました。
- Emacsのシンプル化という永遠の課題のもと、わたしたちはオプション--alternate-editorおよび環境変数
ALTERNATE_EDITOR
を通じてコマンドライン引数をEmacsに渡すためのサポートを削除しました。残ったのは真のEmacs
— emacsとして呼び出されたときは、これらすべての奇妙なオプションなど必要としないEmacsだけです!
- “単一行水平スクロール(single-line horizontal scrolling)”として知られる複雑さは、Emacs
25.3からなくなります。これは、“他のエディター”に屈従する機能でした。そのかわりに毎回ウィンドウ全体を水平スクロールすることにより、他のエディターをEmacsに屈従させましょう。わたしの後に続けてください、“Emacs流オンリー!!(The
Emacs way is the Only Way!)”
- TurkishやGreekのようないくつかのlocaleで使用されていた、非ASCIIの空想的な大文字小文字変換は、7ビットASCIIにおける大文字と小文字の単純な関連性のみを残して削除されました。同様に、大文字小文字を変換したときに複数の文字に変換されるような関連性も
— 削除されました。
- Enchant、および同じようなスペルチェックコマンドは、
ispell-buffer
によりサポートされなくなりました。あなたが時代を逆行するにしたがいEnchantは次第に消え去り、それにたいするサポートも必要なくなります。
- TrampはGoogle
Driveリポジトリーにたいするサポートを失いました。あなたが時代を逆行するにしたがいクラウドストレージは逐次消え去るので、この機能は冗長になっていきます。
- 不必要に複雑と思われる、いくつかのコマンドは削除されました。それらのコマンドには、たとえば
replace-buffer-contents
やapropos-local-variable
が含まれます。
- Emacs 25.3では、コンピューターのメモリー容量とディスク容量を削減して、良好な状態に保つために、その他多くの機能とファイルが削除されました。