Não acho esse aviso particularmente útil e bastante perturbador, pois oculta o texto atual na área de eco por um breve momento. Também parece desnecessário, porque notarei de qualquer maneira que não consigo escrever em áreas somente leitura. Há uma forma de desabilitá-lo?
9
command-error-function
valor não afetará todos os erros, e não apenas os erros "somente leitura do buffer"? Não consigo descobrir exatamente o impacto de toda essa mudança no código-fonte.(when ...)
formulário no trecho de código: dessa maneira, os sinais com os quais não nos importamos são passados para o manipulador padrão ebuffer-read-only
são ignorados.command-error-default-function
.phils
que você ligou está correta, ou seja, precisaríamos de um novo código C para isso.Origem do erro 'buffer somente leitura'
Eu acredito que a fonte desse erro:
Buffer is read-only: <#BUFFER-NAME>
está no código fonte C.Portanto, a solução para isso seria ajustar o código-fonte e criar o emacs localmente, comentando esta linha específica .
Para referência, aqui está o trecho de código que gera esse erro:
.. e comentar essa
xsignal
linha deve fazer o truque.Abordagem sugerida
Existe uma maneira muito mais fácil de evitar esse incômodo enquanto você estiver trabalhando em um buffer somente leitura. Você NÃO pode temporariamente torná-lo somente leitura.
M-x read-only-mode
(vinculado por padrão aC-x C-q
) alterna qualquer buffer entre o modo somente leitura e o modo editável.Portanto, se você estiver recebendo muitos desses erros, simplesmente torne o buffer temporariamente editável pressionando
C-x C-q
.Uma nota de aviso: Fazer o hack da fonte C pode ser uma fonte importante de confusão no futuro. Então eu não faria isso.
fonte
(defun barf-if-buffer-read-only () nil)
tem o mesmo efeito que comentar axsignal1
chamada e reconstruir o Emacs. :-)nil
: emacs.stackexchange.com/questions/2935/how-can-i-bring-back-nil