पूरे पैकेज या लाइब्रेरी ट्री को अनलोड करें


9

कभी-कभी मैं unload-featureएक पुस्तकालय को अनलोड करने के लिए कॉल करना चाहता हूं ... और यह एक पुस्तकालय उस पर निर्भर करता है ... और एक अन्य पुस्तकालय उस पुस्तकालय पर निर्भर करता है ...

मैं एक पुस्तकालय और उस पर निर्भर सभी पुस्तकालयों को कैसे उतार सकता हूं, बिना निर्भरता के पेड़ के माध्यम से मैन्युअल रूप से चलने के बिना?

एक आम उपयोग का मामला एक पैकेज के सभी पुस्तकालयों (जैसे उन्नयन या स्थापना रद्द करते समय) को लोड करना है, इसलिए यदि ऐसा करने का कोई तरीका है, तो यह काफी अच्छा होगा।

जवाबों:


2

कोई अंतर्निहित है यह करने के लिए जिस तरह से - देख अनलोडिंग elisp के मैनुअल में।

unload-featureएक forceतर्क लेता है जो Pअन्य पैकेजों पर निर्भर होने पर भी जबरन उतारने की अनुमति देता है P; क्या यह आपकी आवश्यकताओं के लिए पर्याप्त है?

यदि नहीं, तो आप unload-featureयुक्त का पुनरावर्ती संस्करण बनाने का प्रयास कर सकते हैं:

(let* ((file (feature-file feature))
       (dependents (delete file (copy-sequence (file-dependents file))))) 
  (when dependents
    (mapc #'unload-feature-recursive (mapcan #'file-provides dependents))))

धन्यवाद, मैंने प्रश्न में त्रुटि को ठीक किया। का एक पुनरावर्ती संस्करण लिखना unload-featureप्रश्न का बिंदु था।
गिल्स एसओ- बुराई को रोकना '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.