Ich ändere die API meines Pakets ziemlich häufig, company-mode
ziehe aber jedes definierte Symbol (wie es sollte) in seine Vervollständigungen. Ich möchte nicht versehentlich einen ungebundenen Namen verwenden. Wie kann ich also alle Variablen und Funktionen aufheben, die beispielsweise mit "" beginnen my-package-
? Danach kann ich es einfach load-file
wieder.
quelle
feature
System. Ich arbeite nur mit Funktionen und Variablen ohne explizite Gruppierung. Ich habe mich nicht darum gekümmert zu bewerten(provide 'my-package)
.provide
. Aber auf jeden Fall, wenn Sie wirklich schmutzige Sachen machen wollen, sehen Sie sich meine Bearbeitung an.provide
, ich glaube einfach nicht, dass es in diesem Fall funktionieren würde. Erinnern sich Funktionen an die Datei, in der sie definiert wurden, wenn sie interaktiv ausgewertet wurden?unload-feature
hat keine Auswirkung, wenn Sie Code auswerten, ohne ihn aus einer Datei zu laden (die hatprovide
).Verwenden Sie
makunbound
diese Option , um die Verwendung eines Symbols als dynamische Variable zu entfernen (dh, um die Verwendung aufzuhebensymbol-value
).Verwenden Sie
fmakunbound
diese Option , um die Verwendung eines Symbols als Funktion zu entfernen (dh, um es für ungültig zu erklärensymbol-function
).Verwenden Sie
mapatoms
diese Option, um alle Symbole zu durchlaufen. Handle auf jeden, dessensymbol-name
Präfix mit dem Präfix übereinstimmt, an dem du interessiert bist: rufe beide anmakunbound
und rufefmakunbound
es an.Sie brauchen
unintern
das Symbol nicht zu verwenden , es sei denn, Sie verwenden die Vervollständigung auch gegen Symbole selbst und nicht nur über deren Verwendung als Variablen oder Funktionen. Wenn Sie jedoch ein Symbol vollständig entfernen möchten, verwenden Sieunintern
.quelle