aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2012-08-08 21:51:58 -0500
committerJay Belanger2012-08-08 21:51:58 -0500
commit0fc50303657161480bb34b09ad4cad99bb5fdd57 (patch)
treef408a6ad2ce446d23dfd06eb1239e14d67c7079b
parent5d65606a7e7360077b9946c5e9a3359d5318d4b3 (diff)
downloademacs-0fc50303657161480bb34b09ad4cad99bb5fdd57.tar.gz
emacs-0fc50303657161480bb34b09ad4cad99bb5fdd57.zip
calc-menu.el (calc-modes-menu): Add entries for matrix modes
and simplification modes.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/calc/calc-menu.el96
2 files changed, 101 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5edb41db100..5ccb2b66734 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12012-08-09 Jay Belanger <jay.p.belanger@gmail.com>
2
3 * calc/calc-menu.el (calc-modes-menu): Add entries for matrix
4 modes and simplification modes.
5
12012-08-09 Stefan Monnier <monnier@iro.umontreal.ca> 62012-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * delsel.el (delete-selection-pre-hook): Don't propagate the 8 * delsel.el (delete-selection-pre-hook): Don't propagate the
diff --git a/lisp/calc/calc-menu.el b/lisp/calc/calc-menu.el
index e67d169b683..5d5463aac82 100644
--- a/lisp/calc/calc-menu.el
+++ b/lisp/calc/calc-menu.el
@@ -1201,6 +1201,63 @@
1201 :keys "v ." 1201 :keys "v ."
1202 :style toggle 1202 :style toggle
1203 :selected (not calc-full-vectors)] 1203 :selected (not calc-full-vectors)]
1204 (list "Simplification"
1205 ["No simplification mode"
1206 (progn
1207 (require 'calc-mode)
1208 (calc-no-simplify-mode t))
1209 :keys "m O"
1210 :style radio
1211 :selected (eq calc-simplify-mode 'none)
1212 :help "No simplifications are done automatically"]
1213 ["Numeric simplification mode"
1214 (progn
1215 (require 'calc-mode)
1216 (calc-num-simplify-mode t))
1217 :keys "m N"
1218 :style radio
1219 :selected (eq calc-simplify-mode 'num)
1220 :help "Only numeric simplifications are done automatically"]
1221 ["Basic simplification mode"
1222 (progn
1223 (require 'calc-mode)
1224 (calc-basic-simplify-mode t))
1225 :keys "m I"
1226 :style radio
1227 :selected (eq calc-simplify-mode nil)
1228 :help "Only basic simplifications are done automatically"]
1229 ["Binary simplification mode"
1230 (progn
1231 (require 'calc-mode)
1232 (calc-bin-simplify-mode t))
1233 :keys "m B"
1234 :style radio
1235 :selected (eq calc-simplify-mode 'binary)
1236 :help "Basic simplifications with binary clipping are done automatically"]
1237 ["Algebraic simplification mode"
1238 (progn
1239 (require 'calc-mode)
1240 (calc-alg-simplify-mode t))
1241 :keys "m A"
1242 :style radio
1243 :selected (eq calc-simplify-mode 'alg)
1244 :help "Standard algebraic simplifications are done automatically"]
1245 ["Extended simplification mode"
1246 (progn
1247 (require 'calc-mode)
1248 (calc-ext-simplify-mode t))
1249 :keys "m E"
1250 :style radio
1251 :selected (eq calc-simplify-mode 'ext)
1252 :help "Extended (unsafe) simplifications are done automatically"]
1253 ["Units simplification mode"
1254 (progn
1255 (require 'calc-mode)
1256 (calc-units-simplify-mode t))
1257 :keys "m U"
1258 :style radio
1259 :selected (eq calc-simplify-mode 'units)
1260 :help "Algebraic and unit simplifications are done automatically"])
1204 (list "Angle Measure" 1261 (list "Angle Measure"
1205 ["Radians" 1262 ["Radians"
1206 (progn 1263 (progn
@@ -1412,6 +1469,45 @@
1412 :style radio 1469 :style radio
1413 :selected (eq calc-algebraic-mode 'total) 1470 :selected (eq calc-algebraic-mode 'total)
1414 :help "All regular letters and punctuation begin algebraic entry"]) 1471 :help "All regular letters and punctuation begin algebraic entry"])
1472 (list "Matrix"
1473 ["Off"
1474 (progn
1475 (require 'calc-mode)
1476 (calc-matrix-mode -1))
1477 :style radio
1478 :selected (eq calc-matrix-mode nil)
1479 :help "Variables are not assumed to be matrix or scalar"]
1480 ["Matrix mode"
1481 (progn
1482 (require 'calc-mode)
1483 (calc-matrix-mode -2))
1484 :style radio
1485 :selected (eq calc-matrix-mode 'matrix)
1486 :help "Variables are assumed to be matrices"]
1487 ["Square matrix mode"
1488 (progn
1489 (require 'calc-mode)
1490 (calc-matrix-mode '(4)))
1491 :style radio
1492 :selected (eq calc-matrix-mode 'sqmatrix)
1493 :help "Variables are assumed to be square matrices"]
1494 ["Dimensioned matrix mode"
1495 (let ((dim (string-to-number (read-from-minibuffer "Dimension: "))))
1496 (if (natnump dim)
1497 (progn
1498 (require 'calc-mode)
1499 (calc-matrix-mode dim))
1500 (error "The dimension must be a positive integer")))
1501 :style radio
1502 :selected (and (integerp calc-matrix-mode) (> calc-matrix-mode 0))
1503 :help "Variables are assumed to be NxN matrices"]
1504 ["Scalar"
1505 (progn
1506 (require 'calc-mode)
1507 (calc-matrix-mode 0))
1508 :style radio
1509 :selected (eq calc-matrix-mode 'scalar)
1510 :help "Variables are assumed to be scalars"])
1415 (list "Language" 1511 (list "Language"
1416 ["Normal" 1512 ["Normal"
1417 (progn 1513 (progn