(calc-set-mode-line): Don't display "AlgSimp ".
calc/calc-mode.el (calc-alg-simplify-mode): Remove function.
(calc-lim-simplify-mode): New function.
(calc-set-simplify-mode): Default to 'alg.
(calc-default-simplify-mode): Make algebraic simplifications the default.
calc/calc-ext.el (calc-init-extensions): Remove binding for
`calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'.
calc/README: Mention new default simplification mode.
2012-07-29 Jay Belanger <jay.p.belanger@gmail.com>
+ * calc/calc.el (calc-simplify-mode): Make 'alg the default value.
+ (calc-set-mode-line): Don't display "AlgSimp ".
+
+ * calc/calc-mode.el (calc-alg-simplify-mode): Remove function.
+ (calc-lim-simplify-mode): New function.
+ (calc-set-simplify-mode): Default to 'alg.
+ (calc-default-simplify-mode): Make algebraic simplifications
+ the default.
+
+ * calc/calc-ext.el (calc-init-extensions): Remove binding for
+ `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'.
+
+ * calc/README: Mention new default simplification mode.
+
* calc/calc.el (math-normalize-error): New variable.
(math-normalize): Set `math-normalize-error' to t
when there's an error.
Summary of changes to "Calc"
------- -- ------- -- ----
+Emacs 24.2
+
+Algebraic simplification mode is now the default.
+To restrict to the limited simplifications given by the former
+default simplification mode, use `m L'.
+
Emacs 24.1
* Support for musical notes added.
(define-key calc-mode-map "mv" 'calc-matrix-mode)
(define-key calc-mode-map "mw" 'calc-working)
(define-key calc-mode-map "mx" 'calc-always-load-extensions)
- (define-key calc-mode-map "mA" 'calc-alg-simplify-mode)
(define-key calc-mode-map "mB" 'calc-bin-simplify-mode)
(define-key calc-mode-map "mC" 'calc-auto-recompute)
(define-key calc-mode-map "mD" 'calc-default-simplify-mode)
(define-key calc-mode-map "mE" 'calc-ext-simplify-mode)
(define-key calc-mode-map "mF" 'calc-settings-file-name)
+ (define-key calc-mode-map "mL" 'calc-lim-simplify-mode)
(define-key calc-mode-map "mM" 'calc-more-recursion-depth)
(define-key calc-mode-map "mN" 'calc-num-simplify-mode)
(define-key calc-mode-map "mO" 'calc-no-simplify-mode)
calc-sin calc-sincos calc-sinh calc-sqrt
calc-tan calc-tanh calc-to-degrees calc-to-radians)
- ("calc-mode" calc-alg-simplify-mode calc-algebraic-mode
+ ("calc-mode" calc-lim-simplify-mode calc-algebraic-mode
calc-always-load-extensions calc-auto-recompute calc-auto-why
calc-bin-simplify-mode calc-break-vectors calc-center-justify
calc-default-simplify-mode calc-display-raw calc-eng-notation
mode)))
(message "%s" (if (eq calc-simplify-mode mode)
msg
- "Default simplifications enabled")))
+ "Default algebraic simplifications enabled")))
(defun calc-no-simplify-mode (arg)
(interactive "P")
"Default simplifications apply only if arguments are numeric")))
(defun calc-default-simplify-mode (arg)
- (interactive "p")
- (cond ((= arg 1)
+ (interactive "P")
+ (cond ((or (not arg) (= arg 3))
+ (calc-wrapper
+ (calc-set-simplify-mode
+ 'alg nil "Default algebraic simplifications enabled")))
+ ((= arg 1)
(calc-wrapper
(calc-set-simplify-mode
- nil nil "Usual default simplifications are enabled")))
+ nil nil "Limited simplifications occur by default")))
((= arg 0) (calc-num-simplify-mode 1))
((< arg 0) (calc-no-simplify-mode 1))
((= arg 2) (calc-bin-simplify-mode 1))
- ((= arg 3) (calc-alg-simplify-mode 1))
((= arg 4) (calc-ext-simplify-mode 1))
((= arg 5) (calc-units-simplify-mode 1))
(t (error "Prefix argument out of range"))))
(format "Binary simplification occurs by default (word size=%d)"
calc-word-size))))
-(defun calc-alg-simplify-mode (arg)
+(defun calc-lim-simplify-mode (arg)
(interactive "P")
(calc-wrapper
- (calc-set-simplify-mode 'alg arg
- "Algebraic simplification occurs by default")))
+ (calc-set-simplify-mode nil arg
+ "Limited simplifications occur by default")))
(defun calc-ext-simplify-mode (arg)
(interactive "P")
(defcalcmodevar calc-previous-modulo nil
"Most recently used value of M in a modulo form.")
-(defcalcmodevar calc-simplify-mode nil
+(defcalcmodevar calc-simplify-mode 'alg
"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.
+If nil, only limited simplifications are applied.
If `binary', `math-clip' is applied if appropriate.
If `alg', `math-simplify' is applied.
If `ext', `math-simplify-extended' is applied.
((eq calc-simplify-mode 'num) "NumSimp ")
((eq calc-simplify-mode 'binary)
(format "BinSimp%d " calc-word-size))
- ((eq calc-simplify-mode 'alg) "AlgSimp ")
+ ((eq calc-simplify-mode 'alg) "")
((eq calc-simplify-mode 'ext) "ExtSimp ")
((eq calc-simplify-mode 'units) "UnitSimp ")
- (t ""))
+ (t "LimSimp "))
;; Display modes
(cond ((= calc-number-radix 10) "")