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)