บางครั้งฉันสังเกตเห็นพฤติกรรมที่ไม่คาดคิดเมื่อแก้ไขข้อความ การขอความช่วยเหลือครั้งแรกของฉันมักจะใช้C-h kเพื่อค้นหาว่าฟังก์ชันใดที่ถูกเรียกโดยลำดับของคีย์ที่กำหนด อย่างไรก็ตามบางครั้งเอกสารประกอบจะขัดแย้งกับพฤติกรรมที่สังเกตได้ ในกรณีเหล่านี้ฉันมักจะคิดว่าแพ็กเกจอื่น ๆ บางส่วนได้เชื่อมโยงกับฟังก์ชั่นหรือลำดับของคีย์และกำลังแก้ไขพฤติกรรมของมัน
ฉันจะหา ที่ ฟังก์ชั่น hooking เป็นลำดับสำคัญของฉันได้อย่างไร
ตัวอย่างหนึ่งที่ฉันพบเมื่อเร็ว ๆ นี้คือฉันกด"คีย์และเครื่องหมายคำพูดถูกแทรกที่จุดเริ่มต้นและจุดสิ้นสุดของพื้นที่ที่ใช้งานอยู่ ฉันสงสัยว่านี่ไม่ใช่พฤติกรรมของ Emacs ที่เป็นค่าเริ่มต้นดังนั้นฉันจึงเคยC-h k "ตรวจสอบว่ามีการเรียกใช้ฟังก์ชันใดบ้าง
describe-keyเอกสารบอกว่าฟังก์ชั่นself-insert-commandที่ถูกเรียกว่าซึ่งเป็นฟังก์ชั่น electric-pair-modeที่จะทำให้เรื่องยาวสั้นหลังจากที่จำนวนของการทดลองและข้อผิดพลาดบางอย่างผมก็สามารถที่จะตรวจสอบว่าพฤติกรรมที่เกิดจาก ในอนาคตมีวิธีที่เร็วกว่าที่จะมาถึงข้อสรุปนี้กว่าที่จะปิดแพคเกจที่น่าสงสัยทีละครั้งจนกว่าจะหาผู้กระทำผิด?
electric-pair-modeทำงานได้โดยการเชื่อมต่อเข้าpost-self-insert-hookด้วยกันและไม่ได้เปลี่ยนการผูกกุญแจ
C-h kบอกให้คุณทราบว่าเกิดอะไรขึ้นกับปุ่มกด ถ้าคุณดูเอกสารประกอบself-insert-commandมันชัดเจนว่าpost-self-insert-hookมีการรันหลังจากคำสั่งเสร็จสิ้น
after-change-functionsเช่น Jordon กล่าวถึงในคำตอบของเขา? เอกสารสำหรับฟังก์ชั่นอาจจะไม่พูดถึงตะขอนั้นโดยเฉพาะ
C-h k+ hooks มาตรฐาน == พฤติกรรมที่สมบูรณ์ (มากหรือน้อย) แน่นอนว่าบางครั้งก็ทำให้มีความเป็นไปได้มากมาย แต่ก็ยังมีความโปร่งใสมากกว่าระบบซอฟต์แวร์ที่ซับซ้อนอื่น ๆ ที่ฉันรู้จัก


electric-pair-modeเปิดใช้งานในโหมดหลักบางโหมดเท่านั้น? คุณยังคงเห็นself-insert-commandสำหรับ"เมื่อคุณทำC-h kในขณะที่electric-pair-modeมีการใช้งาน?