Bir işleve bazı tavsiyeler ekleyerek eğleniyordum:
(advice-add 'executable-find :around
(lambda (f &rest args)
(apply g args)))
;;; ^
Ah, bir yazım hatası. Düzeltildi ve yukarıdaki kod tekrar değerlendirildi. Ama şimdi, bu fonksiyonun etrafında "düzeltilmiş" ve "kırık" tavsiyeye sahibim.
Bunlardan nasıl kurtulurum? advice-remove
Bu fonksiyon nesnesi ya da (burada boş olan) etrafında tavsiye gerekir göz önüne alındığında ?
(Açıkçası bırakıp yeniden başlatabilirim, ama başka bir yol var, değil mi?)
eq
, öncekilere değil yeni bir işlev elde edeceğinizi düşündüm , (2) tavsiye kaldırma, bulduğunuza kadar onu tavsiye ettiğiniz işlevi karşılaştırır. biri olaneq
ve bunu kaldıran, (3) tavsiye kaldırma farklı bir test kullansa bileequal
, yine de işe yaramaz, çünkü lambda formunun farklı değerlendirmeleriequal
birbirini tutmazdı. (1) doğrudur, ancak (2) ve (3) yanlıştır: tavsiye kaldırma kullanımlarıequal
ve aynılambda
iki kez değerlendirmekequal
sonuç verir!