No encuentro esta advertencia particularmente útil y bastante molesta porque oculta el texto actual en el área de eco por un breve momento. También parece innecesario, porque de todos modos notaré que no puedo escribir en áreas de solo lectura. ¿Hay alguna forma de desactivarlo?
9
command-error-function
valor no afectará a todos los errores, y no solo a los errores de "solo lectura de búfer"? No puedo entender exactamente qué impacto tendrá todo este cambio del código fuente.(when ...)
formulario en el fragmento de código: de esta manera, las señales que no nos importan se pasan al controlador predeterminado ybuffer-read-only
se ignoran.command-error-default-function
.phils
que vinculó es correcta, es decir, necesitaríamos un nuevo código C para esto.Origen del error 'solo lectura de búfer'
Creo que la fuente de ese error:
Buffer is read-only: <#BUFFER-NAME>
está en el código fuente C.Entonces, la solución a esto sería ajustar el código fuente y construir emacs localmente comentando esta línea específica .
Como referencia, aquí está el fragmento de código que arroja ese error:
.. y comentar esa
xsignal
línea debería hacer el truco.Enfoque sugerido
Hay una manera mucho más fácil de evitar esta molestia durante el tiempo que trabaje en un búfer de solo lectura ... temporalmente NO puede hacerlo de solo lectura.
M-x read-only-mode
(vinculado de forma predeterminada aC-x C-q
) alterna cualquier búfer entre el modo de solo lectura y el modo editable.Entonces, si está recibiendo muchos de estos errores, simplemente haga que el búfer sea editable temporalmente presionando
C-x C-q
.Una nota de advertencia: Hacer el hackeo de la fuente C podría ser una fuente importante de confusión en el futuro. Entonces no lo haría.
fuente
(defun barf-if-buffer-read-only () nil)
tiene el mismo efecto que comentar laxsignal1
llamada y reconstruir Emacs. :-)nil
: emacs.stackexchange.com/questions/2935/how-can-i-bring-back-nil