Me he encontrado con algún tipo de comportamiento O (n ^ 2) o peor cuando veo archivos muy grandes (por ejemplo, 128 MB) en Emacs y salto al final del archivo. Creo que puede tener que ver con mi algoritmo de coloración para colorear el texto contextualmente. Si escribo control-g (teclado-salir), la operación no se ve afectada. Me gustaría recuperar mi sesión de emacs sin matarla. Intenté enviar un SIGINT, pero emacs acaba de salir. ¿Hay alguna señal que pueda enviar, o de alguna otra manera (tal vez en un depurador) para forzar cualquier acción que se esté ejecutando para renunciar y devolverme el control?
emacs
syntax-highlighting
WilliamKF
fuente
fuente
font-lock-keywords
expresiones regulares cuidadosamente para tratar de encontrar el problema.Respuestas:
Dudo que sea el modo de bloqueo de fuente. Eso probablemente solo tiene secciones cerca de lo que es visible. Probablemente esté copiando datos en la memoria.
No sé qué haría (o qué versión de emacs está ejecutando), pero podría probar una señal PROBABLEMENTE no destructiva (USR1 o USR2).
O podrías irte a dormir y ver si se recupera.
fuente
kill -USR2
a emacs-mac funcionó para mí en una situación similar: cargué un archivo grande en modo js2 y comencé una búsqueda. USR2 salió de la búsqueda e ingresó al depurador. ¡Mucho mejor que matar el proceso!No conozco ningún manejo de señal que emacs haga, pero puede usar el servidor Emacs colocando
server-start
su archivo ~ / .emacs para que pueda hacer RPC en su instancia de emacs en ejecución.Luego, cuando quiera matar emacs y escribir, puede llamar desde su shell
emacsclient -e '(save-buffers-kill-emacs t)'
.fuente