aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2008-03-23 02:30:04 +0000
committerJay Belanger2008-03-23 02:30:04 +0000
commit7a2c03a84327b3f58807c13c9d4bb245e62f7a67 (patch)
tree759356bf7b2a800fe1330385b26d8059c2d845ef
parent84c420c3ee0037d93f79391118262b8d75074ce0 (diff)
downloademacs-7a2c03a84327b3f58807c13c9d4bb245e62f7a67.tar.gz
emacs-7a2c03a84327b3f58807c13c9d4bb245e62f7a67.zip
(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-trail-pointer, calc-trail-overlay, calc-undo-list) (calc-redo-list, calc-main-buffer, calc-trail-buffer, calc-why) (calc-last-kill, calc-dollar-values, calc-dollar-used) (calc-hashes-used, calc-quick-prev-results, calc-said-hello) (calc-executing-macro, calc-any-selections, calc-help-phase) (calc-full-help-flag, calc-refresh-count, calc-display-dirty) (calc-embedded-info, calc-embedded-active, calc-standalone-flag) (var-EvalRules, math-expr-function-mapping, math-expr-variable-mapping) (calc-mode-map, calc-digit-map, calc-dispatch-map, calc-do-dispatch) (calc-read-key-sequence, calc-create-buffer, calc-quit): Add docstrings.
-rw-r--r--lisp/ChangeLog19
-rw-r--r--lisp/calc/calc.el342
2 files changed, 215 insertions, 146 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 20b45a2e0db..742c5cf1ac2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,22 @@
12008-03-23 Jay Belanger <jay.p.belanger@gmail.com>
2
3 * calc/calc.el (calc-was-keypad-mode, calc-full-mode)
4 (calc-user-parse-tables, calc-gnuplot-default-device)
5 (calc-gnuplot-default-output, calc-gnuplot-print-device)
6 (calc-gnuplot-print-output, calc-gnuplot-geometry)
7 (calc-graph-default-resolution, calc-graph-default-resolution-3d)
8 (calc-invocation-macro, calc-trail-pointer, calc-trail-overlay)
9 (calc-undo-list, calc-redo-list, calc-main-buffer)
10 (calc-trail-buffer, calc-why, calc-last-kill, calc-dollar-values)
11 (calc-dollar-used, calc-hashes-used, calc-quick-prev-results)
12 (calc-said-hello, calc-executing-macro, calc-any-selections)
13 (calc-help-phase, calc-full-help-flag, calc-refresh-count)
14 (calc-display-dirty, calc-embedded-info, calc-embedded-active)
15 (calc-standalone-flag, var-EvalRules, math-expr-function-mapping)
16 (math-expr-variable-mapping, calc-mode-map, calc-digit-map)
17 (calc-dispatch-map, calc-do-dispatch, calc-read-key-sequence)
18 (calc-create-buffer, calc-quit): Add docstrings.
19
12008-03-23 Juanma Barranquero <lekktu@gmail.com> 202008-03-23 Juanma Barranquero <lekktu@gmail.com>
2 21
3 * makefile.w32-in (WINS_ALMOST): Add org. 22 * makefile.w32-in (WINS_ALMOST): Add org.
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 6c4c0059212..e32ba8dda66 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -507,7 +507,7 @@ The variable VAR will be added to `calc-mode-var-list'."
507 (calc-mode-var-list-restore-default-values)))) 507 (calc-mode-var-list-restore-default-values))))
508 508
509(defcalcmodevar calc-always-load-extensions nil 509(defcalcmodevar calc-always-load-extensions nil
510 "If non-nil, load the calc-ext module automatically when calc is loaded.") 510 "If non-nil, load the calc-ext module automatically when Calc is loaded.")
511 511
512(defcalcmodevar calc-line-numbering t 512(defcalcmodevar calc-line-numbering t
513 "If non-nil, display line numbers in Calculator stack.") 513 "If non-nil, display line numbers in Calculator stack.")
@@ -738,27 +738,39 @@ If nil, selections displayed but ignored.")
738(defcalcmodevar calc-autorange-units nil 738(defcalcmodevar calc-autorange-units nil
739 "If non-nil, automatically set unit prefixes to keep units in a reasonable range.") 739 "If non-nil, automatically set unit prefixes to keep units in a reasonable range.")
740 740
741(defcalcmodevar calc-was-keypad-mode nil) 741(defcalcmodevar calc-was-keypad-mode nil
742 "Non-nil if Calc was last invoked in keypad mode.")
742 743
743(defcalcmodevar calc-full-mode nil) 744(defcalcmodevar calc-full-mode nil
745 "Non-nil if Calc was last invoked in full-screen mode.")
744 746
745(defcalcmodevar calc-user-parse-tables nil) 747(defcalcmodevar calc-user-parse-tables nil
748 "Alist of languages with user-defined parse rules.")
746 749
747(defcalcmodevar calc-gnuplot-default-device "default") 750(defcalcmodevar calc-gnuplot-default-device "default"
751 "The default device name for GNUPLOT plotting.")
748 752
749(defcalcmodevar calc-gnuplot-default-output "STDOUT") 753(defcalcmodevar calc-gnuplot-default-output "STDOUT"
754 "The default output file for GNUPLOT plotting.")
750 755
751(defcalcmodevar calc-gnuplot-print-device "postscript") 756(defcalcmodevar calc-gnuplot-print-device "postscript"
757 "The default device name for GNUPLOT printing.")
752 758
753(defcalcmodevar calc-gnuplot-print-output "auto") 759(defcalcmodevar calc-gnuplot-print-output "auto"
760 "The default output for GNUPLOT printing.")
754 761
755(defcalcmodevar calc-gnuplot-geometry nil) 762(defcalcmodevar calc-gnuplot-geometry nil
763 "The default geometry for the GNUPLOT window.")
756 764
757(defcalcmodevar calc-graph-default-resolution 15) 765(defcalcmodevar calc-graph-default-resolution 15
766 "The default number of data points when plotting curves.")
758 767
759(defcalcmodevar calc-graph-default-resolution-3d 5) 768(defcalcmodevar calc-graph-default-resolution-3d 5
769 "The default number of x- and y- data points when plotting surfaces.")
760 770
761(defcalcmodevar calc-invocation-macro nil) 771(defcalcmodevar calc-invocation-macro nil
772 "A user defined macro for starting Calc.
773Used by `calc-user-invocation'.")
762 774
763(defcalcmodevar calc-show-banner t 775(defcalcmodevar calc-show-banner t
764 "*If non-nil, show a friendly greeting above the stack.") 776 "*If non-nil, show a friendly greeting above the stack.")
@@ -892,13 +904,20 @@ If nil, selections displayed but ignored.")
892(put 'math-underflow 'error-message "Floating-point underflow occurred") 904(put 'math-underflow 'error-message "Floating-point underflow occurred")
893 905
894(defconst calc-version "2.1") 906(defconst calc-version "2.1")
895(defvar calc-trail-pointer nil) ; "Current" entry in trail buffer. 907(defvar calc-trail-pointer nil
896(defvar calc-trail-overlay nil) ; Value of overlay-arrow-string. 908 "The \"current\" entry in trail buffer.")
897(defvar calc-undo-list nil) ; List of previous operations for undo. 909(defvar calc-trail-overlay nil
898(defvar calc-redo-list nil) ; List of recent undo operations. 910 "The value of overlay-arrow-string.")
899(defvar calc-main-buffer nil) ; Pointer to Calculator buffer. 911(defvar calc-undo-list nil
900(defvar calc-trail-buffer nil) ; Pointer to Calc Trail buffer. 912 "The list of previous operations for undo.")
901(defvar calc-why nil) ; Explanations of most recent errors. 913(defvar calc-redo-list nil
914 "The list of recent undo operations.")
915(defvar calc-main-buffer nil
916 "A pointer to Calculator buffer.")
917(defvar calc-trail-buffer nil
918 "A pointer to Calc Trail buffer.")
919(defvar calc-why nil
920 "Explanations of most recent errors.")
902(defvar calc-next-why nil) 921(defvar calc-next-why nil)
903(defvar calc-inverse-flag nil 922(defvar calc-inverse-flag nil
904 "If non-nil, next operation is Inverse.") 923 "If non-nil, next operation is Inverse.")
@@ -929,28 +948,46 @@ If nil, selections displayed but ignored.")
929(defvar calc-lang-parens-are-subscripts nil 948(defvar calc-lang-parens-are-subscripts nil
930 "Languages in which subscripts are indicated by parentheses.") 949 "Languages in which subscripts are indicated by parentheses.")
931 950
932(defvar calc-last-kill nil) ; Last number killed in calc-mode. 951(defvar calc-last-kill nil
933(defvar calc-dollar-values nil) ; Values to be used for '$'. 952 "The last number killed in calc-mode.")
934(defvar calc-dollar-used nil) ; Highest order of '$' that occurred. 953(defvar calc-dollar-values nil
935(defvar calc-hashes-used nil) ; Highest order of '#' that occurred. 954 "Values to be used for '$'.")
936(defvar calc-quick-prev-results nil) ; Previous results from Quick Calc. 955(defvar calc-dollar-used nil
937(defvar calc-said-hello nil) ; Has welcome message been said yet? 956 "The highest order of '$' that occurred.")
938(defvar calc-executing-macro nil) ; Kbd macro executing from "K" key. 957(defvar calc-hashes-used nil
939(defvar calc-any-selections nil) ; Nil means no selections present. 958 "The highest order of '#' that occurred.")
940(defvar calc-help-phase 0) ; Count of consecutive "?" keystrokes. 959(defvar calc-quick-prev-results nil
941(defvar calc-full-help-flag nil) ; Executing calc-full-help? 960 "Previous results from Quick Calc.")
942(defvar calc-refresh-count 0) ; Count of calc-refresh calls. 961(defvar calc-said-hello nil
943(defvar calc-display-dirty nil) 962 "Non-nil if the welcomd message has been displayed.")
963(defvar calc-executing-macro nil
964 "Non-nil if a keyboard macro is executing from the \"K\" key.")
965(defvar calc-any-selections nil
966 "Non-nil if there are selections present.")
967(defvar calc-help-phase 0
968 "The number of consecutive \"?\" keystrokes.")
969(defvar calc-full-help-flag nil
970 "Non-nil if `calc-full-help' is being executed.")
971(defvar calc-refresh-count 0
972 "The number of `calc-refresh' calls.")
973(defvar calc-display-dirty nil
974 "Non-nil if the stack display might not reflect the latest mode settings.")
944(defvar calc-prepared-composition nil) 975(defvar calc-prepared-composition nil)
945(defvar calc-selection-cache-default-entry nil) 976(defvar calc-selection-cache-default-entry nil)
946(defvar calc-embedded-info nil) 977(defvar calc-embedded-info nil
947(defvar calc-embedded-active nil) 978 "If non-nil, a vector consisting of information for embedded mode.")
948(defvar calc-standalone-flag nil) 979(defvar calc-embedded-active nil
949(defvar var-EvalRules nil) 980 "Alist of buffers with sorted lists of calc-embedded-infos.")
981(defvar calc-standalone-flag nil
982 "Non-nil if Emacs started with standalone Calc.")
983(defvar var-EvalRules nil
984 "User defined rules that Calc will apply automatically.")
950(defvar math-eval-rules-cache-tag t) 985(defvar math-eval-rules-cache-tag t)
951(defvar math-radix-explicit-format t) 986(defvar math-radix-explicit-format t)
952(defvar math-expr-function-mapping nil) 987(defvar math-expr-function-mapping nil
953(defvar math-expr-variable-mapping nil) 988 "Alist of language specific functions with Calc functions.")
989(defvar math-expr-variable-mapping nil
990 "Alist of language specific variables with Calc variables.")
954(defvar math-read-expr-quotes nil) 991(defvar math-read-expr-quotes nil)
955(defvar math-working-step nil) 992(defvar math-working-step nil)
956(defvar math-working-step-2 nil) 993(defvar math-working-step-2 nil)
@@ -964,68 +1001,74 @@ If nil, selections displayed but ignored.")
964(mapc (lambda (v) (or (boundp v) (set v nil))) 1001(mapc (lambda (v) (or (boundp v) (set v nil)))
965 calc-local-var-list) 1002 calc-local-var-list)
966 1003
967(defvar calc-mode-map 1004(defvar calc-mode-map nil
968 (let ((map (make-keymap))) 1005 "The key map for Calc.")
969 (suppress-keymap map t) 1006
970 (define-key map "+" 'calc-plus) 1007(or calc-mode-map
971 (define-key map "-" 'calc-minus) 1008 (let ((map (make-keymap)))
972 (define-key map "*" 'calc-times) 1009 (suppress-keymap map t)
973 (define-key map "/" 'calc-divide) 1010 (define-key map "+" 'calc-plus)
974 (define-key map "%" 'calc-mod) 1011 (define-key map "-" 'calc-minus)
975 (define-key map "&" 'calc-inv) 1012 (define-key map "*" 'calc-times)
976 (define-key map "^" 'calc-power) 1013 (define-key map "/" 'calc-divide)
977 (define-key map "\M-%" 'calc-percent) 1014 (define-key map "%" 'calc-mod)
978 (define-key map "e" 'calcDigit-start) 1015 (define-key map "&" 'calc-inv)
979 (define-key map "i" 'calc-info) 1016 (define-key map "^" 'calc-power)
980 (define-key map "n" 'calc-change-sign) 1017 (define-key map "\M-%" 'calc-percent)
981 (define-key map "q" 'calc-quit) 1018 (define-key map "e" 'calcDigit-start)
982 (define-key map "Y" 'nil) 1019 (define-key map "i" 'calc-info)
983 (define-key map "Y?" 'calc-shift-Y-prefix-help) 1020 (define-key map "n" 'calc-change-sign)
984 (define-key map "?" 'calc-help) 1021 (define-key map "q" 'calc-quit)
985 (define-key map " " 'calc-enter) 1022 (define-key map "Y" 'nil)
986 (define-key map "'" 'calc-algebraic-entry) 1023 (define-key map "Y?" 'calc-shift-Y-prefix-help)
987 (define-key map "$" 'calc-auto-algebraic-entry) 1024 (define-key map "?" 'calc-help)
988 (define-key map "\"" 'calc-auto-algebraic-entry) 1025 (define-key map " " 'calc-enter)
989 (define-key map "\t" 'calc-roll-down) 1026 (define-key map "'" 'calc-algebraic-entry)
990 (define-key map "\M-\t" 'calc-roll-up) 1027 (define-key map "$" 'calc-auto-algebraic-entry)
991 (define-key map "\C-m" 'calc-enter) 1028 (define-key map "\"" 'calc-auto-algebraic-entry)
992 (define-key map "\M-\C-m" 'calc-last-args-stub) 1029 (define-key map "\t" 'calc-roll-down)
993 (define-key map "\C-j" 'calc-over) 1030 (define-key map "\M-\t" 'calc-roll-up)
994 1031 (define-key map "\C-m" 'calc-enter)
995 (mapc (lambda (x) (define-key map (char-to-string x) 'undefined)) 1032 (define-key map "\M-\C-m" 'calc-last-args-stub)
996 "lOW") 1033 (define-key map "\C-j" 'calc-over)
997 (mapc (lambda (x) (define-key map (char-to-string x) 'calc-missing-key)) 1034
998 (concat "ABCDEFGHIJKLMNPQRSTUVXZabcdfghjkmoprstuvwxyz" 1035 (mapc (lambda (x) (define-key map (char-to-string x) 'undefined))
999 ":\\|!()[]<>{},;=~`\C-k\M-k\C-w\M-w\C-y\C-_")) 1036 "lOW")
1000 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-start)) 1037 (mapc (lambda (x) (define-key map (char-to-string x) 'calc-missing-key))
1001 "_0123456789.#@") 1038 (concat "ABCDEFGHIJKLMNPQRSTUVXZabcdfghjkmoprstuvwxyz"
1002 map)) 1039 ":\\|!()[]<>{},;=~`\C-k\M-k\C-w\M-w\C-y\C-_"))
1003 1040 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-start))
1004(defvar calc-digit-map 1041 "_0123456789.#@")
1005 (let ((map (make-keymap))) 1042 (setq calc-mode-map map)))
1006 (if (featurep 'xemacs) 1043
1007 (map-keymap (function 1044(defvar calc-digit-map nil
1008 (lambda (keys bind) 1045 "The key map for entering Calc digits.")
1009 (define-key map keys 1046
1010 (if (eq bind 'undefined) 1047(or calc-digit-map
1011 'undefined 'calcDigit-nondigit)))) 1048 (let ((map (make-keymap)))
1012 calc-mode-map) 1049 (if (featurep 'xemacs)
1013 (let ((cmap (nth 1 calc-mode-map)) 1050 (map-keymap (function
1014 (dmap (nth 1 map)) 1051 (lambda (keys bind)
1015 (i 0)) 1052 (define-key map keys
1016 (while (< i 128) 1053 (if (eq bind 'undefined)
1017 (aset dmap i 1054 'undefined 'calcDigit-nondigit))))
1018 (if (eq (aref cmap i) 'undefined) 1055 calc-mode-map)
1019 'undefined 'calcDigit-nondigit)) 1056 (let ((cmap (nth 1 calc-mode-map))
1020 (setq i (1+ i))))) 1057 (dmap (nth 1 map))
1021 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-key)) 1058 (i 0))
1022 "_0123456789.e+-:n#@oh'\"mspM") 1059 (while (< i 128)
1023 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-letter)) 1060 (aset dmap i
1061 (if (eq (aref cmap i) 'undefined)
1062 'undefined 'calcDigit-nondigit))
1063 (setq i (1+ i)))))
1064 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-key))
1065 "_0123456789.e+-:n#@oh'\"mspM")
1066 (mapc (lambda (x) (define-key map (char-to-string x) 'calcDigit-letter))
1024 "abcdfgijklqrtuvwxyzABCDEFGHIJKLNOPQRSTUVWXYZ") 1067 "abcdfgijklqrtuvwxyzABCDEFGHIJKLNOPQRSTUVWXYZ")
1025 (define-key map "'" 'calcDigit-algebraic) 1068 (define-key map "'" 'calcDigit-algebraic)
1026 (define-key map "`" 'calcDigit-edit) 1069 (define-key map "`" 'calcDigit-edit)
1027 (define-key map "\C-g" 'abort-recursive-edit) 1070 (define-key map "\C-g" 'abort-recursive-edit)
1028 map)) 1071 (setq calc-digit-map map)))
1029 1072
1030(mapc (lambda (x) 1073(mapc (lambda (x)
1031 (condition-case err 1074 (condition-case err
@@ -1051,54 +1094,57 @@ If nil, selections displayed but ignored.")
1051 '("\C-d")) 1094 '("\C-d"))
1052 '("\177" "\C-d"))) 1095 '("\177" "\C-d")))
1053 1096
1054(defvar calc-dispatch-map 1097(defvar calc-dispatch-map nil
1055 (let ((map (make-keymap))) 1098 "The key map for starting Calc.")
1056 (mapc (lambda (x) 1099
1057 (define-key map (char-to-string (car x)) (cdr x)) 1100(or calc-dispatch-map
1058 (when (string-match "abcdefhijklnopqrstuwxyz" 1101 (let ((map (make-keymap)))
1059 (char-to-string (car x))) 1102 (mapc (lambda (x)
1060 (define-key map (char-to-string (- (car x) ?a -1)) (cdr x))) 1103 (define-key map (char-to-string (car x)) (cdr x))
1061 (define-key map (format "\e%c" (car x)) (cdr x))) 1104 (when (string-match "abcdefhijklnopqrstuwxyz"
1062 '( ( ?a . calc-embedded-activate ) 1105 (char-to-string (car x)))
1063 ( ?b . calc-big-or-small ) 1106 (define-key map (char-to-string (- (car x) ?a -1)) (cdr x)))
1064 ( ?c . calc ) 1107 (define-key map (format "\e%c" (car x)) (cdr x)))
1065 ( ?d . calc-embedded-duplicate ) 1108 '( ( ?a . calc-embedded-activate )
1066 ( ?e . calc-embedded ) 1109 ( ?b . calc-big-or-small )
1067 ( ?f . calc-embedded-new-formula ) 1110 ( ?c . calc )
1068 ( ?g . calc-grab-region ) 1111 ( ?d . calc-embedded-duplicate )
1069 ( ?h . calc-dispatch-help ) 1112 ( ?e . calc-embedded )
1070 ( ?i . calc-info ) 1113 ( ?f . calc-embedded-new-formula )
1071 ( ?j . calc-embedded-select ) 1114 ( ?g . calc-grab-region )
1072 ( ?k . calc-keypad ) 1115 ( ?h . calc-dispatch-help )
1073 ( ?l . calc-load-everything ) 1116 ( ?i . calc-info )
1074 ( ?m . read-kbd-macro ) 1117 ( ?j . calc-embedded-select )
1075 ( ?n . calc-embedded-next ) 1118 ( ?k . calc-keypad )
1076 ( ?o . calc-other-window ) 1119 ( ?l . calc-load-everything )
1077 ( ?p . calc-embedded-previous ) 1120 ( ?m . read-kbd-macro )
1078 ( ?q . quick-calc ) 1121 ( ?n . calc-embedded-next )
1079 ( ?r . calc-grab-rectangle ) 1122 ( ?o . calc-other-window )
1080 ( ?s . calc-info-summary ) 1123 ( ?p . calc-embedded-previous )
1081 ( ?t . calc-tutorial ) 1124 ( ?q . quick-calc )
1082 ( ?u . calc-embedded-update-formula ) 1125 ( ?r . calc-grab-rectangle )
1083 ( ?w . calc-embedded-word ) 1126 ( ?s . calc-info-summary )
1084 ( ?x . calc-quit ) 1127 ( ?t . calc-tutorial )
1085 ( ?y . calc-copy-to-buffer ) 1128 ( ?u . calc-embedded-update-formula )
1086 ( ?z . calc-user-invocation ) 1129 ( ?w . calc-embedded-word )
1087 ( ?\' . calc-embedded-new-formula ) 1130 ( ?x . calc-quit )
1088 ( ?\` . calc-embedded-edit ) 1131 ( ?y . calc-copy-to-buffer )
1089 ( ?: . calc-grab-sum-down ) 1132 ( ?z . calc-user-invocation )
1090 ( ?_ . calc-grab-sum-across ) 1133 ( ?\' . calc-embedded-new-formula )
1091 ( ?0 . calc-reset ) 1134 ( ?\` . calc-embedded-edit )
1092 ( ?? . calc-dispatch-help ) 1135 ( ?: . calc-grab-sum-down )
1093 ( ?# . calc-same-interface ) 1136 ( ?_ . calc-grab-sum-across )
1094 ( ?& . calc-same-interface ) 1137 ( ?0 . calc-reset )
1095 ( ?\\ . calc-same-interface ) 1138 ( ?? . calc-dispatch-help )
1096 ( ?= . calc-same-interface ) 1139 ( ?# . calc-same-interface )
1097 ( ?* . calc-same-interface ) 1140 ( ?& . calc-same-interface )
1098 ( ?/ . calc-same-interface ) 1141 ( ?\\ . calc-same-interface )
1099 ( ?+ . calc-same-interface ) 1142 ( ?= . calc-same-interface )
1100 ( ?- . calc-same-interface ) )) 1143 ( ?* . calc-same-interface )
1101 map)) 1144 ( ?/ . calc-same-interface )
1145 ( ?+ . calc-same-interface )
1146 ( ?- . calc-same-interface ) ))
1147 (setq calc-dispatch-map map)))
1102 1148
1103;;;; (Autoloads here) 1149;;;; (Autoloads here)
1104(mapc 1150(mapc
@@ -1161,6 +1207,7 @@ If nil, selections displayed but ignored.")
1161 1207
1162(defvar calc-dispatch-help nil) 1208(defvar calc-dispatch-help nil)
1163(defun calc-do-dispatch (arg) 1209(defun calc-do-dispatch (arg)
1210 "Start the Calculator."
1164 (let ((key (calc-read-key-sequence 1211 (let ((key (calc-read-key-sequence
1165 (if calc-dispatch-help 1212 (if calc-dispatch-help
1166 "Calc options: Calc, Keypad, Quick, Embed; eXit; Info, Tutorial; Grab; ?=more" 1213 "Calc options: Calc, Keypad, Quick, Embed; eXit; Info, Tutorial; Grab; ?=more"
@@ -1176,6 +1223,7 @@ If nil, selections displayed but ignored.")
1176 (beep)))) 1223 (beep))))
1177 1224
1178(defun calc-read-key-sequence (prompt map) 1225(defun calc-read-key-sequence (prompt map)
1226 "Read keys, with prompt PROMPT and keymap MAP."
1179 (let ((prompt2 (format "%s " (key-description (this-command-keys)))) 1227 (let ((prompt2 (format "%s " (key-description (this-command-keys))))
1180 (glob (current-global-map)) 1228 (glob (current-global-map))
1181 (loc (current-local-map))) 1229 (loc (current-local-map)))
@@ -1313,6 +1361,7 @@ commands given here will actually operate on the *Calculator* stack."
1313 (run-mode-hooks 'calc-trail-mode-hook)) 1361 (run-mode-hooks 'calc-trail-mode-hook))
1314 1362
1315(defun calc-create-buffer () 1363(defun calc-create-buffer ()
1364 "Create and initialize a buffer for the Calculator."
1316 (set-buffer (get-buffer-create "*Calculator*")) 1365 (set-buffer (get-buffer-create "*Calculator*"))
1317 (or (eq major-mode 'calc-mode) 1366 (or (eq major-mode 'calc-mode)
1318 (calc-mode)) 1367 (calc-mode))
@@ -1396,6 +1445,7 @@ commands given here will actually operate on the *Calculator* stack."
1396 (calc arg calc-full-mode t))))) 1445 (calc arg calc-full-mode t)))))
1397 1446
1398(defun calc-quit (&optional non-fatal interactive) 1447(defun calc-quit (&optional non-fatal interactive)
1448 "Quit the Calculator in an appropriate manner."
1399 (interactive "i\np") 1449 (interactive "i\np")
1400 (and calc-standalone-flag (not non-fatal) 1450 (and calc-standalone-flag (not non-fatal)
1401 (save-buffers-kill-emacs nil)) 1451 (save-buffers-kill-emacs nil))