5

これはばかげた単純な質問でなければなりませんが、Googleを複数の方法で何度も検索し、Calcのドキュメントを調べても、答えを見つけることができませんでした。

Calcが実行され、変数や方程式の保存を含む複数の計算を実行したEmacsのインスタンスが与えられました。その一部は、「〜/ .emacs.d/calc.el」ファイルからのものである可能性があります

Emacsを再起動せずにCalcを元の状態に戻すにはどうすればよいですか?

Pristine:スタックには何もありません。トレイルには何もありません。保存された変数や方程式はありません。等。

4

2 に答える 2

9

M-x calc-resetにもバインドされてC-x * 0いる が必要です。情報マニュアルから:

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 withm m' ( Cx * 0' は、スタックの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' は、スタックの内容を保存しますが、他のすべてをデフォルト状態にリセットします。

編集:おっと。それでも変数はクリアされません。元の状態に戻す簡単な方法があるかどうかはわかりません:(

編集 2: Calc は、pi や e などの「組み込み」を含むすべての変数を、接頭辞「var-」を付けたグローバル変数として格納しているようです。私が知る限り、どの変数がモード (pi など) によって設定され、どの変数がユーザーによって設定されたかを追跡していません。さらに、デフォルトのユーザー変数は var-q0、var-q1 などとして保存されます。したがって、すべての変数をクリアするには、起動時に存在する変数と状態のリストをコンパイルし、そのリストにないものをすべて消去する必要があります。 、そのリスト内の変数の元の値を復元します。それは確かに可能ですが、少し面倒です。

編集3:これが私の試みです。calc-mode をもう一度見てみると、起動時に以下の my-calc-builtin-vars に追加した変数が定義されています。2 行目は、プレフィックス 'var-' で始まり、このリストにないEmacs のすべての変数を削除します。これには、ユーザーが定義した変数、または別のパッケージで定義された変数が含まれます。ですから、誰も接頭辞「var-」を使用しないことを願いましょう。また、組み込み変数の値はリセットされないため、pi を 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)))))

更新: 2016 年 8 月 6 日

現在の組み込み変数リスト:

(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-φ"))
于 2012-10-24T21:07:44.657 に答える
-1

M-# 0

あなたがする必要があるのはそれだけです。

于 2012-10-24T20:45:36.903 に答える