2012-10-24 5 views
5

यह एक बेवकूफ सरल सवाल होना चाहिए, लेकिन कई तरीकों से Google को कई बार खोजने और कैल्क दस्तावेज़ों के माध्यम से खोदने के बावजूद मुझे कोई जवाब नहीं मिला है।Emacs Calc के राज्य को पूरी तरह मिटाने के लिए कैसे?

Emacs का एक उदाहरण को देखते हुए, कैल्क चल रहा है, और चर और समीकरणों के भंडारण के साथ-साथ कई गणना, "~/.emacs.d/calc.el" फ़ाइल से आया हो सकता है जिनमें से कुछ प्रदर्शन करने के बाद,

कैसे आप Emacs को पुन: प्रारंभ के बिना एक प्राचीन राज्य को कैल्क वापसी करते हैं?

प्रिस्टिन: स्टैक पर कुछ भी नहीं। निशान में कुछ भी नहीं। कोई संग्रहित चर या समीकरण नहीं। आदि

उत्तर

8

M-x calc-reset है, जो भी C-x * 0 के लिए बाध्य है, तुम क्या जरूरत है। से info manual:

C-x * 0' command ('calc-reset'; that's 'C-x *' followed by a zero) resets the Calculator to its initial state. This clears the stack, resets all the modes to their initial values (the values that were saved with मिमी '(calc-save-modes')), clears the caches (*note Caches::), and so on. (It does _not_ erase the values of any variables.) With an argument of 0, Calc will be reset to its default state; namely, the modes will be given their default values. With a positive prefix argument, Cx * 0' ढेर की सामग्री को बरकरार रखता है, लेकिन इसके आरंभिक स्थिति में सब कुछ रीसेट करता है; एक नकारात्मक उपसर्ग तर्क, `Cx * 0 के साथ 'को बरकरार रखता है ढेर की सामग्री लेकिन बाकी सब कुछ रीसेट करता है उसके डिफ़ॉल्ट राज्य के लिए

संपादित करें:।। उफ़ यहां तक ​​कि स्पष्ट चर नहीं है अगर वहाँ सभी तरह वापस करने के लिए प्राप्त करने के लिए एक सरल तरीका है मैं यकीन नहीं है। प्राचीन :(

संपादित करें 2: ऐसा लगता है कि कैल्क सभी चरों को स्टोर करता है, जिसमें 'बिल्ट-इन्स' जैसे पीआई और ई शामिल हैं, जो उपसर्ग 'var-' के साथ वैश्विक चर के रूप में हैं। जहां तक ​​मैं कह सकता हूं, यह ट्रैक नहीं रखता है कि किस चर को मोड (जैसे पीआई) द्वारा सेट किया गया था, और जो उपयोगकर्ताओं द्वारा निर्धारित किए गए थे। इसके अलावा, डिफ़ॉल्ट उपयोगकर्ता चर को var-q0, var-q1 इत्यादि के रूप में संग्रहीत किया जाता है। इसलिए सभी चरों को साफ़ करने के लिए, आपको स्टार्टअप पर मौजूद चर और राज्यों की एक सूची संकलित करने की आवश्यकता होगी, उस सूची में मौजूद सभी चीज़ों को मिटाएं , और फिर उस सूची में चर के मूल मानों को पुनर्स्थापित करें। यह निश्चित रूप से संभव है, लेकिन थोड़ा थकाऊ।

संपादित करें 3: मेरा प्रयास यहां है। मैंने कैल्क-मोड पर एक और नज़र डाली, और शुरूआत में यह उन चरों को परिभाषित करता है जिन्हें मैंने नीचे-मेरे कैल्क-बिल्टिन-वर्र्स में जोड़ा है। दूसरी पंक्ति Emacs में सभी चर हटा देगा जो उपसर्ग 'var-' से शुरू होती हैं और इस सूची में नहीं हैं। इसमें आपके द्वारा परिभाषित किसी भी चर, या किसी अन्य पैकेज में शामिल होगा। तो आइए आशा करते हैं कि कोई भी उपसर्ग 'var-' का उपयोग नहीं करता है। और यह बिल्ट-इन वैरिएबल का मान रीसेट नहीं होगा, इसलिए यदि आप करने के लिए 3 अनुकरणीय नए सिरे से परिभाषित किया है, यह रहेगा 3.

(setq my-calc-builtin-vars 
     '("var-nan" "var-uinf" "var-sym" "var-lines" "var-Modes" 
     "var-EvalRules" "var-inf" "var-phi" "var-pi" "var-gamma" "var-π" 
     "var-φ" "var-γ" "var-spec" "var-e" "var-i")) 

(defun really-reset-calc() 
    (interactive) 
    (calc-reset nil) 
    (mapC#'(lambda (el) (unintern el)) 
     (remove nil (mapcar 
        #'(lambda (el) (unless (member el my-calc-builtin-vars) el)) 
        (all-completions "var-" obarray))))) 

अद्यतन: अगस्त 6, वर्ष 2016

वर्तमान में निर्मित वार्स सूची:

(setq my-calc-builtin-vars 
     '("var-CommuteRules" "var-Decls" "var-DistribRules" "var-EvalRules" 
     "var-FactorRules" "var-FitRules" "var-Holidays" "var-IntegAfterRules" 
     "var-IntegLimit" "var-InvertRules" "var-JumpRules" "var-MergeRules" 
     "var-Modes" "var-NegateRules" "var-e" "var-gamma" "var-i" "var-phi" 
     "var-pi" "var-γ" "var-π" "var-φ")) 
+0

प्रयास के लिए एक ई, लेकिन वास्तव में संग्रहीत चर और समीकरणों को मिटा देना आवश्यक है।अगर मुझे दूर-दूर-भविष्य में बेहतर जवाब नहीं मिलता है, तो मैं आगे बढ़ूंगा और आपका स्वीकार कर लिया जाएगा। – EdwinW

+0

@EdwinW देखें कि क्या यह आपके लिए काम करता है। मैं इस पर बहुत गहन परीक्षण करने के लिए पर्याप्त कैल्क का उपयोग नहीं करता हूं। – Tyler

+0

बस कोशिश की, महान काम करता है! धन्यवाद! – EdwinW

0

एम # 0

तुम सब करने की जरूरत है होना चाहिए कि।

+0

एम # एक कमांड या तो मैनुअल में, या मोड मदद में की शुरुआत के रूप में प्रकट नहीं होता है। टायलर के उत्तर को बेहतर के लिए ऊपर देखें, लेकिन अभी भी पूरा जवाब नहीं है। – EdwinW

संबंधित मुद्दे