¿Cómo puedo evitar emacs servidor en funcionamiento cuando la ventana actual se cierra (x) en las ventanas utilizando emacsW32?

StackOverflow https://stackoverflow.com/questions/2001485

  •  18-09-2019
  •  | 
  •  

Pregunta

Estoy usando EmacsW32 (parches) en las ventanas. Emacs se ejecuta en modo servidor para que las llamadas posteriores a emacsclientw archivos abiertos en la misma sesión del servidor.

I tener C-x C-c asignada para hacer el marco actual invisible y no matar el proceso del servidor emacs. Me gustaría hacer clic en la ventana de X (cerrar) para también acaba de ocultar el marco y no interrumpir el proceso de servidor como lo hace actualmente.

¿Alguna idea? Gracias!

¿Fue útil?

Solución

Por supuesto, tengo un método de hacer esto. Puede haber mejoras posibles, pero es un buen punto de partida.

En primer lugar, tengo que instalar una variable y asesorar a la función kill-emacs

(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
    "Only kill emacs if the variable is true"
    (if bnb/really-kill-emacs
        ad-do-it)
      (bnb/exit))

La función / salida BNB sólo hace que el marco invisible como lo que ha obligado a C-x C-c .

Entonces tengo una función adicional de manera apropiada las emacs salida si eso es siempre necesaria. Que establecerá las variables y llamadas kill-emacs como sigue.

(defun bnb/really-kill-emacs ()
    (interactive)
    (setq bnb/really-kill-emacs t)
    (kill-emacs))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top