'Arabellek salt okunur' hatasının kaynağı
Bu hatanın Buffer is read-only: <#BUFFER-NAME>
kaynağının C kaynak kodunda olduğuna inanıyorum .
Bu yüzden çözüm, kaynak kodunu değiştirmek ve bu belirli satırı yorumlayarak yerel olarak emacs oluşturmak olacaktır .
Başvuru için, bu hatayı atan kod pasajı şöyledir:
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;
.. ve bu xsignal
çizgiyi yorumlamak hile yapmalı.
Önerilen Yaklaşım
Salt okunur bir arabellekte çalıştığınız süre boyunca bu rahatsızlığı önlemenin çok daha kolay bir yolu var ... geçici olarak salt okunur yapamazsınız.
- Bunu yapmak
M-x read-only-mode
(varsayılan olarak bağlı C-x C-q
), tüm arabellekleri salt okunur mod ile düzenlenebilir mod arasında değiştirir.
Dolayısıyla, bu hataların çoğunu alıyorsanız, tamponu vurarak geçici olarak düzenlenebilir hale getirin C-x C-q
.
Uyarı notu: C kaynağı kesmek, gelecekte büyük bir karışıklık kaynağı olabilir. Bu yüzden yapmam.
command-error-function
değerin geçersiz kılınması sadece "salt okunur tampon" hatalarını değil tüm hataları etkilemez mi? Tüm bu değişikliğin kaynak koddan ne etkileyeceğini tam olarak anlayamıyorum.