*** calc.el.orig Fri Oct 24 13:32:20 2003 --- calc.el Fri Oct 24 15:48:39 2003 *************** *** 257,316 **** "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. If `right', stack display is right-justified. If `center', stack display is centered.") ! (defvar 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. 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. 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. 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. 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. --- 257,334 ---- "Index into `calc-stack' of \"top\" of stack. This is 1 unless `calc-truncate-stack' has been used.") ! (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.") ! ! (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.") ! (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.") ! (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.") ! (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.") ! (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.") ! (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,376 **** (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: 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. 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. 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. 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: nil Use standard Calc notation. flat Use standard Calc notation, one-line format. big Display formulas in 2-d notation (enter w/std notation). --- 341,394 ---- (eng N) N > 0: Engineering notation, N significant figures. (eng -N) -N < 0: Engineering notation, calc-internal-prec - N figs.") ! (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.") ! (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).") ! (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.") ! (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).") ! (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,420 **** 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. 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. --- 401,423 ---- math Use Mathematica(tm) notation. maple Use Maple notation.") ! (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,541 **** 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. If hms, angles are in degrees-minutes-seconds.") ! (defvar 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. If nil, computations on numbers always yield numbers where possible.") ! (defvar 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. 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. 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) (defconst calc-local-var-list '(calc-stack calc-stack-top --- 426,536 ---- If `ext', `math-simplify-extended' is applied. If `units', `math-simplify-units' is applied.") ! (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.") ! (calc-algebraic-mode nil ! "If non-nil, numeric entry accepts whole algebraic expressions. If nil, algebraic expressions must be preceded by \"'\".") ! (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.") ! (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.") ! (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.") ! (calc-use-selections t ! "If non-nil, commands operate only on selected portions of formulas. If nil, selections displayed but ignored.") ! (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))) ! ! (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,674 **** (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-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 '$'. --- 661,683 ---- (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 ! "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 '$'.