Como posso interromper o emacs abrindo um arquivo grande?

7

Esporadicamente, quando eu abro um arquivo grande no emacs, ele fica pendurado para sempre, exceto que a GUI permanecerá responsiva! Eu posso mover meu mouse entre os quadros e o cursor será preenchido, passando o mouse sobre os arquivos no modo dired e ainda os realçando, etc., mas clicar não faz com que nenhuma ação seja realmente executada. O ideal é claro que qualquer bug no emacs será consertado eventualmente, mas por enquanto, existe alguma maneira de eu poder interromper o emacs carregando o arquivo, ou mudar meus .emacs para torná-lo interrompível? Ctrl + G não funciona.

Esclarecimento: Eu estou tentando não perder meu trabalho - então eu quero dizer interromper o emacs sem matá-lo , como em, ter que voltar a como era antes de tentar abrir o arquivo.

    
por Joseph Garvin 29.10.2010 / 20:23

1 resposta

9

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, evitando o tempo gasto durante a fonte. Descobri que esse é um comportamento útil e posso ativar qualquer um desses recursos facilmente, se quiser. UPDATE - erro de digitação fixo com o arquivo find-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)
    
por 31.10.2010 / 17:15

Tags