M-x calc-reset
, che è anche associato a C-x * 0
, è quello che ti serve. Dalla info manual:
Il 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
MM'(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' conserva i contenuti dello stack ma resetta tutto il resto al suo stato iniziale, con un negativo prefisso argomento, `Cx * 0' conserva la contenuto dello stack, ma ripristina tutto il resto allo stato predefinito
EDIT:.. Ops Anche questo non fa variabili chiare non sono sicuro se c'è un modo semplice per ottenere tutto il viaggio di ritorno a. pristine :(
MODIFICA 2: Sembra che Calc memorizzi tutte le variabili, inclusi 'built-in' come pi ed e, come variabili globali con il prefisso 'var-'. Per quanto posso dire, non tiene traccia di quali variabili sono state impostate dalla modalità (come pi), e che sono state impostate dagli utenti. Inoltre, le variabili utente predefinite sono memorizzate come var-q0, var-q1 ecc. Quindi, per eliminare tutte le variabili, è necessario compilare un elenco di variabili e stati presenti all'avvio, cancellare tutto non presente nell'elenco e quindi ripristinare i valori originali delle variabili in quell'elenco. Questo è certamente possibile, ma un po 'noioso.
Modifica 3: ecco il mio tentativo. Ho dato un'altra occhiata alla modalità calc, e all'avvio definisce le variabili che ho aggiunto a my-calc-built-vars di seguito. La seconda riga rimuoverà tutte le variabili in Emacs che iniziano con il prefisso 'var-' e sono non in questo elenco. Ciò includerà tutte le variabili definite dall'utente o in un altro pacchetto. Quindi speriamo che nessun altro usi il prefisso 'var-'. E non azzerare il valore delle variabili built-in, quindi se si hanno ridefinito pi greco a 3, rimarrà 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)))))
UPDATE: 6 ago 2016
attuale built-in vars lista:
(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-φ"))
E per sforzo, ma in realtà è necessario cancellare le variabili e le equazioni memorizzate.Se non ottengo una risposta migliore in un futuro non troppo lontano, andrò avanti e segnerò il tuo accettato. – EdwinW
@EdwinW vedere se questo funziona per voi. Non uso calc abbastanza per fare test molto approfonditi su questo. – Tyler
Appena provato, funziona alla grande! Grazie! – EdwinW