Tüm paketi veya kütüphane ağacını kaldırma


9

Bazen unload-featurebir kütüphaneyi boşaltmaya çağırmak istiyorum … ve bu kütüphane ona bağlı… ve başka bir kütüphane bu kütüphaneye bağlı…

Bağımlılık ağacında el ile yürümeden bir kitaplığı ve ona bağlı tüm kitaplıkları nasıl kaldırabilirim?

Yaygın bir kullanım durumu, bir paketin tüm kitaplıklarının kaldırılmasıdır (örneğin yükseltme veya kaldırma sırasında), bu yüzden bunu yapmanın bir yolu varsa, yeterince iyi olacaktır.

Yanıtlar:


2

Bunu yapmanın yerleşik bir yolu yoktur - Elisp kılavuzundaki Boşaltma konusuna bakın .

unload-featurediğer paketler bağımlı olsa bile forcezorla boşaltma sağlayan bir argüman alır ; bu ihtiyaçlarınız için yeterli mi?PP

Değilse, aşağıdakileri unload-featureiçeren özyinelemeli bir sürüm oluşturmayı deneyebilirsiniz :

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

Teşekkürler, sorudaki hatayı düzelttim. unload-featureSorunun özyinelemeli bir versiyonunu yazmak soruydu.
Gilles 'SO- kötü olmayı bırak'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.