2
การแทนที่ flet บน emacsen ใหม่ที่ถูกต้องคืออะไร
ฉันมีรหัสที่ใช้fletในการเปลี่ยนพฤติกรรมของฟังก์ชั่นชั่วคราว ;; prevent changing the window (flet ((pop-to-buffer (buffer &rest args) (switch-to-buffer buffer))) (compilation-next-error-function n reset)) อย่างไรก็ตามคอมไพเลอร์ไบต์ของ Emacs ให้คำเตือน: In ag/next-error-function: ag.el:103:7:Warning: `flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'. อย่างไรก็ตามcl-fletทำงานแตกต่างกันและไม่เหมาะกับกรณีการใช้งานบางอย่างและฉันเชื่อว่านี่เป็นหนึ่งในกรณีเหล่านั้น ตัวเลือกที่ฉันเห็นคือ: บอกให้ Emacs เพิกเฉยต่อคำเตือนอย่างใด fletม้วนของตัวเอง ใช้nofletหรือdflet วิธีที่ดีที่สุดคืออะไร?
17
cl-lib