GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Non_002dFile-Buffers.html ・ emacs-doc.conao3.com

20.5.1 ファイル以外のバッファの自動リバート

グローバル自動リバートモードは、通常ファイルバッファのみをリバートします。特定の非ファイルバッファを自動リバートするには、2つの方法があります。それらのバッファで自動リバートモードを有効にする(M-x auto-revert-modeを使用)方法と、global-auto-revert-non-file-buffersにnil以外の値を設定する方法です。後者の方法では、自動リバートが実装されているすべての種類のバッファ(以下のメニューに記載)で自動リバートが有効になります。

ファイルバッファと同様に、非ファイルバッファも、操作中や、リバージョン後に失われる可能性のある情報を保持している間は、通常リバージョンされるべきではありません。したがって、変更が加えられた場合はリバージョンされません。非ファイルバッファをいつ「変更済み」としてマークすべきかを判断することは、通常ファイルバッファの場合よりも困難であるため、この点は扱いが難しくなることがあります。

もう一つの厄介な点は、効率性の観点から、自動リバート機能がバッファ内のあらゆる変更を検出しようとせず、重大または検出しやすい変更のみを対象とすることが多いことです。そのため、ファイル以外のバッファで自動リバートを有効にしても、バッファ内のすべての情報が最新であることが常に保証されるわけではなく、また必ずしも手動でのリバートが無意味になるわけでもありません。

もう一方の極端な例として、一部のバッファはauto-revert-interval秒ごとに自動的にリバートされます。(これは現在、バッファメニューにのみ適用されます。)この場合、auto-revert-verboseがnilでない場合でも、オートリバートはリバート中にメッセージを出力しません。

一部の非ファイルバッファは、デフォルトディレクトリに対するファイル通知によって確実に更新できます。Diredバッファがその例です。メジャーモードは、そのバッファ内でbuffer-auto-revert-by-notificationをnil以外の値に設定することでこれを示せ、これによりAuto Revertが定期的なポーリングを回避できるようになります。このような通知には、当該ディレクトリ内のファイルへの変更は含まれず、ディレクトリ自体への変更のみが対象となります。

詳細はバッファの種類ごとに異なり、該当するセクションで説明されています。