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:
if (!NILP (BVAR (current_buffer, read_only))
&& NILP (Vinhibit_read_only)
&& NILP (Fget_text_property (pos, Qinhibit_read_only, Qnil)))
xsignal1 (Qbuffer_read_only, Fcurrent_buffer ());
return Qnil;
.. 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.
- Hacer
M-x read-only-mode
(vinculado de forma predeterminada a C-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.
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.