ある特定のメジャーモードで動いているとき、もしくは特定のバッファだけ、
ある既存関数の挙動を置き換えたいんですが方法ありますか?

defadviceとかだと、他のモードやバッファでの動作もかわっちゃいますよね。