'बफर रीड-ओनली' त्रुटि का स्रोत
मेरा मानना है कि उस त्रुटि का स्रोत: Buffer is read-only: <#BUFFER-NAME>
सी स्रोत कोड में है।
तो इसका समाधान स्रोत कोड को ट्विक करना और स्थानीय स्तर पर इस विशिष्ट लाइन को टिप्पणी करके emacs बनाना होगा ।
संदर्भ के लिए, यहां वह कोड स्निपेट है जो उस त्रुटि को फेंकता है:
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;
.. और उस xsignal
लाइन को कमेंट करके ट्रिक करना चाहिए।
सुझाया गया दृष्टिकोण
आप केवल पढ़ने के लिए बफर में काम कर रहे हैं उस अवधि के लिए इस झुंझलाहट को टालने का एक बहुत आसान तरीका है .. आप अस्थायी रूप से इसे केवल-पढ़ने के लिए नहीं बना सकते हैं।
- रीडिंग -ओनली मोड और संपादन योग्य मोड के बीच किसी भी बफर को टॉगल करना
M-x read-only-mode
(डिफ़ॉल्ट रूप से बाध्य होना C-x C-q
) ।
तो अगर आप इन त्रुटियों में से एक बहुत हो रही है, बस मार से बफर अस्थायी रूप से संपादन योग्य बनाते हैं C-x C-q
।
चेतावनी का एक नोट: सी स्रोत हैक करना भविष्य में भ्रम का एक प्रमुख स्रोत हो सकता है। इसलिए मैं ऐसा नहीं करूंगा।
command-error-function
मान को ओवरराइड नहीं करना सभी त्रुटियों को प्रभावित करेगा, और न केवल "बफर रीड-ओनली" त्रुटियां? मैं यह ठीक-ठीक पता नहीं लगा सकता कि स्रोत कोड से यह सब परिवर्तन क्या प्रभाव डालेंगे।