¿Cómo puedo interrumpir emacs al abrir un archivo grande?

¿Cómo puedo interrumpir emacs al abrir un archivo grande?

Esporádicamente, cuando abro un archivo grande en emacs, se bloquea para siempre, ¡excepto que la GUI seguirá respondiendo! Puedo mover el mouse entre cuadros y el cursor se completará, al pasar el cursor sobre los archivos en modo directo aún se resaltan, etc., pero hacer clic no provoca que se realice ninguna acción. Idealmente, por supuesto, cualquier error que haya en emacs se solucionará eventualmente, pero por ahora, ¿hay alguna forma de interrumpir la carga del archivo en emacs o cambiar mi .emacs para que sea interrumpible? Ctrl+G no funciona.

Aclaración: estoy tratando de no perder mi trabajo, por eso me refiero a interrumpir emacssin matarlo, como en, hacer que vuelva a ser como estaba antes de intentar abrir el archivo.

Respuesta1

Utilizo el siguiente gancho para obligar a Emacs a abrir archivos grandes en modo fundamental, solo lectura y sin deshacer. Esto acelera la visualización de archivos grandes y evita perder tiempo durante la creación de fuentes. He descubierto que este es un comportamiento útil y siempre puedo activar cualquiera de esas funciones fácilmente si lo deseo. ACTUALIZACIÓN: error tipográfico corregido con el gancho para buscar archivos.

(defun my-find-file-check-make-large-file-read-only-hook ()
  "If a file is over a given size, make the buffer read only."
  (when (> (buffer-size) (* 10 1024 1024))
    (setq buffer-read-only t)
    (buffer-disable-undo)
    (fundamental-mode)
    ; (message "Buffer is set to read-only because it is large.  Undo also disabled.")
    ))

(add-hook 'find-file-hook 'my-find-file-check-make-large-file-read-only-hook)

información relacionada