通常Global Auto
Revertモードは、ファイルのバッファーだけをリバートします。非ファイルバッファーにたいして自動リバートを行うには、2つの方法があります。1つはそれらのバッファーにたいしてAuto
Revertモードを有効にする方法です(M-x
auto-revert-modeを使います)。もう1つはglobal-auto-revert-non-file-buffers
に非nil
値をセットする方法です。後者はそれが実装されているすべての種類のバッファーにたいして、自動リバートを有効にします(以下のメニューにリストされています)。
ファイルバッファーと同様、非ファイルバッファーはそれらにたいして作業を行っているときや、リバートすると失われてしまう情報が含まれているとき、通常はリバートすべきではありません。したがって、それらがmodified(変更されている)のときはリバートしません。非ファイルバッファーが変更されているとマークするのは、ファイルバッファーのときより通常難しいので、トリッキーになり得ます。
他のトリッキーな点に関する詳細は、効率の問題です。自動リバートはしばしばバッファーにたいするすべての可能な変更を検知しようとせず、広範または簡単に検知できる変更だけを検知します。したがって、非ファイルバッファーに自動リバートを有効にすることは、バッファーのすべての情報が最新であると常に保証はしませんし、手動によるリバートを無用にする必要もないからです。
それとは反対に、特定のバッファーはauto-revert-interval
で指定された秒数ごとに自動的にリバートします(これは現在のところBuffer
Menuだけに適用されます)。この場合、自動リバートはリバートの際、auto-revert-verbose
が非nil
でも、何もメッセージを表示しません。
いくつかの非ファイルバッファーは、バッファーのデフォルトディレクトリーのファイル通知によって信頼性をもって更新が可能です。Diredがその例です。メジャーモードはそのバッファーでbuffer-auto-revert-by-notification
に非nil
をセットしてこれを示すことができ、Auto
Revertが定期的なポーリングを行わなくすることができます。このような通知はディレクトリー自身にたいしてだけであり、ディレクトリーのファイルは含まれません。
詳細はバッファーの特性に依存し、それらは対応するセクションで説明されています。