私はバージョン18からEmacsを使用しています。EmacsLispは私の日常的なプログラミング言語ではありませんが、何年も前に、これまでのどのGUI IDEよりも優れた(私にとって).emacsを作成するまで、Emacsを研究することに時間を費やしました。
それは一度だけの努力でした、そしてそれ以来、私はLispでプログラムする方法を完全に忘れました。
悲しいかな、Emacsをアップグレードするたびに(18> 19> 20> 21> 22> 23)、.emacsの何かが壊れてしまい、修正に何時間も(時には何日も)費やしてしまいます。
私が日常的にプログラムしている他の多くの言語では、時代遅れになることのないコードを書くことができます。一方、emacsでは、物事がどのように変化するかを予測することはできません。たとえば[M-TAB]
、バージョン21.4.1までは機能していましたが、バージョン23では機能しなくなったため、に置き換える必要があります"\M-\t"
。もう1つの例はdired-omit-toggle
、バージョン21で機能していたが、バージョン22で機能を停止し、に置き換えられたものdired-omit-mode
です。
さて、.emacsがあまり機能しない場合は、(おそらく)将来のバージョンとの互換性を維持できる「ほぼ空の」.emacsを作成できることを私は知っています。
しかし、私の.emacsは巨大で、1つの変更なしで多くの異なるオペレーティングシステム(およびそれらの異なるフレーバー、エディション、バージョン、非GUIシステムを含む)で実行するように設計されています。常に機能することが保証されているコアAPIまたはサブセットがあればいいのにと思います。
常に上位互換性を維持する.emacsを作成するそのような方法は本当にありますか?
もしそうなら、これを達成するための「料理本」または権威あるガイドラインはどこにありますか?