Como posso interromper o emacs abrindo um arquivo grande?

Como posso interromper o emacs abrindo um arquivo grande?

Esporadicamente, quando abro um arquivo grande no emacs, ele trava para sempre, exceto que a GUI permanece responsiva! Posso mover o mouse entre os quadros e o cursor será preenchido, passar o mouse sobre os arquivos no modo dired ainda os destaca, etc., mas clicar não faz com que nenhuma ação seja realmente executada. Idealmente, é claro que qualquer bug no emacs será corrigido eventualmente, mas por enquanto, há alguma maneira de interromper o carregamento do arquivo pelo emacs ou alterar meu .emacs para torná-lo interrompível? Ctrl + G não funciona.

Esclarecimento: estou tentando não perder meu trabalho - quero dizer, interromper o emacssem matá-lo, como em, fazer com que ele volte a ser como estava antes de tentar abrir o arquivo.

Responder1

Eu uso o seguinte gancho para forçar o Emacs a abrir arquivos grandes no modo fundamental, somente leitura e sem desfazer. Isso acelera a visualização de arquivos grandes e evita qualquer tempo gasto durante a fonte. Descobri que esse é um comportamento útil e sempre posso ativar qualquer um desses recursos facilmente, se quiser. UPDATE - erro de digitação corrigido com find-file-hook.

(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)

informação relacionada