Предотвращение выхода GNU Emacs при создании записи журнала - PullRequest
0 голосов
/ 02 сентября 2018

Всякий раз, когда я случайно набираю жирный палец C-x C-c (или Cmd-Q на Mac), GNU Emacs сразу же завершает работу, если не открыты оболочки или не изменены буферы, поддерживаемые файлами, - в этом случае он запрашивает, как продолжить.

К сожалению, если у меня нет открытых сессий оболочки и я сохранил свои файлы, но я нахожусь в процессе создания блестящего, но, возможно, не совсем содержательного сообщения журнала git (в буфере *vc-log*), которое выиграло не помешает мне выйти одним махом, без промедления, тем самым потеряв этот черновик, который, по-видимому, нигде не сохраняется автоматически, и я не смог его найти.

Как лучше всего решить эту проблему? Я думаю, что лучше всего для *vc-log* и любого другого такого буфера, который обеспечивает композицию «на лету», не поддерживаемую традиционным файлом (таким как сообщение фиксации / регистрации или электронная почта), тем не менее, чтобы он был поддержан файл "в ожидании черновика". Это не только поможет избежать случайного выхода из Emacs, но и позволит восстановить такой черновик в случае сбоя Emacs (или самого компьютера).

Если это разумный подход, как он должен быть реализован?

Другие подходы, которые я рассмотрел (которые кажутся далеко не идеальными):

  • Каким-то образом убедить подходящую выходную ловушку Emacs всегда запрашивать перед выходом, даже если нет ни сеансов оболочки, ни модифицированных буферов с файловой поддержкой
  • Используйте новый сеанс Emacs, автоматически вызываемый (например, git commit (без опции -m и предполагающий GIT_EDITOR=emacs в среде), поэтому буфер COMMIT_EDITMSG с файловой поддержкой используется для создания сообщение коммита - которое предотвращает выход нового сеанса Emacs без запроса и , предотвращает случайный выход из исходного сеанса Emacs (обычно «более толстый» со многими буферами и другим контекстом)
  • Используйте git commit -m ... для однострочных коммитов
  • Всегда оставляйте сеанс оболочки открытым (в Emacs), поэтому выход всегда вызывает сначала

Любые рекомендации?

1 Ответ

0 голосов
/ 02 сентября 2018

М-х customize-option RET confirm-kill-emacs RET

позволяет установить запрос подтверждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...