# HG changeset patch # User Jay Belanger # Date 1095266899 0 # Node ID abc0e9beaacde9ddd75026a553595e1c29a6eaa6 # Parent deddb5e7acc3ab8d5231f06ebcb22c3fb6622992 calc/calc.el (calc-mode-var-list): Define this variable. (calc-always-load-extensions, calc-line-numbering, calc-line-breaking, calc-display-just, calc-display-origin, calc-number-radix, calc-leading-zeros, calc-group-digits, calc-group-char, calc-point-char, calc-frac-format, calc-prefer-frac, calc-hms-format, calc-date-format, calc-float-format, calc-full-float-format, calc-complex-format, calc-complex-mode, calc-infinite-mode, calc-display-strings, calc-matrix-just, calc-break-vectors, calc-full-vectors, calc-full-trail-vectors, calc-vector-commas, calc-vector-brackets, calc-matrix-brackets, calc-language, calc-language-option, calc-left-label, calc-right-label, calc-word-size, calc-previous-modulo, calc-simplify-mode, calc-auto-recompute, calc-display-raw, calc-internal-prec, calc-angle-mode, calc-algebraic-mode, calc-incomplete-algebraic-mode, calc-symbolic-mode, calc-matrix-mode, calc-shift-prefix, calc-window-height, calc-display-trail, calc-show-selections, calc-use-selections, calc-assoc-selections, calc-display-working-message, calc-auto-why , calc-timing, calc-mode-save-mode, calc-standard-date-formats, calc-autorange-units, calc-was-keypad-mode, calc-full-mode, calc-user-parse-tables, calc-gnuplot-default-device, calc-gnuplot-default-output, calc-gnuplot-print-device, calc-gnuplot-print-output, calc-gnuplot-geometry, calc-graph-default-resolution, calc-graph-default-resolution-3d, calc-invocation-macro, calc-show-banner): Give these values as part of `calc-mode-var-list's initialization after the variables are declared with defvar. diff -r deddb5e7acc3 -r abc0e9beaacd lisp/calc/calc.el --- a/lisp/calc/calc.el Wed Sep 15 16:47:08 2004 +0000 +++ b/lisp/calc/calc.el Wed Sep 15 16:48:19 2004 +0000 @@ -257,60 +257,145 @@ "Index into `calc-stack' of \"top\" of stack. This is 1 unless `calc-truncate-stack' has been used.") -(defvar calc-always-load-extensions nil - "If non-nil, load the calc-ext module automatically when calc is loaded.") - -(defvar calc-line-numbering t - "If non-nil, display line numbers in Calculator stack.") - -(defvar calc-line-breaking t - "If non-nil, break long values across multiple lines in Calculator stack.") - -(defvar calc-display-just nil - "If nil, stack display is left-justified. +(defvar calc-display-sci-high 0 + "Floating-point numbers with this positive exponent or higher above the +current precision are displayed in scientific notation in calc-mode.") + +(defvar calc-display-sci-low -3 + "Floating-point numbers with this negative exponent or lower are displayed +scientific notation in calc-mode.") + +(defvar calc-other-modes nil + "List of used-defined strings to append to Calculator mode line.") + +(defvar calc-Y-help-msgs nil + "List of strings for Y prefix help.") + +(defvar calc-loaded-settings-file nil + "t if `calc-settings-file' has been loaded yet.") + +(defvar calc-always-load-extensions) +(defvar calc-line-numbering) +(defvar calc-line-breaking) +(defvar calc-display-just) +(defvar calc-display-origin) +(defvar calc-number-radix) +(defvar calc-leading-zeros) +(defvar calc-group-digits) +(defvar calc-group-char) +(defvar calc-point-char) +(defvar calc-frac-format) +(defvar calc-prefer-frac) +(defvar calc-hms-format) +(defvar calc-date-format) +(defvar calc-float-format) +(defvar calc-full-float-format) +(defvar calc-complex-format) +(defvar calc-complex-mode) +(defvar calc-infinite-mode) +(defvar calc-display-strings) +(defvar calc-matrix-just) +(defvar calc-break-vectors) +(defvar calc-full-vectors) +(defvar calc-full-trail-vectors) +(defvar calc-vector-commas) +(defvar calc-vector-brackets) +(defvar calc-matrix-brackets) +(defvar calc-language) +(defvar calc-language-option) +(defvar calc-left-label) +(defvar calc-right-label) +(defvar calc-word-size) +(defvar calc-previous-modulo) +(defvar calc-simplify-mode) +(defvar calc-auto-recompute) +(defvar calc-display-raw) +(defvar calc-internal-prec) +(defvar calc-angle-mode) +(defvar calc-algebraic-mode) +(defvar calc-incomplete-algebraic-mode) +(defvar calc-symbolic-mode) +(defvar calc-matrix-mode) +(defvar calc-shift-prefix) +(defvar calc-window-height) +(defvar calc-display-trail) +(defvar calc-show-selections) +(defvar calc-use-selections) +(defvar calc-assoc-selections) +(defvar calc-display-working-message) +(defvar calc-auto-why) +(defvar calc-timing) +(defvar calc-mode-save-mode) +(defvar calc-standard-date-formats) +(defvar calc-autorange-units) +(defvar calc-was-keypad-mode) +(defvar calc-full-mode) +(defvar calc-user-parse-tables) +(defvar calc-gnuplot-default-device) +(defvar calc-gnuplot-default-output) +(defvar calc-gnuplot-print-device) +(defvar calc-gnuplot-print-output) +(defvar calc-gnuplot-geometry) +(defvar calc-graph-default-resolution) +(defvar calc-graph-default-resolution-3d) +(defvar calc-invocation-macro) +(defvar calc-show-banner) + +(defconst calc-mode-var-list '( + (calc-always-load-extensions nil + "If non-nil, load the calc-ext module automatically when calc is loaded.") + + (calc-line-numbering t + "If non-nil, display line numbers in Calculator stack.") + + (calc-line-breaking t + "If non-nil, break long values across multiple lines in Calculator stack.") + + (calc-display-just nil + "If nil, stack display is left-justified. If `right', stack display is right-justified. If `center', stack display is centered.") -(defvar calc-display-origin nil - "Horizontal origin of displayed stack entries. + (calc-display-origin nil + "Horizontal origin of displayed stack entries. In left-justified mode, this is effectively indentation. (Default 0). In right-justified mode, this is effectively window width. In centered mode, center of stack entry is placed here.") -(defvar calc-number-radix 10 - "Radix for entry and display of numbers in calc-mode, 2-36.") - -(defvar calc-leading-zeros nil - "If non-nil, leading zeros are provided to pad integers to calc-word-size.") - -(defvar calc-group-digits nil - "If non-nil, group digits in large displayed integers by inserting spaces. + (calc-number-radix 10 + "Radix for entry and display of numbers in calc-mode, 2-36.") + + (calc-leading-zeros nil + "If non-nil, leading zeros are provided to pad integers to calc-word-size.") + + (calc-group-digits nil + "If non-nil, group digits in large displayed integers by inserting spaces. If an integer, group that many digits at a time. If t, use 4 for binary and hex, 3 otherwise.") -(defvar calc-group-char "," - "The character (in the form of a string) to be used for grouping digits. + (calc-group-char "," + "The character (in the form of a string) to be used for grouping digits. This is used only when calc-group-digits mode is on.") -(defvar calc-point-char "." - "The character (in the form of a string) to be used as a decimal point.") - -(defvar calc-frac-format '(":" nil) - "Format of displayed fractions; a string of one or two of \":\" or \"/\".") - -(defvar calc-prefer-frac nil - "If non-nil, prefer fractional over floating-point results.") - -(defvar calc-hms-format "%s@ %s' %s\"" - "Format of displayed hours-minutes-seconds angles, a format string. + (calc-point-char "." + "The character (in the form of a string) to be used as a decimal point.") + + (calc-frac-format (":" nil) + "Format of displayed fractions; a string of one or two of \":\" or \"/\".") + + (calc-prefer-frac nil + "If non-nil, prefer fractional over floating-point results.") + + (calc-hms-format "%s@ %s' %s\"" + "Format of displayed hours-minutes-seconds angles, a format string. String must contain three %s marks for hours, minutes, seconds respectively.") -(defvar calc-date-format '((H ":" mm C SS pp " ") - Www " " Mmm " " D ", " YYYY) - "Format of displayed date forms.") - -(defvar calc-float-format '(float 0) - "Format to use for display of floating-point numbers in calc-mode. + (calc-date-format ((H ":" mm C SS pp " ") + Www " " Mmm " " D ", " YYYY) + "Format of displayed date forms.") + + (calc-float-format (float 0) + "Format to use for display of floating-point numbers in calc-mode. Must be a list of one of the following forms: (float 0) Floating point format, display full precision. (float N) N > 0: Floating point format, at most N significant figures. @@ -323,54 +408,54 @@ (eng N) N > 0: Engineering notation, N significant figures. (eng -N) -N < 0: Engineering notation, calc-internal-prec - N figs.") -(defvar calc-full-float-format '(float 0) - "Format to use when full precision must be displayed.") - -(defvar calc-complex-format nil - "Format to use for display of complex numbers in calc-mode. Must be one of: + (calc-full-float-format (float 0) + "Format to use when full precision must be displayed.") + + (calc-complex-format nil + "Format to use for display of complex numbers in calc-mode. Must be one of: nil Use (x, y) form. i Use x + yi form. j Use x + yj form.") -(defvar calc-complex-mode 'cplx - "Preferred form, either `cplx' or `polar', for complex numbers.") - -(defvar calc-infinite-mode nil - "If nil, 1 / 0 is left unsimplified. + (calc-complex-mode cplx + "Preferred form, either `cplx' or `polar', for complex numbers.") + + (calc-infinite-mode nil + "If nil, 1 / 0 is left unsimplified. If 0, 1 / 0 is changed to inf (zeros are considered positive). Otherwise, 1 / 0 is changed to uinf (undirected infinity).") -(defvar calc-display-strings nil - "If non-nil, display vectors of byte-sized integers as strings.") - -(defvar calc-matrix-just 'center - "If nil, vector elements are left-justified. + (calc-display-strings nil + "If non-nil, display vectors of byte-sized integers as strings.") + + (calc-matrix-just 'center + "If nil, vector elements are left-justified. If `right', vector elements are right-justified. If `center', vector elements are centered.") -(defvar calc-break-vectors nil - "If non-nil, display vectors one element per line.") - -(defvar calc-full-vectors t - "If non-nil, display long vectors in full. If nil, use abbreviated form.") - -(defvar calc-full-trail-vectors t - "If non-nil, display long vectors in full in the trail.") - -(defvar calc-vector-commas "," - "If non-nil, separate elements of displayed vectors with this string.") - -(defvar calc-vector-brackets "[]" - "If non-nil, surround displayed vectors with these characters.") - -(defvar calc-matrix-brackets '(R O) - "A list of code-letter symbols that control \"big\" matrix display. + (calc-break-vectors nil + "If non-nil, display vectors one element per line.") + + (calc-full-vectors t + "If non-nil, display long vectors in full. If nil, use abbreviated form.") + + (calc-full-trail-vectors t + "If non-nil, display long vectors in full in the trail.") + + (calc-vector-commas "," + "If non-nil, separate elements of displayed vectors with this string.") + + (calc-vector-brackets "[]" + "If non-nil, surround displayed vectors with these characters.") + + (calc-matrix-brackets '(R O) + "A list of code-letter symbols that control \"big\" matrix display. If `R' is present, display inner brackets for matrices. If `O' is present, display outer brackets for matrices (above/below). If `C' is present, display outer brackets for matrices (centered).") -(defvar calc-language nil - "Language or format for entry and display of stack values. Must be one of: + (calc-language nil + "Language or format for entry and display of stack values. Must be one of: nil Use standard Calc notation. flat Use standard Calc notation, one-line format. big Display formulas in 2-d notation (enter w/std notation). @@ -383,38 +468,23 @@ math Use Mathematica(tm) notation. maple Use Maple notation.") -(defvar calc-language-option nil - "Numeric prefix argument for the command that set `calc-language'.") - -(defvar calc-function-open "(" - "Open-parenthesis string for function call notation.") - -(defvar calc-function-close ")" - "Close-parenthesis string for function call notation.") - -(defvar calc-language-output-filter nil - "Function through which to pass strings after formatting.") - -(defvar calc-language-input-filter nil - "Function through which to pass strings before parsing.") - -(defvar calc-radix-formatter nil - "Formatting function used for non-decimal numbers.") - -(defvar calc-left-label "" - "Label to display at left of formula.") - -(defvar calc-right-label "" - "Label to display at right of formula.") - -(defvar calc-word-size 32 - "Minimum number of bits per word, if any, for binary operations in calc-mode.") - -(defvar calc-previous-modulo nil - "Most recently used value of M in a modulo form.") - -(defvar calc-simplify-mode nil - "Type of simplification applied to results. + (calc-language-option nil + "Numeric prefix argument for the command that set `calc-language'.") + + (calc-left-label "" + "Label to display at left of formula.") + + (calc-right-label "" + "Label to display at right of formula.") + + (calc-word-size 32 + "Minimum number of bits per word, if any, for binary operations in calc-mode.") + + (calc-previous-modulo nil + "Most recently used value of M in a modulo form.") + + (calc-simplify-mode nil + "Type of simplification applied to results. If `none', results are not simplified when pushed on the stack. If `num', functions are simplified only when args are constant. If nil, only fast simplifications are applied. @@ -423,119 +493,112 @@ If `ext', `math-simplify-extended' is applied. If `units', `math-simplify-units' is applied.") -(defvar calc-auto-recompute t - "If non-nil, recompute evalto's automatically when necessary.") - -(defvar calc-display-raw nil - "If non-nil, display shows unformatted Lisp exprs. (For debugging)") - -(defvar calc-internal-prec 12 - "Number of digits of internal precision for calc-mode calculations.") - -(defvar calc-inverse-flag nil - "If non-nil, next operation is Inverse.") - -(defvar calc-hyperbolic-flag nil - "If non-nil, next operation is Hyperbolic.") - -(defvar calc-keep-args-flag nil - "If non-nil, next operation should not remove its arguments from stack.") - -(defvar calc-angle-mode 'deg - "If deg, angles are in degrees; if rad, angles are in radians. + (calc-auto-recompute t + "If non-nil, recompute evalto's automatically when necessary.") + + (calc-display-raw nil + "If non-nil, display shows unformatted Lisp exprs. (For debugging)") + + (calc-internal-prec 12 + "Number of digits of internal precision for calc-mode calculations.") + + (calc-angle-mode deg + "If deg, angles are in degrees; if rad, angles are in radians. If hms, angles are in degrees-minutes-seconds.") -(defvar calc-algebraic-mode nil - "If non-nil, numeric entry accepts whole algebraic expressions. + (calc-algebraic-mode nil + "If non-nil, numeric entry accepts whole algebraic expressions. If nil, algebraic expressions must be preceded by \"'\".") -(defvar calc-incomplete-algebraic-mode nil - "Like calc-algebraic-mode except only affects ( and [ keys.") - -(defvar calc-symbolic-mode nil - "If non-nil, inexact numeric computations like sqrt(2) are postponed. + (calc-incomplete-algebraic-mode nil + "Like calc-algebraic-mode except only affects ( and [ keys.") + + (calc-symbolic-mode nil + "If non-nil, inexact numeric computations like sqrt(2) are postponed. If nil, computations on numbers always yield numbers where possible.") -(defvar calc-matrix-mode nil - "If `matrix', variables are assumed to be matrix-valued. + (calc-matrix-mode nil + "If `matrix', variables are assumed to be matrix-valued. If a number, variables are assumed to be NxN matrices. If `scalar', variables are assumed to be scalar-valued. If nil, symbolic math routines make no assumptions about variables.") -(defvar calc-shift-prefix nil - "If non-nil, shifted letter keys are prefix keys rather than normal meanings.") - -(defvar calc-window-height 7 - "Initial height of Calculator window.") - -(defvar calc-display-trail t - "If non-nil, M-x calc creates a window to display Calculator trail.") - -(defvar calc-show-selections t - "If non-nil, selected sub-formulas are shown by obscuring rest of formula. + (calc-shift-prefix nil + "If non-nil, shifted letter keys are prefix keys rather than normal meanings.") + + (calc-window-height 7 + "Initial height of Calculator window.") + + (calc-display-trail t + "If non-nil, M-x calc creates a window to display Calculator trail.") + + (calc-show-selections t + "If non-nil, selected sub-formulas are shown by obscuring rest of formula. If nil, selected sub-formulas are highlighted by obscuring the sub-formulas.") -(defvar calc-use-selections t - "If non-nil, commands operate only on selected portions of formulas. + (calc-use-selections t + "If non-nil, commands operate only on selected portions of formulas. If nil, selections displayed but ignored.") -(defvar calc-assoc-selections t - "If non-nil, selection hides deep structure of associative formulas.") - -(defvar calc-display-working-message 'lots - "If non-nil, display \"Working...\" for potentially slow Calculator commands.") - -(defvar calc-auto-why 'maybe - "If non-nil, automatically execute a \"why\" command to explain odd results.") - -(defvar calc-timing nil - "If non-nil, display timing information on each slow command.") - -(defvar calc-display-sci-high 0 - "Floating-point numbers with this positive exponent or higher above the -current precision are displayed in scientific notation in calc-mode.") - -(defvar calc-display-sci-low -3 - "Floating-point numbers with this negative exponent or lower are displayed -scientific notation in calc-mode.") - - -(defvar calc-other-modes nil - "List of used-defined strings to append to Calculator mode line.") - -(defvar calc-Y-help-msgs nil - "List of strings for Y prefix help.") - -(defvar calc-loaded-settings-file nil - "t if `calc-settings-file' has been loaded yet.") - - - -(defvar calc-mode-save-mode 'local) -(defvar calc-standard-date-formats - '("N" - "Www Mmm D, YYYY" - "D Mmm YYYY<, h:mm:SS>" - "Www Mmm BD< hh:mm:ss> YYYY" - "M/D/Y< H:mm:SSpp>" - "D.M.Y< h:mm:SS>" - "M-D-Y< H:mm:SSpp>" - "D-M-Y< h:mm:SS>" - "j<, h:mm:SS>" - "YYddd< hh:mm:ss>")) -(defvar calc-autorange-units nil) -(defvar calc-was-keypad-mode nil) -(defvar calc-full-mode nil) -(defvar calc-user-parse-tables nil) -(defvar calc-gnuplot-default-device "default") -(defvar calc-gnuplot-default-output "STDOUT") -(defvar calc-gnuplot-print-device "postscript") -(defvar calc-gnuplot-print-output "auto") -(defvar calc-gnuplot-geometry nil) -(defvar calc-graph-default-resolution 15) -(defvar calc-graph-default-resolution-3d 5) -(defvar calc-invocation-macro nil) -(defvar calc-show-banner t) + (calc-assoc-selections t + "If non-nil, selection hides deep structure of associative formulas.") + + (calc-display-working-message 'lots + "If non-nil, display \"Working...\" for potentially slow Calculator commands.") + + (calc-auto-why 'maybe + "If non-nil, automatically execute a \"why\" command to explain odd results.") + + (calc-timing nil + "If non-nil, display timing information on each slow command.") + + (calc-mode-save-mode local) + + (calc-standard-date-formats + '("N" + "Www Mmm D, YYYY" + "D Mmm YYYY<, h:mm:SS>" + "Www Mmm BD< hh:mm:ss> YYYY" + "M/D/Y< H:mm:SSpp>" + "D.M.Y< h:mm:SS>" + "M-D-Y< H:mm:SSpp>" + "D-M-Y< h:mm:SS>" + "j<, h:mm:SS>" + "YYddd< hh:mm:ss>")) + + (calc-autorange-units nil) + + (calc-was-keypad-mode nil) + + (calc-full-mode nil) + + (calc-user-parse-tables nil) + + (calc-gnuplot-default-device "default") + + (calc-gnuplot-default-output "STDOUT") + + (calc-gnuplot-print-device "postscript") + + (calc-gnuplot-print-output "auto") + + (calc-gnuplot-geometry nil) + + (calc-graph-default-resolution 15) + + (calc-graph-default-resolution-3d 5) + + (calc-invocation-macro nil) + + (calc-show-banner t)) + "List of variables (and default values) used in customizing GNU Calc.") + +(mapcar (function (lambda (v) + (or (boundp (car v)) + (set (car v) (nth 1 v))) + (if (nth 2 v) + (put (car v) 'variable-documentation (nth 2 v))))) + calc-mode-var-list) (defconst calc-local-var-list '(calc-stack calc-stack-top @@ -666,9 +729,23 @@ (defvar calc-trail-buffer nil) ; Pointer to Calc Trail buffer. (defvar calc-why nil) ; Explanations of most recent errors. (defvar calc-next-why nil) -(defvar calc-inverse-flag nil) -(defvar calc-hyperbolic-flag nil) -(defvar calc-keep-args-flag nil) +(defvar calc-inverse-flag nil + "If non-nil, next operation is Inverse.") +(defvar calc-hyperbolic-flag nil + "If non-nil, next operation is Hyperbolic.") +(defvar calc-keep-args-flag nil + "If non-nil, next operation should not remove its arguments from stack.") +(defvar calc-function-open "(" + "Open-parenthesis string for function call notation.") +(defvar calc-function-close ")" + "Close-parenthesis string for function call notation.") +(defvar calc-language-output-filter nil + "Function through which to pass strings after formatting.") +(defvar calc-language-input-filter nil + "Function through which to pass strings before parsing.") +(defvar calc-radix-formatter nil + "Formatting function used for non-decimal numbers.") + (defvar calc-last-kill nil) ; Last number killed in calc-mode. (defvar calc-previous-alg-entry nil) ; Previous algebraic entry. (defvar calc-dollar-values nil) ; Values to be used for '$'.