ファイルの本文にタイムスタンプを付与しておけば、ファイルがコピーされたり、ファイルシステムの更新日時が失われるような処理が行われたりしても、ファイルが作成された時刻が保持されます。タイムスタンプは、日付スタンプや最終更新日時と呼ばれることもあります。また、ファイルを保存するたびにタイムスタンプが自動的に更新されるように設定することも可能です。
自動タイムスタンプを設定するには、2つの手順があります。まず、ファイルにタイムスタンプテンプレートが必要です。デフォルトでは、テンプレートは最初の8行のどこかに配置されており、次のような形式になっています。
Time-stamp: <>
または(お好みで)次のように:
Time-stamp: " "
このテンプレートを用意しておけば、M-x time-stamp コマンドを使って現在のバッファのタイムスタンプを即座に1回だけ更新できます。Emacsエディタはテンプレートの有無を確認し、テンプレートが見つかった場合は、現在の日付、時刻、作成者、および/またはその他の情報を山括弧や引用符の間に書き込みます。最初のタイムスタンプが設定された後、行は次のようになる場合があります:
Time-stamp: <1993-07-06 11:05:14 terryg>
次に、before-save-hook に time-stamp を追加することで、ファイルを保存するたびに time-stamp が実行されるように Emacs を設定します(フック を参照)。この手順には2つの方法があります。
before-save-hook をカスタマイズするか、または
(add-hook 'before-save-hook 'time-stamp)
これで、ファイルを保存するたびにEmacsがタイムスタンプを確認するようになります。バッファにテンプレートがない場合はtime-stampは何も行いませんが、タイムスタンプがあるファイルについては、自動的に最新の状態に保たれます。