Variable: calc-modes-menu
calc-modes-menu is a variable defined in calc-menu.el.gz.
Value
Large value
("Modes"
["Precision"
(progn
(require 'calc-ext)
(call-interactively 'calc-precision))
:keys "p" :help "Set the precision for floating point calculations"]
["Fraction mode"
(progn
(require 'calc-frac)
(call-interactively 'calc-frac-mode))
:keys "m f" :style toggle :selected calc-prefer-frac :help "Leave integer quotients as fractions"]
["Symbolic mode"
(lambda nil
(interactive)
(require 'calc-mode)
(calc-symbolic-mode nil))
:keys "m s" :style toggle :selected calc-symbolic-mode :help "Leave functions producing inexact answers in symbolic form"]
["Infinite mode"
(lambda nil
(interactive)
(require 'calc-mode)
(calc-infinite-mode nil))
:keys "m i" :style toggle :selected calc-infinite-mode :help "Let expressions like 1/0 produce infinite results"]
["Abbreviate long vectors"
(progn
(require 'calc-mode)
(call-interactively 'calc-full-vectors))
:keys "v ." :style toggle :selected
(not calc-full-vectors)]
("Simplification"
["No simplification mode"
(progn
(require 'calc-mode)
(calc-no-simplify-mode t))
:keys "m O" :style radio :selected
(eq calc-simplify-mode 'none)
:help "No simplifications are done automatically"]
["Numeric simplification mode"
(progn
(require 'calc-mode)
(calc-num-simplify-mode t))
:keys "m N" :style radio :selected
(eq calc-simplify-mode 'num)
:help "Only numeric simplifications are done automatically"]
["Basic simplification mode"
(progn
(require 'calc-mode)
(calc-basic-simplify-mode t))
:keys "m I" :style radio :selected
(eq calc-simplify-mode nil)
:help "Only basic simplifications are done automatically"]
["Binary simplification mode"
(progn
(require 'calc-mode)
(calc-bin-simplify-mode t))
:keys "m B" :style radio :selected
(eq calc-simplify-mode 'binary)
:help "Basic simplifications with binary clipping are done automatically"]
["Algebraic simplification mode"
(progn
(require 'calc-mode)
(calc-alg-simplify-mode t))
:keys "m A" :style radio :selected
(eq calc-simplify-mode 'alg)
:help "Standard algebraic simplifications are done automatically"]
["Extended simplification mode"
(progn
(require 'calc-mode)
(calc-ext-simplify-mode t))
:keys "m E" :style radio :selected
(eq calc-simplify-mode 'ext)
:help "Extended (unsafe) simplifications are done automatically"]
["Units simplification mode"
(progn
(require 'calc-mode)
(calc-units-simplify-mode t))
:keys "m U" :style radio :selected
(eq calc-simplify-mode 'units)
:help "Algebraic and unit simplifications are done automatically"])
("Angle Measure"
["Radians"
(progn
(require 'calc-math)
(call-interactively 'calc-radians-mode))
:keys "m r" :style radio :selected
(eq calc-angle-mode 'rad)]
["Degrees"
(progn
(require 'calc-math)
(call-interactively 'calc-degrees-mode))
:keys "m d" :style radio :selected
(eq calc-angle-mode 'deg)]
["HMS"
(progn
(require 'calc-math)
(call-interactively 'calc-hms-mode))
:keys "m h" :style radio :selected
(eq calc-angle-mode 'hms)])
("Radix"
["Decimal"
(progn
(require 'calc-bin)
(call-interactively 'calc-decimal-radix))
:keys "d 0" :style radio :selected
(and
(= calc-number-radix 10)
(not calc-twos-complement-mode))]
["Binary"
(progn
(require 'calc-bin)
(call-interactively 'calc-binary-radix))
:keys "d 2" :style radio :selected
(and
(= calc-number-radix 2)
(not calc-twos-complement-mode))]
["Octal"
(progn
(require 'calc-bin)
(call-interactively 'calc-octal-radix))
:keys "d 8" :style radio :selected
(and
(= calc-number-radix 8)
(not calc-twos-complement-mode))]
["Hexadecimal"
(progn
(require 'calc-bin)
(call-interactively 'calc-hex-radix))
:keys "d 6" :style radio :selected
(and
(= calc-number-radix 16)
(not calc-twos-complement-mode))]
["Other"
(progn
(require 'calc-bin)
(call-interactively 'calc-radix))
:keys "d r" :style radio :selected
(and
(not calc-twos-complement-mode)
(not
(or
(= calc-number-radix 10)
(= calc-number-radix 2)
(= calc-number-radix 8)
(= calc-number-radix 16))))]
["--Two's Complement--"
(lambda nil nil)
:style radio :selected nil]
["Binary"
(progn
(require 'calc-bin)
(call-interactively
(lambda nil
(interactive)
(calc-binary-radix t))))
:keys "C-u d 2" :style radio :selected
(and
(= calc-number-radix 2)
calc-twos-complement-mode)]
["Octal"
(progn
(require 'calc-bin)
(call-interactively
(lambda nil
(interactive)
(calc-octal-radix t))))
:keys "C-u d 8" :style radio :selected
(and
(= calc-number-radix 8)
calc-twos-complement-mode)]
["Hexadecimal"
(progn
(require 'calc-bin)
(call-interactively
(lambda nil
(interactive)
(calc-hex-radix t))))
:keys "C-u d 6" :style radio :selected
(and
(= calc-number-radix 16)
calc-twos-complement-mode)])
("Float Format"
["Normal"
(progn
(require 'calc-mode)
(call-interactively 'calc-normal-notation))
:keys "d n" :style radio :selected
(eq
(car-safe calc-float-format)
'float)]
["Fixed point"
(progn
(require 'calc-mode)
(call-interactively 'calc-fix-notation))
:keys "d f" :style radio :selected
(eq
(car-safe calc-float-format)
'fix)]
["Scientific notation"
(progn
(require 'calc-mode)
(call-interactively 'calc-sci-notation))
:keys "d s" :style radio :selected
(eq
(car-safe calc-float-format)
'sci)]
["Engineering notation"
(progn
(require 'calc-mode)
(call-interactively 'calc-eng-notation))
:keys "d e" :style radio :selected
(eq
(car-safe calc-float-format)
'eng)])
("Complex Format"
["Default"
(progn
(require 'calc-cplx)
(calc-complex-notation))
:style radio :selected
(not calc-complex-format)
:keys "d c" :help "Display complex numbers as ordered pairs."]
["i notation"
(progn
(require 'calc-cplx)
(calc-i-notation))
:style radio :selected
(eq calc-complex-format 'i)
:keys "d i" :help "Display complex numbers as a+bi."]
["j notation"
(progn
(require 'calc-cplx)
(calc-i-notation))
:style radio :selected
(eq calc-complex-format 'j)
:keys "d j" :help "Display complex numbers as a+bj."]
["Other"
(calc-complex-notation)
:style radio :selected
(and calc-complex-format
(not
(eq calc-complex-format 'i))
(not
(eq calc-complex-format 'j)))
:active nil]
"----"
["Polar mode"
(progn
(require 'calc-cplx)
(calc-polar-mode nil))
:style toggle :selected
(eq calc-complex-mode 'polar)
:keys "m p" :help "Prefer polar form for complex numbers."])
("Algebraic"
["Normal"
(progn
(require 'calc-mode)
(cond
(calc-incomplete-algebraic-mode
(calc-algebraic-mode t))
(calc-algebraic-mode
(calc-algebraic-mode nil))))
:style radio :selected
(not calc-algebraic-mode)]
["Algebraic mode"
(progn
(require 'calc-mode)
(if
(or calc-incomplete-algebraic-mode
(not calc-algebraic-mode))
(calc-algebraic-mode nil)))
:keys "m a" :style radio :selected
(and calc-algebraic-mode
(not calc-incomplete-algebraic-mode))
:help "Keys which start numeric entry also start algebraic entry"]
["Incomplete algebraic mode"
(progn
(require 'calc-mode)
(unless calc-incomplete-algebraic-mode
(calc-algebraic-mode t)))
:keys "C-u m a" :style radio :selected calc-incomplete-algebraic-mode :help "Only ( and [ begin algebraic entry"]
["Total algebraic mode"
(progn
(require 'calc-mode)
(unless
(eq calc-algebraic-mode 'total)
(calc-total-algebraic-mode nil)))
:keys "m t" :style radio :selected
(eq calc-algebraic-mode 'total)
:help "All regular letters and punctuation begin algebraic entry"])
("Matrix"
["Off"
(progn
(require 'calc-mode)
(calc-matrix-mode -1))
:style radio :selected
(eq calc-matrix-mode nil)
:help "Variables are not assumed to be matrix or scalar"]
["Matrix mode"
(progn
(require 'calc-mode)
(calc-matrix-mode -2))
:style radio :selected
(eq calc-matrix-mode 'matrix)
:help "Variables are assumed to be matrices"]
["Square matrix mode"
(progn
(require 'calc-mode)
(calc-matrix-mode
'(4)))
:style radio :selected
(eq calc-matrix-mode 'sqmatrix)
:help "Variables are assumed to be square matrices"]
["Dimensioned matrix mode"
(let
((dim
(string-to-number
(read-from-minibuffer "Dimension: "))))
(if
(natnump dim)
(progn
(require 'calc-mode)
(calc-matrix-mode dim))
(error "The dimension must be a positive integer")))
:style radio :selected
(and
(integerp calc-matrix-mode)
(> calc-matrix-mode 0))
:help "Variables are assumed to be NxN matrices"]
["Scalar mode"
(progn
(require 'calc-mode)
(calc-matrix-mode 0))
:style radio :selected
(eq calc-matrix-mode 'scalar)
:help "Variables are assumed to be scalars"])
("Language"
["Normal"
(progn
(require 'calc-lang)
(call-interactively 'calc-normal-language))
:keys "d N" :style radio :selected
(eq calc-language nil)]
["Big"
(progn
(require 'calc-lang)
(call-interactively 'calc-big-language))
:keys "d B" :style radio :selected
(eq calc-language 'big)
:help "Use textual approximations to various mathematical notations"]
["Flat"
(progn
(require 'calc-lang)
(call-interactively 'calc-flat-language))
:keys "d O" :style radio :selected
(eq calc-language 'flat)
:help "Write matrices on a single line"]
["C"
(progn
(require 'calc-lang)
(call-interactively 'calc-c-language))
:keys "d C" :style radio :selected
(eq calc-language 'c)]
["Pascal"
(progn
(require 'calc-lang)
(call-interactively 'calc-pascal-language))
:keys "d P" :style radio :selected
(eq calc-language 'pascal)]
["Fortran"
(progn
(require 'calc-lang)
(call-interactively 'calc-fortran-language))
:keys "d F" :style radio :selected
(eq calc-language 'fortran)]
["TeX"
(progn
(require 'calc-lang)
(call-interactively 'calc-tex-language))
:keys "d T" :style radio :selected
(eq calc-language 'tex)]
["LaTeX"
(progn
(require 'calc-lang)
(call-interactively 'calc-latex-language))
:keys "d L" :style radio :selected
(eq calc-language 'latex)]
["Eqn"
(progn
(require 'calc-lang)
(call-interactively 'calc-eqn-language))
:keys "d E" :style radio :selected
(eq calc-language 'eqn)]
["Yacas"
(progn
(require 'calc-lang)
(call-interactively 'calc-yacas-language))
:keys "d Y" :style radio :selected
(eq calc-language 'yacas)]
["Maxima"
(progn
(require 'calc-lang)
(call-interactively 'calc-maxima-language))
:keys "d X" :style radio :selected
(eq calc-language 'maxima)]
["Giac"
(progn
(require 'calc-lang)
(call-interactively 'calc-giac-language))
:keys "d A" :style radio :selected
(eq calc-language 'giac)]
["Mma"
(progn
(require 'calc-lang)
(call-interactively 'calc-mathematica-language))
:keys "d M" :style radio :selected
(eq calc-language 'math)]
["Maple"
(progn
(require 'calc-lang)
(call-interactively 'calc-maple-language))
:keys "d W" :style radio :selected
(eq calc-language 'maple)])
"----"
["Save mode settings" calc-save-modes :keys "m m"]
"----"
["Help on Modes"
(calc-info-goto-node "Mode settings")])
Documentation
Menu for Calc's mode settings.
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-menu.el.gz
(defvar calc-modes-menu
(list "Modes"
["Precision"
(progn
(require 'calc-ext)
(call-interactively 'calc-precision))
:keys "p"
:help "Set the precision for floating point calculations"]
["Fraction mode"
(progn
(require 'calc-frac)
(call-interactively 'calc-frac-mode))
:keys "m f"
:style toggle
:selected calc-prefer-frac
:help "Leave integer quotients as fractions"]
["Symbolic mode"
(lambda ()
(interactive)
(require 'calc-mode)
(calc-symbolic-mode nil))
:keys "m s"
:style toggle
:selected calc-symbolic-mode
:help "Leave functions producing inexact answers in symbolic form"]
["Infinite mode"
(lambda ()
(interactive)
(require 'calc-mode)
(calc-infinite-mode nil))
:keys "m i"
:style toggle
:selected calc-infinite-mode
:help "Let expressions like 1/0 produce infinite results"]
["Abbreviate long vectors"
(progn
(require 'calc-mode)
(call-interactively 'calc-full-vectors))
:keys "v ."
:style toggle
:selected (not calc-full-vectors)]
(list "Simplification"
["No simplification mode"
(progn
(require 'calc-mode)
(calc-no-simplify-mode t))
:keys "m O"
:style radio
:selected (eq calc-simplify-mode 'none)
:help "No simplifications are done automatically"]
["Numeric simplification mode"
(progn
(require 'calc-mode)
(calc-num-simplify-mode t))
:keys "m N"
:style radio
:selected (eq calc-simplify-mode 'num)
:help "Only numeric simplifications are done automatically"]
["Basic simplification mode"
(progn
(require 'calc-mode)
(calc-basic-simplify-mode t))
:keys "m I"
:style radio
:selected (eq calc-simplify-mode nil)
:help "Only basic simplifications are done automatically"]
["Binary simplification mode"
(progn
(require 'calc-mode)
(calc-bin-simplify-mode t))
:keys "m B"
:style radio
:selected (eq calc-simplify-mode 'binary)
:help "Basic simplifications with binary clipping are done automatically"]
["Algebraic simplification mode"
(progn
(require 'calc-mode)
(calc-alg-simplify-mode t))
:keys "m A"
:style radio
:selected (eq calc-simplify-mode 'alg)
:help "Standard algebraic simplifications are done automatically"]
["Extended simplification mode"
(progn
(require 'calc-mode)
(calc-ext-simplify-mode t))
:keys "m E"
:style radio
:selected (eq calc-simplify-mode 'ext)
:help "Extended (unsafe) simplifications are done automatically"]
["Units simplification mode"
(progn
(require 'calc-mode)
(calc-units-simplify-mode t))
:keys "m U"
:style radio
:selected (eq calc-simplify-mode 'units)
:help "Algebraic and unit simplifications are done automatically"])
(list "Angle Measure"
["Radians"
(progn
(require 'calc-math)
(call-interactively 'calc-radians-mode))
:keys "m r"
:style radio
:selected (eq calc-angle-mode 'rad)]
["Degrees"
(progn
(require 'calc-math)
(call-interactively 'calc-degrees-mode))
:keys "m d"
:style radio
:selected (eq calc-angle-mode 'deg)]
["HMS"
(progn
(require 'calc-math)
(call-interactively 'calc-hms-mode))
:keys "m h"
:style radio
:selected (eq calc-angle-mode 'hms)])
(list "Radix"
["Decimal"
(progn
(require 'calc-bin)
(call-interactively 'calc-decimal-radix))
:keys "d 0"
:style radio
:selected (and (= calc-number-radix 10)
(not calc-twos-complement-mode))]
["Binary"
(progn
(require 'calc-bin)
(call-interactively 'calc-binary-radix))
:keys "d 2"
:style radio
:selected (and (= calc-number-radix 2)
(not calc-twos-complement-mode))]
["Octal"
(progn
(require 'calc-bin)
(call-interactively 'calc-octal-radix))
:keys "d 8"
:style radio
:selected (and (= calc-number-radix 8)
(not calc-twos-complement-mode))]
["Hexadecimal"
(progn
(require 'calc-bin)
(call-interactively 'calc-hex-radix))
:keys "d 6"
:style radio
:selected (and (= calc-number-radix 16)
(not calc-twos-complement-mode))]
["Other"
(progn
(require 'calc-bin)
(call-interactively 'calc-radix))
:keys "d r"
:style radio
:selected (and
(not calc-twos-complement-mode)
(not
(or
(= calc-number-radix 10)
(= calc-number-radix 2)
(= calc-number-radix 8)
(= calc-number-radix 16))))]
["--Two's Complement--"
(lambda () ())
:style radio
:selected nil]
["Binary"
(progn
(require 'calc-bin)
(call-interactively
(lambda () (interactive) (calc-binary-radix t))))
:keys "C-u d 2"
:style radio
:selected (and (= calc-number-radix 2)
calc-twos-complement-mode)]
["Octal"
(progn
(require 'calc-bin)
(call-interactively
(lambda () (interactive) (calc-octal-radix t))))
:keys "C-u d 8"
:style radio
:selected (and (= calc-number-radix 8)
calc-twos-complement-mode)]
["Hexadecimal"
(progn
(require 'calc-bin)
(call-interactively
(lambda () (interactive) (calc-hex-radix t))))
:keys "C-u d 6"
:style radio
:selected (and (= calc-number-radix 16)
calc-twos-complement-mode)])
(list "Float Format"
["Normal"
(progn
(require 'calc-mode)
(call-interactively 'calc-normal-notation))
:keys "d n"
:style radio
:selected (eq (car-safe calc-float-format) 'float)]
["Fixed point"
(progn
(require 'calc-mode)
(call-interactively 'calc-fix-notation))
:keys "d f"
:style radio
:selected (eq (car-safe calc-float-format) 'fix)]
["Scientific notation"
(progn
(require 'calc-mode)
(call-interactively 'calc-sci-notation))
:keys "d s"
:style radio
:selected (eq (car-safe calc-float-format) 'sci)]
["Engineering notation"
(progn
(require 'calc-mode)
(call-interactively 'calc-eng-notation))
:keys "d e"
:style radio
:selected (eq (car-safe calc-float-format) 'eng)])
(list "Complex Format"
["Default"
(progn
(require 'calc-cplx)
(calc-complex-notation))
:style radio
:selected (not calc-complex-format)
:keys "d c"
:help "Display complex numbers as ordered pairs."]
["i notation"
(progn
(require 'calc-cplx)
(calc-i-notation))
:style radio
:selected (eq calc-complex-format 'i)
:keys "d i"
:help "Display complex numbers as a+bi."]
["j notation"
(progn
(require 'calc-cplx)
(calc-i-notation))
:style radio
:selected (eq calc-complex-format 'j)
:keys "d j"
:help "Display complex numbers as a+bj."]
["Other"
(calc-complex-notation)
:style radio
:selected (and calc-complex-format
(not (eq calc-complex-format 'i))
(not (eq calc-complex-format 'j)))
:active nil]
"----"
["Polar mode"
(progn
(require 'calc-cplx)
(calc-polar-mode nil))
:style toggle
:selected (eq calc-complex-mode 'polar)
:keys "m p"
:help "Prefer polar form for complex numbers."])
(list "Algebraic"
["Normal"
(progn
(require 'calc-mode)
(cond
(calc-incomplete-algebraic-mode
(calc-algebraic-mode t))
(calc-algebraic-mode
(calc-algebraic-mode nil))))
:style radio
:selected (not calc-algebraic-mode)]
["Algebraic mode"
(progn
(require 'calc-mode)
(if (or
calc-incomplete-algebraic-mode
(not calc-algebraic-mode))
(calc-algebraic-mode nil)))
:keys "m a"
:style radio
:selected (and calc-algebraic-mode
(not calc-incomplete-algebraic-mode))
:help "Keys which start numeric entry also start algebraic entry"]
["Incomplete algebraic mode"
(progn
(require 'calc-mode)
(unless calc-incomplete-algebraic-mode
(calc-algebraic-mode t)))
:keys "C-u m a"
:style radio
:selected calc-incomplete-algebraic-mode
:help "Only ( and [ begin algebraic entry"]
["Total algebraic mode"
(progn
(require 'calc-mode)
(unless (eq calc-algebraic-mode 'total)
(calc-total-algebraic-mode nil)))
:keys "m t"
:style radio
:selected (eq calc-algebraic-mode 'total)
:help "All regular letters and punctuation begin algebraic entry"])
(list "Matrix"
["Off"
(progn
(require 'calc-mode)
(calc-matrix-mode -1))
:style radio
:selected (eq calc-matrix-mode nil)
:help "Variables are not assumed to be matrix or scalar"]
["Matrix mode"
(progn
(require 'calc-mode)
(calc-matrix-mode -2))
:style radio
:selected (eq calc-matrix-mode 'matrix)
:help "Variables are assumed to be matrices"]
["Square matrix mode"
(progn
(require 'calc-mode)
(calc-matrix-mode '(4)))
:style radio
:selected (eq calc-matrix-mode 'sqmatrix)
:help "Variables are assumed to be square matrices"]
["Dimensioned matrix mode"
(let ((dim (string-to-number (read-from-minibuffer "Dimension: "))))
(if (natnump dim)
(progn
(require 'calc-mode)
(calc-matrix-mode dim))
(error "The dimension must be a positive integer")))
:style radio
:selected (and (integerp calc-matrix-mode) (> calc-matrix-mode 0))
:help "Variables are assumed to be NxN matrices"]
["Scalar mode"
(progn
(require 'calc-mode)
(calc-matrix-mode 0))
:style radio
:selected (eq calc-matrix-mode 'scalar)
:help "Variables are assumed to be scalars"])
(list "Language"
["Normal"
(progn
(require 'calc-lang)
(call-interactively 'calc-normal-language))
:keys "d N"
:style radio
:selected (eq calc-language nil)]
["Big"
(progn
(require 'calc-lang)
(call-interactively 'calc-big-language))
:keys "d B"
:style radio
:selected (eq calc-language 'big)
:help "Use textual approximations to various mathematical notations"]
["Flat"
(progn
(require 'calc-lang)
(call-interactively 'calc-flat-language))
:keys "d O"
:style radio
:selected (eq calc-language 'flat)
:help "Write matrices on a single line"]
["C"
(progn
(require 'calc-lang)
(call-interactively 'calc-c-language))
:keys "d C"
:style radio
:selected (eq calc-language 'c)]
["Pascal"
(progn
(require 'calc-lang)
(call-interactively 'calc-pascal-language))
:keys "d P"
:style radio
:selected (eq calc-language 'pascal)]
["Fortran"
(progn
(require 'calc-lang)
(call-interactively 'calc-fortran-language))
:keys "d F"
:style radio
:selected (eq calc-language 'fortran)]
["TeX"
(progn
(require 'calc-lang)
(call-interactively 'calc-tex-language))
:keys "d T"
:style radio
:selected (eq calc-language 'tex)]
["LaTeX"
(progn
(require 'calc-lang)
(call-interactively 'calc-latex-language))
:keys "d L"
:style radio
:selected (eq calc-language 'latex)]
["Eqn"
(progn
(require 'calc-lang)
(call-interactively 'calc-eqn-language))
:keys "d E"
:style radio
:selected (eq calc-language 'eqn)]
["Yacas"
(progn
(require 'calc-lang)
(call-interactively 'calc-yacas-language))
:keys "d Y"
:style radio
:selected (eq calc-language 'yacas)]
["Maxima"
(progn
(require 'calc-lang)
(call-interactively 'calc-maxima-language))
:keys "d X"
:style radio
:selected (eq calc-language 'maxima)]
["Giac"
(progn
(require 'calc-lang)
(call-interactively 'calc-giac-language))
:keys "d A"
:style radio
:selected (eq calc-language 'giac)]
["Mma"
(progn
(require 'calc-lang)
(call-interactively 'calc-mathematica-language))
:keys "d M"
:style radio
:selected (eq calc-language 'math)]
["Maple"
(progn
(require 'calc-lang)
(call-interactively 'calc-maple-language))
:keys "d W"
:style radio
:selected (eq calc-language 'maple)])
"----"
["Save mode settings" calc-save-modes :keys "m m"]
"----"
["Help on Modes"
(calc-info-goto-node "Mode settings")])
"Menu for Calc's mode settings.")