http://www.gnu.org/software/emacs/manual/html_node/elisp/Saving-Buffers.html#Saving-Buffersでマニュアルを読みましたが、それでも2つの違いが何であるかを完全には理解していません。どちらも、訪問したファイルにバッファを保存する前に設定した関数を実行するためのフックとして機能しているように見えます。誰かが例で説明できますか?ありがとう。
3 に答える
write-file-functions ファイルを保存する前に単純に任意のことを行うために使用できますが、その記載された目的は、デフォルト以外の関数が実際にファイルを保存する作業を実行できるようにすることです(または、保存に直接関連する目的でコンテンツを操作することもできます)。メカニズム自体)。
ファイルを保存するメカニズムを変更することが目的ではない場合は、を使用する必要があると強く思いますbefore-save-hook。
も参照してくださいC-hig (elisp) Saving Buffers RET
write-*-functions何ができるかの厳密なスーパーセットを提供しbefore-save-hookます。より具体的には、通常の保存メカニズムを別のメカニズムに置き換えるwrite-*-functionsことができます。これは、以前の関数の一部がすでにバッファを保存しているため、に追加された関数が未使用になる可能性があることを意味します。write-*-functions
さて、それbefore-save-hookはコンテンツを変更するためにここにあると思います。write-*-functionsコーディングシステム(たとえば、ファイルの内容を圧縮するか、他のファイル形式に従う)とバックアップファイルを担当している間。
さらにwrite-*-functions、の場合はそうではないようですが、ローカルのバッファである可能性がありますbefore-save-hook。しかし、それが何を意味するのかわかりません。