]> code.delx.au - gnu-emacs/blob - lisp/calc/README.prev
Convert consecutive FSF copyright years to ranges.
[gnu-emacs] / lisp / calc / README.prev
1 Copyright (C) 2001-2011
2 Free Software Foundation, Inc.
3 See the end of the file for license conditions.
4
5
6 Summary of changes to "Calc" Preceding 2.00
7 ------- -- ------- -- ---- --------- ----
8
9
10 Version 2.00:
11
12 * Changed to compile calc-macs/-maint, to allow "cp *.elc new-dir".
13
14 * Improved calc-describe-bindings to avoid showing redundant ESC maps.
15
16 \f
17 Version 2.00 beta 3:
18
19 * Removed version numbers from most .el files to reduce size of patches.
20
21 * Added a "calc-version" command.
22
23 * Changed `M-# ? ?' to allow for modified describe-function.
24
25 * Changed date parser to accept "Sept" as an alternative for "Sep".
26
27 * Inhibited answers to exercise from showing up in table of contents.
28
29 * Changed Makefile to say "texindex calc.[cfkptv]?" to avoid "calc.el".
30
31 * Fixed up the Makefile in various other ways.
32
33 * Rearranged banner at top of `h h' command's output.
34
35 * Changed "make summary" to print "Calc Summary" on the title page.
36
37 * Added "IntegSimpRules".
38
39 * Added `M-# :', `M-# _', and `M-# Z' options.
40
41 * Changed `^' to evaluate "[-3..-1]^-2" properly.
42
43 * Improved `f g' to give symbolic answers for, e.g., 101:2 and -3:2.
44
45 * Fixed a bug where `h k RET' didn't find the right place on the page.
46
47 * Fixed a bug that formatted "x*(y ? a : b)" as "x y ? a : b".
48
49 * Fixed a bug where defmath translated (< x 0) as (math-posp x)!
50
51 * Fixed a bug that prevented quick-calc from working sometimes.
52
53 * Fixed the `z ?' bug again (maybe this time for good?).
54
55 * Fixed a bug in which `V ^' (vint) was just plain wrong, wrong, wrong!
56
57 * Scanned for and fixed remaining bugs relating to autoloading.
58
59 \f
60 Version 2.00 beta 2:
61
62 * Changed "make info" to try "make texinfo" if "makeinfo" not found.
63
64 * Changed to "New for Calc 2.00"; texinfo.tex chokes on apostrophes.
65
66 * Added List Tutorial Exercise 14 (just in case there weren't enough!).
67
68 * Added a discussion of the `Z F' command to the Programming Tutorial.
69
70 * Improved `H a f' not to lose info if input is partially pre-factored.
71
72 * Improved simplification of expressions like sqrt(3) + 3^3:2.
73
74 * Changed Big mode to omit "*" in expressions like 2 sqrt(3) 5^3:4.
75
76 * Replaced European date format D/M/Y with D.M.Y.
77
78 * Changed `a N' and `a X' to consider the endpoints of the interval.
79
80 * Fixed a bug where TeX mode made c*(1+a/b) look like a function call.
81
82 * Fixed a bug formatting top-level evalto's while using selections.
83
84 * Fixed a bug that caused `z ?' to crash.
85
86 * Fixed a bug where `Z F' broke for argument names "t" and "nil".
87
88 * Fixed several bugs relating to autoloading.
89
90 \f
91 Version 2.00 beta 1:
92
93 * Added "What's new in Calc 2.00" to the manual (summary of info below).
94
95 * Added support for many GNUPLOT 3.0 features.
96
97 * Tweaked the Makefile and calc-compile a bit more.
98
99 * Modified to work with Zawinski's/Furuseth's optimizing byte compiler.
100
101 * Modified Calc to garbage-collect less often (raised gc-cons-threshold).
102
103 * Changed quick-calc to avoid autoloading so many parts of Calc.
104
105 * Changed Calc subfiles to work properly if not byte-compiled.
106
107 * Renamed `M-# s' to `M-# j', made `M-# s' be equivalent to `h s'.
108
109 * Changed calc-quit to avoid reapportioning space among other windows.
110
111 * Added `M-DEL' (calc-pop-above) key, to DEL as LFD is to RET.
112
113 * Added `{' and `}' to scroll vertically, analogous to `<' and `>'.
114
115 * Added `m t' for "total" algebraic mode.
116
117 * Added `d , \' option to group digits with "\,".
118
119 * Improved support of "prime" accent in "eqn" language mode.
120
121 * Changed macedit's read-kbd-macro to accept a string argument in Lisp.
122
123 * Changed calc-check-defines to use a more concise run-hooks linkage.
124
125 * Changed auto-why mode not to say [w=more] if next msg is not urgent.
126
127 * Made `a d' able to differentiate "a?b:c" and "a_i" formulas.
128
129 * Changed probability dist. functions to work with `a f' and `a d'.
130
131 * Added special constants "phi" and "gamma".
132
133 * Added "poly" function, simpler cousin of "gpoly".
134
135 * Added "pdeg", "plead", "pcont", "pprim"; cleaned up "pdiv" and "pgcd".
136
137 * Added `a p' command for polynomial interpolation.
138
139 * Added `a I' command for numerical integration; made IntegLimit variable.
140
141 * Added `a f' to factor polynomials; moved old `a f' to `a "'.
142
143 * Added `a a' to do partial fraction decompositions.
144
145 * Improved `a i' to integrate many more kinds of formulas.
146
147 * Modified `a P' to find numerical roots of high-degree polynomials.
148
149 * Modified `c 0' through `c 9' to convert int-valued floats to integers.
150
151 * Made sinh, arctanh, etc., expandable into exps/logs by `a f'.
152
153 * Added more algebraic simplifications having to do with logs and exps.
154
155 * Changed `s s', `s t', `s x', `s l' to accept an equation at prompt.
156
157 * Changed `s i' not to store Decls if its value is the default, [].
158
159 * Changed `s i' to store in `d O' language mode if in Normal or Big mode.
160
161 * Rearranged `V M'/`V R' matrix mapping modes.
162
163 * Added <#1+#2> notation for lambda expressions.
164
165 * Extended `b l' and other binary shifts to have a 2-argument version.
166
167 * Changed `u c' and `u t' to give unitless result for unitless input.
168
169 * Changed sqrt(1-cos(x)^2)-to-sin(x) to be an unsafe simplification.
170
171 * Improved simplification of sqrts, e.g., sqrt(a^2 x + a^2 y).
172
173 * Changed solver to treat (x-a)(x-b)(x-c) more intelligently.
174
175 * Changed Pascal language mode to use "$FFFF" for hexadecimal numbers.
176
177 * Added support for non-decimal display of floats.
178
179 * Changed `p' to refresh stack display if current float format uses it.
180
181 * Changed Big mode to use subscript notation for log10(x), log(x,b), r#nnn.
182
183 * Changed Big mode to format deriv(u,x) and tderiv(u,x) as du/dx.
184
185 * Changed Big mode to format integ(1/x,x) as "dx/x" instead of "1/x dx".
186
187 * Added "tty" output type for graphics commands.
188
189 * Documented Calc's random number generation algorithm in the manual.
190
191 * Fixed a bug involving having "(setq calc-timing t)" in .emacs.
192
193 * Fixed a bug that incorrectly parsed "|x| - 1" in TeX mode.
194
195 * Fixed bugs and made improvements in `a R' when widening the guess.
196
197 * Fixed a bug that where `a S' didn't solve (x - a)^2 = (x - b)^2.
198
199 * Fixed a bug that sometimes crashed `a P' on systems of equations.
200
201 * Fixed a bug that prevented `b p' (calc-pack-bits) from working.
202
203 * Fixed some bugs in which certain functions didn't get autoloaded.
204
205 * Fixed a bug in which the date <1/1/13> was incorrectly parsed.
206
207 * Fixed a bug which prevented `j D' from expanding (a+b)/c.
208
209 * Fixed a bug in solver: bad inverses for sinh and cosh.
210
211 * Fixed a bug in math-possible-signs that failed for x*0.
212
213 * Fixed a bug where sqrt(-a) was rewritten sqrt(a)*i even if a<0.
214
215 * Fixed a bug in line breaker when first "word" of line was too long.
216
217 * Worked around a makeinfo bug that handled @end group/@group badly.
218
219 \f
220 Version 2.00 alpha 3:
221
222 * Changed logic for locating component .elc files to be even smarter.
223
224 * Changed "make install" to "make compile"; added different "make install".
225
226 * Improved "make compile" to check file dates and compile only when needed.
227
228 * Made output of "make compile" in batch mode more compact and readable.
229
230 * Replaced "Quick Overview" in manual with "Demonstration of Calc".
231
232 * Changed to use keymaps for dispatching M-# and h prefix keys.
233
234 * Added TAGS target to the Calc Makefile.
235
236 * Removed most doc strings from functions; new help commands are better.
237
238 * Got rid of some crufty "fset" calls that were cluttering the code.
239
240 * Split calc-grab-region into two functions, calc-grab-region/-rectangle.
241
242 * Swapped positions of stack and trail in full-calc-keypad display.
243
244 * Improved line-breaking algorithm for displaying long formulas.
245
246 * Improved display of control characters in vectors shown as strings.
247
248 * Changed `d o' to allow fraction format to specify desired denominator.
249
250 * Changed `M-# y' to respect overwrite mode in target buffer.
251
252 * Added `H' prefix to display-mode commands to suppress stack refresh.
253
254 * Changed "calc-why" mechanism to display urgent messages automatically.
255
256 * Handled taking derivatives of symbolic integrals and vice-versa.
257
258 * Handled integrating vectors of formulas.
259
260 * Incorporated Ewerlid's polynomial division and GCD functions into Calc.
261
262 * Improved algebraic operations on "mod" forms, esp. polynomials.
263
264 * Added some more financial functions (sln, syd, ddb).
265
266 * Added nest, anest, fixp, and afixp (`H V R' and `H V U') functions.
267
268 * Added `a .' (calc-remove-equal) command to take apart equations.
269
270 * Generalized dfact to work for negative odd integers; added !! syntax.
271
272 * Changed `k f' to factor 1, 0, and negative integers.
273
274 * Changed `u M', etc., to accept +/- and [ .. ] forms as distributions.
275
276 * Changed `g q' to remove *Gnuplot Commands/Trail* window if present.
277
278 * Added support for Francois Pinard's "dumb terminal" driver for GNUPLOT.
279
280 * Added ":: remember" feature for rewrite rules.
281
282 * Changed rewrites to let pattern "a*b" match "x/2" with a=x, b=1/2.
283
284 * Added ability to put function names like "simplify" in rewrite schedule.
285
286 * Added "Rewrites Tutorial" to the manual.
287
288 * Changed ` to bind RET as newline instead of finish if editing a vector.
289
290 * Added some new exercises to the List Tutorial.
291
292 * Changed `Z F', `V M', etc. not to remove stored vars from def arg list.
293
294 * Added parsing for /1, 2, 3/ notation for Fortran mode vectors.
295
296 * Added a "%%" syntax for comments in formulas being read.
297
298 * Fixed a bug in which failing `h k' removed an existing Info window.
299
300 * Fixed a bug in `j /' operating on subformulas like "a + b".
301
302 * Fixed a bug in which "inf = inf" undesirably evaluated to 1.
303
304 * Fixed a bug that simplified "0 = 1 + a + 2" to "0 = a".
305
306 * Fixed a bug that failed for rewrite patterns like "fib(1 ||| 2)".
307
308 * Fixed a bug that arose because rewrite programs are non-reentrant.
309
310 \f
311 Version 2.00 alpha 2:
312
313 * Changed LFD terminating algebraic entry to push in no-simplify mode.
314
315 * Changed so that `K -' interprets `-' as calc-minus, not neg prefix arg.
316
317 * Improved `h c' command to understand all Calc key sequences.
318
319 * Fixed problems with DistribRules, NegateRules, and FitRules.
320
321 * Fixed several bad node pointers in the manual.
322
323 * Fixed a bug in `h C-w' when used with makeinfo-formatted manuals.
324
325 * Fixed a bug in sqrt(-1) when Polar and HMS modes are enabled.
326
327 * Fixed/improved dscalar and deven functions; added dodd.
328
329 * Fixed a bug in polynomial handling that also affected sum(sin(k),k,1,n).
330
331 * Fixed various other glitches in the manual.
332
333 \f
334 Version 2.00 alpha 1:
335
336 * Calc's tar file now creates a calc-(version) directory to unpack into.
337
338 * Calc now comes with a Makefile; install with "make install".
339
340 * Calc now comes already split into many files; installation is much simpler.
341
342 * Changed base file name of the manual from "calc-info" to "calc.info".
343
344 * Key binding for `M-# w' was documented but not implemented.
345
346 * Bound M-# ' to be synonymous with `M-# f' (used to be `M-# q').
347
348 * Changed M-# M-# to use last interface of C or K; E no longer counts.
349
350 * Changed `i' (and `M-# i') not to return to Top node unnecessarily.
351
352 * Changed `h' to be a prefix key with various help commands.
353
354 * Changed `s' to be a prefix key with various store and recall commands.
355
356 * Keys `i', `r', and `l' are obsolete (moved to `h' and `s' prefixes).
357
358 * Rearranged `K', `X', and `M-RET' keys; `K' is now calc-keep-args.
359
360 * Changed quick-calc to display input formula as well as output if room.
361
362 * Changed quick-calc to interact with the editing buffer and kill ring.
363
364 * Created pack, unpack, unpackt function equivalents of `v p', `v u'.
365
366 * Changed to expand (a/b)^x to a^x/b^x only if b > 0 (not if a > 0).
367
368 * Changed math-possible-signs to understand sqrt function.
369
370 * Changed Z [, rewrites to consider any provably non-zero value as true.
371
372 * Changed normal language modes to accept ** as a synonym for ^.
373
374 * Added "maple" language mode.
375
376 * Changed, e.g., Mathematica "(2 + 3 I)^(1.23*10^20)" to include parens.
377
378 * Generalized math-compose-big properties for all language modes.
379
380 * Introduced "string" and other function for composing expressions.
381
382 * Changed many recursive vector routines to use loops instead.
383
384 * Added evalv, evalvn function equivalents to `=', `N'.
385
386 * Changed "expr =>" not to evaluate at all if in no-simplify mode.
387
388 * Redesigned user interface of `a F' (calc-curve-fit) command.
389
390 * Added "phase" feature to the rewrite rule system.
391
392 * Added "&&&", "|||", "!!!" to the rewrite rule system.
393
394 * Introduced a new notation for rewrites: LHS := RHS :: COND.
395
396 * Changed `a r' (but not `j r') to repeat 100 times by default.
397
398 * Integrated EvalRules more cleanly into the default simplifications.
399
400 * Added `H v l' [mdims] to measure the dimensions of a matrix.
401
402 * Changed `u c' to interpret "/units" as "1/units".
403
404 * Added `u a' to adjust unit prefix letters automatically.
405
406 * Changed `u s' to enable scalar mode while simplifying.
407
408 * Changed `c f' [pfloat] not to float integer powers or subscripts.
409
410 * Added a three-argument form for the "hms" function.
411
412 * Changed, e.g., sin(90) degrees to produce 1 instead of 1.0.
413
414 * Changed symbolic mode to prefer sqrt(int): abs([1 2 3]) => sqrt(14).
415
416 * Enhanced solver to handle, e.g., x + 1/x = a; exp(x) + exp(-x) = a.
417
418 * Enhanced simplifier to handle, e.g., exp(a+2) / e^a => e^2.
419
420 * Enhanced `a s' to simplify sqrt(x) - x^1:2 and exp(x) - e^x to 0.
421
422 * Added -(a + b) to -a - b as a default simplification.
423
424 * Added rules for differentiating sum() and prod() functions.
425
426 * Added a few more energy units (due to Przemek Klosowski).
427
428 * Added overflow/underflow checking for all floating-point arithmetic.
429
430 * Extended error forms to work with complex numbers.
431
432 * Generalized GCD to handle fractional arguments.
433
434 * Changed graphics routines to evaluate "x" values, e.g., [-pi .. pi].
435
436 * Added `g q', like `g K' but without viewing the Gnuplot Trail.
437
438 * Changed `g p' and `V M' to display better "Working..." messages.
439
440 * Modified `M-# g' to be more robust about grabbing formulas.
441
442 * Added `Y' prefix key reserved for user-written extensions.
443
444 * Added calc-load-hook and calc-ext-load-hook.
445
446 * Prevented calc-install from leaving large ~ files behind.
447
448 * Changed @bullet to @bullet{} in manual to conform to texinfo spec.
449
450 * Rearranged some chapters in the manual to be a bit more logical.
451
452 * Added calc-split-summary command.
453
454 * Fixed several bugs in embedded mode.
455
456 * Fixed a bug in calc-vector-covariance that required a prefix arg.
457
458 * Fixed a bug that prevented parsing "a=>" with no right-hand side.
459
460 * Fixed a bug which allowed incorrectly dividing a vector by a vector.
461
462 * Fixed a bug formatting sum(...)^2 in Big mode.
463
464 * Fixed a bug that prevented Calc from deleting old graphics temp files.
465
466 * Fixed some typos calling calc-inverse-func instead of calc-invert-func.
467
468 * Fixed bugs in the derivatives of conj, deg, and rad; added re, im.
469
470 * Fixed a bug where (r;theta) parsed as r exp(theta i) even in Deg mode.
471
472 * Fixed a bug which gave wrong answer for exp of a polar complex number.
473
474 * Fixed a bug in `Z F' that failed if formula used non-arg variables.
475
476 * Fixed a bad pointer to Info node "Assignments in Embedded Mode".
477
478 * Fixed several errors in the Calc Summary.
479
480 \f
481 Version 1.08 beta 1:
482
483 * Calc's copyright has been assigned to FSF, for inclusion in Emacs 19!
484
485 * Changed M-# to be a two-key sequence; use M-# M-# to start Calc now.
486
487 * Rewrote and expanded the introductory chapter of the manual.
488
489 * Added a key and function summary to the manual.
490
491 * Changed the manual to take better advantage of TeX's math formatting.
492
493 * Changed manual to be printable in @smallbook format.
494
495 * Added "calc-embedded" mode.
496
497 * Added "=>" [evalto] operator.
498
499 * Added facilities for date and date/time arithmetic.
500
501 * Added a set of financial functions (pv, fv, etc.).
502
503 * Added infinite quantities inf, uinf, and nan (plus infinite intervals).
504
505 * Added "EvalRules", "SimpRules", and "ExtSimpRules" variables.
506
507 * Added sum and product commands `a +', `a -', `a *', `a T'.
508
509 * Enhanced `a S' and `a P' to solve systems of equations.
510
511 * Enhanced solver to handle eqns like sin(x) = cos(2 x), sqrt(x) + x = 1.
512
513 * Added `a M' (calc-map-equation) command.
514
515 * Added new statistical functions: mean, standard deviation, etc.
516
517 * Added line, polynomial, and curve fitting commands (`a L' and `a F').
518
519 * Added support for composite units, e.g., "mi+ft+in".
520
521 * Enhanced "Big" mode to format square roots, choose, and powers better.
522
523 * Enhanced "Big" mode to display fractions in large notation.
524
525 * Added several alternate formats for matrix display.
526
527 * Changed TeX mode to write "(1 + x^2)" instead of "\left(1 + x^2\right)".
528
529 * Added support for relational operators in TeX and FORTRAN modes.
530
531 * Added recognition of accents like \dot, \tilde, \underline in TeX mode.
532
533 * Added "eqn" language mode.
534
535 * Added extra control over display justification with `d <', `d =', `d >'.
536
537 * Added calc-left-label and calc-right-label (`d {', `d }').
538
539 * Added "nn%" syntax for algebraic formulas; equivalent to "nn * .01".
540
541 * Added input syntaxes like a = b = c, a != b != c, a <= b < c.
542
543 * Changed "_" to mean subscripts; old use of "_" in vars is now "#".
544
545 * Introduced "matrix mode" and "scalar mode" (`m v').
546
547 * Introduced generic identity matrices (idn(1)).
548
549 * Added a method for declaring variables to be real, integer, > 0, etc.
550
551 * Added `Z S' command for editing stored value of a variable.
552
553 * Added "subst" algebraic function equivalent to the `a b' command.
554
555 * Added `a f' command, changed deriv/integ/solve-for to use it.
556
557 * Improved `a s' to simplify (x + y) (y + x) to (x + y)^2.
558
559 * Improved `a s' to simplify i^2 to -1.
560
561 * Improved `a s' to simplify, e.g., sin(pi/3) in Symbolic mode.
562
563 * Improved `a s' to simplify sqrt(8) to 2 sqrt(2), 1/sqrt(2) to sqrt(2)/2.
564
565 * Moved sin(arccos(x)) from `a e' to `a s'; not unsafe after all!
566
567 * Changed (x y)^z => x^z y^z to be a usually-unsafe simplification.
568
569 * Added thorough documentation of `a s' and `a e' to the manual.
570
571 * Improved `a c' to collect "f(a)" even if "a" also appears elsewhere.
572
573 * Introduced lin, linnt, islin, islinnt functions for linearity testing.
574
575 * Improved `a x' to use binomial theorem to give simpler answers.
576
577 * Improved `j D' to distribute powers of sums: (a + b)^n.
578
579 * Improved `j M' to merge products of powers (may need no-simplify mode).
580
581 * Changed to use defvar for DistribRules etc. so `Z V' works with them.
582
583 * Improved `j *' and `j /' to work properly in a few more cases.
584
585 * Improved `V R' to use identity value when reducing empty vectors.
586
587 * Improved `v p' and `v u' to support more complex packing operations.
588
589 * Disabled automatic simplification of sqrt(2)/2 to 1/sqrt(2).
590
591 * Bound SPC and RET to press, TAB to next-menu in *Calc Keypad* buffer.
592
593 * Added C-u ' to do algebraic entry with language mode forced to normal.
594
595 * Added "$1", "$2", etc. input notation for algebraic entry.
596
597 * Changed unary operators like `n', `&' to treat neg prefix args like RET.
598
599 * Changed ` (calc-edit) to show full precision regardless of float format.
600
601 * Enhanced quick-calc to display integers in several formats.
602
603 * Documented `g H' (calc-graph-hide) command (had been left from manual).
604
605 * Enhanced floor/ceil/trunc/round in several ways.
606
607 * Added rounde and roundu functions.
608
609 * Changed `c 1' through `c 9' to change small floats to 0.0; added `c 0'.
610
611 * Enhanced set operations to work on sets of intervals.
612
613 * Fixed erf(0), utpn(x,x,y), and arccosh(-1) to work properly.
614
615 * Changed complex arctan and arctanh to follow Steele 2nd edition.
616
617 * Expanded "Branch Cuts" section of the manual with some useful tables.
618
619 * Rearranged order of words in mode line to be a bit more logical.
620
621 * Changed `m N' (num-simplify) mode to evaluate constant vectors, too.
622
623 * Changed `a r'/`j r' to prompt twice for separate LHS/RHS if necessary.
624
625 * Enhanced `let(v,x)' in rewrites by allowing arbitrary patterns for v.
626
627 * Changed cursor positioning in second prompt for `a b' (calc-substitute).
628
629 * Changed `y' to omit line numbers more consistently.
630
631 * Changed `o' (calc-realign) to reset horizontal scrolling to zero, also.
632
633 * Added "pred" mode for calc-eval.
634
635 * Added "calc-report-bug" as an alias for "report-calc-bug".
636
637 * Added `Z T' and "calc-pass-errors" to aid debugging Calc-related code.
638
639 * Added "calc-load-everything" (`m X' or `M-# L') command.
640
641 * Enhanced calc-install to pre-build units table, CommuteRules, etc.
642
643 * Changed Calc to interact more gracefully with load-path.
644
645 * Changed Lisp Variable Index in manual to include user variables, too.
646
647 * Fixed a bug that prevented calc-install from working under VMS.
648
649 * Fixed a bug that sometimes crashed rewrites dealing with subtractions.
650
651 * Fixed a bug that prevented `a S' from solving "3 - x = 1 + x"!
652
653 * Fixed a bug in solver that crashed for certain cubics and quartics.
654
655 * Fixed a bug in calc-simplify that crashed for equations and ineqs.
656
657 * Fixed a bug which placed the "[" oddly in `d B' + `v /' mode.
658
659 * Fixed a bug where finishing calc-edit improperly obeyed language mode.
660
661 * Fixed a bug formatting (-1)^n in Big mode after selection commands.
662
663 * Fixed a bug that got ">=" and "<=" backwards in rewrite conditions.
664
665 * Fixed a bug that broke the `"x"' key in calc-keypad mode.
666
667 * Fixed a bug in which `MAP$' in calc-keypad didn't display "Working...".
668
669 * Fixed a bug where matrix division gave bad result for singular matrix.
670
671 * Fixed a bug which closed Calc window if calc-grab-region got an error.
672
673 * Fixed a bug where `a s' failed on formulas containing dimension errors.
674
675 * Fixed a bug that caused `m F' to hang.
676
677 * Fixed a bug in complex arithmetic that caused problems with solver.
678
679 * Fixed a bug which raised intervals to interval powers incorrectly.
680
681 * Fixed a bug in utpp/ltpp (order of arguments did not match the manual).
682
683 * Fixed a bug in which `t y' rounded yanked data with old precision.
684
685 * Fixed a bug in which "in(3, [3 .. 3))" returned true.
686
687 * Fixed a bug which simplified abs(abs(x)) incorrectly.
688
689 * Fixed a bug in which (a^2)^1:3 was unsafely simplified to a^2:3.
690
691 * Fixed a bug in rewrite system which missed pattern "2 sin(x) cos(x)".
692
693 * Fixed a bug in rewrite system which missed pattern "a - a cos(x)^2".
694
695 * Fixed obsolete trail tags gsmp, gneg, ginv to jsmp, jneg, jinv.
696
697 * Fixed some errors and made improvements in units table [Ulrich Mueller].
698
699 \f
700 Version 1.07:
701
702 * Added `m F' (calc-settings-file-name) command.
703
704 * Added calc-autoload-directory variable.
705
706 * Extended Z ` to accept a prefix argument.
707
708 * Added keystrokes (v h, v k) for head, tail, cons.
709
710 * Extended `v e' to accept a vector as the filler.
711
712 * Changed `V M', `V R' to accept mapping-mode keys in uppercase, too.
713
714 * Changed V M ' etc. to accept $, $$, ... as argument indicators.
715
716 * Changed `t y' to accept a prefix argument.
717
718 * Put in a cleaner and safer random number generator for `k r' et al.
719
720 * Fixed a bug which completely broke `a r' command!
721
722 * Fixed "0 * matrix" to generate a zero matrix instead of 0.
723
724 * Fixed a bug in `a R' which sometimes caused it to crash.
725
726 * Fixed a fatal typo in the TeX version of the manual.
727
728 * Fixed a bug that prevented C-k, C-w, M-w from working in Trail buffer.
729
730 * Fixed another bug in `Z P' command.
731
732 * Fixed a bug in `u s' which incorrectly simplified subtractions.
733
734 * Fixed an argument-name aliasing bug evaluating lambda( ) formulas.
735
736 * Fixed overfull hboxes in the manual.
737
738 * Fixed various other bugs in the manual.
739
740 \f
741 Version 1.06:
742
743 * Added "calc-keypad" mode for X window system users (try it!).
744
745 * Improved "calc-eval" for calling/operating Calc from user-written Lisp.
746
747 * Moved vector accumulate command to `V U' (old `H V R' still supported).
748
749 * Added right-to-left reductions: `I V R' and `I V U'.
750
751 * Added set operations on vectors: intersect, union, diff, xor.
752
753 * Added `I v s' to remove a subvector from a vector.
754
755 * Introduced `H |' to append two vectors with no magical special cases.
756
757 * Introduced rhead, rtail, and rcons for isolating last vector element.
758
759 * Changed `g p' to keep temp files around until data actually change.
760
761 * Improved `a S' to solve many higher-order polynomial equations.
762
763 * Added `a P' to produce a vector of all solutions to an equation.
764
765 * Enhanced `a v' and `j v' to allow top-level-only evaluation.
766
767 * Changed `j DEL' to delete a side of an eqn or ineq, leaving other side.
768
769 * Fixed binding for keys `j 1' through `j 9'.
770
771 * Introduced "let" marker in rewrite rules.
772
773 * Enhanced the "sign" function to provide a two-argument version.
774
775 * Changed "max-specpdl-size exceeded" error message to be user-friendly.
776
777 * Put "<Aborted>" in the trail in above case and when user presses C-g.
778
779 * Changed TeX mode to generate \ldots instead of \dots, recognize both.
780
781 * Changed "sin(0)" etc. (for integer 0) to generate "0" instead of "0.".
782
783 * Enhanced Programming Tutorial exercise 2.
784
785 * Fixed an error in the answer to Types Tutorial exercise 3.
786
787 * Fixed several bugs relating to head, tail, and cons functions.
788
789 * Fixed some other minor typos in the manual.
790
791 * Fixed several bugs in `Z P' (calc-user-define-permanent).
792
793 * Fixed several bugs that broke the `g P' command.
794
795 \f
796 Version 1.05:
797
798 * Created a calc-install command to ease installation.
799
800 * Added lots of exercises to the Tutorial section of the manual.
801
802 * Added ability to select and operate on sub-formulas.
803
804 * Substantially improved the algebraic rewrite-rule system.
805
806 * Added a set of graphing commands that use GNUPLOT.
807
808 * Added a command (`a R') for finding numerical roots to equations.
809
810 * Added several new math functions, such as erf and Bessel functions.
811
812 * Added key bindings for miscellaneous commands using the "f" prefix key.
813
814 * Added lots of new vector operations, many of them in the spirit of APL.
815
816 * Added more control over vector display, including an abbreviated mode.
817
818 * Improved keyboard macro editing; added read-kbd-macro to macedit.el.
819
820 * Introduced the `m S' (calc-shift-prefix) command.
821
822 * Enhanced the calc-edit command in several ways.
823
824 * Made it possible to hit ` (calc-edit) during numeric/algebraic entry.
825
826 * Enhanced the calc-solve-for command to handle inequalities.
827
828 * Enhanced calc-simplify to handle equations and inequalities.
829
830 * Taught log10 and log to look for exact integer or rational results.
831
832 * Added ability to take Nth roots directly.
833
834 * Added "increment" and "decrement" commands for integers and floats.
835
836 * Added "full-help" command, changed "h" key to invoke it.
837
838 * Added special help for Inverse and Hyperbolic prefixes.
839
840 * Added an optional prefix argument to `o' (calc-realign).
841
842 * Changed `t s' and `t r' to use RET as the search exit key.
843
844 * Made handling of operator keys for V M, V R, etc. more regular.
845
846 * Improved TeX mode; added support for \matrix format.
847
848 * Added a variant of `m a' mode that only affects ( and [ keys.
849
850 * Fixed "Mismatch" message for algebraic entry of semi-open intervals.
851
852 * Trimmed fat from calc.el to speed loading, moved more to calc-ext.el.
853
854 * Fixed a bug in which minibuffer entry rounded to out-of-date precision.
855
856 * Fixed a bug which crashed Calc 1.04 under Epoch.
857
858 * Fixed a bug which messed up Calc Trail's mode line, among other things.
859
860 * Fixed a bug which caused trail ">" to show only when in Trail buffer.
861
862 * Fixed a bug in which "calc" called "calc-grab-region" with too few args.
863
864 * Fixed bugs in both implementation and documentation of calc-perm.
865
866 * Fixed a bug in which calc-simplify-extended always used radians.
867
868 * Fixed a bug where calc-comma failed to override "polar" mode.
869
870 * Fixed a bug doing mixed arithmetic on rectangular+polar complex numbers.
871
872 * Fixed several bugs in transcendental functions with complex arguments.
873
874 * Fixed a bug in which `a s' simplified "x / .5" to ".5 x".
875
876 * Fixed numerous other bugs in various parts of Calc.
877
878 * Completed the "Hooks" section of the "Internals" chapter of the manual.
879
880 \f
881 Version 1.04:
882
883 * Included a copy of revision history (from README) in calc.el.
884
885 * Added the "calc-split" feature to split calc-ext.el into smaller bits.
886
887 * Changed calc-unpack to unpack floats and fractions, too.
888
889 * Added "mant", "xpon", and "scf" functions for decomposing floats.
890
891 * Fixed a bug in the "y" command with positive prefix arguments.
892
893 * Rearranged binary shift/rotate command keys to be a bit more convenient.
894
895 * Fixed a bug in which simplifying "(0/0) * 2" crashed with a Lisp error.
896
897 * Made `H F' [ffloor] and friends faster for very large arguments.
898
899 * Made calc-define-del more robust.
900
901 * Handled pasting of data into the Calculator using the mouse under X.
902
903 * Made overlay-arrow variables buffer-local to avoid interference.
904
905 * Fixed a problem in which Calc Trail buffer got stuck after a C-x C-w.
906
907 \f
908 Version 1.03:
909
910 * Changed math-choose to compute n-choose-m faster when m is large.
911
912 * Fixed some problems with TeX mode.
913
914 * Fixed a bug that prevented `b s' from working without a prefix argument.
915
916 * Added "calc-eval" function.
917
918 * Improved calc-grab-region.
919
920 \f
921 Version 1.02:
922
923 * Fixed a bug in Tutorial: telephone pole height/distance were switched!
924
925 * Fixed a few other things in the manual.
926
927 * Added "full-calc" command.
928
929 * Added "calc-insert-variables" (`Z I') command.
930
931 * Quick Calc now works even if you are already in the minibuffer.
932
933 * Fixed a bug in math-mul-bignum-digit which affected math-and, etc.
934
935 * Definition of "Hectares" was wrong in units table.
936
937 * Fixed a bug in calc-execute-kbd-macro concerning undo and refresh.
938
939 * Bound "calc-undo" to `C-x u' as well as `C-_' and `U'.
940 \f
941 Version 1.01:
942
943 * Added a tutorial section to the manual.
944
945 * Next and Prev for node Strings in the manual were reversed; fixed.
946
947 * Changed "'bignum" in calc-isqrt-bignum-iter to "'bigpos".
948
949 * Fixed a bug that prevented "$" from working during algebraic entry.
950
951 * Fixed a bug caused by an X (last-X) command following a K (macro) cmd.
952
953 * Fixed a bug in which K command incorrectly formatted stack in Big mode.
954
955 * Added space between unary operators and non-flat compositions.
956 (Otherwise, "-(a/b)" in Big mode blended the minus sign into the rule!)
957
958 * Fixed formatting of (-1)^n in Big mode.
959
960 * Fixed some problems relating to "not" operator in Pascal language mode.
961
962 * Fixed several bugs relating to V M ' and V M $ sequences.
963
964 * Fixed matrix-vector multiplication to produce a vector.
965
966 * Introduced Z ` ... Z ' commands; renamed old Z ' to Z #.
967
968 * Fixed various other bugs.
969
970 * Added calc-settings-file variable suggested by C. Witty.
971
972 \f
973 Version 1.00:
974
975 * First official release of Calc.
976
977 * If you used the Beta test version (0.01), you will find that this
978 version of Calc is over 50% larger than the original release.
979 General areas of improvement include much better algebra features;
980 operations on units; language modes; simplification modes; interval
981 arithmetic; vector mapping and reduction. Other new commands include
982 calc-fraction and calc-grab-region. The program has been split into
983 two parts for faster loading, and the manual is more complete.
984
985 \f
986 This file is part of GNU Emacs.
987
988 GNU Emacs is free software: you can redistribute it and/or modify
989 it under the terms of the GNU General Public License as published by
990 the Free Software Foundation, either version 3 of the License, or
991 (at your option) any later version.
992
993 GNU Emacs is distributed in the hope that it will be useful,
994 but WITHOUT ANY WARRANTY; without even the implied warranty of
995 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
996 GNU General Public License for more details.
997
998 You should have received a copy of the GNU General Public License
999 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.