回答:
私の推薦:
コードが実際に使用する関数、変数、マクロなどから始めます。Emacsの特定のバージョンまたは関数のソースライブラリで導入されたものを使用する場合は、それを最小バージョンとして開始します。
使用する関数のバージョンは、最初に導入されたときの関数の元のバージョンと一致しない場合があります。おそらくより多くの議論が追加されました。それがあなたの特定の用途にとって重要であるかどうかを確認してください。そうでない場合は、これを無視できます。もしそうなら、それはあなたのコードが期待するものをサポートする最も古いソースバージョンを見つけます。
テスト。最低限サポートしていると主張するライブラリのバージョンのコピーを入手して、試してください。
関数にマイナーな変更が加えられている場合があり、コードには基本的に新しいバージョンは必要ありません。ただし、複数のバージョンをサポートするために、それを適応させる必要がある場合があります(それが必要な場合)。関数が存在するか(fboundp
)、または適切なシグネチャ/呼び出しシーケンスがあるかどうかをテストする必要がある場合があります。後者の場合、subr-arity
組み込みに役立ちますがcondition-case
、Lisp関数に使用する必要がある場合があります(引数の数を拡張して呼び出し、引数の数を少なくして呼び出すことにより、args-of-argsエラーを処理します)。