विशिष्ट मोड के लिए हुक निकालें


13

मैं सिवाय हर मोड के लिए सेविंग पर ट्रेसिंग व्हॉट्सएप हटाना चाहता हूं org-mode

मेरे पास .emacs, मेरी निम्न पंक्ति है:

(add-hook 'before-save-hook 'delete-trailing-whitespace)

मैं use-packageमैक्रो का उपयोग करता हूं , और मैंने (remove-hook 'before-save-hook 'delete-trailing-whitespace)अपने :configब्लॉक में जोड़ने की कोशिश की , लेकिन यह वैश्विक रूप से हुक को हटा देता है। मैं इसे विशेष रूप से कैसे निकाल सकता हूं org-mode?

जवाबों:


18

मुझे use-packageमैक्रो के साथ कोई अनुभव नहीं है , लेकिन सिद्धांत रूप में, आप तीसरे तर्क का उपयोग कर सकते हैं remove-hookजो इसे केवल स्थानीय आउटडोर से फ़ंक्शन को हटाने के लिए कहता है:

(remove-hook 'before-save-hook 'delete-trailing-whitespace t)

यहाँ संदर्भ के लिए docstring है:

(remove-hook HOOK FUNCTION &optional LOCAL)

समारोह समारोह बुक के मूल्य से निकालें। HOOK एक सिंबल होना चाहिए, और FUNCTION कोई भी वैध कार्य हो सकता है। यदि FUNCTION HOOK का मान नहीं है, या, यदि FUNCTION HOOK में चलने के लिए हुक की सूची में प्रकट नहीं होता है, तो कुछ भी नहीं किया जाता है। देखते हैं add-hook

वैकल्पिक तीसरा तर्क, LOCAL, यदि गैर-शून्य, हुक के बफर-स्थानीय मान को उसके डिफ़ॉल्ट मान के बजाय संशोधित करने के लिए कहता है।


पूरी तरह से काम करता है, धन्यवाद। एक और शानदार याद दिलाता है C-h f। जैसे ही टाइमर नीचे जाएगा मैं स्वीकार कर लूंगा।
21:39 पर मैथ्यू पिज़ियाक

2
@MatthewPiziak: यदि यह आपको कोई बेहतर महसूस कराता है, तो मुझे यह महसूस करने से पहले कि यह तीसरा तर्क है, यह महसूस करने से पहले बहुत समय लग गया था, और इस साइट पर किसी ने मुझे इसे इंगित करने के बाद ही लिया था।
दान

2
क्या यह केवल तभी काम नहीं करेगा जब समारोह को स्पष्ट रूप से LOCAL के रूप में जोड़ा जाएadd-hook ? (24.5 में एक त्वरित परीक्षण मेरी उम्मीद की पुष्टि करता है ... क्या इस तरह के ओवरराइड को सुविधाजनक बनाने के लिए ट्रंक में नई कार्यक्षमता है?)
22:34 पर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.