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