Previous: , Up: 配布用Lispコードの準備   [Contents][Index]


44.6 古いバージョンのEmacsのサポート

Emacsの最新リリースのより新しい機能を諦めることなくEmacsの古いリリースをサポートしたいパッケージは、GNU ELPAのCompatパッケージを使ってそれを実現できます。パッケージに応じて、欠落している機能の互換性定義をEmacsが提供することができます。

Compatのバージョン管理はEmacsのバージョン管理にしたがうので、以下のように定義してパッケージが依存する(emacs-packageを介した)もっとも古いバージョンの隣に、パッケージが使用したいEmacsのもっとも新しいバージョンを示すことができます:

;; Package-Requires: ((emacs "27.2") (compat "29.1"))

Compatはすでに定義された関数(sortassoc、…)にたいして拡張機能を備えた置換関数を提供することに注意してください。これらの関数は呼び出し規約(追加のオプション引数など)や振る舞いが変更されるかもしれません。これらのはcompat-functionで明示的に参照したり、compat-callで明示的に呼び出さなければなりません。これらを拡張定義(Extended Definitions)と呼んでいます。それとは対照的に新たに追加された定義(Added Definitions)は通常通り呼び出すことができます。

Macro: compat-call fun &rest args

このマクロはargsとともに互換性関数funを呼び出す。このマクロなしで直接呼び出せる多くの関数がCompatにより提供されている。しかし既存関数の互換版をCompatが提供している場合には、compat-callを通じて関数を呼び出す必要がある。

Macro: compat-function fun

このマクロはfunにたいする互換性関数シンボルをリターンする。互換性を直接呼び出すより簡便なマクロについてはcompat-callを参照のこと。

このパッケージを使用する方法についてのさらなる詳細についてはUsage in "Compat" Manualを参照のこと。インストール済みマニュアルがない場合にはOnline Compat manualも役に立つだろう。

This page has generated for branch:emacs-30, commit:ab5505a8acf795c0a0a2745dd6fb666954c6a4bb to check Japanese translation.