Вивантажте весь пакет або дерево бібліотеки


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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.