जवाबों:
अपने अंतिम Emacs सत्र की स्थिति को स्वचालित रूप से पुनर्स्थापित करने के अलावा , आप किसी भी सत्र के किसी भी सत्र को सहेज सकते हैं और किसी भी अन्य सत्र में किसी भी समय मांग पर उन्हें पुनर्स्थापित कर सकते हैं। IOW, आप आसानी से विभिन्न डेस्कटॉप के बीच स्विच कर सकते हैं ।
इसका सबसे आसान तरीका पुस्तकालय बुकमार्क + को लोड करना और C-x r K
वर्तमान सत्र स्थिति को डेस्कटॉप बुकमार्क के रूप में सहेजने के लिए कुंजी का उपयोग करना है। फिर आप कुंजी का उपयोग करके किसी भी सत्र में किसी भी डेस्कटॉप बुकमार्क को पुनर्स्थापित कर सकते हैं C-x j K
।
इसे करने के लिए यहां कुछ कोड दिए गए हैं। काम करने के लिए कोड के लिए, आपको "टेपेस्ट्री" लिस्प पुस्तकालय स्थापित करने की आवश्यकता है। यदि आप VM मेलर का उपयोग करते हैं, तो आपके पास पहले से ही लाइब्रेरी स्थापित है। अन्यथा आप इसे यहाँ से डाउनलोड कर सकते हैं ।
अपने .emacs फ़ाइल में निम्न कोड डालें। जब आप अपने पिछले Emacs सत्र से अपनी विंडो और फ़्रेम सेटअप को पुनर्स्थापित करना चाहते हैं, तो टाइप करें M-x load-my-tapestry RET
।
(require 'tapestry)
(defvar my-tapestry-file "~/.tapestry")
(defun load-my-tapestry ()
(interactive)
(let ((b (find-file-noselect my-tapestry-file)))
(sit-for 0)
(set-tapestry (read b))
(kill-buffer b)))
(defun save-my-tapestry ()
(interactive)
(let ((tap (tapestry)))
(with-temp-buffer
(let ((standard-output (current-buffer)))
(setcar tap (make-list (length (car tap)) nil))
(print tap)
(write-region (point-min) (point-max) my-tapestry-file)))))
(add-hook 'kill-emacs-hook 'save-my-tapestry)
M-x load-my-tapestry RET
, मैं केवल (New file) set-tapestry: End of file during parsing
मिनी-बफर में मिला हूं और एमएसीएस विंडो में कुछ भी लोड नहीं किया गया है।
M-x save-my-tapestry
एक बार चलाएं और प्रक्रिया बूटस्ट्रैप की जानी चाहिए।
let: Wrong type argument: listp, config
अब मिनी बफर में त्रुटि देता है।
config
मेरे उत्तर कोड या टेपेस्ट्री.एल में कोई चर नहीं है । (सेट डिबग-ऑन-एरर टी) और स्टैकट्रेस प्राप्त करें। यह इंगित करना चाहिए कि त्रुटि कहां हो रही है।
set-tapestry: End of file during parsing
फिर से त्रुटि मिलती है । मैंने एक Emacs सत्र खोला, दो फ्रेम खोले और उनमें से प्रत्येक में दो अलग-अलग फाइलें लोड कीं, फिर M-x save-my-tapestry
उसे बंद कर दिया। Reopen Emacs, फिर करते हैं M-x load-my-tapestry RET
, यह दिया set-tapestry: End of file during parsing
।