Quelle des Fehlers "Puffer schreibgeschützt"
Ich glaube, dass die Quelle dieses Fehlers Buffer is read-only: <#BUFFER-NAME>
im C-Quellcode liegt.
Die Lösung hierfür wäre also, den Quellcode zu optimieren und Emacs lokal zu erstellen, indem diese bestimmte Zeile auskommentiert wird .
Als Referenz ist hier das Code-Snippet, das diesen Fehler auslöst:
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;
.. und das Auskommentieren dieser xsignal
Zeile sollte den Trick tun.
Vorgeschlagener Ansatz
Es gibt eine viel einfachere Möglichkeit, diesen Ärger für die Dauer, in der Sie in einem schreibgeschützten Puffer arbeiten, abzuwenden. Sie können ihn vorübergehend NICHT schreibgeschützt machen.
- Durch Ausführen
M-x read-only-mode
(standardmäßig gebunden an C-x C-q
) wird ein Puffer zwischen dem schreibgeschützten Modus und dem bearbeitbaren Modus umgeschaltet.
Wenn Sie also viele dieser Fehler erhalten, können Sie den Puffer einfach vorübergehend durch Bearbeiten bearbeiten C-x C-q
.
Ein Hinweis zur Warnung: Das Durchführen des C-Quell-Hacks könnte in Zukunft zu großer Verwirrung führen. Also würde ich es nicht tun.
command-error-function
Werts aus Neugier nicht alle Fehler betreffen und nicht nur die "Nur-Puffer-Puffer" -Fehler? Ich kann nicht genau herausfinden, welche Auswirkungen diese Änderung auf den Quellcode hat.