Next: , Previous: Command Example, Up: Command Arguments


A.4 引数を指定したEmacsの再開

Emacsをいったん休止したあとで再開するときには動作引数を指定できます。 その準備として、 個人の.emacsにつぎのコードを入れておきます(see Hooks)。

     (add-hook 'suspend-hook 'resume-suspend-hook)
     (add-hook 'suspend-resume-hook 'resume-process-args)

さらに、(cshを使っているなら)シェルスクリプトemacs.cshか、 (bashを使っているなら)emacs.bashを実行する必要があります。 これらのスクリプトはeditという別名(エイリアス)を定義します。 この別名は、訪れるべきファイルなどのコマンド行引数を新たに与えて Emacsを(休止状態から)再開します。

Emacsを再開する場合には動作引数しか使えません。 初期化引数は認識されません。 なぜなら、初期化を行うには遅すぎるのです。

(引数の有無に関わらず) Emacsの再開はEmacsジョブの親であるシェルから行う必要があります。 editが、プログラムやシェルスクリプトではなく、 別名であるのはこのためです。 シェルの別のサブジョブから実行できる再開コマンドを実現することは不可能です。 たとえば、環境変数EDITORの値に指定できる コマンドを定義する方法はありません。 したがって、 この機能でEmacsサーバーの機能(see Emacs Server)を 置き換えることはできません。

別名editは、Emacsサーバーが稼働中ならEmacsサーバーの機能を使います。 しかし、このことを完全に正確に調べる方法はありません。 実際にはEmacsが終了していても、ファイル/tmp/.esrv...が存在すると サーバーが稼働中であると誤認してしまいます。 そのような場合には、そのファイルを探して削除してください。