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