Como remover o rastreamento de modificação de arquivos em um buffer do Emacs?

1

Eu tenho um buffer de *shell* no Emacs onde eu recebo uma interface de shell de linha de comando do Linux. Ocasionalmente, desejo salvar o conteúdo do buffer no disco para referência futura se minha sessão fosse encerrada e, uma vez feito isso, o Emacs marcará o buffer como modificado com um * antes de seu nome assim que ocorrerem mais interações de shell naquela sessão, , quando vou compilar arquivos, me perguntam se devo salvar o buffer antes de continuar com a compilação, pois eles aparecem como alterações não salvas que podem impactar a compilação.

Minha pergunta é se existe alguma maneira no Emacs de desassociar o buffer com um arquivo no disco ou de alguma forma marcá-lo como nunca modificado para que eu não obtenha a marcação * e não receba o aviso sobre compilar de alterações não salvas?

    
por WilliamKF 11.09.2014 / 18:50

3 respostas

2

A solução é fácil: nesse buffer de shell, digite:

(setq buffer-file-name nil)

Em seguida, com o cursor à direita do paren próximo, faça C-x C-e ou M-x eval-last-sexp . Então você pode apagar a expressão.

Homem! A atitude desses caras dizendo "Bem, não faça isso". Isso acontece comigo o tempo todo quando estou olhando para um arquivo no outro buffer no quadro e quero renomeá-lo, salvando-o, mas esqueci que o cursor está no meu buffer de shell.

    
por 08.12.2014 / 22:55
0

Não faça o buffer visitar um arquivo. Apenas salve qualquer um ou todo o seu conteúdo em um arquivo usando o comando write-region (não o comando write-file , que visita o arquivo). Veja o documento para write-region : C-h f write-region .

    
por 11.09.2014 / 19:35
0

No buffer que você deseja remover o sinalizador modificado, avalie a seguinte expressão no minibuffer pressionando M-:

(set-buffer-modified-p nil)

Isso deve alternar o sinalizador modificado para o buffer.

    
por 11.09.2014 / 20:55