जब बाइट संकलित किया जाता है तो डीफ्रोक्सट के साथ मैक्रो "सिंबल का मान वैरिएबल के रूप में शून्य होता है" त्रुटि की ओर जाता है


13

मेरे दो पैकेजों में मेरे पास एक मैक्रो है जहां शरीर एक रूप में परिभाषित चर पर निर्भर करता है defcustom

मेलपा से पैकेज स्थापित करते समय, बाइट-संकलन समाप्त होता है:

त्रुटि: चर के रूप में प्रतीक का मूल्य शून्य है: my-defcustom-variable

फिर, फ़ाइल को बफ़र कार्यों में खोलकर मैन्युअल रूप से बाइट-संकलित करें।

मैंने एक autoloadकुकी के साथ कोशिश की, लेकिन अभी भी वही व्यवहार है।

मुझे यहां कुछ महत्वपूर्ण याद आ रहा है।


1
defcustomएक स्थूल शरीर पर निर्भर करना एक विचित्र बात है, defcustomइच्छाशक्ति केवल बाइट-संकलन (जहां मैक्रो का विस्तार होता है) के दौरान प्रभाव में आएगी। यह मुझे बहुत समझ में नहीं आता है।
चंद्र

शुक्रिया सेबेस्टियन, आप सही हैं और यह बहुत सारी चीजें समझाता है।
15:20 बजे syl20bnr

जवाबों:


15

defcustomअभिव्यक्ति बाइट-संकलन के दौरान मूल्यांकन नहीं किया जाता है, इसलिए जब अपने मैक्रो का विस्तार किया है, चर अभी तक मौजूद नहीं है क्योंकि कि defcustom संकलित किया गया था लेकिन नहीं चला। आप या तो डिफक्यूट को किसी अन्य फ़ाइल में स्थानांतरित कर सकते हैं (जो आप तब requireअपनी फ़ाइल की शुरुआत में), या आप डिफकस्टम को अंदर लपेट सकते हैं eval-and-compile

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.