Function: calc

calc is an autoloaded, interactive and byte-compiled function defined in calc.el.gz.

Signature

(calc &optional ARG FULL-DISPLAY INTERACTIVE)

Documentation

The Emacs Calculator. Full documentation is listed under calc-mode.

Probably introduced at or before Emacs version 21.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc.el.gz
;;;###autoload
(defun calc (&optional arg full-display interactive)
  "The Emacs Calculator.  Full documentation is listed under `calc-mode'."
  (interactive "P\ni\np")
  (if arg
      (unless (eq arg 0)
	(require 'calc-ext)
	(if (= (prefix-numeric-value arg) -1)
	    (calc-grab-region (region-beginning) (region-end) nil)
	  (when (= (prefix-numeric-value arg) -2)
	    (calc-keypad))))
    (when (get-buffer-window "*Calc Keypad*")
      (calc-keypad)
      (set-buffer (window-buffer)))
    (if (derived-mode-p 'calc-mode)
	(calc-quit)
      (calc-create-buffer)
      (setq calc-was-keypad-mode nil)
      (if (or (eq full-display t)
              (and (null full-display) calc-full-mode))
          (switch-to-buffer (current-buffer) t)
        (if (get-buffer-window (current-buffer))
            (select-window (get-buffer-window (current-buffer)))
          (if calc-window-hook
              (run-hooks 'calc-window-hook)
            (let ((w (get-largest-window)))
              (if (and pop-up-windows
                       (> (window-height w)
                          (+ window-min-height calc-window-height 2)))
                  (progn
                    (setq w (split-window w
                                          (- (window-height w)
                                             calc-window-height 2)
                                          nil))
                    (set-window-buffer w (current-buffer))
                    (select-window w))
                (pop-to-buffer (current-buffer)))))))
      (with-current-buffer (calc-trail-buffer)
        (and calc-display-trail
             (calc-trail-display 1 t)))
      (message (substitute-command-keys
                (concat "Welcome to the GNU Emacs Calculator!  \\<calc-mode-map>"
                        "Press \\[calc-help] or \\[calc-help-prefix] for help, \\[calc-quit] to quit")))
      (run-hooks 'calc-start-hook)
      (and (windowp full-display)
           (window-point full-display)
           (select-window full-display))
      (and calc-make-windows-dedicated
           (set-window-dedicated-p nil t))
      (calc-check-defines)
      (when (and calc-said-hello interactive)
        (sit-for 2)
        (message ""))
      (setq calc-said-hello t))))