emacs confirmation quit

¿Impedir que Emacs salga una vez que se haya iniciado el procedimiento de salida?



confirmation quit (4)

Hay una variable incorporada que puede establecer en una función como esta:

(setq confirm-kill-emacs ''y-or-n-p)

¿Hay alguna manera de evitar que Emacs salga una vez que inicie el proceso de salida?

Ocasionalmente gordo dedo Cx Cs como Cx Cc . No es un proceso horrible volver a ponerlo en marcha, pero tengo curiosidad por saber si hay una forma de detener el proceso de salida para poder continuar sin interrupciones con todos mis archivos abiertos.

Utilizando GNU Emacs 24.3.1. Corriendo en Cygwin debajo de la ventana 7.


La respuesta de Scottfrazer es más apropiada para mí que lo que sigue.

Habilite el modo menor de Bloqueo de Emacs (modo de bloqueo de Emacs ) en cualquiera de los buffers, para evitar que Emacs salga en caso de que accidentalmente presione Cx Cc .

Desde la página de Emacs Wiki:

Emacs no puede salir hasta que el búfer sea eliminado o desbloqueado

Agregue (emacs-lock-mode) a su archivo .emacs / init.el para que este bloqueo esté habilitado en cada sesión de Emacs. Al agregar esto, se bloqueará el búfer *scratch* que deberá desbloquearse en caso de que realmente quiera salir de Emacs.

Otra forma / forma de hacerlo es iniciar un proceso en Emacs, por ejemplo, Mx shell o tener un archivo no guardado asociado a un búfer, esto le pedirá confirmaciones cuando Emacs esté saliendo.

Sí, uno más, desactive Cx Cc usando global-unset-key . Y luego si quieres salir de Emacs Mx kill-emacs .


Si está buscando una respuesta más corta, he tenido esta línea en la parte inferior de todos mis archivos .emacs desde el siglo pasado:

(shell)


  • El uso de confirm-kill-emacs , como sugirió @scottfrazer, es un enfoque.

  • Más generalmente, puede usar kill-emacs-query-functions para hacer lo que quiera en este sentido. (No había una necesidad real de que agregaran confirm-kill-emacs , pero lo hicieron).

  • Es probable que no desee utilizar kill-emacs-hook a este respecto (para eso están las kill-emacs-query-functions ), pero sea consciente de ello, en caso de que lo encuentre utilizando apropos etc.

Una de las ventajas de kill-emacs-query-functions de kill-emacs-query-functions sobre la de confirm-kill-emacs es que puede requerir una mejor confirmación: yes lugar de solo pulsar la tecla y . Por ejemplo:

(add-hook ''kill-emacs-query-functions (lambda () (y-or-n-p "Do you really want to exit Emacs? ")) ''append)

Eso es lo que hago. Es demasiado fácil presionar teclas y golpear accidentalmente Cx Cc y , especialmente porque tengo teclas similares enlazadas (por ejemplo, Cx c , Cx Cx , Cx Cy ).