2012-04-10 4 views
14

फ्लाईमेक-मोड का उपयोग करते समय मुझे हमेशा त्रुटि मिलती है। और फ्लाईमेक-मोड बंद हो जाता है।कैसे जांचें कि मामूली मोड (.e.g flymake-mode) चालू है या नहीं?

enter image description here

तो मैं चाहे flymake मोड पर है जाँच करना चाहते हैं। यदि यह चालू नहीं है, तो मैं कॉल फ्लाईमेक-अगली-त्रुटि कॉल करने से पहले इसे चालू कर दूंगा।

धन्यवाद।

+0

यदि आप इसे चालू करते समय कोई त्रुटि प्राप्त कर रहे हैं, तो आप जांच करने से क्या हासिल करने की योजना बना रहे हैं? –

+1

इसके मुखपृष्ठ (http://flymake.sourceforge.net/) के मुताबिक, फ्लाईमेक एक मामूली मोड है, न कि एक प्रमुख मोड। –

+0

धन्यवाद। त्रुटि हर समय नहीं होती है। यह तब हुआ जब मेरी जेएस फ़ाइल में बहुत असफल रहा। और फ्लाईमेक एक मामूली मोड है। – coordinate

उत्तर

22

अधिकांश मामूली मोड define-minor-mode मैक्रो का उपयोग करके परिभाषित किए गए हैं। बफर-स्थानीय मोड के लिए, यह मैक्रो उसी नाम के बफर-स्थानीय चर बनाता है जैसे मोड । परिवर्तक गैर-nil है जब वर्तमान बफर के लिए मोड सक्षम है।

इसलिए जाँच करने के लिए है कि क्या flymake-mode सक्रिय है, आप चर flymake-mode (यह देखते हुए कि इस चर सब अगर मोड सक्षम नहीं किया गया है पर परिभाषित नहीं किया जा सकता है) का परीक्षण कर सकते हैं:

(and (boundp 'flymake-mode) flymake-mode) 

कौन सा, थॉम बिंदु के रूप में

(bound-and-true-p flymake-mode) 

कौन सा हम एक if या when या unless अभिव्यक्ति के लिए शर्त के रूप में उपयोग कर सकते हैं: टिप्पणी में बाहर, सुविधाजनक मैक्रो का उपयोग व्यक्त किया जा सकता:

(if (bound-and-true-p flymake-mode) 
    (message "flymake-mode is on") 
    (message "flymake-mode is off")) 

वैश्विक नाबालिग मोड के लिए, इसी चर वैश्विक है, लेकिन फ्लाईमेक-मोड बफर-स्थानीय है।

+0

धन्यवाद। मेरी गलती है। फ्लाईमेक एक प्रमुख मोड नहीं है, लेकिन एक मामूली मोड है। – coordinate

+3

यहां परीक्षण को केवल '(बाध्य-और-सत्य-पी फ्लाईमेक-मोड)' तक छोटा किया जा सकता है। – Thom

संबंधित मुद्दे