यदि पैकेज को स्थगित कर दिया जाता है, तो वे भिन्न होते हैं, अर्थात जब तक यह आवश्यक नहीं होता है तब तक लोड नहीं किया जाता है। उस :init
समय आपकी एमएसीएस फ़ाइल को पहली बार पढ़ने :config
के समय निष्पादित किया जाएगा , लेकिन उस समय निष्पादित किया जाएगा जब पैकेज वास्तव में लोड होता है।
आपके उदाहरण में, mode
पैकेज को लोड करने में निहित दोषों का उपयोग । आपने पहली बार html फ़ाइल देखी जाने पर पैकेज को लोड करने के लिए कॉन्फ़िगर किया है।
आप :demand
यह सुनिश्चित करने के लिए उपयोग कर सकते हैं कि पैकेज को हमेशा स्टार्टअप पर लोड किया जाए, लेकिन अधिक संभावना है कि आप यहां क्या करना चाहते हैं, अपना हुक लगा दें :init
।
डॉकस्ट्रिंग से:
:init Code to run when `use-package' form evals.
जब से आप इसे अपने उपयोगकर्ता-इनिट फ़ाइल में डाल रहे हैं, तो मूल रूप से इसका मतलब है कि यह स्टार्टअप पर चलेगा।
:config Runs if and when package loads.
इसलिए, तब तक न चलाएं जब तक कि पैकेज वास्तव में लोड न हो जाए।
:defer Defer loading of package -- automatic if :commands, :bind, :bind*, :mode or :interpreter are used.
उन चीजों की सूची नोट करें जो स्वचालित रूप से एक पैकेज को स्थगित कर देती हैं। मूल रूप से यदि आप use-package
उन स्थितियों को बताते हैं जिनमें आपको इस पैकेज की आवश्यकता होती है, तो यह मान लेता है कि आप इसे तब तक लोड नहीं करना चाहते जब तक कि वे स्थितियाँ उत्पन्न न हो जाएँ।
:demand Prevent deferred loading in all cases.
सुनिश्चित करें कि पैकेज स्टार्टअप पर लोड है, भले ही आपके द्वारा निर्दिष्ट अन्य विकल्पों की परवाह किए बिना।
अपडेट करें
हाल की टिप्पणियों के आधार पर इस पर फिर से गौर करना ... मैंने ऊपर जो कहा है वह सब सच है, लेकिन मुझे नहीं लगता कि यह सवाल का सही जवाब देता है। यहां मूल समस्या वास्तव html-mode
में पैकेज नहीं है, बल्कि पैकेज द्वारा परिभाषित एक विधा है sgml-mode
। यह मेरे लिए उम्मीद के मुताबिक काम करता है:
(use-package sgml-mode
:mode ("\\.html\\'" . html-mode)
:config (add-hook 'html-mode-hook 'turn-off-auto-fill))
मूल उदाहरण में, :config
अभिव्यक्ति का कभी भी मूल्यांकन नहीं किया जाता है क्योंकि पैकेज नाम का html-mode
लोड कभी नहीं मिलता है। :init
काम करने के लिए समान अभिव्यक्ति को स्थानांतरित करना क्योंकि init कोड का हमेशा मूल्यांकन किया जाता है, चाहे पैकेज कभी भी लोड हो जाए।