2
วิธีจัดการรายการอาร์กิวเมนต์ใน nadvice.el
ทำตามคำตอบของคำถามอีกข้อหนึ่งเกี่ยวกับระบบคำแนะนำใหม่ : ในแบบเก่าadvice.elมันเป็นไปได้ที่จะจัดการกับสมาชิกแต่ละคนของรายการอาร์กิวเมนต์ของฟังก์ชั่นที่แนะนำโดยไม่ต้องทำการยืนยันใด ๆ เกี่ยวกับสมาชิกเหล่านั้นที่ไม่ได้จัดการ ตัวอย่างเช่นคำแนะนำต่อไปนี้: (defadvice ansi-term (around prompt-for-name last) (let ((name (read-from-minibuffer "Tag: "))) (and (not (string= name "")) (ad-set-arg 1 (concat "Term: " name))) ad-do-it)) อนุญาตให้มีการจัดเตรียม (เป็นทางเลือก) ของอาร์กิวเมนต์ชื่อบัฟเฟอร์ansi-termในขณะที่ansi-termจะยังคงได้รับอาร์กิวเมนต์แรกโดยการพร้อมท์ตามรูปแบบโต้ตอบของตัวเอง (สำหรับการอ้างอิงในภายหลังansi-termลายเซ็นของคือ(PROGRAM &optional BUFFER-NAME)และรูปแบบการโต้ตอบของมันแจ้งให้ PROGRAM ที่มีค่าเริ่มต้นที่เป็นไปได้หลายประการ แต่ไม่ได้ทำอะไรเกี่ยวกับ BUFFER-NAME) nadvice.elฉันไม่แน่ใจหรือไม่ว่านี้คือในความเป็นไปได้ หากเป็นเช่นนั้นฉันไม่แน่ใจว่าจะสามารถทำได้ ฉันพบสองวิธีในการแทนที่รายการอาร์กิวเมนต์ของฟังก์ชันที่แนะนำ ตัวอย่างเช่นจากcombinators คำแนะนำจาก* info * (elisp) : `:filter-args' Call FUNCTION …