1Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 2 Free Software Foundation, Inc. 3See the end of the file for license conditions. 4 5 6This directory contains Calc, an advanced desk calculator for GNU 7Emacs. 8 9"Calc" Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, 10 2005, 2006, 2007 Free Software Foundation, Inc. 11 12Written by: 13 Dave Gillespie 14 c/o Synaptics, Inc. 15 2698 Orchard Parkway 16 San Jose CA 95134 17 daveg@synaptics.com, uunet!synaptx!daveg 18 19Currently maintained by: 20 Jay Belanger <jay.p.belanger@gmail.com> 21 22From the introduction to the manual: 23 24 "Calc" is an advanced calculator and mathematical tool that runs as 25 part of the GNU Emacs environment. Very roughly based on the HP-28/48 26 series of calculators, its many features include: 27 28 * Choice of algebraic or RPN (stack-based) entry of calculations. 29 30 * Arbitrary precision integers and floating-point numbers. 31 32 * Arithmetic on rational numbers, complex numbers (rectangular and 33 polar), error forms with standard deviations, open and closed 34 intervals, vectors and matrices, dates and times, infinities, 35 sets, quantities with units, and algebraic formulas. 36 37 * Mathematical operations such as logarithms and trigonometric functions. 38 39 * Programmer's features (bitwise operations, non-decimal numbers). 40 41 * Financial functions such as future value and internal rate of return. 42 43 * Number theoretical features such as prime factorization and 44 arithmetic modulo M for any M. 45 46 * Algebraic manipulation features, including symbolic calculus. 47 48 * Moving data to and from regular editing buffers. 49 50 * "Embedded mode" for manipulating Calc formulas and data directly 51 inside any editing buffer. 52 53 * Graphics using GNUPLOT, a versatile (and free) plotting program. 54 55 * Easy programming using keyboard macros, algebraic formulas, 56 algebraic rewrite rules, or extended Emacs Lisp. 57 58 59Calc is written entirely in Emacs Lisp, for maximum portability. 60 61I am anxious to hear about your experiences using Calc. Send mail to 62"jay.p.belanger@gmail.com". A bug report is most useful if you include the 63exact input and output that occurred, any modes in effect (such as the 64current precision), and so on. If you find Calc is difficult to operate 65in any way, or if you have other suggestions, don't hesitate to let me 66know. If you find errors (including simple typos) in the manual, let 67me know. Even if you find no bugs at all I would love to hear your 68opinions. 69 70 71 72Summary of changes to "Calc" 73------- -- ------- -- ---- 74 75 76Version 2.1: 77 78* New matrix mode for square matrices. Improved handling of 79 non-commutative products. 80 81* New functions: powerexpand and ldiv. 82 83* Added new functions: sec, csc, cot, sech, csch, coth. 84 85* 0^0 now evaluates to 1. 86 87* Added a new language mode for LaTeX. 88 89* Calc now tries to use an appropriate language mode in embedded mode. 90 91* Calc now restores original modes when leaving embedded mode. 92 93* User settable variables which are not set with keystrokes are now 94 customizable. 95 96* Made ~/.calc.el the default Calc settings file. 97 98* Miscellaneous updates and bugfixes. 99 100 101Version 2.02f: 102 103 * Fixed a bug which broke `I', `H', `K' prefix keys in recent Emacs. 104 105 * Fixed a bug in calc.texinfo which prevented "make tex2" from working. 106 107 * Updated `C-y' (calc-yank) to understand Emacs 19 generalized kill ring. 108 109 * Added a copy of "calccard.tex", the Calc quick reference card. 110 111 112Version 2.02e: 113 114 * Fixed an installation bug caused by recent changes to `write-region'. 115 116 117Version 2.02d: 118 119 * Fixed a minor installation problem with a Emacs 19.29 byte-compiler bug. 120 121 * Removed archaic "macedit" package (superseded by "edmacro"). 122 123 124Version 2.02c: 125 126 * Patch to port Calc to Lucid Emacs 19; still works with GNU 18 and GNU 19. 127 128 * Fixed a bug that broke `C-x C-c' after Calc graphics had been used. 129 130 131Version 2.02b: 132 133 * Minor patch to port Calc to GNU Emacs 19. Will be superseded by Calc 3.00. 134 135 136Version 2.02: 137 138 * Revamped the manual a bit; rearranged some sections. 139 140 * Added marginal notes for Key/Function Index refs in printed manual. 141 142 * Changed `M-# r' to deal more gracefully with blank lines. 143 144 * Made reductions like `V R +' and `M-# :' considerably faster. 145 146 * Improved parsing and display of cases like "[a + b]". 147 148 * Added `t +' and `t -' for doing business date arithmetic. 149 150 * Added "syntax tables," the opposite of compositions. 151 152 * Added another Rewrites Tutorial exercise. 153 154 * Added the "vmatches" function. 155 156 * Added the `Modes' variable and `m g' command. 157 158 * Improved `u s' to cancel, e.g., "11 mph hr / yd" to get a number. 159 160 * Added "quick units" commands "u 0" through "u 9". 161 162 * Moved `M-%' to calc.el to avoid autoloading problems. 163 164 * Added `M-=' during algebraic entry, acts like `RET ='. 165 166 * Made `LFD' prevent evaluation when finishing a calc-edit command. 167 168 * Changed calc-store commands to use `t .' mode for trail display. 169 170 * Improved integrator to understand forms involving "erf". 171 172 * Fixed parser to make sense of "[1....1e2]" input. 173 174 * Fixed FORTRAN parser to treat a(i,j) as a_i_j if a is declared matrix. 175 176 * Got rid of some version number stamps to reduce size of patches. 177 178 * Fixed a bug in defmath treating "<=" and ">=" predicates. 179 180 * Fixed a bug in which Calc crashed multiplying two date forms. 181 182 * Fixed a bug in line breaker that crashed for large, nested formulas. 183 184 * Fixed a bug using ` to edit string("foo"). 185 186 * Fixed a bug where `M-# y' in Big mode copied stack level number. 187 188 * Fixed a bug where `g O' used wrong default directory, no completion. 189 190 * Fixed a bug where "foo_bar(i)" parsed in C mode but showed as foo#bar. 191 192 * Fixed several bugs where large calculations got "computation too long." 193 194 195Version 2.01: 196 197 * Added percentage commands `M-%', `b %', and `c %'. 198 199 * Changed Big mode to force radix-10 in superscripts. 200 201 * Improved display of fractions in various language modes. 202 203 * Changed `a n' to work properly with equations and inequalities. 204 205 * The problem with cross references to Index nodes in TeX has been fixed. 206 207 * Fixed a bug where recursive esc-maps make calc-ext/-aent unloadable. 208 209 * Fixed a bug in `M-# k', then `OFF' right away, with fresh Emacs. 210 211 * Fixed a bug in which "S_i_j" was formatted wrong after `j s'. 212 213 * Fixed a bug in which `h k u c' positioned cursor on wrong line. 214 215 * Fixed a bug where `z ?' crashed if `z %' was defined. 216 217 * Fixed a bug in `j O' (calc-select-once-maybe). 218 219 * Fixed "make private" not to ask "Delete excess versions" and crash. 220 221 222Version 2.00: 223 224 * First complete posting of Calc since 1.01. 225 226 * Most parts of Calc have seen changes since version 1.07. See 227 section "New for Calc 2.00" in the manual for a summary. In 228 the FTP version of the Calc distribution, the file README.prev 229 contains a detailed change history from 1.00 up to 2.00. 230 231 232This file is part of GNU Emacs. 233 234GNU Emacs is free software; you can redistribute it and/or modify 235it under the terms of the GNU General Public License as published by 236the Free Software Foundation; either version 2, or (at your option) 237any later version. 238 239GNU Emacs is distributed in the hope that it will be useful, 240but WITHOUT ANY WARRANTY; without even the implied warranty of 241MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 242GNU General Public License for more details. 243 244You should have received a copy of the GNU General Public License 245along with GNU Emacs; see the file COPYING. If not, write to the 246Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 247Boston, MA 02110-1301, USA. 248