Dỡ bỏ toàn bộ gói hoặc cây thư viện


9

Thỉnh thoảng tôi muốn gọi unload-featuređể dỡ thư viện, và thư viện phụ thuộc vào thư viện và thư viện khác phụ thuộc vào thư viện đó

Làm cách nào tôi có thể tải thư viện và tất cả các thư viện phụ thuộc vào nó mà không cần đi qua cây phụ thuộc thủ công?

Trường hợp sử dụng phổ biến là dỡ tất cả các thư viện của gói (ví dụ: khi nâng cấp hoặc gỡ cài đặt), vì vậy nếu có cách để làm điều đó, nó sẽ đủ tốt.

Câu trả lời:


2

Không có cách tích hợp nào để thực hiện việc này - xem Unloading trong hướng dẫn Elisp.

unload-featuređưa ra một forceđối số cho phép dỡ tải Pngay cả khi các gói khác phụ thuộc vào P; đã đủ cho nhu cầu của bạn chưa?

Nếu không, bạn có thể thử tạo một phiên bản đệ quy unload-featurecó chứa:

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

Cảm ơn, tôi đã sửa lỗi trong câu hỏi. Viết một phiên bản đệ quy unload-featurelà điểm của câu hỏi.
Gilles 'SO- ngừng trở nên xấu xa'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.