ฉันสนุกกับการเพิ่มคำแนะนำลงในฟังก์ชั่น:
(advice-add 'executable-find :around
(lambda (f &rest args)
(apply g args)))
;;; ^
อุ๊ยพิมพ์ผิด แก้ไขและประเมินโค้ดข้างต้นอีกครั้ง แต่ตอนนี้ฉันมีทั้งคำแนะนำ "แก้ไข" และ "แตก" รอบฟังก์ชันนั้น
ฉันจะกำจัดสิ่งเหล่านี้ได้อย่างไร ระบุว่าadvice-removeต้องการฟังก์ชั่นวัตถุหรือคำแนะนำรอบ ๆ
(เห็นได้ชัดว่าฉันสามารถออกจากและรีสตาร์ท แต่มีวิธีอื่นใช่หรือไม่)
eqหน้าที่ก่อนหน้า (2) คำแนะนำการลบจะเปรียบเทียบฟังก์ชั่นที่คุณส่งให้คำแนะนำจนกว่าจะพบ สิ่งหนึ่งที่อยู่eqในนั้นและลบนั้น (3) แม้ว่าคำแนะนำในการลบใช้การทดสอบที่แตกต่างกันเช่นequalมันยังคงใช้งานไม่ได้เพราะการประเมินรูปแบบแลมบ์ดาที่แตกต่างกันจะไม่equalกันและกัน ปรากฎว่า (1) ถูกต้อง แต่ (2) และ (3) ไม่ถูกต้อง: แนะนำให้ลบการใช้equalและประเมินผลlambdaสองครั้งเหมือนกันequal!