X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/3f82a88a05e227145b0470991050698085d19fbe..33306400fb40555f666b2064e09b331e3a41c244:/doc/misc/calc.texi diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 5dabf5cd31..2c84fabdfc 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -94,7 +94,7 @@ This file documents Calc, the GNU Emacs calculator, included with GNU Emacs @value{EMACSVER}. @end ifnotinfo -Copyright @copyright{} 1990--1991, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1990--1991, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -140,7 +140,7 @@ modify this GNU manual.'' @c [begin] @ifnottex @node Top, Getting Started, (dir), (dir) -@chapter The GNU Emacs Calculator +@top The GNU Emacs Calculator @noindent @dfn{Calc} is an advanced desk calculator and mathematical tool @@ -9909,9 +9909,9 @@ listed. @kindex h n The @kbd{h n} or @kbd{h C-n} (@code{calc-view-news}) command displays -the ``news'' or change history of Calc. This is kept in the file -@file{README}, which Calc looks for in the same directory as the Calc -source files. +the ``news'' or change history of Emacs, and jumps to the most recent +portion concerning Calc (if present). For older history, see the file +@file{etc/CALC-NEWS} in the Emacs distribution. @kindex h C-c @kindex h C-d @@ -11801,6 +11801,18 @@ Thus @kbd{M-@key{DEL}} by itself removes the second-from-top stack element, leaving the first, third, fourth, and so on; @kbd{M-3 M-@key{DEL}} deletes the third stack element. +The above commands do not depend on the location of the cursor. +If the customizable variable @code{calc-context-sensitive-enter} is +non-@code{nil} (@pxref{Customizing Calc}), these commands will become +context sensitive. For example, instead of duplicating the top of the stack, +@key{RET} will copy the element at the cursor to the top of the +stack. With a positive numeric prefix, a copy of the element at the +cursor and the appropriate number of preceding elements will be placed +at the top of the stack. A negative prefix will still duplicate the +specified element of the stack regardless of the cursor position. +Similarly, @key{DEL} will remove the corresponding elements from the +stack. + @kindex @key{TAB} @pindex calc-roll-down To exchange the top two elements of the stack, press @key{TAB} @@ -14122,7 +14134,7 @@ conventions. Like C mode, Pascal mode interprets array brackets and uses a different table of operators. Hexadecimal numbers are entered and displayed with a preceding dollar sign. (Thus the regular meaning of @kbd{$2} during algebraic entry does not work in Pascal mode, though -@kbd{$} (and @kbd{$$}, etc.) not followed by digits works the same as +@kbd{$} (and @kbd{$$}, etc.)@: not followed by digits works the same as always.) No special provisions are made for other non-decimal numbers, vectors, and so on, since there is no universally accepted standard way of handling these in Pascal. @@ -27859,18 +27871,14 @@ while typing @kbd{u c au/yr @key{RET}} produces If the units you request are inconsistent with the original units, the number will be converted into your units times whatever ``remainder'' -units are left over. For example, converting @samp{55 mph} into acres +units are left over. (This can be disabled; @pxref{Customizing Calc}.) +For example, converting @samp{55 mph} into acres produces @samp{6.08e-3 acre / m s}. (Recall that multiplication binds more strongly than division in Calc formulas, so the units here are acres per meter-second.) Remainder units are expressed in terms of ``fundamental'' units like @samp{m} and @samp{s}, regardless of the input units. -If you want to disallow using inconsistent units, you can set the customizable variable -@code{calc-ensure-consistent-units} to @code{t} (@pxref{Customizing Calc}). In this case, -if you request units which are inconsistent with the original units, you will be warned about -it and no conversion will occur. - One special exception is that if you specify a single unit name, and a compatible unit appears somewhere in the units expression, then that compatible unit will be converted to the new unit and the @@ -27912,10 +27920,13 @@ Composite units are expanded as if by @kbd{a x}, so that If the value on the stack does not contain any units, @kbd{u c} will prompt first for the old units which this value should be considered -to have, then for the new units. Assuming the old and new units you -give are consistent with each other, the result also will not contain -any units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} -converts the number 2 on the stack to 5.08. +to have, then for the new units. (If the value on the stack can be +simplified so that it doesn't contain any units, like @samp{ft/in} can +be simplified to 12, then @kbd{u c} will still prompt for both old +units and new units. Assuming the old and new units you give are +consistent with each other, the result also will not contain any +units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} converts +the number 2 on the stack to 5.08. @kindex u b @pindex calc-base-units @@ -33307,12 +33318,15 @@ Lisp integers. This is the only storage format for Calc data objects which is not a Lisp list. Large integers are stored as lists of the form @samp{(bigpos @var{d0} -@var{d1} @var{d2} @dots{})} for positive integers 1000000 or more, or -@samp{(bigneg @var{d0} @var{d1} @var{d2} @dots{})} for negative integers -@mathit{-1000000} or less. Each @var{d} is a base-1000 ``digit,'' a Lisp integer -from 0 to 999. The least significant digit is @var{d0}; the last digit, +@var{d1} @var{d2} @dots{})} for sufficiently large positive integers +(where ``sufficiently large'' depends on the machine), or +@samp{(bigneg @var{d0} @var{d1} @var{d2} @dots{})} for negative +integers. Each @var{d} is a base-@expr{10^n} ``digit'' (where again, +@expr{n} depends on the machine), a Lisp integer from 0 to +99@dots{}9. The least significant digit is @var{d0}; the last digit, @var{dn}, which is always nonzero, is the most significant digit. For -example, the integer @mathit{-12345678} is stored as @samp{(bigneg 678 345 12)}. +example, the integer @mathit{-12345678} might be stored as +@samp{(bigneg 678 345 12)}. The distinction between small and large integers is entirely hidden from the user. In @code{defmath} definitions, the Lisp predicate @code{integerp} @@ -35694,6 +35708,16 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni is @code{nil}. @end defvar +@defvar calc-context-sensitive-enter +The commands @code{calc-enter} and @code{calc-pop} will typically +duplicate the top of the stack. If +@code{calc-context-sensitive-enter} is non-@code{nil}, then the +@code{calc-enter} will copy the element at the cursor to the +top of the stack and @code{calc-pop} will delete the element at the +cursor. The default value of @code{calc-context-sensitive-enter} is +@code{nil}. +@end defvar + @defvar calc-undo-length The variable @code{calc-undo-length} determines the number of undo steps that Calc will keep track of when @code{calc-quit} is called.