नहीं, परिवर्तनीय before-save-hook
स्वाभाविक रूप से स्थानीय नहीं है। वेरिएबल का प्रलेखन यह नहीं कहता कि यह बफर स्थानीय है या कहें कि सेट होने पर यह स्वचालित रूप से बफर स्थानीय बन जाएगा।
(add-hook 'before-save-hook 'foo nil t)
ऐड-हुक प्रलेखन कहते हैं:
आप इसे करने के लिए एक बफर-स्थानीय हुक जोड़ना चाहते हैं, यह करने के लिए सही तरीका सिर्फ मानक add-hook
समारोह के वैकल्पिक स्थानीय पैरामीटर का उपयोग करने के लिए है :
वैकल्पिक चौथे तर्क, स्थानीय, अगर गैर शून्य, हुक के बफर-स्थानीय के बजाय अपनी वैश्विक मूल्य मूल्य को संशोधित करने के कहते हैं। यह हुक बफर-स्थानीय बनाता है, और यह बफर-स्थानीय मान का सदस्य बनाता है। यह ग्लोबल वैल्यू के साथ-साथ स्थानीय मूल्य में हुक फ़ंक्शन चलाने के लिए ध्वज के रूप में कार्य करता है।
इसे local-write-file-hooks
में जोड़ने का चयनित उत्तर गलत है, मुझे विश्वास है। यदि आप उस समारोह के लिए प्रलेखन को देखते हैं, emacs 24.3 पर, यह कहता है कि चर 22.1 के बाद अप्रचलित है, और आपको write-file-functions
का उपयोग करना चाहिए। और यदि आप write-file-functions
के दस्तावेज़ीकरण को देखते हैं, तो यह अधिक जटिल व्यवहार का वर्णन करता है और अंत में कहता है कि "बफर सहेजने से पहले विभिन्न चेक या अपडेट करने के लिए, 'पहले से बचाने-हुक' का उपयोग करें।
'ws-trim' भी है, जो मैं उपयोग करता हूं: ftp.ftsator.liu.se/pub/emacs/ws-trim.el –