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

53.7 非常脱出

テキスト端末では、緊急エスケープ機能により、Emacsが1回目の入力に応答して終了する前に2回目のC-gを入力すると、直ちにEmacsが一時停止します。これは、GNU Emacsがどれほど深刻な状態でハングしていても、常にそこから脱出できるようにするためです。正常に動作している場合、Emacsは1回目のC-gを非常に高速に認識して処理するため、2回目の入力で緊急エスケープがトリガーされることはありません。しかし、何らかの問題でEmacsが1回目のC-gを適切に処理できない場合、2回目の入力によってシェルに戻ることになります。

緊急エスケープによる中断からEmacsを再開すると、再開を通知し、1、2問の質問を投げかけた後、元の処理に戻ります:

Emacs is resuming after an emergency escape.
Auto-save? (y or n)
Abort (and dump core)? (y or n)

各質問には y または n の後に RET を続けて回答してください。

y を ‘Auto-save?’ に指定すると、自動保存が有効なすべての変更済みバッファが即座に自動保存されます。n を指定すると、この処理はスキップされます。Emacs が安全に自動保存できない状態にある場合、この質問は省略されます。

y を ‘Abort (and dump core)?’ に指定すると、Emacs がクラッシュしてコアダンプが発生します。これは、ウィザードがそもそもなぜ Emacs が終了できなかったのかを突き止められるようにするためです。コアダンプが発生すると、実行は続行されません。

この質問 n に回答すると、Emacs の実行が再開されます。うまくいけば、最終的に Emacs は要求された終了処理を行います。そうでない場合は、それ以降の C-g ごとに再度緊急エスケープが呼び出されます。

Emacsが完全にフリーズしているのではなく、単に動作が遅いだけの場合、意図せずダブル C-g 機能が呼び出されることがあります。その場合は、そのまま再開して両方の質問に n と回答すれば、元の状態に戻ります。リクエストした終了処理は、いずれ実行されます。

緊急脱出機能はテキスト端末でのみ有効です。グラフィカルディスプレイでは、マウスを使ってEmacsを終了させたり、別のプログラムに切り替えたりできます。

MS-DOSでは、緊急脱出を行うために C-Break を(2回)入力する必要があります—ただし、システムコールがハングしたり、EmacsがCコードのタイトなループに陥ったりした場合には、機能しないことがあります。