CALC-NEWS 35.9 KB
Newer Older
Paul Eggert's avatar
Paul Eggert committed
1
Copyright (C) 2001-2018 Free Software Foundation, Inc.
2
See the end of the file for license conditions.
Eli Zaretskii's avatar
Eli Zaretskii committed
3

4
Calc is an advanced desk calculator for GNU Emacs.
Eli Zaretskii's avatar
Eli Zaretskii committed
5

6
Originally written by:
7 8 9 10 11
	Dave Gillespie
	c/o Synaptics, Inc.
	2698 Orchard Parkway
	San Jose CA 95134
	daveg@synaptics.com, uunet!synaptx!daveg
Eli Zaretskii's avatar
Eli Zaretskii committed
12

13 14 15 16 17 18 19 20
Currently maintained by:
     Jay Belanger <jay.p.belanger@gmail.com>

I am anxious to hear about your experiences using Calc.  Send mail to
"jay.p.belanger@gmail.com".  A bug report is most useful if you include the
exact input and output that occurred, any modes in effect (such as the
current precision), and so on.  If you find Calc is difficult to operate
in any way, or if you have other suggestions, don't hesitate to let me
21 22
know.  If you find errors (including simple typos) in the manual, let me
know.  Even if you find no bugs at all I would love to hear your opinions.
23 24 25 26 27 28 29


Summary of changes to "Calc"
------- -- ------- --  ----

For changes in Emacs 23.1 and later, see the main Emacs NEWS file.

30
* Version 2.1:
31

32
** New matrix mode for square matrices.  Improved handling of
33 34
  non-commutative products.

35
** New functions: powerexpand and ldiv.
36

37
** Added new functions: sec, csc, cot, sech, csch, coth.
38

39
** 0^0 now evaluates to 1.
40

41
** Added a new language mode for LaTeX.
42

43
** Calc now tries to use an appropriate language mode in embedded mode.
44

45
** Calc now restores original modes when leaving embedded mode.
46

47
** User settable variables which are not set with keystrokes are now
48 49
  customizable.

50
** Made ~/.calc.el the default Calc settings file.
51

52
** Miscellaneous updates and bugfixes.
53 54


55
* Version 2.02f:
56

57
** Fixed a bug which broke `I', `H', `K' prefix keys in recent Emacs.
58

59
** Fixed a bug in calc.texinfo which prevented "make tex2" from working.
60

61
** Updated `C-y' (calc-yank) to understand Emacs 19 generalized kill ring.
62

63
** Added a copy of "calccard.tex", the Calc quick reference card.
64 65


66
* Version 2.02e:
67

68
** Fixed an installation bug caused by recent changes to `write-region'.
69 70


71
* Version 2.02d:
72

73
** Fixed a minor installation problem with an Emacs 19.29 byte-compiler bug.
74

75
** Removed archaic "macedit" package (superseded by "edmacro").
76 77


78
* Version 2.02c:
79

80
** Patch to port Calc to Lucid Emacs 19; still works with GNU 18 and GNU 19.
81

82
** Fixed a bug that broke `C-x C-c' after Calc graphics had been used.
83 84


85
* Version 2.02b:
86

87
** Minor patch to port Calc to GNU Emacs 19.  Will be superseded by Calc 3.00.
88 89


90
* Version 2.02:
91

92
** Revamped the manual a bit; rearranged some sections.
93

94
** Added marginal notes for Key/Function Index refs in printed manual.
95

96
** Changed `M-# r' to deal more gracefully with blank lines.
97

98
** Made reductions like `V R +' and `M-# :' considerably faster.
99

100
** Improved parsing and display of cases like "[a + b]".
101

102
** Added `t +' and `t -' for doing business date arithmetic.
103

104
** Added "syntax tables," the opposite of compositions.
105

106
** Added another Rewrites Tutorial exercise.
107

108
** Added the "vmatches" function.
109

110
** Added the `Modes' variable and `m g' command.
111

112
** Improved `u s' to cancel, e.g., "11 mph hr / yd" to get a number.
113

114
** Added "quick units" commands "u 0" through "u 9".
115

116
** Moved `M-%' to calc.el to avoid autoloading problems.
117

118
** Added `M-=' during algebraic entry, acts like `RET ='.
119

120
** Made `LFD' prevent evaluation when finishing a calc-edit command.
121

122
** Changed calc-store commands to use `t .' mode for trail display.
123

124
** Improved integrator to understand forms involving "erf".
125

126
** Fixed parser to make sense of "[1....1e2]" input.
127

128
** Fixed FORTRAN parser to treat a(i,j) as a_i_j if a is declared matrix.
129

130
** Got rid of some version number stamps to reduce size of patches.
131

132
** Fixed a bug in defmath treating "<=" and ">=" predicates.
133

134
** Fixed a bug in which Calc crashed multiplying two date forms.
135

136
** Fixed a bug in line breaker that crashed for large, nested formulas.
137

138
** Fixed a bug using ` to edit string("foo").
139

140
** Fixed a bug where `M-# y' in Big mode copied stack level number.
141

142
** Fixed a bug where `g O' used wrong default directory, no completion.
143

144
** Fixed a bug where "foo_bar(i)" parsed in C mode but showed as foo#bar.
145

146
** Fixed several bugs where large calculations got "computation too long."
147 148


149
* Version 2.01:
150

151
** Added percentage commands `M-%', `b %', and `c %'.
152

153
** Changed Big mode to force radix-10 in superscripts.
154

155
** Improved display of fractions in various language modes.
156

157
** Changed `a n' to work properly with equations and inequalities.
158

159
** The problem with cross references to Index nodes in TeX has been fixed.
160

161
** Fixed a bug where recursive esc-maps make calc-ext/-aent unloadable.
162

163
** Fixed a bug in `M-# k', then `OFF' right away, with fresh Emacs.
164

165
** Fixed a bug in which "S_i_j" was formatted wrong after `j s'.
166

167
** Fixed a bug in which `h k u c' positioned cursor on wrong line.
168

169
** Fixed a bug where `z ?' crashed if `z %' was defined.
170

171
** Fixed a bug in `j O' (calc-select-once-maybe).
172

173
** Fixed "make private" not to ask "Delete excess versions" and crash.
174 175


176
* Version 2.00:
Eli Zaretskii's avatar
Eli Zaretskii committed
177

178
** First complete posting of Calc since 1.01.
179

180
** Most parts of Calc have seen changes since version 1.07.  See
181 182
   section "New for Calc 2.00" in the manual for a summary.

183
** Changed to compile calc-macs/-maint, to allow "cp *.elc new-dir".
Eli Zaretskii's avatar
Eli Zaretskii committed
184

185
** Improved calc-describe-bindings to avoid showing redundant ESC maps.
Eli Zaretskii's avatar
Eli Zaretskii committed
186 187


188
* Version 2.00 beta 3:
Eli Zaretskii's avatar
Eli Zaretskii committed
189

190
** Removed version numbers from most .el files to reduce size of patches.
Eli Zaretskii's avatar
Eli Zaretskii committed
191

192
** Added a "calc-version" command.
Eli Zaretskii's avatar
Eli Zaretskii committed
193

194
** Changed `M-# ? ?' to allow for modified describe-function.
Eli Zaretskii's avatar
Eli Zaretskii committed
195

196
** Changed date parser to accept "Sept" as an alternative for "Sep".
Eli Zaretskii's avatar
Eli Zaretskii committed
197

198
** Inhibited answers to exercise from showing up in table of contents.
Eli Zaretskii's avatar
Eli Zaretskii committed
199

200
** Changed Makefile to say "texindex calc.[cfkptv]?" to avoid "calc.el".
Eli Zaretskii's avatar
Eli Zaretskii committed
201

202
** Fixed up the Makefile in various other ways.
Eli Zaretskii's avatar
Eli Zaretskii committed
203

204
** Rearranged banner at top of `h h' command's output.
Eli Zaretskii's avatar
Eli Zaretskii committed
205

206
** Changed "make summary" to print "Calc Summary" on the title page.
Eli Zaretskii's avatar
Eli Zaretskii committed
207

208
** Added "IntegSimpRules".
Eli Zaretskii's avatar
Eli Zaretskii committed
209

210
** Added `M-# :', `M-# _', and `M-# Z' options.
Eli Zaretskii's avatar
Eli Zaretskii committed
211

212
** Changed `^' to evaluate "[-3..-1]^-2" properly.
Eli Zaretskii's avatar
Eli Zaretskii committed
213

214
** Improved `f g' to give symbolic answers for, e.g., 101:2 and -3:2.
Eli Zaretskii's avatar
Eli Zaretskii committed
215

216
** Fixed a bug where `h k RET' didn't find the right place on the page.
Eli Zaretskii's avatar
Eli Zaretskii committed
217

218
** Fixed a bug that formatted "x*(y ? a : b)" as "x y ? a : b".
Eli Zaretskii's avatar
Eli Zaretskii committed
219

220
** Fixed a bug where defmath translated (< x 0) as (math-posp x)!
Eli Zaretskii's avatar
Eli Zaretskii committed
221

222
** Fixed a bug that prevented quick-calc from working sometimes.
Eli Zaretskii's avatar
Eli Zaretskii committed
223

224
** Fixed the `z ?' bug again (maybe this time for good?).
Eli Zaretskii's avatar
Eli Zaretskii committed
225

226
** Fixed a bug in which `V ^' (vint) was just plain wrong, wrong, wrong!
Eli Zaretskii's avatar
Eli Zaretskii committed
227

228
** Scanned for and fixed remaining bugs relating to autoloading.
Eli Zaretskii's avatar
Eli Zaretskii committed
229 230


231
* Version 2.00 beta 2:
Eli Zaretskii's avatar
Eli Zaretskii committed
232

233
** Changed "make info" to try "make texinfo" if "makeinfo" not found.
Eli Zaretskii's avatar
Eli Zaretskii committed
234

235
** Changed to "New for Calc 2.00"; texinfo.tex chokes on apostrophes.
Eli Zaretskii's avatar
Eli Zaretskii committed
236

237
** Added List Tutorial Exercise 14 (just in case there weren't enough!).
Eli Zaretskii's avatar
Eli Zaretskii committed
238

239
** Added a discussion of the `Z F' command to the Programming Tutorial.
Eli Zaretskii's avatar
Eli Zaretskii committed
240

241
** Improved `H a f' not to lose info if input is partially pre-factored.
Eli Zaretskii's avatar
Eli Zaretskii committed
242

243
** Improved simplification of expressions like sqrt(3) + 3^3:2.
Eli Zaretskii's avatar
Eli Zaretskii committed
244

245
** Changed Big mode to omit "*" in expressions like 2 sqrt(3) 5^3:4.
Eli Zaretskii's avatar
Eli Zaretskii committed
246

247
** Replaced European date format D/M/Y with D.M.Y.
Eli Zaretskii's avatar
Eli Zaretskii committed
248

249
** Changed `a N' and `a X' to consider the endpoints of the interval.
Eli Zaretskii's avatar
Eli Zaretskii committed
250

251
** Fixed a bug where TeX mode made c*(1+a/b) look like a function call.
Eli Zaretskii's avatar
Eli Zaretskii committed
252

253
** Fixed a bug formatting top-level evalto's while using selections.
Eli Zaretskii's avatar
Eli Zaretskii committed
254

255
** Fixed a bug that caused `z ?' to crash.
Eli Zaretskii's avatar
Eli Zaretskii committed
256

257
** Fixed a bug where `Z F' broke for argument names "t" and "nil".
Eli Zaretskii's avatar
Eli Zaretskii committed
258

259
** Fixed several bugs relating to autoloading.
Eli Zaretskii's avatar
Eli Zaretskii committed
260 261


262
* Version 2.00 beta 1:
Eli Zaretskii's avatar
Eli Zaretskii committed
263

264
** Added "What's new in Calc 2.00" to the manual (summary of info below).
Eli Zaretskii's avatar
Eli Zaretskii committed
265

266
** Added support for many GNUPLOT 3.0 features.
Eli Zaretskii's avatar
Eli Zaretskii committed
267

268
** Tweaked the Makefile and calc-compile a bit more.
Eli Zaretskii's avatar
Eli Zaretskii committed
269

270
** Modified to work with Zawinski's/Furuseth's optimizing byte compiler.
Eli Zaretskii's avatar
Eli Zaretskii committed
271

272
** Modified Calc to garbage-collect less often (raised gc-cons-threshold).
Eli Zaretskii's avatar
Eli Zaretskii committed
273

274
** Changed quick-calc to avoid autoloading so many parts of Calc.
Eli Zaretskii's avatar
Eli Zaretskii committed
275

276
** Changed Calc subfiles to work properly if not byte-compiled.
Eli Zaretskii's avatar
Eli Zaretskii committed
277

278
** Renamed `M-# s' to `M-# j', made `M-# s' be equivalent to `h s'.
Eli Zaretskii's avatar
Eli Zaretskii committed
279

280
** Changed calc-quit to avoid reapportioning space among other windows.
Eli Zaretskii's avatar
Eli Zaretskii committed
281

282
** Added `M-DEL' (calc-pop-above) key, to DEL as LFD is to RET.
Eli Zaretskii's avatar
Eli Zaretskii committed
283

284
** Added `{' and `}' to scroll vertically, analogous to `<' and `>'.
Eli Zaretskii's avatar
Eli Zaretskii committed
285

286
** Added `m t' for "total" algebraic mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
287

288
** Added `d , \' option to group digits with "\,".
Eli Zaretskii's avatar
Eli Zaretskii committed
289

290
** Improved support of "prime" accent in "eqn" language mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
291

292
** Changed macedit's read-kbd-macro to accept a string argument in Lisp.
Eli Zaretskii's avatar
Eli Zaretskii committed
293

294
** Changed calc-check-defines to use a more concise run-hooks linkage.
Eli Zaretskii's avatar
Eli Zaretskii committed
295

296
** Changed auto-why mode not to say [w=more] if next msg is not urgent.
Eli Zaretskii's avatar
Eli Zaretskii committed
297

298
** Made `a d' able to differentiate "a?b:c" and "a_i" formulas.
Eli Zaretskii's avatar
Eli Zaretskii committed
299

300
** Changed probability dist. functions to work with `a f' and `a d'.
Eli Zaretskii's avatar
Eli Zaretskii committed
301

302
** Added special constants "phi" and "gamma".
Eli Zaretskii's avatar
Eli Zaretskii committed
303

304
** Added "poly" function, simpler cousin of "gpoly".
Eli Zaretskii's avatar
Eli Zaretskii committed
305

306
** Added "pdeg", "plead", "pcont", "pprim"; cleaned up "pdiv" and "pgcd".
Eli Zaretskii's avatar
Eli Zaretskii committed
307

308
** Added `a p' command for polynomial interpolation.
Eli Zaretskii's avatar
Eli Zaretskii committed
309

310
** Added `a I' command for numerical integration; made IntegLimit variable.
Eli Zaretskii's avatar
Eli Zaretskii committed
311

312
** Added `a f' to factor polynomials; moved old `a f' to `a "'.
Eli Zaretskii's avatar
Eli Zaretskii committed
313

314
** Added `a a' to do partial fraction decompositions.
Eli Zaretskii's avatar
Eli Zaretskii committed
315

316
** Improved `a i' to integrate many more kinds of formulas.
Eli Zaretskii's avatar
Eli Zaretskii committed
317

318
** Modified `a P' to find numerical roots of high-degree polynomials.
Eli Zaretskii's avatar
Eli Zaretskii committed
319

320
** Modified `c 0' through `c 9' to convert int-valued floats to integers.
Eli Zaretskii's avatar
Eli Zaretskii committed
321

322
** Made sinh, arctanh, etc., expandable into exps/logs by `a f'.
Eli Zaretskii's avatar
Eli Zaretskii committed
323

324
** Added more algebraic simplifications having to do with logs and exps.
Eli Zaretskii's avatar
Eli Zaretskii committed
325

326
** Changed `s s', `s t', `s x', `s l' to accept an equation at prompt.
Eli Zaretskii's avatar
Eli Zaretskii committed
327

328
** Changed `s i' not to store Decls if its value is the default, [].
Eli Zaretskii's avatar
Eli Zaretskii committed
329

330
** Changed `s i' to store in `d O' language mode if in Normal or Big mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
331

332
** Rearranged `V M'/`V R' matrix mapping modes.
Eli Zaretskii's avatar
Eli Zaretskii committed
333

334
** Added <#1+#2> notation for lambda expressions.
Eli Zaretskii's avatar
Eli Zaretskii committed
335

336
** Extended `b l' and other binary shifts to have a 2-argument version.
Eli Zaretskii's avatar
Eli Zaretskii committed
337

338
** Changed `u c' and `u t' to give unitless result for unitless input.
Eli Zaretskii's avatar
Eli Zaretskii committed
339

340
** Changed sqrt(1-cos(x)^2)-to-sin(x) to be an unsafe simplification.
Eli Zaretskii's avatar
Eli Zaretskii committed
341

342
** Improved simplification of sqrts, e.g., sqrt(a^2 x + a^2 y).
Eli Zaretskii's avatar
Eli Zaretskii committed
343

344
** Changed solver to treat (x-a)(x-b)(x-c) more intelligently.
Eli Zaretskii's avatar
Eli Zaretskii committed
345

346
** Changed Pascal language mode to use "$FFFF" for hexadecimal numbers.
Eli Zaretskii's avatar
Eli Zaretskii committed
347

348
** Added support for non-decimal display of floats.
Eli Zaretskii's avatar
Eli Zaretskii committed
349

350
** Changed `p' to refresh stack display if current float format uses it.
Eli Zaretskii's avatar
Eli Zaretskii committed
351

352
** Changed Big mode to use subscript notation for log10(x), log(x,b), r#nnn.
Eli Zaretskii's avatar
Eli Zaretskii committed
353

354
** Changed Big mode to format deriv(u,x) and tderiv(u,x) as du/dx.
Eli Zaretskii's avatar
Eli Zaretskii committed
355

356
** Changed Big mode to format integ(1/x,x) as "dx/x" instead of "1/x dx".
Eli Zaretskii's avatar
Eli Zaretskii committed
357

358
** Added "tty" output type for graphics commands.
Eli Zaretskii's avatar
Eli Zaretskii committed
359

360
** Documented Calc's random number generation algorithm in the manual.
Eli Zaretskii's avatar
Eli Zaretskii committed
361

362
** Fixed a bug involving having "(setq calc-timing t)" in .emacs.
Eli Zaretskii's avatar
Eli Zaretskii committed
363

364
** Fixed a bug that incorrectly parsed "|x| - 1" in TeX mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
365

366
** Fixed bugs and made improvements in `a R' when widening the guess.
Eli Zaretskii's avatar
Eli Zaretskii committed
367

368
** Fixed a bug that where `a S' didn't solve (x - a)^2 = (x - b)^2.
Eli Zaretskii's avatar
Eli Zaretskii committed
369

370
** Fixed a bug that sometimes crashed `a P' on systems of equations.
Eli Zaretskii's avatar
Eli Zaretskii committed
371

372
** Fixed a bug that prevented `b p' (calc-pack-bits) from working.
Eli Zaretskii's avatar
Eli Zaretskii committed
373

374
** Fixed some bugs in which certain functions didn't get autoloaded.
Eli Zaretskii's avatar
Eli Zaretskii committed
375

376
** Fixed a bug in which the date <1/1/13> was incorrectly parsed.
Eli Zaretskii's avatar
Eli Zaretskii committed
377

378
** Fixed a bug which prevented `j D' from expanding (a+b)/c.
Eli Zaretskii's avatar
Eli Zaretskii committed
379

380
** Fixed a bug in solver: bad inverses for sinh and cosh.
Eli Zaretskii's avatar
Eli Zaretskii committed
381

382
** Fixed a bug in math-possible-signs that failed for x*0.
Eli Zaretskii's avatar
Eli Zaretskii committed
383

384
** Fixed a bug where sqrt(-a) was rewritten sqrt(a)*i even if a<0.
Eli Zaretskii's avatar
Eli Zaretskii committed
385

386
** Fixed a bug in line breaker when first "word" of line was too long.
Eli Zaretskii's avatar
Eli Zaretskii committed
387

388
** Worked around a makeinfo bug that handled @end group/@group badly.
Eli Zaretskii's avatar
Eli Zaretskii committed
389 390


391
* Version 2.00 alpha 3:
Eli Zaretskii's avatar
Eli Zaretskii committed
392

393
** Changed logic for locating component .elc files to be even smarter.
Eli Zaretskii's avatar
Eli Zaretskii committed
394

395
** Changed "make install" to "make compile"; added different "make install".
Eli Zaretskii's avatar
Eli Zaretskii committed
396

397
** Improved "make compile" to check file dates and compile only when needed.
Eli Zaretskii's avatar
Eli Zaretskii committed
398

399
** Made output of "make compile" in batch mode more compact and readable.
Eli Zaretskii's avatar
Eli Zaretskii committed
400

401
** Replaced "Quick Overview" in manual with "Demonstration of Calc".
Eli Zaretskii's avatar
Eli Zaretskii committed
402

403
** Changed to use keymaps for dispatching M-# and h prefix keys.
Eli Zaretskii's avatar
Eli Zaretskii committed
404

405
** Added TAGS target to the Calc Makefile.
Eli Zaretskii's avatar
Eli Zaretskii committed
406

407
** Removed most doc strings from functions; new help commands are better.
Eli Zaretskii's avatar
Eli Zaretskii committed
408

409
** Got rid of some crufty "fset" calls that were cluttering the code.
Eli Zaretskii's avatar
Eli Zaretskii committed
410

411
** Split calc-grab-region into two functions, calc-grab-region/-rectangle.
Eli Zaretskii's avatar
Eli Zaretskii committed
412

413
** Swapped positions of stack and trail in full-calc-keypad display.
Eli Zaretskii's avatar
Eli Zaretskii committed
414

415
** Improved line-breaking algorithm for displaying long formulas.
Eli Zaretskii's avatar
Eli Zaretskii committed
416

417
** Improved display of control characters in vectors shown as strings.
Eli Zaretskii's avatar
Eli Zaretskii committed
418

419
** Changed `d o' to allow fraction format to specify desired denominator.
Eli Zaretskii's avatar
Eli Zaretskii committed
420

421
** Changed `M-# y' to respect overwrite mode in target buffer.
Eli Zaretskii's avatar
Eli Zaretskii committed
422

423
** Added `H' prefix to display-mode commands to suppress stack refresh.
Eli Zaretskii's avatar
Eli Zaretskii committed
424

425
** Changed "calc-why" mechanism to display urgent messages automatically.
Eli Zaretskii's avatar
Eli Zaretskii committed
426

427
** Handled taking derivatives of symbolic integrals and vice-versa.
Eli Zaretskii's avatar
Eli Zaretskii committed
428

429
** Handled integrating vectors of formulas.
Eli Zaretskii's avatar
Eli Zaretskii committed
430

431
** Incorporated Ewerlid's polynomial division and GCD functions into Calc.
Eli Zaretskii's avatar
Eli Zaretskii committed
432

433
** Improved algebraic operations on "mod" forms, esp. polynomials.
Eli Zaretskii's avatar
Eli Zaretskii committed
434

435
** Added some more financial functions (sln, syd, ddb).
Eli Zaretskii's avatar
Eli Zaretskii committed
436

437
** Added nest, anest, fixp, and afixp (`H V R' and `H V U') functions.
Eli Zaretskii's avatar
Eli Zaretskii committed
438

439
** Added `a .' (calc-remove-equal) command to take apart equations.
Eli Zaretskii's avatar
Eli Zaretskii committed
440

441
** Generalized dfact to work for negative odd integers; added !! syntax.
Eli Zaretskii's avatar
Eli Zaretskii committed
442

443
** Changed `k f' to factor 1, 0, and negative integers.
Eli Zaretskii's avatar
Eli Zaretskii committed
444

445
** Changed `u M', etc., to accept +/- and [ .. ] forms as distributions.
Eli Zaretskii's avatar
Eli Zaretskii committed
446

447
** Changed `g q' to remove *Gnuplot Commands/Trail* window if present.
Eli Zaretskii's avatar
Eli Zaretskii committed
448

449
** Added support for Francois Pinard's "dumb terminal" driver for GNUPLOT.
Eli Zaretskii's avatar
Eli Zaretskii committed
450

451
** Added ":: remember" feature for rewrite rules.
Eli Zaretskii's avatar
Eli Zaretskii committed
452

453
** Changed rewrites to let pattern "a*b" match "x/2" with a=x, b=1/2.
Eli Zaretskii's avatar
Eli Zaretskii committed
454

455
** Added ability to put function names like "simplify" in rewrite schedule.
Eli Zaretskii's avatar
Eli Zaretskii committed
456

457
** Added "Rewrites Tutorial" to the manual.
Eli Zaretskii's avatar
Eli Zaretskii committed
458

459
** Changed ` to bind RET as newline instead of finish if editing a vector.
Eli Zaretskii's avatar
Eli Zaretskii committed
460

461
** Added some new exercises to the List Tutorial.
Eli Zaretskii's avatar
Eli Zaretskii committed
462

463
** Changed `Z F', `V M', etc. not to remove stored vars from def arg list.
Eli Zaretskii's avatar
Eli Zaretskii committed
464

465
** Added parsing for /1, 2, 3/ notation for Fortran mode vectors.
Eli Zaretskii's avatar
Eli Zaretskii committed
466

467
** Added a "%%" syntax for comments in formulas being read.
Eli Zaretskii's avatar
Eli Zaretskii committed
468

469
** Fixed a bug in which failing `h k' removed an existing Info window.
Eli Zaretskii's avatar
Eli Zaretskii committed
470

471
** Fixed a bug in `j /' operating on subformulas like "a + b".
Eli Zaretskii's avatar
Eli Zaretskii committed
472

473
** Fixed a bug in which "inf = inf" undesirably evaluated to 1.
Eli Zaretskii's avatar
Eli Zaretskii committed
474

475
** Fixed a bug that simplified "0 = 1 + a + 2" to "0 = a".
Eli Zaretskii's avatar
Eli Zaretskii committed
476

477
** Fixed a bug that failed for rewrite patterns like "fib(1 ||| 2)".
Eli Zaretskii's avatar
Eli Zaretskii committed
478

479
** Fixed a bug that arose because rewrite programs are non-reentrant.
Eli Zaretskii's avatar
Eli Zaretskii committed
480 481


482
* Version 2.00 alpha 2:
Eli Zaretskii's avatar
Eli Zaretskii committed
483

484
** Changed LFD terminating algebraic entry to push in no-simplify mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
485

486
** Changed so that `K -' interprets `-' as calc-minus, not neg prefix arg.
Eli Zaretskii's avatar
Eli Zaretskii committed
487

488
** Improved `h c' command to understand all Calc key sequences.
Eli Zaretskii's avatar
Eli Zaretskii committed
489

490
** Fixed problems with DistribRules, NegateRules, and FitRules.
Eli Zaretskii's avatar
Eli Zaretskii committed
491

492
** Fixed several bad node pointers in the manual.
Eli Zaretskii's avatar
Eli Zaretskii committed
493

494
** Fixed a bug in `h C-w' when used with makeinfo-formatted manuals.
Eli Zaretskii's avatar
Eli Zaretskii committed
495

496
** Fixed a bug in sqrt(-1) when Polar and HMS modes are enabled.
Eli Zaretskii's avatar
Eli Zaretskii committed
497

498
** Fixed/improved dscalar and deven functions; added dodd.
Eli Zaretskii's avatar
Eli Zaretskii committed
499

500
** Fixed a bug in polynomial handling that also affected sum(sin(k),k,1,n).
Eli Zaretskii's avatar
Eli Zaretskii committed
501

502
** Fixed various other glitches in the manual.
Eli Zaretskii's avatar
Eli Zaretskii committed
503 504


505
* Version 2.00 alpha 1:
Eli Zaretskii's avatar
Eli Zaretskii committed
506

507
** Calc's tar file now creates a calc-(version) directory to unpack into.
Eli Zaretskii's avatar
Eli Zaretskii committed
508

509
** Calc now comes with a Makefile; install with "make install".
Eli Zaretskii's avatar
Eli Zaretskii committed
510

511
** Calc now comes already split into many files; installation is much simpler.
Eli Zaretskii's avatar
Eli Zaretskii committed
512

513
** Changed base file name of the manual from "calc-info" to "calc.info".
Eli Zaretskii's avatar
Eli Zaretskii committed
514

515
** Key binding for `M-# w' was documented but not implemented.
Eli Zaretskii's avatar
Eli Zaretskii committed
516

517
** Bound M-# ' to be synonymous with `M-# f' (used to be `M-# q').
Eli Zaretskii's avatar
Eli Zaretskii committed
518

519
** Changed M-# M-# to use last interface of C or K; E no longer counts.
Eli Zaretskii's avatar
Eli Zaretskii committed
520

521
** Changed `i' (and `M-# i') not to return to Top node unnecessarily.
Eli Zaretskii's avatar
Eli Zaretskii committed
522

523
** Changed `h' to be a prefix key with various help commands.
Eli Zaretskii's avatar
Eli Zaretskii committed
524

525
** Changed `s' to be a prefix key with various store and recall commands.
Eli Zaretskii's avatar
Eli Zaretskii committed
526

527
** Keys `i', `r', and `l' are obsolete (moved to `h' and `s' prefixes).
Eli Zaretskii's avatar
Eli Zaretskii committed
528

529
** Rearranged `K', `X', and `M-RET' keys; `K' is now calc-keep-args.
Eli Zaretskii's avatar
Eli Zaretskii committed
530

531
** Changed quick-calc to display input formula as well as output if room.
Eli Zaretskii's avatar
Eli Zaretskii committed
532

533
** Changed quick-calc to interact with the editing buffer and kill ring.
Eli Zaretskii's avatar
Eli Zaretskii committed
534

535
** Created pack, unpack, unpackt function equivalents of `v p', `v u'.
Eli Zaretskii's avatar
Eli Zaretskii committed
536

537
** Changed to expand (a/b)^x to a^x/b^x only if b > 0 (not if a > 0).
Eli Zaretskii's avatar
Eli Zaretskii committed
538

539
** Changed math-possible-signs to understand sqrt function.
Eli Zaretskii's avatar
Eli Zaretskii committed
540

541
** Changed Z [, rewrites to consider any provably non-zero value as true.
Eli Zaretskii's avatar
Eli Zaretskii committed
542

543
** Changed normal language modes to accept ** as a synonym for ^.
Eli Zaretskii's avatar
Eli Zaretskii committed
544

545
** Added "maple" language mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
546

547
** Changed, e.g., Mathematica "(2 + 3 I)^(1.23*10^20)" to include parens.
Eli Zaretskii's avatar
Eli Zaretskii committed
548

549
** Generalized math-compose-big properties for all language modes.
Eli Zaretskii's avatar
Eli Zaretskii committed
550

551
** Introduced "string" and other function for composing expressions.
Eli Zaretskii's avatar
Eli Zaretskii committed
552

553
** Changed many recursive vector routines to use loops instead.
Eli Zaretskii's avatar
Eli Zaretskii committed
554

555
** Added evalv, evalvn function equivalents to `=', `N'.
Eli Zaretskii's avatar
Eli Zaretskii committed
556

557
** Changed "expr =>" not to evaluate at all if in no-simplify mode.
Eli Zaretskii's avatar
Eli Zaretskii committed
558

559
** Redesigned user interface of `a F' (calc-curve-fit) command.
Eli Zaretskii's avatar
Eli Zaretskii committed
560

561
** Added "phase" feature to the rewrite rule system.
Eli Zaretskii's avatar
Eli Zaretskii committed
562

563
** Added "&&&", "|||", "!!!" to the rewrite rule system.
Eli Zaretskii's avatar
Eli Zaretskii committed
564

565
** Introduced a new notation for rewrites:  LHS := RHS :: COND.
Eli Zaretskii's avatar
Eli Zaretskii committed
566

567
** Changed `a r' (but not `j r') to repeat 100 times by default.
Eli Zaretskii's avatar
Eli Zaretskii committed
568

569
** Integrated EvalRules more cleanly into the default simplifications.
Eli Zaretskii's avatar
Eli Zaretskii committed
570

571
** Added `H v l' [mdims] to measure the dimensions of a matrix.
Eli Zaretskii's avatar
Eli Zaretskii committed
572

573
** Changed `u c' to interpret "/units" as "1/units".
Eli Zaretskii's avatar
Eli Zaretskii committed
574

575
** Added `u a' to adjust unit prefix letters automatically.
Eli Zaretskii's avatar
Eli Zaretskii committed
576

577
** Changed `u s' to enable scalar mode while simplifying.
Eli Zaretskii's avatar
Eli Zaretskii committed
578

579
** Changed `c f' [pfloat] not to float integer powers or subscripts.
Eli Zaretskii's avatar
Eli Zaretskii committed
580

581
** Added a three-argument form for the "hms" function.
Eli Zaretskii's avatar
Eli Zaretskii committed
582

583
** Changed, e.g., sin(90) degrees to produce 1 instead of 1.0.
Eli Zaretskii's avatar
Eli Zaretskii committed
584

585
** Changed symbolic mode to prefer sqrt(int): abs([1 2 3]) => sqrt(14).
Eli Zaretskii's avatar
Eli Zaretskii committed
586

587
** Enhanced solver to handle, e.g., x + 1/x = a; exp(x) + exp(-x) = a.
Eli Zaretskii's avatar
Eli Zaretskii committed
588

589
** Enhanced simplifier to handle, e.g., exp(a+2) / e^a => e^2.
Eli Zaretskii's avatar
Eli Zaretskii committed
590

591
** Enhanced `a s' to simplify sqrt(x) - x^1:2 and exp(x) - e^x to 0.
Eli Zaretskii's avatar
Eli Zaretskii committed
592

593
** Added -(a + b) to -a - b as a default simplification.
Eli Zaretskii's avatar
Eli Zaretskii committed
594

595