ฉันไม่สามารถทำให้ 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 เพื่อบันทึก