ฉันสนุกกับการเพิ่มคำแนะนำลงในฟังก์ชั่น:
(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
!