Ich hatte Spaß daran, einer Funktion einige Ratschläge hinzuzufügen:
(advice-add 'executable-find :around
(lambda (f &rest args)
(apply g args)))
;;; ^
Autsch, ein Tippfehler. Es wurde behoben und der obige Code erneut ausgewertet. Aber jetzt habe ich sowohl den "korrigierten" als auch den "kaputten" Rat bezüglich dieser Funktion.
Wie werde ich diese los? Vorausgesetzt, dass advice-removeentweder das Funktionsobjekt oder der Around-Rat benötigt (der hier leer ist)?
(Natürlich kann ich einfach beenden und neu starten, aber es gibt noch einen anderen Weg, oder?)
eqmit den vorherigen übereinstimmt, (2) das Entfernen von Ratschlägen die Funktion vergleicht, die Sie an die Ratschläge übergeben, bis sie gefunden wird eine, die dazu gehörteqund das entfernt, (3) selbst wenn ein Ratschlag-Entfernen einen anderen Test verwendet,equalwürde es immer noch nicht funktionieren, weil sich verschiedene Bewertungen einer Lambda-Form nichtequalgegenseitig würden . Es stellt sich heraus, dass (1) richtig ist, aber (2) und (3) falsch sind: Ratschläge entfernenequalundlambdazweimal bewerten, führt zuequalErgebnissen!