Je modifie l'API de mon package assez fréquemment, mais company-mode
tire tous les symboles définis (comme il se doit) dans ses finitions. Je ne veux pas utiliser accidentellement un nom non lié, alors comment puis-je dissocier toutes les variables et fonctions commençant par, disons my-package-
? Après cela, je pourrai simplement le faire à load-file
nouveau.
la source
feature
système; Je travaille uniquement avec des fonctions et des variables sans regroupement explicite. Je n'ai pas pris la peine d'évaluer(provide 'my-package)
.provide
. Mais de toute façon, si vous voulez vraiment faire les choses de façon sale, voyez mon montage.provide
, je ne pense tout simplement pas que cela fonctionnerait dans ce cas. Les fonctions se souviennent-elles du fichier dans lequel elles ont été définies si elles ont été évaluées de manière interactive?unload-feature
n'a aucun effet si vous évaluez le code sans le charger à partir d'un fichier (qui aprovide
).Utilisez
makunbound
pour supprimer l'utilisation d'un symbole comme variable dynamique (c'est-à-dire pour l'annulersymbol-value
).Utilisez
fmakunbound
pour supprimer l'utilisation d'un symbole en tant que fonction (c'est-à-dire pour l'annulersymbol-function
).Utilisez
mapatoms
pour parcourir tous les symboles. Agissez sur chacun d'entre eux dontsymbol-name
le préfixe vous intéresse: appelez les deuxmakunbound
etfmakunbound
dessus.Vous n'avez pas besoin
unintern
du symbole, sauf si vous utilisez également la complétion par rapport aux symboles eux-mêmes, et pas seulement leur utilisation en tant que variables ou fonctions. Mais si vous ne voulez supprimer complètement un symbole puis utilisezunintern
.la source