ฉันไม่สามารถทำให้ Emacs จดจำประวัติของ*ielm*บัฟเฟอร์ระหว่างเซสชันได้ comint-input-ringเท่าที่ผมสามารถบอกประวัติดังกล่าวจะถูกบันทึกไว้ในตัวแปรบัฟเฟอร์ท้องถิ่น ดังนั้นฉันจึงได้เพิ่มการแสดงออกต่อไปนี้ไปยังไฟล์ init ของฉัน:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
มันไม่ทำงาน ฉันรู้ว่าdesktopแพคเกจใช้งานได้เพราะ Emacs จดจำตัวแปรทั่วโลกที่ฉันเพิ่มไว้desktop-globals-to-saveในไฟล์ init ของฉัน
-
แก้ไข: savehistไม่ทำงานอย่างใดอย่างหนึ่ง ฉันคิดว่าเป็นเพราะcomint-input-ringเป็นตัวแปรบัฟเฟอร์ท้องถิ่น
savehistแล้ว (ขออภัยที่ไม่ได้กล่าวถึง) เท่าที่ฉันจะเห็นมันเป็นตัวแปรระดับโลกเท่านั้นในขณะที่comint-input-ringบัฟเฟอร์ในท้องถิ่น ตอนนี้ฉันได้ลองแล้วไม่ประสบความสำเร็จ
comint.elต่อไปสองบรรทัดรหัส: และ(put 'comint-input-ring 'permanent-local t) (make-local-variable 'comint-input-ring)จากนั้นให้เพิ่มการcomint-input-ring desktop-locals-to-saveสุดท้ายทำการคอมไพล์ไฟล์ที่เกี่ยวข้องรีสตาร์ท Emacs และสนุกกับการใช้ชีวิตให้เต็มที่
savehist.elและเพิ่มตัวแปรนี้ในรายการ vars เพื่อบันทึก