Function: calc-reset

calc-reset is an interactive and byte-compiled function defined in calc-ext.el.gz.

Signature

(calc-reset ARG)

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-ext.el.gz
(defun calc-reset (arg)
  (interactive "P")
  (setq arg (if arg (prefix-numeric-value arg) nil))
  (cond
   ((and
     calc-embedded-info
     (equal (aref calc-embedded-info 0) (current-buffer))
     (<= (point) (aref calc-embedded-info 5))
     (>= (point) (aref calc-embedded-info 4)))
    (let ((cbuf (aref calc-embedded-info 1))
          (calc-embedded-quiet t))
      (save-window-excursion
        (calc-embedded nil)
        (set-buffer cbuf)
        (calc-reset arg))
      (calc-embedded nil)))
   ((eq major-mode 'calc-mode)
    (save-excursion
      (unless (and arg (> (abs arg) 0))
        (setq calc-stack nil))
      (setq calc-undo-list nil
            calc-redo-list nil)
      (let (calc-stack calc-user-parse-tables calc-standard-date-formats
                       calc-invocation-macro)
        (mapc (lambda (v) (set v nil)) calc-local-var-list)
        (if (and arg (<= arg 0))
            (calc-mode-var-list-restore-default-values)
          (calc-mode-var-list-restore-saved-values)))
      (calc-set-language nil nil t)
      (calc-mode)
      (calc-flush-caches t)
      (run-hooks 'calc-reset-hook))
    (calc-wrapper
     (let ((win (get-buffer-window (current-buffer))))
       (calc-realign 0)
       ;; Adjust the window height if the window is visible, but doesn't
       ;; take up the whole height of the frame.
       (if (and
            win
	    (not (window-full-height-p)))
           (let ((height (- (window-height win) 2)))
             (set-window-point win (point))
             (or (= height calc-window-height)
                 (let ((swin (selected-window)))
                   (select-window win)
                   (enlarge-window (- calc-window-height height))
                   (select-window swin)))))))
    (message "(Calculator reset)"))
   (t
    (message "(Not inside a Calc buffer)"))))