मैं 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अपनी इनिट फ़ाइल में जोड़ा है ।
-
संपादित करें: 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इस वेरिएबल को सेव करने के लिए वैरिएबल की लिस्ट में इस्तेमाल करके और जोड़कर देख सकते हैं ।