パッケージに必要なパッケージバージョンを確認するにはどうすればよいですか?


9

現在、いくつかのパッケージがあります。PackageRequiresセクションに、必要なすべてのパッケージを入れたいのですが、名前とバージョンが必要なようです。バージョン番号はどこでわかりますか?たとえば、私は(cl-lib "0.5")を持っていますが、使用できる最小バージョンを判断する最良の方法は何ですか?現在のバージョンを確認できますが、必要な最小値を判断する最良の方法は何ですか?また、必要なパッケージの中には、ファイルにバージョンが指定されていないものもあります。それらの場合、何が推奨されますか?

回答:


7

パッケージを作成したバージョンを使用します。使用するすべての関数を明示的にチェックしない限り、これが最も安全なベースラインです。そこから先は、そのパッケージのメンテナが暗黙のうちに下位互換性を壊さないことを望んでいるだけです…

バージョン番号すら持たないパッケージは全然使いません。メンテナが適切なバージョン管理を気にしない場合、他の何かでどうやってそれらを信頼できますか?


1

私の推薦:

  • コードが実際に使用する関数、変数、マクロなどから始めます。Emacsの特定のバージョンまたは関数のソースライブラリで導入されたものを使用する場合は、それを最小バージョンとして開始します。

  • 使用する関数のバージョンは、最初に導入されたときの関数の元のバージョンと一致しない場合があります。おそらくより多くの議論が追加されました。それがあなたの特定の用途にとって重要であるかどうかを確認してください。そうでない場合は、これを無視できます。もしそうなら、それはあなたのコードが期待するものをサポートする最も古いソースバージョンを見つけます。

  • テスト。最低限サポートしていると主張するライブラリのバージョンのコピーを入手して、試してください。

  • 関数にマイナーな変更が加えられている場合があり、コードには基本的に新しいバージョンは必要ありません。ただし、複数のバージョンをサポートするために、それを適応させる必要がある場合があります(それが必要な場合)。関数が存在するか(fboundp)、または適切なシグネチャ/呼び出しシーケンスがあるかどうかをテストする必要がある場合があります。後者の場合、subr-arity組み込みに役立ちますがcondition-case、Lisp関数に使用する必要がある場合があります(引数の数を拡張して呼び出し、引数の数を少なくして呼び出すことにより、args-of-argsエラーを処理します)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.