Next: , Previous: Activation of Advice, Up: Advising Functions


16.6 アドバイスの有効化と無効化

各アドバイス断片には、 それを有効にするか無効にするかを指定するフラグがあります。 アドバイス断片を有効にしたり無効にすることで、 アドバイス断片を未定義にしたり再定義することなくオン/オフできます。 たとえば、関数fooに対するアドバイス断片my-adviceを 無効にするには、つぎのようにします。

     (ad-disable-advice 'foo 'before 'my-advice)

この関数自身は、アドバイス断片の有効化フラグを変更するだけです。 アドバイスした関数でこの変更の効果を発揮するには、 fooのアドバイスを再度活性にする必要があります。

     (ad-activate 'foo)
— コマンド: ad-disable-advice function class name

このコマンドはfunctionに対するクラスclass内の nameで指名したアドバイス断片を無効にする。

— コマンド: ad-enable-advice function class name

このコマンドはfunctionに対するクラスclass内の nameで指名したアドバイス断片を有効にする。

正規表現を用いて、さまざまな関数に対する 多数のアドバイス断片を一度に無効にすることもできます。 この場合も、当該関数のアドバイスを再度活性にすることで、 その効果が発揮されます。

— コマンド: ad-disable-regexp regexp

このコマンドは、すべての関数のすべてのクラスの regexpに一致するアドバイス断片すべてを無効にする。

— コマンド: ad-enable-regexp regexp

このコマンドは、すべての関数のすべてのクラスの regexpに一致するアドバイス断片すべてを有効にする。