]> code.delx.au - gnu-emacs/blobdiff - man/calc.texi
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
[gnu-emacs] / man / calc.texi
index 6d7d478d0b546ac27aabdc201c5ce14ff3f03789..ea51a896e23f9204ca2aad7994bb5ebd9a886ba0 100644 (file)
@@ -3,7 +3,7 @@
 @c smallbook
 @setfilename ../info/calc
 @c [title]
-@settitle GNU Emacs Calc 2.02g Manual
+@settitle GNU Emacs Calc 2.1 Manual
 @setchapternewpage odd
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @c $x$ in TeX, @samp{x} otherwise.
 
 @iftex
-@macro texline{stuff}
-\stuff\
+@macro texline
 @end macro
 @alias infoline=comment
-@tex
-\gdef\exprsetup{\tex \let\t\ttfont \turnoffactive}
-\gdef\expr{\exprsetup$\exprfinish}
-\gdef\exprfinish#1{#1$\endgroup}
-@end tex
+@alias expr=math
+@alias tfn=code
 @alias mathit=expr
 @macro cpi{}
 @math{@pi{}}
@@ -41,6 +37,7 @@
 \stuff\
 @end macro
 @alias expr=samp
+@alias tfn=t
 @alias mathit=i
 @macro cpi{}
 @expr{pi}
 @copying
 This file documents Calc, the GNU Emacs calculator.
 
-Copyright (C) 1990, 1991, 2001, 2002 Free Software Foundation, Inc.
+Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004,
+2005, 2006 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with the
 Invariant Sections being just ``GNU GENERAL PUBLIC LICENSE'', with the
 Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
@@ -104,24 +102,25 @@ Software Foundation raise funds for GNU development.''
 
 @dircategory Emacs
 @direntry
-* Calc: (calc).        Advanced desk calculator and mathematical tool.
+* Calc: (calc).         Advanced desk calculator and mathematical tool.
 @end direntry
 
 @titlepage
 @sp 6
 @center @titlefont{Calc Manual}
 @sp 4
-@center GNU Emacs Calc Version 2.02g
+@center GNU Emacs Calc Version 2.1
 @c [volume]
 @sp 1
-@center January 2002
+@center March 2005
 @sp 5
 @center Dave Gillespie
 @center daveg@@synaptics.com
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 2001, 2002 Free Software Foundation, Inc.
+Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004,
+   2005, 2006 Free Software Foundation, Inc.
 @insertcopying
 @end titlepage
 
@@ -164,10 +163,11 @@ longer Info tutorial.)
 * Store and Recall::      Storing and recalling variables.
 * Graphics::              Commands for making graphs of data.
 * Kill and Yank::         Moving data into and out of Calc.
+* Keypad Mode::           Operating Calc from a keypad.
 * Embedded Mode::         Working with formulas embedded in a file.
 * Programming::           Calc as a programmable calculator.
 
-* Installation::          Installing Calc as a part of GNU Emacs.
+* Customizing Calc:: Customizing Calc.
 * Reporting Bugs::        How to report bugs and make suggestions.
 
 * Summary::               Summary of Calc commands and functions.
@@ -182,11 +182,13 @@ longer Info tutorial.)
 
 @node Copying, Getting Started, Top, Top
 @unnumbered GNU GENERAL PUBLIC LICENSE
-@center Version 1, February 1989
+@center Version 2, June 1991
+
+@c This file is intended to be included in another file.
 
 @display
-Copyright @copyright{} 1989 Free Software Foundation, Inc.
-675 Mass Ave, Cambridge, MA 02139, USA
+Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -194,30 +196,33 @@ of this license document, but changing it is not allowed.
 
 @unnumberedsec Preamble
 
-  The license agreements of most software companies try to keep users
-at the mercy of those companies.  By contrast, our General Public
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
 License is intended to guarantee your freedom to share and change free
-software---to make sure the software is free for all its users.  The
-General Public License applies to the Free Software Foundation's
-software and to any other program whose authors commit to using it.
-You can use it for your programs, too.
+software---to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
 
   When we speak of free software, we are referring to freedom, not
-price.  Specifically, the General Public License is designed to make
-sure that you have the freedom to give away or sell copies of free
-software, that you receive source code or can get it if you want it,
-that you can change the software or use pieces of it in new free
-programs; and that you know you can do these things.
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
 
   To protect your rights, we need to make restrictions that forbid
 anyone to deny you these rights or to ask you to surrender the rights.
 These restrictions translate to certain responsibilities for you if you
 distribute copies of the software, or if you modify it.
 
-  For example, if you distribute copies of such a program, whether
+  For example, if you distribute copies of such a program, whether
 gratis or for a fee, you must give the recipients all the rights that
 you have.  You must make sure that they, too, receive or can get the
-source code.  And you must tell them their rights.
+source code.  And you must show them these terms so they know their
+rights.
 
   We protect your rights with two steps: (1) copyright the software, and
 (2) offer you this license which gives you legal permission to copy,
@@ -230,128 +235,216 @@ want its recipients to know that what they have is not the original, so
 that any problems introduced by others will not reflect on the original
 authors' reputations.
 
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
   The precise terms and conditions for copying, distribution and
 modification follow.
 
 @iftex
-@unnumberedsec TERMS AND CONDITIONS
+@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 @end iftex
 @ifinfo
-@center TERMS AND CONDITIONS
+@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 @end ifinfo
 
-@enumerate
+@enumerate 0
 @item
-This License Agreement applies to any program or other work which
-contains a notice placed by the copyright holder saying it may be
-distributed under the terms of this General Public License.  The
-``Program'', below, refers to any such program or work, and a ``work based
-on the Program'' means either the Program or any work containing the
-Program or a portion of it, either verbatim or with modifications.  Each
-licensee is addressed as ``you''.
+This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The ``Program'', below,
+refers to any such program or work, and a ``work based on the Program''
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term ``modification''.)  Each licensee is addressed as ``you''.
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
 
 @item
-You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this
-General Public License and to the absence of any warranty; and give any
-other recipients of the Program a copy of this General Public License
-along with the Program.  You may charge a fee for the physical act of
-transferring a copy.
+You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
 
-@item
-You may modify your copy or copies of the Program or any portion of
-it, and copy and distribute such modifications under the terms of Paragraph
-1 above, provided that you also do the following:
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
 
-@itemize @bullet
 @item
-cause the modified files to carry prominent notices stating that
-you changed the files and the date of any change; and
+You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
 
+@enumerate a
 @item
-cause the whole of any work that you distribute or publish, that
-in whole or in part contains the Program or any part thereof, either
-with or without modifications, to be licensed at no charge to all
-third parties under the terms of this General Public License (except
-that you may choose to grant warranty protection to some or all
-third parties, at your option).
+You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
 
 @item
-If the modified program normally reads commands interactively when
-run, you must cause it, when started running for such interactive use
-in the simplest and most usual way, to print or display an
-announcement including an appropriate copyright notice and a notice
-that there is no warranty (or else, saying that you provide a
-warranty) and that users may redistribute the program under these
-conditions, and telling the user how to view a copy of this General
-Public License.
+You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
 
 @item
-You may charge a fee for the physical act of transferring a
-copy, and you may at your option offer warranty protection in
-exchange for a fee.
-@end itemize
+If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+@end enumerate
 
-Mere aggregation of another independent work with the Program (or its
-derivative) on a volume of a storage or distribution medium does not bring
-the other work under the scope of these terms.
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
 
 @item
-You may copy and distribute the Program (or a portion or derivative of
-it, under Paragraph 2) in object code or executable form under the terms of
-Paragraphs 1 and 2 above provided that you also do one of the following:
+You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
 
-@itemize @bullet
+@enumerate a
 @item
-accompany it with the complete corresponding machine-readable
-source code, which must be distributed under the terms of
-Paragraphs 1 and 2 above; or,
+Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
 
 @item
-accompany it with a written offer, valid for at least three
-years, to give any third party free (except for a nominal charge
-for the cost of distribution) a complete machine-readable copy of the
-corresponding source code, to be distributed under the terms of
-Paragraphs 1 and 2 above; or,
+Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
 
 @item
-accompany it with the information you received as to where the
-corresponding source code may be obtained.  (This alternative is
+Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
 allowed only for noncommercial distribution and only if you
-received the program in object code or executable form alone.)
-@end itemize
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+@end enumerate
 
-Source code for a work means the preferred form of the work for making
-modifications to it.  For an executable file, complete source code means
-all the source code for all modules it contains; but, as a special
-exception, it need not include source code for modules which are standard
-libraries that accompany the operating system on which the executable
-file runs, or for standard header files or definitions files that
-accompany that operating system.
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
 
 @item
-You may not copy, modify, sublicense, distribute or transfer the
-Program except as expressly provided under this General Public License.
-Any attempt otherwise to copy, modify, sublicense, distribute or transfer
-the Program is void, and will automatically terminate your rights to use
-the Program under this License.  However, parties who have received
-copies, or rights to use copies, from you under this General Public
-License will not have their licenses terminated so long as such parties
-remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
 
 @item
-By copying, distributing or modifying the Program (or any work based
-on the Program) you indicate your acceptance of this license to do so,
-and all its terms and conditions.
+You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
 
 @item
 Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these
-terms and conditions.  You may not impose any further restrictions on the
-recipients' exercise of the rights granted herein.
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+@item
+If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+@item
+If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
 
 @item
 The Free Software Foundation may publish revised and/or new versions
@@ -360,11 +453,11 @@ be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.
 
 Each version is given a distinguishing version number.  If the Program
-specifies a version number of the license which applies to it and ``any
+specifies a version number of this License which applies to it and ``any
 later version'', you have the option of following the terms and conditions
 either of that version or of any later version published by the Free
 Software Foundation.  If the Program does not specify a version number of
-the license, you may choose any version ever published by the Free Software
+this License, you may choose any version ever published by the Free Software
 Foundation.
 
 @item
@@ -395,17 +488,91 @@ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
 REPAIR OR CORRECTION.
 
 @item
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
-ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
-LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
-WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
 @end enumerate
 
+@iftex
+@heading END OF TERMS AND CONDITIONS
+@end iftex
+@ifinfo
+@center END OF TERMS AND CONDITIONS
+@end ifinfo
+
+@page
+@unnumberedsec Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the ``copyright'' line and a pointer to where the full notice is found.
+
+@smallexample
+@var{one line to give the program's name and a brief idea of what it does.}
+Copyright (C) @var{yyyy}  @var{name of author}
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+@end smallexample
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+@smallexample
+Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+@end smallexample
+
+The hypothetical commands @samp{show w} and @samp{show c} should show
+the appropriate parts of the General Public License.  Of course, the
+commands you use may be called something other than @samp{show w} and
+@samp{show c}; they could even be mouse-clicks or menu items---whatever
+suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a ``copyright disclaimer'' for the program, if
+necessary.  Here is a sample; alter the names:
+
+@example
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+`Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+@var{signature of Ty Coon}, 1 April 1989
+Ty Coon, President of Vice
+@end example
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
 @node Getting Started, Tutorial, Copying, Top
 @chapter Getting Started
 @noindent
@@ -417,8 +584,8 @@ and what are the various ways that it can be used.
 * What is Calc::
 * About This Manual::
 * Notations Used in This Manual::
-* Using Calc::
 * Demonstration of Calc::
+* Using Calc::
 * History and Acknowledgements::
 @end menu
 
@@ -479,10 +646,9 @@ large and might be intimidating to the first-time user.  If you plan to
 use Calc only as a traditional desk calculator, all you really need to
 read is the ``Getting Started'' chapter of this manual and possibly the
 first few sections of the tutorial.  As you become more comfortable with
-the program you can learn its additional features.  In terms of efficiency,
-scope and depth, Calc cannot replace a powerful tool like Mathematica.
-But Calc has the advantages of convenience, portability, and availability
-of the source code.  And, of course, it's free!
+the program you can learn its additional features.  Calc does not
+have the scope and depth of a fully-functional symbolic math package,
+but Calc has the advantages of convenience, portability, and freedom.
 
 @node About This Manual, Notations Used in This Manual, What is Calc, Getting Started
 @section About This Manual
@@ -542,15 +708,42 @@ in the margin with its index entry.
 @c [fix-ref Help Commands]
 You can access this manual on-line at any time within Calc by
 pressing the @kbd{h i} key sequence.  Outside of the Calc window,
-you can press @kbd{M-# i} to read the manual on-line.  Also, you
-can jump directly to the Tutorial by pressing @kbd{h t} or @kbd{M-# t},
-or to the Summary by pressing @kbd{h s} or @kbd{M-# s}.  Within Calc,
+you can press @kbd{C-x * i} to read the manual on-line.  Also, you
+can jump directly to the Tutorial by pressing @kbd{h t} or @kbd{C-x * t},
+or to the Summary by pressing @kbd{h s} or @kbd{C-x * s}.  Within Calc,
 you can also go to the part of the manual describing any Calc key,
 function, or variable using @w{@kbd{h k}}, @kbd{h f}, or @kbd{h v},
 respectively.  @xref{Help Commands}.
 
-Printed copies of this manual are also available from the Free Software
-Foundation.
+The Calc manual can be printed, but because the manual is so large, you
+should only make a printed copy if you really need it.  To print the
+manual, you will need the @TeX{} typesetting program (this is a free
+program by Donald Knuth at Stanford University) as well as the
+@file{texindex} program and @file{texinfo.tex} file, both of which can
+be obtained from the FSF as part of the @code{texinfo} package.
+To print the Calc manual in one huge tome, you will need the
+source code to this manual, @file{calc.texi}, available as part of the
+Emacs source.  Once you have this file, type @kbd{texi2dvi calc.texi}.
+Alternatively, change to the @file{man} subdirectory of the Emacs
+source distribution, and type @kbd{make calc.dvi}. (Don't worry if you
+get some ``overfull box'' warnings while @TeX{} runs.)
+The result will be a device-independent output file called
+@file{calc.dvi}, which you must print in whatever way is right
+for your system.  On many systems, the command is
+
+@example
+lpr -d calc.dvi
+@end example
+
+@noindent
+or
+
+@example
+dvips calc.dvi
+@end example
+
+@c Printed copies of this manual are also available from the Free Software
+@c Foundation.
 
 @node Notations Used in This Manual, Demonstration of Calc, About This Manual, Getting Started
 @section Notations Used in This Manual
@@ -572,7 +765,7 @@ regularly using Emacs.
 (If you don't have the @key{LFD} or @key{TAB} keys on your keyboard,
 the @kbd{C-j} and @kbd{C-i} keys are equivalent to them, respectively.
 If you don't have a Meta key, look for Alt or Extend Char.  You can
-also press @key{ESC} or @key{C-[} first to get the same effect, so
+also press @key{ESC} or @kbd{C-[} first to get the same effect, so
 that @kbd{M-x}, @kbd{@key{ESC} x}, and @kbd{C-[ x} are all equivalent.)
 
 Sometimes the @key{RET} key is not shown when it is ``obvious''
@@ -580,8 +773,8 @@ that you must press @key{RET} to proceed.  For example, the @key{RET}
 is usually omitted in key sequences like @kbd{M-x calc-keypad @key{RET}}.
 
 Commands are generally shown like this:  @kbd{p} (@code{calc-precision})
-or @kbd{M-# k} (@code{calc-keypad}).  This means that the command is
-normally used by pressing the @kbd{p} key or @kbd{M-# k} key sequence,
+or @kbd{C-x * k} (@code{calc-keypad}).  This means that the command is
+normally used by pressing the @kbd{p} key or @kbd{C-x * k} key sequence,
 but it also has the full-name equivalent shown, e.g., @kbd{M-x calc-precision}.
 
 Commands that correspond to functions in algebraic notation
@@ -604,8 +797,9 @@ everything you see here will be covered more thoroughly in the
 Tutorial.
 
 To begin, start Emacs if necessary (usually the command @code{emacs}
-does this), and type @kbd{M-# c} (or @kbd{@key{ESC} # c}) to start the
-Calculator.  (@xref{Starting Calc}, if this doesn't work for you.)
+does this), and type @kbd{C-x * c} to start the
+Calculator.  (You can also use @kbd{M-x calc} if this doesn't work.
+@xref{Starting Calc}, for various ways of starting the Calculator.)
 
 Be sure to type all the sample input exactly, especially noting the
 difference between lower-case and upper-case letters.  Remember,
@@ -655,7 +849,7 @@ Type @kbd{' arcsinh($ - $$) @key{RET}} to subtract the second-most-recent
 result from the most-recent and compute the Inverse Hyperbolic sine.
 
 @strong{Keypad mode.}  If you are using the X window system, press
-@w{@kbd{M-# k}} to get Keypad mode.  (If you don't use X, skip to
+@w{@kbd{C-x * k}} to get Keypad mode.  (If you don't use X, skip to
 the next section.)
 
 @noindent
@@ -663,7 +857,7 @@ Click on the @key{2}, @key{ENTER}, @key{3}, @key{+}, and @key{SQRT}
 ``buttons'' using your left mouse button.
 
 @noindent
-Click on @key{PI}, @key{2}, and @t{y^x}.
+Click on @key{PI}, @key{2}, and @tfn{y^x}.
 
 @noindent
 Click on @key{INV}, then @key{ENTER} to swap the two results.
@@ -675,12 +869,12 @@ Click on @key{-}, @key{INV}, @key{HYP}, and @key{SIN}.
 Click on @key{<-} to erase the result, then click @key{OFF} to turn
 the Keypad Calculator off.
 
-@strong{Grabbing data.}  Type @kbd{M-# x} if necessary to exit Calc.
+@strong{Grabbing data.}  Type @kbd{C-x * x} if necessary to exit Calc.
 Now select the following numbers as an Emacs region:  ``Mark'' the
 front of the list by typing @kbd{C-@key{SPC}} or @kbd{C-@@} there,
 then move to the other end of the list.  (Either get this list from
-the on-line copy of this manual, accessed by @w{@kbd{M-# i}}, or just
-type these numbers into a scratch file.)  Now type @kbd{M-# g} to
+the on-line copy of this manual, accessed by @w{@kbd{C-x * i}}, or just
+type these numbers into a scratch file.)  Now type @kbd{C-x * g} to
 ``grab'' these numbers into Calc.
 
 @example
@@ -702,7 +896,7 @@ the product of the numbers.
 @noindent
 You can also grab data as a rectangular matrix.  Place the cursor on
 the upper-leftmost @samp{1} and set the mark, then move to just after
-the lower-right @samp{8} and press @kbd{M-# r}.
+the lower-right @samp{8} and press @kbd{C-x * r}.
 
 @noindent
 Type @kbd{v t} to transpose this 
@@ -714,7 +908,7 @@ matrix into a
 matrix.  Type @w{@kbd{v u}} to unpack the rows into two separate
 vectors.  Now type @w{@kbd{V R + @key{TAB} V R +}} to compute the sums
 of the two original columns. (There is also a special
-grab-and-sum-columns command, @kbd{M-# :}.)
+grab-and-sum-columns command, @kbd{C-x * :}.)
 
 @strong{Units conversion.}  Units are entered algebraically.
 Type @w{@kbd{' 43 mi/hr @key{RET}}} to enter the quantity 43 miles-per-hour.
@@ -734,9 +928,10 @@ these equations for the variables @expr{x} and @expr{y}.
 
 @noindent
 Type @kbd{d B} to view the solutions in more readable notation.
-Type @w{@kbd{d C}} to view them in C language notation, and @kbd{d T}
-to view them in the notation for the @TeX{} typesetting system.
-Type @kbd{d N} to return to normal notation.
+Type @w{@kbd{d C}} to view them in C language notation, @kbd{d T}
+to view them in the notation for the @TeX{} typesetting system,
+and @kbd{d L} to view them in the notation for the La@TeX{} typesetting
+system.  Type @kbd{d N} to return to normal notation.
 
 @noindent
 Type @kbd{7.5}, then @kbd{s l a @key{RET}} to let @expr{a = 7.5} in these formulas.
@@ -744,21 +939,21 @@ Type @kbd{7.5}, then @kbd{s l a @key{RET}} to let @expr{a = 7.5} in these formul
 
 @iftex
 @strong{Help functions.}  You can read about any command in the on-line
-manual.  Type @kbd{M-# c} to return to Calc after each of these
+manual.  Type @kbd{C-x * c} to return to Calc after each of these
 commands: @kbd{h k t N} to read about the @kbd{t N} command,
 @kbd{h f sqrt @key{RET}} to read about the @code{sqrt} function, and
 @kbd{h s} to read the Calc summary.
 @end iftex
 @ifinfo
 @strong{Help functions.}  You can read about any command in the on-line
-manual.  Remember to type the letter @kbd{l}, then @kbd{M-# c}, to
+manual.  Remember to type the letter @kbd{l}, then @kbd{C-x * c}, to
 return here after each of these commands: @w{@kbd{h k t N}} to read
 about the @w{@kbd{t N}} command, @kbd{h f sqrt @key{RET}} to read about the
 @code{sqrt} function, and @kbd{h s} to read the Calc summary.
 @end ifinfo
 
 Press @key{DEL} repeatedly to remove any leftover results from the stack.
-To exit from Calc, press @kbd{q} or @kbd{M-# c} again.
+To exit from Calc, press @kbd{q} or @kbd{C-x * c} again.
 
 @node Using Calc, History and Acknowledgements, Demonstration of Calc, Getting Started
 @section Using Calc
@@ -775,50 +970,38 @@ there are Quick mode, Keypad mode, and Embedded mode.
 * Keypad Mode Overview::
 * Standalone Operation::
 * Embedded Mode Overview::
-* Other M-# Commands::
+* Other C-x * Commands::
 @end menu
 
 @node Starting Calc, The Standard Interface, Using Calc, Using Calc
 @subsection Starting Calc
 
 @noindent
-On most systems, you can type @kbd{M-#} to start the Calculator.
-The notation @kbd{M-#} is short for Meta-@kbd{#}.  On most
-keyboards this means holding down the Meta (or Alt) and
-Shift keys while typing @kbd{3}.
+On most systems, you can type @kbd{C-x *} to start the Calculator.
+The key sequence @kbd{C-x *} is bound to the command @code{calc-dispatch}, 
+which can be rebound if convenient (@pxref{Customizing Calc}).
 
-@cindex META key
-Once again, if you don't have a Meta key on your keyboard you can type
-@key{ESC} first, then @kbd{#}, to accomplish the same thing.  If you
-don't even have an @key{ESC} key, you can fake it by holding down
-Control or @key{CTRL} while typing a left square bracket
-(that's @kbd{C-[} in Emacs notation).
+When you press @kbd{C-x *}, Emacs waits for you to press a second key to
+complete the command.  In this case, you will follow @kbd{C-x *} with a
+letter (upper- or lower-case, it doesn't matter for @kbd{C-x *}) that says
+which Calc interface you want to use.
 
-@kbd{M-#} is a @dfn{prefix key}; when you press it, Emacs waits for
-you to press a second key to complete the command.  In this case,
-you will follow @kbd{M-#} with a letter (upper- or lower-case, it
-doesn't matter for @kbd{M-#}) that says which Calc interface you
-want to use.
-
-To get Calc's standard interface, type @kbd{M-# c}.  To get
-Keypad mode, type @kbd{M-# k}.  Type @kbd{M-# ?} to get a brief
+To get Calc's standard interface, type @kbd{C-x * c}.  To get
+Keypad mode, type @kbd{C-x * k}.  Type @kbd{C-x * ?} to get a brief
 list of the available options, and type a second @kbd{?} to get
 a complete list.
 
-To ease typing, @kbd{M-# M-#} (or @kbd{M-# #} if that's easier)
-also works to start Calc.  It starts the same interface (either
-@kbd{M-# c} or @w{@kbd{M-# k}}) that you last used, selecting the
-@kbd{M-# c} interface by default.  (If your installation has
-a special function key set up to act like @kbd{M-#}, hitting that
-function key twice is just like hitting @kbd{M-# M-#}.)
+To ease typing, @kbd{C-x * *} also works to start Calc.  It starts the
+same interface (either @kbd{C-x * c} or @w{@kbd{C-x * k}}) that you last
+used, selecting the @kbd{C-x * c} interface by default.
 
-If @kbd{M-#} doesn't work for you, you can always type explicit
+If @kbd{C-x *} doesn't work for you, you can always type explicit
 commands like @kbd{M-x calc} (for the standard user interface) or
 @w{@kbd{M-x calc-keypad}} (for Keypad mode).  First type @kbd{M-x}
 (that's Meta with the letter @kbd{x}), then, at the prompt,
 type the full command (like @kbd{calc-keypad}) and press Return.
 
-The same commands (like @kbd{M-# c} or @kbd{M-# M-#}) that start
+The same commands (like @kbd{C-x * c} or @kbd{C-x * *}) that start
 the Calculator also turn it off if it is already on.
 
 @node The Standard Interface, Quick Mode Overview, Starting Calc, Using Calc
@@ -827,7 +1010,7 @@ the Calculator also turn it off if it is already on.
 @noindent
 @cindex Standard user interface
 Calc's standard interface acts like a traditional RPN calculator,
-operated by the normal Emacs keyboard.  When you type @kbd{M-# c}
+operated by the normal Emacs keyboard.  When you type @kbd{C-x * c}
 to start the Calculator, the Emacs screen splits into two windows
 with the file you were editing on top and Calc on the bottom.
 
@@ -836,7 +1019,7 @@ with the file you were editing on top and Calc on the bottom.
 
 ...
 --**-Emacs: myfile             (Fundamental)----All----------------------
---- Emacs Calculator Mode ---                   |Emacs Calc Mode v2.00...
+--- Emacs Calculator Mode ---                   |Emacs Calc Mode v2....
 2:  17.3                                        |    17.3
 1:  -5                                          |    3
     .                                           |    2
@@ -883,55 +1066,55 @@ inside a regular window, Emacs acts just like normal.  When the
 cursor is in the Calc stack or trail windows, keys are interpreted
 as Calc commands.
 
-When you quit by pressing @kbd{M-# c} a second time, the Calculator
+When you quit by pressing @kbd{C-x * c} a second time, the Calculator
 windows go away but the actual Stack and Trail are not gone, just
-hidden.  When you press @kbd{M-# c} once again you will get the
+hidden.  When you press @kbd{C-x * c} once again you will get the
 same stack and trail contents you had when you last used the
 Calculator.
 
 The Calculator does not remember its state between Emacs sessions.
-Thus if you quit Emacs and start it again, @kbd{M-# c} will give you
+Thus if you quit Emacs and start it again, @kbd{C-x * c} will give you
 a fresh stack and trail.  There is a command (@kbd{m m}) that lets
 you save your favorite mode settings between sessions, though.
 One of the things it saves is which user interface (standard or
 Keypad) you last used; otherwise, a freshly started Emacs will
-always treat @kbd{M-# M-#} the same as @kbd{M-# c}.
+always treat @kbd{C-x * *} the same as @kbd{C-x * c}.
 
 The @kbd{q} key is another equivalent way to turn the Calculator off.
 
-If you type @kbd{M-# b} first and then @kbd{M-# c}, you get a
+If you type @kbd{C-x * b} first and then @kbd{C-x * c}, you get a
 full-screen version of Calc (@code{full-calc}) in which the stack and
 trail windows are still side-by-side but are now as tall as the whole
-Emacs screen.  When you press @kbd{q} or @kbd{M-# c} again to quit,
-the file you were editing before reappears.  The @kbd{M-# b} key
+Emacs screen.  When you press @kbd{q} or @kbd{C-x * c} again to quit,
+the file you were editing before reappears.  The @kbd{C-x * b} key
 switches back and forth between ``big'' full-screen mode and the
 normal partial-screen mode.
 
-Finally, @kbd{M-# o} (@code{calc-other-window}) is like @kbd{M-# c}
+Finally, @kbd{C-x * o} (@code{calc-other-window}) is like @kbd{C-x * c}
 except that the Calc window is not selected.  The buffer you were
-editing before remains selected instead.  @kbd{M-# o} is a handy
+editing before remains selected instead.  @kbd{C-x * o} is a handy
 way to switch out of Calc momentarily to edit your file; type
-@kbd{M-# c} to switch back into Calc when you are done.
+@kbd{C-x * c} to switch back into Calc when you are done.
 
 @node Quick Mode Overview, Keypad Mode Overview, The Standard Interface, Using Calc
 @subsection Quick Mode (Overview)
 
 @noindent
 @dfn{Quick mode} is a quick way to use Calc when you don't need the
-full complexity of the stack and trail.  To use it, type @kbd{M-# q}
+full complexity of the stack and trail.  To use it, type @kbd{C-x * q}
 (@code{quick-calc}) in any regular editing buffer.
 
 Quick mode is very simple:  It prompts you to type any formula in
 standard algebraic notation (like @samp{4 - 2/3}) and then displays
 the result at the bottom of the Emacs screen (@mathit{3.33333333333}
 in this case).  You are then back in the same editing buffer you
-were in before, ready to continue editing or to type @kbd{M-# q}
+were in before, ready to continue editing or to type @kbd{C-x * q}
 again to do another quick calculation.  The result of the calculation
 will also be in the Emacs ``kill ring'' so that a @kbd{C-y} command
 at this point will yank the result into your editing buffer.
 
 Calc mode settings affect Quick mode, too, though you will have to
-go into regular Calc (with @kbd{M-# c}) to change the mode settings.
+go into regular Calc (with @kbd{C-x * c}) to change the mode settings.
 
 @c [fix-ref Quick Calculator mode]
 @xref{Quick Calculator}, for further information.
@@ -945,7 +1128,7 @@ It is designed for use with terminals that support a mouse.  If you
 don't have a mouse, you will have to operate Keypad mode with your
 arrow keys (which is probably more trouble than it's worth).
 
-Type @kbd{M-# k} to turn Keypad mode on or off.  Once again you
+Type @kbd{C-x * k} to turn Keypad mode on or off.  Once again you
 get two new windows, this time on the righthand side of the screen
 instead of at the bottom.  The upper window is the familiar Calc
 Stack; the lower window is a picture of a typical calculator keypad.
@@ -957,28 +1140,30 @@ Stack; the lower window is a picture of a typical calculator keypad.
 \medskip
 @end tex
 @smallexample
-                                        |--- Emacs Calculator Mode ---
-                                        |2:  17.3
-                                        |1:  -5
-                                        |    .
-                                        |--%%-Calc: 12 Deg       (Calcul
-                                        |----+-----Calc 2.00-----+----1
-                                        |FLR |CEIL|RND |TRNC|CLN2|FLT |
-                                        |----+----+----+----+----+----|
-                                        | LN |EXP |    |ABS |IDIV|MOD |
-                                        |----+----+----+----+----+----|
-                                        |SIN |COS |TAN |SQRT|y^x |1/x |
-                                        |----+----+----+----+----+----|
-                                        |  ENTER  |+/- |EEX |UNDO| <- |
-                                        |-----+---+-+--+--+-+---++----|
-                                        | INV |  7  |  8  |  9  |  /  |
-                                        |-----+-----+-----+-----+-----|
-                                        | HYP |  4  |  5  |  6  |  *  |
-                                        |-----+-----+-----+-----+-----|
-                                        |EXEC |  1  |  2  |  3  |  -  |
-                                        |-----+-----+-----+-----+-----|
-                                        | OFF |  0  |  .  | PI  |  +  |
-                                        |-----+-----+-----+-----+-----+
+@group
+|--- Emacs Calculator Mode ---
+|2:  17.3
+|1:  -5
+|    .
+|--%%-Calc: 12 Deg       (Calcul
+|----+-----Calc 2.1------+----1
+|FLR |CEIL|RND |TRNC|CLN2|FLT |
+|----+----+----+----+----+----|
+| LN |EXP |    |ABS |IDIV|MOD |
+|----+----+----+----+----+----|
+|SIN |COS |TAN |SQRT|y^x |1/x |
+|----+----+----+----+----+----|
+|  ENTER  |+/- |EEX |UNDO| <- |
+|-----+---+-+--+--+-+---++----|
+| INV |  7  |  8  |  9  |  /  |
+|-----+-----+-----+-----+-----|
+| HYP |  4  |  5  |  6  |  *  |
+|-----+-----+-----+-----+-----|
+|EXEC |  1  |  2  |  3  |  -  |
+|-----+-----+-----+-----+-----|
+| OFF |  0  |  .  | PI  |  +  |
+|-----+-----+-----+-----+-----+
+@end group
 @end smallexample
 
 Keypad mode is much easier for beginners to learn, because there
@@ -1005,7 +1190,7 @@ this buffer in the usual way while also clicking on the Calculator
 keypad.  One advantage of Keypad mode is that you don't need an
 explicit command to switch between editing and calculating.
 
-If you press @kbd{M-# b} first, you get a full-screen Keypad mode
+If you press @kbd{C-x * b} first, you get a full-screen Keypad mode
 (@code{full-calc-keypad}) with three windows:  The keypad in the lower
 left, the stack in the lower right, and the trail on top.
 
@@ -1033,13 +1218,13 @@ emacs -f full-calc-keypad
 @end example
 
 @noindent
-which run a full-screen Calculator (as if by @kbd{M-# b M-# c}) or
-a full-screen X-based Calculator (as if by @kbd{M-# b M-# k}).
+which run a full-screen Calculator (as if by @kbd{C-x * b C-x * c}) or
+a full-screen X-based Calculator (as if by @kbd{C-x * b C-x * k}).
 In standalone operation, quitting the Calculator (by pressing
 @kbd{q} or clicking on the keypad @key{EXIT} button) quits Emacs
 itself.
 
-@node Embedded Mode Overview, Other M-# Commands, Standalone Operation, Using Calc
+@node Embedded Mode Overview, Other C-x * Commands, Standalone Operation, Using Calc
 @subsection Embedded Mode (Overview)
 
 @noindent
@@ -1075,7 +1260,7 @@ is
 @end group
 @end smallexample
 
-Now, move the cursor onto this new formula and press @kbd{M-# e}.
+Now, move the cursor onto this new formula and press @kbd{C-x * e}.
 Calc will read the formula (using the surrounding blank lines to
 tell how much text to read), then push this formula (invisibly)
 onto the Calc stack.  The cursor will stay on the formula in the
@@ -1119,10 +1304,10 @@ is
 
 Calc has added annotations to the file to help it remember the modes
 that were used for this formula.  They are formatted like comments
-in the @TeX{} typesetting language, just in case you are using @TeX{}.
-(In this example @TeX{} is not being used, so you might want to move
-these comments up to the top of the file or otherwise put them out
-of the way.)
+in the @TeX{} typesetting language, just in case you are using @TeX{} or
+La@TeX{}. (In this example @TeX{} is not being used, so you might want
+to move these comments up to the top of the file or otherwise put them
+out of the way.)
 
 As an extra flourish, we can add an equation number using a
 righthand label:  Type @kbd{d @} (1) @key{RET}}.
@@ -1139,12 +1324,10 @@ righthand label:  Type @kbd{d @} (1) @key{RET}}.
 @end group
 @end smallexample
 
-To leave Embedded mode, type @kbd{M-# e} again.  The mode line
-and keyboard will revert to the way they were before.  (If you have
-actually been trying this as you read along, you'll want to press
-@kbd{M-# 0} [with the digit zero] now to reset the modes you changed.)
+To leave Embedded mode, type @kbd{C-x * e} again.  The mode line
+and keyboard will revert to the way they were before.
 
-The related command @kbd{M-# w} operates on a single word, which
+The related command @kbd{C-x * w} operates on a single word, which
 generally means a single number, inside text.  It uses any
 non-numeric characters rather than blank lines to delimit the
 formula it reads.  Here's an example of its use:
@@ -1153,10 +1336,10 @@ formula it reads.  Here's an example of its use:
 A slope of one-third corresponds to an angle of 1 degrees.
 @end smallexample
 
-Place the cursor on the @samp{1}, then type @kbd{M-# w} to enable
+Place the cursor on the @samp{1}, then type @kbd{C-x * w} to enable
 Embedded mode on that number.  Now type @kbd{3 /} (to get one-third),
 and @kbd{I T} (the Inverse Tangent converts a slope into an angle),
-then @w{@kbd{M-# w}} again to exit Embedded mode.
+then @w{@kbd{C-x * w}} again to exit Embedded mode.
 
 @smallexample
 A slope of one-third corresponds to an angle of 18.4349488229 degrees.
@@ -1165,48 +1348,51 @@ A slope of one-third corresponds to an angle of 18.4349488229 degrees.
 @c [fix-ref Embedded Mode]
 @xref{Embedded Mode}, for full details.
 
-@node Other M-# Commands, , Embedded Mode Overview, Using Calc
-@subsection Other @kbd{M-#} Commands
+@node Other C-x * Commands, , Embedded Mode Overview, Using Calc
+@subsection Other @kbd{C-x *} Commands
 
 @noindent
-Two more Calc-related commands are @kbd{M-# g} and @kbd{M-# r},
+Two more Calc-related commands are @kbd{C-x * g} and @kbd{C-x * r},
 which ``grab'' data from a selected region of a buffer into the
 Calculator.  The region is defined in the usual Emacs way, by
 a ``mark'' placed at one end of the region, and the Emacs
 cursor or ``point'' placed at the other.
 
-The @kbd{M-# g} command reads the region in the usual left-to-right,
+The @kbd{C-x * g} command reads the region in the usual left-to-right,
 top-to-bottom order.  The result is packaged into a Calc vector
 of numbers and placed on the stack.  Calc (in its standard
 user interface) is then started.  Type @kbd{v u} if you want
 to unpack this vector into separate numbers on the stack.  Also,
-@kbd{C-u M-# g} interprets the region as a single number or
+@kbd{C-u C-x * g} interprets the region as a single number or
 formula.
 
-The @kbd{M-# r} command reads a rectangle, with the point and
+The @kbd{C-x * r} command reads a rectangle, with the point and
 mark defining opposite corners of the rectangle.  The result
 is a matrix of numbers on the Calculator stack.
 
-Complementary to these is @kbd{M-# y}, which ``yanks'' the
+Complementary to these is @kbd{C-x * y}, which ``yanks'' the
 value at the top of the Calc stack back into an editing buffer.
-If you type @w{@kbd{M-# y}} while in such a buffer, the value is
-yanked at the current position.  If you type @kbd{M-# y} while
+If you type @w{@kbd{C-x * y}} while in such a buffer, the value is
+yanked at the current position.  If you type @kbd{C-x * y} while
 in the Calc buffer, Calc makes an educated guess as to which
 editing buffer you want to use.  The Calc window does not have
 to be visible in order to use this command, as long as there
 is something on the Calc stack.
 
-Here, for reference, is the complete list of @kbd{M-#} commands.
+Here, for reference, is the complete list of @kbd{C-x *} commands.
 The shift, control, and meta keys are ignored for the keystroke
-following @kbd{M-#}.
+following @kbd{C-x *}.
 
 @noindent
 Commands for turning Calc on and off:
 
 @table @kbd
-@item #
+@item *
 Turn Calc on or off, employing the same user interface as last time.
 
+@item =, +, -, /, \, &, #
+Alternatives for @kbd{*}.
+
 @item C
 Turn Calc on or off using its standard bottom-of-the-screen
 interface.  If Calc is already turned on but the cursor is not
@@ -1218,7 +1404,7 @@ Calc is already turned on and the cursor is in the Calc window,
 move it out of that window.
 
 @item B
-Control whether @kbd{M-# c} and @kbd{M-# k} use the full screen.
+Control whether @kbd{C-x * c} and @kbd{C-x * k} use the full screen.
 
 @item Q
 Use Quick mode for a single short calculation.
@@ -1325,8 +1511,7 @@ and record them as the current keyboard macro.
 
 @item 0
 (This is the ``zero'' digit key.)  Reset the Calculator to
-its default state:  Empty stack, and default mode settings.
-With any prefix argument, reset everything but the stack.
+its initial state:  Empty stack, and initial mode settings.
 @end table
 
 @node History and Acknowledgements, , Using Calc, Getting Started
@@ -1367,13 +1552,13 @@ to look around for other data types that might be worth having.
 
 Around this time, my friend Rick Koshi showed me his nifty new HP-28
 calculator.  It allowed the user to manipulate formulas as well as
-numerical quantities, and it could also operate on matrices.  I decided
-that these would be good for Calc to have, too.  And once things had
-gone this far, I figured I might as well take a look at serious algebra
-systems like Mathematica, Macsyma, and Maple for further ideas.  Since
-these systems did far more than I could ever hope to implement, I decided
-to focus on rewrite rules and other programming features so that users
-could implement what they needed for themselves.
+numerical quantities, and it could also operate on matrices.  I
+decided that these would be good for Calc to have, too.  And once
+things had gone this far, I figured I might as well take a look at
+serious algebra systems for further ideas.  Since these systems did
+far more than I could ever hope to implement, I decided to focus on
+rewrite rules and other programming features so that users could
+implement what they needed for themselves.
 
 Rick complained that matrices were hard to read, so I put in code to
 format them in a 2D style.  Once these routines were in place, Big mode
@@ -1394,7 +1579,7 @@ Many people have contributed to Calc by reporting bugs and suggesting
 features, large and small.  A few deserve special mention:  Tim Peters,
 who helped develop the ideas that led to the selection commands, rewrite
 rules, and many other algebra features; 
-@texline Fran\c cois
+@texline Fran\c{c}ois
 @infoline Francois
 Pinard, who contributed an early prototype of the Calc Summary appendix
 as well as providing valuable suggestions in many other areas of Calc;
@@ -1414,16 +1599,14 @@ parts.  Bob Weiner helped immensely with the Lucid Emacs port.
 Among the books used in the development of Calc were Knuth's @emph{Art
 of Computer Programming} (especially volume II, @emph{Seminumerical
 Algorithms}); @emph{Numerical Recipes} by Press, Flannery, Teukolsky,
-and Vetterling; Bevington's @emph{Data Reduction and Error Analysis for
-the Physical Sciences}; @emph{Concrete Mathematics} by Graham, Knuth,
-and Patashnik; Steele's @emph{Common Lisp, the Language}; the @emph{CRC
-Standard Math Tables} (William H. Beyer, ed.); and Abramowitz and
-Stegun's venerable @emph{Handbook of Mathematical Functions}.  I
-consulted the user's manuals for the HP-28 and HP-48 calculators, as
-well as for the programs Mathematica, SMP, Macsyma, Maple, MathCAD,
-Gnuplot, and others.  Also, of course, Calc could not have been written
-without the excellent @emph{GNU Emacs Lisp Reference Manual}, by Bil
-Lewis and Dan LaLiberte.
+and Vetterling; Bevington's @emph{Data Reduction and Error Analysis
+for the Physical Sciences}; @emph{Concrete Mathematics} by Graham,
+Knuth, and Patashnik; Steele's @emph{Common Lisp, the Language}; the
+@emph{CRC Standard Math Tables} (William H. Beyer, ed.); and
+Abramowitz and Stegun's venerable @emph{Handbook of Mathematical
+Functions}.  Also, of course, Calc could not have been written without
+the excellent @emph{GNU Emacs Lisp Reference Manual}, by Bil Lewis and
+Dan LaLiberte.
 
 Final thanks go to Richard Stallman, without whose fine implementations
 of the Emacs editor, language, and environment, Calc would have been
@@ -1432,7 +1615,7 @@ finished in two weeks.
 @c [tutorial]
 
 @ifinfo
-@c This node is accessed by the `M-# t' command.
+@c This node is accessed by the `C-x * t' command.
 @node Interactive Tutorial, , , Top
 @chapter Tutorial
 
@@ -1486,16 +1669,16 @@ the Embedded mode interface.
 The easiest way to read this tutorial on-line is to have two windows on
 your Emacs screen, one with Calc and one with the Info system.  (If you
 have a printed copy of the manual you can use that instead.)  Press
-@kbd{M-# c} to turn Calc on or to switch into the Calc window, and
-press @kbd{M-# i} to start the Info system or to switch into its window.
+@kbd{C-x * c} to turn Calc on or to switch into the Calc window, and
+press @kbd{C-x * i} to start the Info system or to switch into its window.
 Or, you may prefer to use the tutorial in printed form.
 @end ifinfo
 @iftex
 The easiest way to read this tutorial on-line is to have two windows on
 your Emacs screen, one with Calc and one with the Info system.  (If you
 have a printed copy of the manual you can use that instead.)  Press
-@kbd{M-# c} to turn Calc on or to switch into the Calc window, and
-press @kbd{M-# i} to start the Info system or to switch into its window.
+@kbd{C-x * c} to turn Calc on or to switch into the Calc window, and
+press @kbd{C-x * i} to start the Info system or to switch into its window.
 @end iftex
 
 This tutorial is designed to be done in sequence.  But the rest of this
@@ -1505,8 +1688,8 @@ general areas.
 
 @ifinfo
 You may wish to print out a copy of the Calc Summary and keep notes on
-it as you learn Calc.  @xref{Installation}, to see how to make a printed
-summary.  @xref{Summary}.
+it as you learn Calc.  @xref{About This Manual}, to see how to make a
+printed summary.  @xref{Summary}.
 @end ifinfo
 @iftex
 The Calc Summary at the end of the reference manual includes some blank
@@ -1576,8 +1759,8 @@ number of operands from the stack and pushes back the result.
 Thus we could add the numbers 2 and 3 in an RPN calculator by typing:
 @kbd{2 @key{RET} 3 @key{RET} +}.  (The @key{RET} key, Return, corresponds to
 the @key{ENTER} key on traditional RPN calculators.)  Try this now if
-you wish; type @kbd{M-# c} to switch into the Calc window (you can type
-@kbd{M-# c} again or @kbd{M-# o} to switch back to the Tutorial window).
+you wish; type @kbd{C-x * c} to switch into the Calc window (you can type
+@kbd{C-x * c} again or @kbd{C-x * o} to switch back to the Tutorial window).
 The first four keystrokes ``push'' the numbers 2 and 3 onto the stack.
 The @kbd{+} key ``pops'' the top two numbers from the stack, adds them,
 and pushes the result (5) back onto the stack.  Here's how the stack
@@ -1589,7 +1772,7 @@ will look at various points throughout the calculation:
                    .          1:  3              .
                                   .
 
-  M-# c          2 @key{RET}          3 @key{RET}            +             @key{DEL}
+  C-x * c          2 @key{RET}          3 @key{RET}            +             @key{DEL}
 @end group
 @end smallexample
 
@@ -2238,7 +2421,7 @@ when we discuss the algebra and calculus features of the Calculator.
 @noindent
 If you make a mistake, you can usually correct it by pressing shift-@kbd{U},
 the ``undo'' command.  First, clear the stack (@kbd{M-0 @key{DEL}}) and exit
-and restart Calc (@kbd{M-# M-# M-# M-#}) to make sure things start off
+and restart Calc (@kbd{C-x * * C-x * *}) to make sure things start off
 with a clean slate.  Now:
 
 @smallexample
@@ -3897,7 +4080,7 @@ of values in a file we have loaded into Emacs:
 
 @noindent
 If you are reading this tutorial in printed form, you will find it
-easiest to press @kbd{M-# i} to enter the on-line Info version of
+easiest to press @kbd{C-x * i} to enter the on-line Info version of
 the manual and find this table there.  (Press @kbd{g}, then type
 @kbd{List Tutorial}, to jump straight to this section.)
 
@@ -3906,7 +4089,7 @@ to the left of the @expr{1.34}.  Press @kbd{C-@@} to set the mark.
 (On your system this may be @kbd{C-2}, @kbd{C-@key{SPC}}, or @kbd{NUL}.)
 Now position the cursor to the lower-right, just after the @expr{1.354}.
 You have now defined this region as an Emacs ``rectangle.''  Still
-in the Info buffer, type @kbd{M-# r}.  This command
+in the Info buffer, type @kbd{C-x * r}.  This command
 (@code{calc-grab-rectangle}) will pop you back into the Calculator, with
 the contents of the rectangle you specified in the form of a matrix.
 
@@ -4119,8 +4302,8 @@ even @kbd{V R x max @key{RET}} if you had preferred.)
 
 If your system has the GNUPLOT program, you can see graphs of your
 data and your straight line to see how well they match.  (If you have
-GNUPLOT 3.0, the following instructions will work regardless of the
-kind of display you have.  Some GNUPLOT 2.0, non-X-windows systems
+GNUPLOT 3.0 or higher, the following instructions will work regardless
+of the kind of display you have.  Some GNUPLOT 2.0, non-X-windows systems
 may require additional steps to view the graphs.)
 
 Let's start by plotting the original data.  Recall the ``@var{x}'' and ``@var{y}''
@@ -4176,7 +4359,7 @@ to solve for @expr{m} and @expr{b}, duplicating the above result.
 
 @cindex Geometric mean
 (@bullet{}) @strong{Exercise 3.}  If the input data do not form a
-rectangle, you can use @w{@kbd{M-# g}} (@code{calc-grab-region})
+rectangle, you can use @w{@kbd{C-x * g}} (@code{calc-grab-region})
 to grab the data the way Emacs normally works with regions---it reads
 left-to-right, top-to-bottom, treating line breaks the same as spaces.
 Use this command to find the geometric mean of the following numbers.
@@ -4189,7 +4372,7 @@ Use this command to find the geometric mean of the following numbers.
 @end example
 
 @noindent
-The @kbd{M-# g} command accepts numbers separated by spaces or commas,
+The @kbd{C-x * g} command accepts numbers separated by spaces or commas,
 with or without surrounding vector brackets.
 @xref{List Answer 3, 3}. (@bullet{})
 
@@ -4924,7 +5107,7 @@ numbers are in which units:
 @end smallexample
 
 To see a complete list of built-in units, type @kbd{u v}.  Press
-@w{@kbd{M-# c}} again to re-enter the Calculator when you're done looking
+@w{@kbd{C-x * c}} again to re-enter the Calculator when you're done looking
 at the units table.
 
 (@bullet{}) @strong{Exercise 13.}  How many seconds are there really
@@ -5216,7 +5399,8 @@ One more mode that makes reading formulas easier is Big mode.
 
 Here things like powers, square roots, and quotients and fractions
 are displayed in a two-dimensional pictorial form.  Calc has other
-language modes as well, such as C mode, FORTRAN mode, and @TeX{} mode.
+language modes as well, such as C mode, FORTRAN mode, @TeX{} mode
+and La@TeX{} mode.
 
 @smallexample
 @group
@@ -5602,8 +5786,8 @@ entering them on the fly.
 
 (@bullet{}) @strong{Exercise 1.}  Type @kbd{m s} to get Symbolic
 mode, then enter the formula @samp{@w{(2 + sqrt(2))} / @w{(1 + sqrt(2))}}.
-Using a rewrite rule, simplify this formula by multiplying both
-sides by the conjugate @w{@samp{1 - sqrt(2)}}.  The result will have
+Using a rewrite rule, simplify this formula by multiplying the top and
+bottom by the conjugate @w{@samp{1 - sqrt(2)}}.  The result will have
 to be expanded by the distributive law; do this with another
 rewrite.  @xref{Rewrites Answer 1, 1}. (@bullet{})
 
@@ -6389,9 +6573,9 @@ The @file{edmacro} package defines a handy @code{read-kbd-macro} command
 which reads the current region of the current buffer as a sequence of
 keystroke names, and defines that sequence on the @kbd{X} 
 (and @kbd{C-x e}) key.  Because this is so useful, Calc puts this
-command on the @kbd{M-# m} key.  Try reading in this macro in the
+command on the @kbd{C-x * m} key.  Try reading in this macro in the
 following form:  Press @kbd{C-@@} (or @kbd{C-@key{SPC}}) at 
-one end of the text below, then type @kbd{M-# m} at the other.
+one end of the text below, then type @kbd{C-x * m} at the other.
 
 @example
 @group
@@ -6541,7 +6725,7 @@ it to a key with, e.g., @kbd{Z K s}.  Now enter the true definition,
 using the @kbd{z s} command to call itself recursively, then assign it
 to the same key with @kbd{Z K s}.  Now the @kbd{z s} command will run
 the complete recursive program.  (Another way is to use @w{@kbd{Z E}}
-or @kbd{M-# m} (@code{read-kbd-macro}) to read the whole macro at once,
+or @kbd{C-x * m} (@code{read-kbd-macro}) to read the whole macro at once,
 thus avoiding the ``training'' phase.)  The task:  Write a program
 that computes Stirling numbers of the first kind, given @expr{n} and
 @expr{m} on the stack.  Test it with @emph{small} inputs like
@@ -7333,7 +7517,7 @@ fits.  @xref{Curve Fitting}.
 @noindent
 Move to one end of the list and press @kbd{C-@@} (or @kbd{C-@key{SPC}} or
 whatever) to set the mark, then move to the other end of the list
-and type @w{@kbd{M-# g}}.
+and type @w{@kbd{C-x * g}}.
 
 @smallexample
 @group
@@ -9069,9 +9253,9 @@ apply and the rewrites will stop right away.
 @starindex
 @end ignore
 @tindex nterms
-If @expr{x} is the sum @expr{a + b}, then `@t{nterms(}@var{x}@t{)}' must
-be `@t{nterms(}@var{a}@t{)}' plus `@t{nterms(}@var{b}@t{)}'.  If @expr{x}
-is not a sum, then `@t{nterms(}@var{x}@t{)}' = 1.
+If @expr{x} is the sum @expr{a + b}, then `@tfn{nterms(}@var{x}@tfn{)}' must
+be `@tfn{nterms(}@var{a}@tfn{)}' plus `@tfn{nterms(}@var{b}@tfn{)}'.  If @expr{x}
+is not a sum, then `@tfn{nterms(}@var{x}@tfn{)}' = 1.
 
 @smallexample
 @group
@@ -9328,7 +9512,7 @@ the formula
 @infoline @expr{x - f(x)/f'(x)}.
 
 (Because this definition is long, it will be repeated in concise form
-below.  You can use @w{@kbd{M-# m}} to load it from there.  While you are
+below.  You can use @w{@kbd{C-x * m}} to load it from there.  While you are
 entering a @kbd{Z ` Z '} body in a macro, Calc simply collects
 keystrokes without executing them.  In the following diagrams we'll
 pretend Calc actually executed the keystrokes as you typed them,
@@ -9450,7 +9634,7 @@ and remember to add back a factor of @expr{-1/z} when we're done.  This
 step is repeated until @expr{z > 5}.
 
 (Because this definition is long, it will be repeated in concise form
-below.  You can use @w{@kbd{M-# m}} to load it from there.  While you are
+below.  You can use @w{@kbd{C-x * m}} to load it from there.  While you are
 entering a @kbd{Z ` Z '} body in a macro, Calc simply collects
 keystrokes without executing them.  In the following diagrams we'll
 pretend Calc actually executed the keystrokes as you typed them,
@@ -9571,7 +9755,7 @@ derivative of a polynomial, evaluated at @expr{x = 0}, will equal the
 coefficient on the @expr{x^n} term times @expr{n!}.
 
 (Because this definition is long, it will be repeated in concise form
-below.  You can use @w{@kbd{M-# m}} to load it from there.  While you are
+below.  You can use @w{@kbd{C-x * m}} to load it from there.  While you are
 entering a @kbd{Z ` Z '} body in a macro, Calc simply collects
 keystrokes without executing them.  In the following diagrams we'll
 pretend Calc actually executed the keystrokes as you typed them,
@@ -9680,7 +9864,7 @@ definition.  The recurrence needs to be rewritten slightly,
 to the form @expr{s(n,m) = s(n-1,m-1) - (n-1) s(n-1,m)}.
 
 (Because this definition is long, it will be repeated in concise form
-below.  You can use @kbd{M-# m} to load it from there.)
+below.  You can use @kbd{C-x * m} to load it from there.)
 
 @smallexample
 @group
@@ -9754,10 +9938,10 @@ C-x )
 @end group
 @end example
 
-You can read this definition using @kbd{M-# m} (@code{read-kbd-macro})
+You can read this definition using @kbd{C-x * m} (@code{read-kbd-macro})
 followed by @kbd{Z K s}, without having to make a dummy definition
 first, because @code{read-kbd-macro} doesn't need to execute the
-definition as it reads it in.  For this reason, @code{M-# m} is often
+definition as it reads it in.  For this reason, @code{C-x * m} is often
 the easiest way to create recursive programs in Calc.
 
 @node Programming Answer 12, , Programming Answer 11, Answers to Exercises
@@ -9819,7 +10003,6 @@ numeric entry, undo, numeric prefix arguments, etc.
 * Numeric Entry::
 * Algebraic Entry::
 * Quick Calculator::
-* Keypad Mode::
 * Prefix Arguments::
 * Undo::
 * Error Messages::
@@ -9848,15 +10031,14 @@ still work when the trail buffer's window is selected.  It is possible
 to turn the trail window off, but the @samp{*Calc Trail*} buffer itself
 still exists and is updated silently.  @xref{Trail Commands}.
 
-@kindex M-# c
-@kindex M-# M-#
+@kindex C-x * c
+@kindex C-x * *
 @ignore
 @mindex @null
 @end ignore
-@kindex M-# #
-In most installations, the @kbd{M-# c} key sequence is a more
-convenient way to start the Calculator.  Also, @kbd{M-# M-#} and
-@kbd{M-# #} are synonyms for @kbd{M-# c} unless you last used Calc
+In most installations, the @kbd{C-x * c} key sequence is a more
+convenient way to start the Calculator.  Also, @kbd{C-x * *} 
+is a synonym for @kbd{C-x * c} unless you last used Calc
 in its Keypad mode.
 
 @kindex x
@@ -9872,7 +10054,7 @@ for you.  For example, the following key sequences are equivalent:
 
 @cindex Extensions module
 @cindex @file{calc-ext} module
-The Calculator exists in many parts.  When you type @kbd{M-# c}, the
+The Calculator exists in many parts.  When you type @kbd{C-x * c}, the
 Emacs ``auto-load'' mechanism will bring in only the first part, which
 contains the basic arithmetic functions.  The other parts will be
 auto-loaded the first time you use the more advanced commands like trig
@@ -9880,48 +10062,48 @@ functions or matrix operations.  This is done to improve the response time
 of the Calculator in the common case when all you need to do is a
 little arithmetic.  If for some reason the Calculator fails to load an
 extension module automatically, you can force it to load all the
-extensions by using the @kbd{M-# L} (@code{calc-load-everything})
+extensions by using the @kbd{C-x * L} (@code{calc-load-everything})
 command.  @xref{Mode Settings}.
 
-If you type @kbd{M-x calc} or @kbd{M-# c} with any numeric prefix argument,
+If you type @kbd{M-x calc} or @kbd{C-x * c} with any numeric prefix argument,
 the Calculator is loaded if necessary, but it is not actually started.
 If the argument is positive, the @file{calc-ext} extensions are also
 loaded if necessary.  User-written Lisp code that wishes to make use
 of Calc's arithmetic routines can use @samp{(calc 0)} or @samp{(calc 1)}
 to auto-load the Calculator.
 
-@kindex M-# b
+@kindex C-x * b
 @pindex full-calc
-If you type @kbd{M-# b}, then next time you use @kbd{M-# c} you
+If you type @kbd{C-x * b}, then next time you use @kbd{C-x * c} you
 will get a Calculator that uses the full height of the Emacs screen.
-When full-screen mode is on, @kbd{M-# c} runs the @code{full-calc}
+When full-screen mode is on, @kbd{C-x * c} runs the @code{full-calc}
 command instead of @code{calc}.  From the Unix shell you can type
 @samp{emacs -f full-calc} to start a new Emacs specifically for use
 as a calculator.  When Calc is started from the Emacs command line
 like this, Calc's normal ``quit'' commands actually quit Emacs itself.
 
-@kindex M-# o
+@kindex C-x * o
 @pindex calc-other-window
-The @kbd{M-# o} command is like @kbd{M-# c} except that the Calc
+The @kbd{C-x * o} command is like @kbd{C-x * c} except that the Calc
 window is not actually selected.  If you are already in the Calc
-window, @kbd{M-# o} switches you out of it.  (The regular Emacs
+window, @kbd{C-x * o} switches you out of it.  (The regular Emacs
 @kbd{C-x o} command would also work for this, but it has a
 tendency to drop you into the Calc Trail window instead, which
-@kbd{M-# o} takes care not to do.)
+@kbd{C-x * o} takes care not to do.)
 
 @ignore
-@mindex M-# q
+@mindex C-x * q
 @end ignore
-For one quick calculation, you can type @kbd{M-# q} (@code{quick-calc})
+For one quick calculation, you can type @kbd{C-x * q} (@code{quick-calc})
 which prompts you for a formula (like @samp{2+3/4}).  The result is
 displayed at the bottom of the Emacs screen without ever creating
 any special Calculator windows.  @xref{Quick Calculator}.
 
 @ignore
-@mindex M-# k
+@mindex C-x * k
 @end ignore
 Finally, if you are using the X window system you may want to try
-@kbd{M-# k} (@code{calc-keypad}) which runs Calc with a
+@kbd{C-x * k} (@code{calc-keypad}) which runs Calc with a
 ``calculator keypad'' picture as well as a stack display.  Click on
 the keys with the mouse to operate the calculator.  @xref{Keypad Mode}.
 
@@ -9932,13 +10114,13 @@ the keys with the mouse to operate the calculator.  @xref{Keypad Mode}.
 The @kbd{q} key (@code{calc-quit}) exits Calc mode and closes the
 Calculator's window(s).  It does not delete the Calculator buffers.
 If you type @kbd{M-x calc} again, the Calculator will reappear with the
-contents of the stack intact.  Typing @kbd{M-# c} or @kbd{M-# M-#}
+contents of the stack intact.  Typing @kbd{C-x * c} or @kbd{C-x * *}
 again from inside the Calculator buffer is equivalent to executing
-@code{calc-quit}; you can think of @kbd{M-# M-#} as toggling the
+@code{calc-quit}; you can think of @kbd{C-x * *} as toggling the
 Calculator on and off.
 
-@kindex M-# x
-The @kbd{M-# x} command also turns the Calculator off, no matter which
+@kindex C-x * x
+The @kbd{C-x * x} command also turns the Calculator off, no matter which
 user interface (standard, Keypad, or Embedded) is currently active.
 It also cancels @code{calc-edit} mode if used from there.
 
@@ -9978,14 +10160,19 @@ The @kbd{@{} and @kbd{@}} keys are bound to @code{calc-scroll-down}
 and @code{calc-scroll-up}.  They scroll up or down by one-half the
 height of the Calc window.
 
-@kindex M-# 0
+@kindex C-x * 0
 @pindex calc-reset
-The @kbd{M-# 0} command (@code{calc-reset}; that's @kbd{M-#} followed
-by a zero) resets the Calculator to its default state.  This clears
-the stack, resets all the modes, clears the caches (@pxref{Caches}),
-and so on.  (It does @emph{not} erase the values of any variables.)
-With a numeric prefix argument, @kbd{M-# 0} preserves the contents
-of the stack but resets everything else.
+The @kbd{C-x * 0} command (@code{calc-reset}; that's @kbd{C-x *} followed
+by a zero) resets the Calculator to its initial state.  This clears
+the stack, resets all the modes to their initial values (the values
+that were saved with @kbd{m m} (@code{calc-save-modes})), clears the
+caches (@pxref{Caches}), and so on.  (It does @emph{not} erase the
+values of any variables.) With an argument of 0, Calc will be reset to
+its default state; namely, the modes will be given their default values.
+With a positive prefix argument, @kbd{C-x * 0} preserves the contents of
+the stack but resets everything else to its initial state; with a
+negative prefix argument, @kbd{C-x * 0} preserves the contents of the
+stack but resets everything else to its default state.
 
 @pindex calc-version
 The @kbd{M-x calc-version} command displays the current version number
@@ -10018,21 +10205,21 @@ provide help within Calc.  Many of the @kbd{h} key functions are
 Calc-specific analogues to the @kbd{C-h} functions for Emacs help.
 
 @kindex h i
-@kindex M-# i
+@kindex C-x * i
 @kindex i
 @pindex calc-info
 The @kbd{h i} (@code{calc-info}) command runs the Emacs Info system
 to read this manual on-line.  This is basically the same as typing
 @kbd{C-h i} (the regular way to run the Info system), then, if Info
 is not already in the Calc manual, selecting the beginning of the
-manual.  The @kbd{M-# i} command is another way to read the Calc
+manual.  The @kbd{C-x * i} command is another way to read the Calc
 manual; it is different from @kbd{h i} in that it works any time,
 not just inside Calc.  The plain @kbd{i} key is also equivalent to
 @kbd{h i}, though this key is obsolete and may be replaced with a
 different command in a future version of Calc.
 
 @kindex h t
-@kindex M-# t
+@kindex C-x * t
 @pindex calc-tutorial
 The @kbd{h t} (@code{calc-tutorial}) command runs the Info system on
 the Tutorial section of the Calc manual.  It is like @kbd{h i},
@@ -10040,14 +10227,14 @@ except that it selects the starting node of the tutorial rather
 than the beginning of the whole manual.  (It actually selects the
 node ``Interactive Tutorial'' which tells a few things about
 using the Info system before going on to the actual tutorial.)
-The @kbd{M-# t} key is equivalent to @kbd{h t} (but it works at
+The @kbd{C-x * t} key is equivalent to @kbd{h t} (but it works at
 all times).
 
 @kindex h s
-@kindex M-# s
+@kindex C-x * s
 @pindex calc-info-summary
 The @kbd{h s} (@code{calc-info-summary}) command runs the Info system
-on the Summary node of the Calc manual.  @xref{Summary}.  The @kbd{M-# s}
+on the Summary node of the Calc manual.  @xref{Summary}.  The @kbd{C-x * s}
 key is equivalent to @kbd{h s}.
 
 @kindex h k
@@ -10325,11 +10512,11 @@ you might then press @kbd{=} when it is time to evaluate this formula.
 @section ``Quick Calculator'' Mode
 
 @noindent
-@kindex M-# q
+@kindex C-x * q
 @pindex quick-calc
 @cindex Quick Calculator
 There is another way to invoke the Calculator if all you need to do
-is make one or two quick calculations.  Type @kbd{M-# q} (or
+is make one or two quick calculations.  Type @kbd{C-x * q} (or
 @kbd{M-x quick-calc}), then type any formula as an algebraic entry.
 The Calculator will compute the result and display it in the echo
 area, without ever actually putting up a Calc window.
@@ -10338,11 +10525,11 @@ You can use the @kbd{$} character in a Quick Calculator formula to
 refer to the previous Quick Calculator result.  Older results are
 not retained; the Quick Calculator has no effect on the full
 Calculator's stack or trail.  If you compute a result and then
-forget what it was, just run @code{M-# q} again and enter
+forget what it was, just run @code{C-x * q} again and enter
 @samp{$} as the formula.
 
 If this is the first time you have used the Calculator in this Emacs
-session, the @kbd{M-# q} command will create the @code{*Calculator*}
+session, the @kbd{C-x * q} command will create the @code{*Calculator*}
 buffer and perform all the usual initializations; it simply will
 refrain from putting that buffer up in a new window.  The Quick
 Calculator refers to the @code{*Calculator*} buffer for all mode
@@ -10350,15 +10537,15 @@ settings.  Thus, for example, to set the precision that the Quick
 Calculator uses, simply run the full Calculator momentarily and use
 the regular @kbd{p} command.
 
-If you use @code{M-# q} from inside the Calculator buffer, the
+If you use @code{C-x * q} from inside the Calculator buffer, the
 effect is the same as pressing the apostrophe key (algebraic entry).
 
 The result of a Quick calculation is placed in the Emacs ``kill ring''
 as well as being displayed.  A subsequent @kbd{C-y} command will
 yank the result into the editing buffer.  You can also use this
-to yank the result into the next @kbd{M-# q} input line as a more
+to yank the result into the next @kbd{C-x * q} input line as a more
 explicit alternative to @kbd{$} notation, or to yank the result
-into the Calculator stack after typing @kbd{M-# c}.
+into the Calculator stack after typing @kbd{C-x * c}.
 
 If you finish your formula by typing @key{LFD} (or @kbd{C-j}) instead
 of @key{RET}, the result is inserted immediately into the current
@@ -10454,7 +10641,7 @@ queried whether or not to restore the variable to its original value.
 The @kbd{U} key may be pressed any number of times to undo successively
 farther back in time; with a numeric prefix argument it undoes a
 specified number of operations.  The undo history is cleared only by the
-@kbd{q} (@code{calc-quit}) command.  (Recall that @kbd{M-# c} is
+@kbd{q} (@code{calc-quit}) command.  (Recall that @kbd{C-x * c} is
 synonymous with @code{calc-quit} while inside the Calculator; this
 also clears the undo history.)
 
@@ -10530,7 +10717,7 @@ that you must always press @kbd{w} yourself to see the messages).
 @pindex another-calc
 It is possible to have any number of Calc mode buffers at once.
 Usually this is done by executing @kbd{M-x another-calc}, which
-is similar to @kbd{M-# c} except that if a @samp{*Calculator*}
+is similar to @kbd{C-x * c} except that if a @samp{*Calculator*}
 buffer already exists, a new, independent one with a name of the
 form @samp{*Calculator*<@var{n}>} is created.  You can also use the
 command @code{calc-mode} to put any buffer into Calculator mode, but
@@ -10577,18 +10764,13 @@ Occasionally Calc may lose track of when a certain component is
 necessary; typically this means you will type a command and it won't
 work because some function you've never heard of was undefined.
 
-@kindex M-# L
+@kindex C-x * L
 @pindex calc-load-everything
-If this happens, the easiest workaround is to type @kbd{M-# L}
+If this happens, the easiest workaround is to type @kbd{C-x * L}
 (@code{calc-load-everything}) to force all the parts of Calc to be
 loaded right away.  This will cause Emacs to take up a lot more
 memory than it would otherwise, but it's guaranteed to fix the problem.
 
-If you seem to run into this problem no matter what you do, or if
-even the @kbd{M-# L} command crashes, Calc may have been improperly
-installed.  @xref{Installation}, for details of the installation
-process.
-
 @node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands
 @subsection Recursion Depth
 
@@ -10643,7 +10825,7 @@ data points computed by the graphing commands.
 If you suspect a Calculator cache has become corrupt, you can use the
 @code{calc-flush-caches} command to reset all caches to the empty state.
 (This should only be necessary in the event of bugs in the Calculator.)
-The @kbd{M-# 0} (with the zero key) command also resets caches along
+The @kbd{C-x * 0} (with the zero key) command also resets caches along
 with all other aspects of the Calculator's state.
 
 @node Debugging Calc, , Caches, Troubleshooting Commands
@@ -10865,8 +11047,8 @@ Rectangular complex numbers can also be displayed in @samp{@var{a}+@var{b}i}
 notation; @pxref{Complex Formats}.
 
 Polar complex numbers are displayed in the form 
-@texline `@t{(}@var{r}@t{;}@math{\theta}@t{)}'
-@infoline `@t{(}@var{r}@t{;}@var{theta}@t{)}'
+@texline `@tfn{(}@var{r}@tfn{;}@math{\theta}@tfn{)}'
+@infoline `@tfn{(}@var{r}@tfn{;}@var{theta}@tfn{)}'
 where @var{r} is the nonnegative magnitude and 
 @texline @math{\theta}
 @infoline @var{theta} 
@@ -11283,13 +11465,28 @@ conversions.
 A @dfn{modulo form} is a real number which is taken modulo (i.e., within
 an integer multiple of) some value @var{M}.  Arithmetic modulo @var{M}
 often arises in number theory.  Modulo forms are written
-`@var{a} @t{mod} @var{M}',
+`@var{a} @tfn{mod} @var{M}',
 where @var{a} and @var{M} are real numbers or HMS forms, and
 @texline @math{0 \le a < M}.
 @infoline @expr{0 <= a < @var{M}}.
 In many applications @expr{a} and @expr{M} will be
 integers but this is not required.
 
+@ignore
+@mindex M
+@end ignore
+@kindex M (modulo forms)
+@ignore
+@mindex mod
+@end ignore
+@tindex mod (operator)
+To create a modulo form during numeric entry, press the shift-@kbd{M}
+key to enter the word @samp{mod}.  As a special convenience, pressing
+shift-@kbd{M} a second time automatically enters the value of @expr{M}
+that was most recently used before.  During algebraic entry, either
+type @samp{mod} by hand or press @kbd{M-m} (that's @kbd{@key{META}-m}).
+Once again, pressing this a second time enters the current modulo.
+
 Modulo forms are not to be confused with the modulo operator @samp{%}.
 The expression @samp{27 % 10} means to compute 27 modulo 10 to produce
 the result 7.  Further computations treat this 7 as just a regular integer.
@@ -11307,39 +11504,21 @@ are integers, this calculation is done much more efficiently than
 actually computing the power and then reducing.)
 
 @cindex Modulo division
-Two modulo forms `@var{a} @t{mod} @var{M}' and `@var{b} @t{mod} @var{M}'
+Two modulo forms `@var{a} @tfn{mod} @var{M}' and `@var{b} @tfn{mod} @var{M}'
 can be divided if @expr{a}, @expr{b}, and @expr{M} are all
 integers.  The result is the modulo form which, when multiplied by
-`@var{b} @t{mod} @var{M}', produces `@var{a} @t{mod} @var{M}'.  If
+`@var{b} @tfn{mod} @var{M}', produces `@var{a} @tfn{mod} @var{M}'.  If
 there is no solution to this equation (which can happen only when
 @expr{M} is non-prime), or if any of the arguments are non-integers, the
 division is left in symbolic form.  Other operations, such as square
 roots, are not yet supported for modulo forms.  (Note that, although
-@w{`@t{(}@var{a} @t{mod} @var{M}@t{)^.5}'} will compute a ``modulo square root''
+@w{`@tfn{(}@var{a} @tfn{mod} @var{M}@tfn{)^.5}'} will compute a ``modulo square root''
 in the sense of reducing 
 @texline @math{\sqrt a}
 @infoline @expr{sqrt(a)} 
 modulo @expr{M}, this is not a useful definition from the
 number-theoretical point of view.)
 
-@ignore
-@mindex M
-@end ignore
-@kindex M (modulo forms)
-@ignore
-@mindex mod
-@end ignore
-@tindex mod (operator)
-To create a modulo form during numeric entry, press the shift-@kbd{M}
-key to enter the word @samp{mod}.  As a special convenience, pressing
-shift-@kbd{M} a second time automatically enters the value of @expr{M}
-that was most recently used before.  During algebraic entry, either
-type @samp{mod} by hand or press @kbd{M-m} (that's @kbd{@key{META}-m}).
-Once again, pressing this a second time enters the current modulo.
-
-You can also use @kbd{v p} and @kbd{%} to modify modulo forms.
-@xref{Building Vectors}.  @xref{Basic Arithmetic}.
-
 It is possible to mix HMS forms and modulo forms.  For example, an
 HMS form modulo 24 could be used to manipulate clock times; an HMS
 form modulo 360 would be suitable for angles.  Making the modulo @expr{M}
@@ -11352,6 +11531,9 @@ Modulo forms cannot have variables or formulas for components.  If you
 enter the formula @samp{(x + 2) mod 5}, Calc propagates the modulus
 to each of the coefficients:  @samp{(1 mod 5) x + (2 mod 5)}.
 
+You can use @kbd{v p} and @kbd{%} to modify modulo forms.
+@xref{Packing and Unpacking}.  @xref{Basic Arithmetic}.
+
 @ignore
 @starindex
 @end ignore
@@ -11367,8 +11549,8 @@ The algebraic function @samp{makemod(a, m)} builds the modulo form
 @cindex Standard deviations
 An @dfn{error form} is a number with an associated standard
 deviation, as in @samp{2.3 +/- 0.12}.  The notation
-@texline `@var{x} @t{+/-} @math{\sigma}' 
-@infoline `@var{x} @t{+/-} sigma' 
+@texline `@var{x} @tfn{+/-} @math{\sigma}' 
+@infoline `@var{x} @tfn{+/-} sigma' 
 stands for an uncertain value which follows
 a normal or Gaussian distribution of mean @expr{x} and standard
 deviation or ``error'' 
@@ -11414,11 +11596,11 @@ Consult a good text on error analysis for a discussion of the proper use
 of standard deviations.  Actual errors often are neither Gaussian-distributed
 nor uncorrelated, and the above formulas are valid only when errors
 are small.  As an example, the error arising from
-@texline `@t{sin(}@var{x} @t{+/-} @math{\sigma}@t{)}' 
-@infoline `@t{sin(}@var{x} @t{+/-} @var{sigma}@t{)}' 
+@texline `@tfn{sin(}@var{x} @tfn{+/-} @math{\sigma}@tfn{)}' 
+@infoline `@tfn{sin(}@var{x} @tfn{+/-} @var{sigma}@tfn{)}' 
 is 
-@texline `@math{\sigma} @t{abs(cos(}@var{x}@t{))}'.  
-@infoline `@var{sigma} @t{abs(cos(}@var{x}@t{))}'.  
+@texline `@math{\sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.  
+@infoline `@var{sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.  
 When @expr{x} is close to zero,
 @texline @math{\cos x}
 @infoline @expr{cos(x)} 
@@ -11550,14 +11732,14 @@ contain zero inside them Calc is forced to give the result,
 While it may seem that intervals and error forms are similar, they are
 based on entirely different concepts of inexact quantities.  An error
 form 
-@texline `@var{x} @t{+/-} @math{\sigma}' 
-@infoline `@var{x} @t{+/-} @var{sigma}' 
+@texline `@var{x} @tfn{+/-} @math{\sigma}' 
+@infoline `@var{x} @tfn{+/-} @var{sigma}' 
 means a variable is random, and its value could
 be anything but is ``probably'' within one 
 @texline @math{\sigma} 
 @infoline @var{sigma} 
 of the mean value @expr{x}. An interval 
-`@t{[}@var{a} @t{..@:} @var{b}@t{]}' means a
+`@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a
 variable's value is unknown, but guaranteed to lie in the specified
 range.  Error forms are statistical or ``average case'' approximations;
 interval arithmetic tends to produce ``worst case'' bounds on an
@@ -11853,8 +12035,8 @@ represent the same operation.
 
 Commands that interpret (``parse'') text as algebraic formulas include
 algebraic entry (@kbd{'}), editing commands like @kbd{`} which parse
-the contents of the editing buffer when you finish, the @kbd{M-# g}
-and @w{@kbd{M-# r}} commands, the @kbd{C-y} command, the X window system
+the contents of the editing buffer when you finish, the @kbd{C-x * g}
+and @w{@kbd{C-x * r}} commands, the @kbd{C-y} command, the X window system
 ``paste'' mouse operation, and Embedded mode.  All of these operations
 use the same rules for parsing formulas; in particular, language modes
 (@pxref{Language Modes}) affect them all in the same way.
@@ -12181,16 +12363,18 @@ arguments from the stack.  For example, after @kbd{2 @key{RET} 3 +},
 the stack contains the sole number 5, but after @kbd{2 @key{RET} 3 K +},
 the stack contains the arguments and the result: @samp{2 3 5}.
 
-This works for all commands that take arguments off the stack.  As
-another example, @kbd{K a s} simplifies a formula, pushing the
+With the exception of keyboard macros, this works for all commands that
+take arguments off the stack. (To avoid potentially unpleasant behavior,
+a @kbd{K} prefix before a keyboard macro will be ignored.  A @kbd{K}
+prefix called @emph{within} the keyboard macro will still take effect.)  
+As another example, @kbd{K a s} simplifies a formula, pushing the
 simplified version of the formula onto the stack after the original
-formula (rather than replacing the original formula).
-
-Note that you could get the same effect by typing @kbd{@key{RET} a s},
-copying the formula and then simplifying the copy.  One difference
-is that for a very large formula the time taken to format the
-intermediate copy in @kbd{@key{RET} a s} could be noticeable; @kbd{K a s}
-would avoid this extra work.
+formula (rather than replacing the original formula).  Note that you
+could get the same effect by typing @kbd{@key{RET} a s}, copying the
+formula and then simplifying the copy. One difference is that for a very
+large formula the time taken to format the intermediate copy in
+@kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this
+extra work. 
 
 Even stack manipulation commands are affected.  @key{TAB} works by
 popping two values and pushing them back in the opposite order,
@@ -12203,13 +12387,6 @@ original argument you could use either @kbd{' sin($1)} or
 @kbd{K ' sin($)}.  @xref{Algebraic Entry}.  Also, the @kbd{s s}
 command is effectively the same as @kbd{K s t}.  @xref{Storing Variables}.
 
-Keyboard macros may interact surprisingly with the @kbd{K} prefix.
-If you have defined a keyboard macro to be, say, @samp{Q +} to add
-one number to the square root of another, then typing @kbd{K X} will
-execute @kbd{K Q +}, probably not what you expected.  The @kbd{K}
-prefix will apply to just the first command in the macro rather than
-the whole macro.
-
 If you execute a command and then decide you really wanted to keep
 the argument, you can press @kbd{M-@key{RET}} (@code{calc-last-args}).
 This command pushes the last arguments that were popped by any command
@@ -12247,43 +12424,49 @@ the @emph{appearance} or @emph{interpretation} of the stack's contents.
 @cindex Continuous memory
 @cindex Saving mode settings
 @cindex Permanent mode settings
-@cindex @file{.emacs} file, mode settings
-You can save all of the current mode settings in your @file{.emacs} file
-with the @kbd{m m} (@code{calc-save-modes}) command.  This will cause
-Emacs to reestablish these modes each time it starts up.  The modes saved
-in the file include everything controlled by the @kbd{m} and @kbd{d}
-prefix keys, the current precision and binary word size, whether or not
-the trail is displayed, the current height of the Calc window, and more.
-The current interface (used when you type @kbd{M-# M-#}) is also saved.
-If there were already saved mode settings in the file, they are replaced.
-Otherwise, the new mode information is appended to the end of the file.
+@cindex Calc init file, mode settings
+You can save all of the current mode settings in your Calc init file 
+(the file given by the variable @code{calc-settings-file}, typically
+@file{~/.calc.el}) with the @kbd{m m} (@code{calc-save-modes}) command.
+This will cause Emacs to reestablish these modes each time it starts up.
+The modes saved in the file include everything controlled by the @kbd{m}
+and @kbd{d} prefix keys, the current precision and binary word size,
+whether or not the trail is displayed, the current height of the Calc
+window, and more.  The current interface (used when you type @kbd{C-x * *}) 
+is also saved.  If there were already saved mode settings in the
+file, they are replaced.  Otherwise, the new mode information is
+appended to the end of the file.
 
 @kindex m R
 @pindex calc-mode-record-mode
 The @kbd{m R} (@code{calc-mode-record-mode}) command tells Calc to
-record the new mode settings (as if by pressing @kbd{m m}) every
-time a mode setting changes.  If Embedded mode is enabled, other
-options are available; @pxref{Mode Settings in Embedded Mode}.
+record all the mode settings (as if by pressing @kbd{m m}) every
+time a mode setting changes.  If the modes are saved this way, then this
+``automatic mode recording'' mode is also saved.
+Type @kbd{m R} again to disable this method of recording the mode
+settings.  To turn it off permanently, the @kbd{m m} command will also be
+necessary.   (If Embedded mode is enabled, other options for recording
+the modes are available; @pxref{Mode Settings in Embedded Mode}.)
 
 @kindex m F
 @pindex calc-settings-file-name
 The @kbd{m F} (@code{calc-settings-file-name}) command allows you to
-choose a different place than your @file{.emacs} file for @kbd{m m},
-@kbd{Z P}, and similar commands to save permanent information.
+choose a different file than the current value of @code{calc-settings-file}
+for @kbd{m m}, @kbd{Z P}, and similar commands to save permanent information.
 You are prompted for a file name.  All Calc modes are then reset to
 their default values, then settings from the file you named are loaded
 if this file exists, and this file becomes the one that Calc will
 use in the future for commands like @kbd{m m}.  The default settings
-file name is @file{~/.emacs}.  You can see the current file name by
+file name is @file{~/.calc.el}.  You can see the current file name by
 giving a blank response to the @kbd{m F} prompt.  See also the
-discussion of the @code{calc-settings-file} variable; @pxref{Installation}.
+discussion of the @code{calc-settings-file} variable; @pxref{Customizing Calc}.
 
-If the file name you give contains the string @samp{.emacs} anywhere
-inside it, @kbd{m F} will not automatically load the new file.  This
-is because you are presumably switching to your @file{~/.emacs} file,
-which may contain other things you don't want to reread.  You can give
+If the file name you give is your user init file (typically
+@file{~/.emacs}), @kbd{m F} will not automatically load the new file.  This
+is because your user init file may contain other things you don't want
+to reread.  You can give 
 a numeric prefix argument of 1 to @kbd{m F} to force it to read the
-file no matter what its name.  Conversely, an argument of @mathit{-1} tells
+file no matter what.  Conversely, an argument of @mathit{-1} tells
 @kbd{m F} @emph{not} to read the new file.  An argument of 2 or @mathit{-2}
 tells @kbd{m F} not to reset the modes to their defaults beforehand,
 which is useful if you intend your new file to have a variant of the
@@ -12297,7 +12480,7 @@ extensions modules.  Otherwise, the extensions modules will not be loaded
 until the various advanced Calc features are used.  Since this mode only
 has effect when Calc is first loaded, @kbd{m x} is usually followed by
 @kbd{m m} to make the mode-setting permanent.  To load all of Calc just
-once, rather than always in the future, you can press @kbd{M-# L}.
+once, rather than always in the future, you can press @kbd{C-x * L}.
 
 @kindex m S
 @pindex calc-shift-prefix
@@ -12484,8 +12667,10 @@ of the above example situations would produce polar complex numbers.
 Division of two integers normally yields a floating-point number if the
 result cannot be expressed as an integer.  In some cases you would
 rather get an exact fractional answer.  One way to accomplish this is
-to multiply fractions instead:  @kbd{6 @key{RET} 1:4 *} produces @expr{3:2}
-even though @kbd{6 @key{RET} 4 /} produces @expr{1.5}.
+to use the @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command, which
+divides the two integers on the top of the stack to produce a fraction:
+@kbd{6 @key{RET} 4 :} produces @expr{3:2} even though 
+@kbd{6 @key{RET} 4 /} produces @expr{1.5}.
 
 @kindex m f
 @pindex calc-frac-mode
@@ -12618,7 +12803,9 @@ If you press @kbd{m v} with a numeric prefix argument @var{n}, you
 get a special ``dimensioned'' Matrix mode in which matrices of
 unknown size are assumed to be @var{n}x@var{n} square matrices.
 Then, the function call @samp{idn(1)} will expand into an actual
-matrix rather than representing a ``generic'' matrix.
+matrix rather than representing a ``generic'' matrix.  Simply typing
+@kbd{C-u m v} will get you a square Matrix mode, in which matrices of
+unknown size are assumed to be square matrices of unspecified size.
 
 @cindex Declaring scalar variables
 Of course these modes are approximations to the true state of
@@ -12663,7 +12850,7 @@ recomputation is off, you can think of @kbd{m C m C} as a command
 to update all @samp{=>} operators while leaving recomputation off.)
 
 To update @samp{=>} operators in an Embedded buffer while
-automatic recomputation is off, use @w{@kbd{M-# u}}.
+automatic recomputation is off, use @w{@kbd{C-x * u}}.
 @xref{Embedded Mode}.
 
 @node Working Message, , Automatic Recomputation, Calculation Modes
@@ -12738,9 +12925,7 @@ The @kbd{m D} (@code{calc-default-simplify-mode}) command restores the
 default simplifications for all formulas.  This includes many easy and
 fast algebraic simplifications such as @expr{a+0} to @expr{a}, and
 @expr{a + 2 a} to @expr{3 a}, as well as evaluating functions like
-@texline @t{deriv}@expr{(x^2,x)}
-@infoline @expr{@t{deriv}(x^2, x)} 
-to @expr{2 x}.
+@expr{@tfn{deriv}(x^2, x)} to @expr{2 x}.
 
 @kindex m B
 @pindex calc-bin-simplify-mode
@@ -13008,6 +13193,8 @@ The value is not a vector.
 The value is a vector.
 @item matrix
 The value is a matrix (a rectangular vector of vectors).
+@item sqmatrix
+The value is a square matrix.
 @end table
 
 These type symbols can be combined with the other type symbols
@@ -13292,7 +13479,7 @@ are displayed in clumps of 3 or 4 (depending on the current radix)
 separated by commas.
 
 The @kbd{d g} command toggles grouping on and off.
-With a numerix prefix of 0, this command displays the current state of
+With a numeric prefix of 0, this command displays the current state of
 the grouping flag; with an argument of minus one it disables grouping;
 with a positive argument @expr{N} it enables grouping on every @expr{N}
 digits.  For floating-point numbers, grouping normally occurs only
@@ -13310,7 +13497,7 @@ uses it as the digit separator.  As a special case, @kbd{d , \} selects
 @samp{\,} (@TeX{}'s thin-space symbol) as the digit separator.
 
 Please note that grouped numbers will not generally be parsed correctly
-if re-read in textual form, say by the use of @kbd{M-# y} and @kbd{M-# g}.
+if re-read in textual form, say by the use of @kbd{C-x * y} and @kbd{C-x * g}.
 (@xref{Kill and Yank}, for details on these commands.)  One exception is
 the @samp{\,} separator, which doesn't interfere with parsing because it
 is ignored by @TeX{} language mode.
@@ -13370,7 +13557,7 @@ significant figures but displays only six.  (In fact, intermediate
 calculations are often carried to one or two more significant figures,
 but values placed on the stack will be rounded down to ten figures.)
 Numbers are never actually rounded to the display precision for storage,
-except by commands like @kbd{C-k} and @kbd{M-# y} which operate on the
+except by commands like @kbd{C-k} and @kbd{C-x * y} which operate on the
 actual displayed text in the Calculator buffer.
 
 @kindex d .
@@ -13798,11 +13985,12 @@ The @kbd{d t} (@code{calc-truncate-stack}) command moves the @samp{.}@:
 line that marks the top-of-stack up or down in the Calculator buffer.
 The number right above that line is considered to the be at the top of
 the stack.  Any numbers below that line are ``hidden'' from all stack
-operations.  This is similar to the Emacs ``narrowing'' feature, except
-that the values below the @samp{.} are @emph{visible}, just temporarily
-frozen.  This feature allows you to keep several independent calculations
-running at once in different parts of the stack, or to apply a certain
-command to an element buried deep in the stack.
+operations (although still visible to the user).  This is similar to the
+Emacs ``narrowing'' feature, except that the values below the @samp{.}
+are @emph{visible}, just temporarily frozen.  This feature allows you to
+keep several independent calculations running at once in different parts
+of the stack, or to apply a certain command to an element buried deep in
+the stack.
 
 Pressing @kbd{d t} by itself moves the @samp{.} to the line the cursor
 is on.  Thus, this line and all those below it become hidden.  To un-hide
@@ -13918,7 +14106,7 @@ left or right as you prefer.
 @noindent
 The commands in this section change Calc to use a different notation for
 entry and display of formulas, corresponding to the conventions of some
-other common language such as Pascal or @TeX{}.  Objects displayed on the
+other common language such as Pascal or La@TeX{}.  Objects displayed on the
 stack or yanked from the Calculator to an editing buffer will be formatted
 in the current language; objects entered in algebraic entry or yanked from
 another buffer will be interpreted according to the current language.
@@ -13931,9 +14119,9 @@ and use the standard notation by giving a numeric prefix, e.g., @kbd{C-u '}.
 For example, suppose the formula @samp{2*a[1] + atan(a[2])} occurs in a C
 program; elsewhere in the program you need the derivatives of this formula
 with respect to @samp{a[1]} and @samp{a[2]}.  First, type @kbd{d C}
-to switch to C notation.  Now use @code{C-u M-# g} to grab the formula
+to switch to C notation.  Now use @code{C-u C-x * g} to grab the formula
 into the Calculator, @kbd{a d a[1] @key{RET}} to differentiate with respect
-to the first variable, and @kbd{M-# y} to yank the formula for the derivative
+to the first variable, and @kbd{C-x * y} to yank the formula for the derivative
 back into your C program.  Press @kbd{U} to undo the differentiation and
 repeat with @kbd{a d a[2] @key{RET}} for the other derivative.
 
@@ -13941,12 +14129,12 @@ Without being switched into C mode first, Calc would have misinterpreted
 the brackets in @samp{a[1]} and @samp{a[2]}, would not have known that
 @code{atan} was equivalent to Calc's built-in @code{arctan} function,
 and would have written the formula back with notations (like implicit
-multiplication) which would not have been legal for a C program.
+multiplication) which would not have been valid for a C program.
 
-As another example, suppose you are maintaining a C program and a @TeX{}
+As another example, suppose you are maintaining a C program and a La@TeX{}
 document, each of which needs a copy of the same formula.  You can grab the
-formula from the program in C mode, switch to @TeX{} mode, and yank the
-formula into the document in @TeX{} math-mode format.
+formula from the program in C mode, switch to La@TeX{} mode, and yank the
+formula into the document in La@TeX{} math-mode format.
 
 Language modes are selected by typing the letter @kbd{d} followed by a
 shifted letter key.
@@ -13954,7 +14142,7 @@ shifted letter key.
 @menu
 * Normal Language Modes::
 * C FORTRAN Pascal::
-* TeX Language Mode::
+* TeX and LaTeX Language Modes::
 * Eqn Language Mode::
 * Mathematica Language Mode::
 * Maple Language Mode::
@@ -14064,7 +14252,7 @@ all four modes, and unformatted notation works in any language mode
 (except that Mathematica mode expects square brackets instead of
 parentheses).
 
-@node C FORTRAN Pascal, TeX Language Mode, Normal Language Modes, Language Modes
+@node C FORTRAN Pascal, TeX and LaTeX Language Modes, Normal Language Modes, Language Modes
 @subsection C, FORTRAN, and Pascal Modes
 
 @noindent
@@ -14139,72 +14327,122 @@ modes will use upper-case letters exclusively for display, and will
 convert to lower-case on input.  With a negative prefix, these modes
 convert to lower-case for display and input.
 
-@node TeX Language Mode, Eqn Language Mode, C FORTRAN Pascal, Language Modes
-@subsection @TeX{} Language Mode
+@node TeX and LaTeX Language Modes, Eqn Language Mode, C FORTRAN Pascal, Language Modes
+@subsection @TeX{} and La@TeX{} Language Modes
 
 @noindent
 @kindex d T
 @pindex calc-tex-language
 @cindex TeX language
+@kindex d L
+@pindex calc-latex-language
+@cindex LaTeX language
 The @kbd{d T} (@code{calc-tex-language}) command selects the conventions
-of ``math mode'' in the @TeX{} typesetting language, by Donald Knuth.
-Formulas are entered
-and displayed in @TeX{} notation, as in @samp{\sin\left( a \over b \right)}.
-Math formulas are usually enclosed by @samp{$ $} signs in @TeX{}; these
-should be omitted when interfacing with Calc.  To Calc, the @samp{$} sign
-has the same meaning it always does in algebraic formulas (a reference to
-an existing entry on the stack).
+of ``math mode'' in Donald Knuth's @TeX{} typesetting language,
+and the @kbd{d L} (@code{calc-latex-language}) command selects the
+conventions of ``math mode'' in La@TeX{}, a typesetting language that
+uses @TeX{} as its formatting engine.  Calc's La@TeX{} language mode can
+read any formula that the @TeX{} language mode can, although La@TeX{}
+mode may display it differently.
+
+Formulas are entered and displayed in the appropriate notation;
+@texline @math{\sin(a/b)}
+@infoline @expr{sin(a/b)}
+will appear as @samp{\sin\left( a \over b \right)} in @TeX{} mode and
+@samp{\sin\left(\frac@{a@}@{b@}\right)} in La@TeX{} mode.
+Math formulas are often enclosed by @samp{$ $} signs in @TeX{} and
+La@TeX{}; these should be omitted when interfacing with Calc.  To Calc,
+the @samp{$} sign has the same meaning it always does in algebraic
+formulas (a reference to an existing entry on the stack).
 
 Complex numbers are displayed as in @samp{3 + 4i}.  Fractions and
-quotients are written using @code{\over};
-binomial coefficients are written with @code{\choose}.
-Interval forms are written with @code{\ldots}, and
-error forms are written with @code{\pm}.
-Absolute values are written as in @samp{|x + 1|}, and the floor and
-ceiling functions are written with @code{\lfloor}, @code{\rfloor}, etc.
-The words @code{\left} and @code{\right} are ignored when reading
-formulas in @TeX{} mode.  Both @code{inf} and @code{uinf} are written
-as @code{\infty}; when read, @code{\infty} always translates to
-@code{inf}.
+quotients are written using @code{\over} in @TeX{} mode (as in 
+@code{@{a \over b@}}) and @code{\frac} in La@TeX{} mode (as in
+@code{\frac@{a@}@{b@}});  binomial coefficients are written with
+@code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and
+@code{\binom} in La@TeX{} mode (as in @code{\binom@{a@}@{b@}}).
+Interval forms are written with @code{\ldots}, and error forms are
+written with @code{\pm}. Absolute values are written as in 
+@samp{|x + 1|}, and the floor and ceiling functions are written with
+@code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and
+@code{\right} are ignored when reading formulas in @TeX{} and La@TeX{}
+modes.  Both @code{inf} and @code{uinf} are written as @code{\infty};
+when read, @code{\infty} always translates to @code{inf}.
 
 Function calls are written the usual way, with the function name followed
-by the arguments in parentheses.  However, functions for which @TeX{} has
-special names (like @code{\sin}) will use curly braces instead of
-parentheses for very simple arguments.  During input, curly braces and
-parentheses work equally well for grouping, but when the document is
-formatted the curly braces will be invisible.  Thus the printed result is
+by the arguments in parentheses.  However, functions for which @TeX{}
+and La@TeX{} have special names (like @code{\sin}) will use curly braces
+instead of parentheses for very simple arguments.  During input, curly
+braces and parentheses work equally well for grouping, but when the
+document is formatted the curly braces will be invisible.  Thus the
+printed result is 
 @texline @math{\sin{2 x}}
 @infoline @expr{sin 2x} 
 but 
 @texline @math{\sin(2 + x)}.
 @infoline @expr{sin(2 + x)}.
 
-Function and variable names not treated specially by @TeX{} are simply
-written out as-is, which will cause them to come out in italic letters
-in the printed document.  If you invoke @kbd{d T} with a positive numeric
-prefix argument, names of more than one character will instead be written
-@samp{\hbox@{@var{name}@}}.  The @samp{\hbox@{ @}} notation is ignored
-during reading.  If you use a negative prefix argument, such function
-names are written @samp{\@var{name}}, and function names that begin
-with @code{\} during reading have the @code{\} removed.  (Note that
-in this mode, long variable names are still written with @code{\hbox}.
-However, you can always make an actual variable name like @code{\bar}
-in any @TeX{} mode.)
+Function and variable names not treated specially by @TeX{} and La@TeX{}
+are simply written out as-is, which will cause them to come out in
+italic letters in the printed document.  If you invoke @kbd{d T} or
+@kbd{d L} with a positive numeric prefix argument, names of more than
+one character will instead be enclosed in a protective commands that
+will prevent them from being typeset in the math italics; they will be
+written @samp{\hbox@{@var{name}@}} in @TeX{} mode and 
+@samp{\text@{@var{name}@}} in La@TeX{} mode.  The
+@samp{\hbox@{ @}} and @samp{\text@{ @}} notations are ignored during
+reading.  If you use a negative prefix argument, such function names are
+written @samp{\@var{name}}, and function names that begin with @code{\} during
+reading have the @code{\} removed.  (Note that in this mode, long
+variable names are still written with @code{\hbox} or @code{\text}.
+However, you can always make an actual variable name like @code{\bar} in
+any @TeX{} mode.)
 
 During reading, text of the form @samp{\matrix@{ ...@: @}} is replaced
 by @samp{[ ...@: ]}.  The same also applies to @code{\pmatrix} and
-@code{\bmatrix}.  The symbol @samp{&} is interpreted as a comma,
+@code{\bmatrix}.  In La@TeX{} mode this also applies to 
+@samp{\begin@{matrix@} ... \end@{matrix@}},
+@samp{\begin@{bmatrix@} ... \end@{bmatrix@}},
+@samp{\begin@{pmatrix@} ... \end@{pmatrix@}}, as well as
+@samp{\begin@{smallmatrix@} ... \end@{smallmatrix@}}.
+The symbol @samp{&} is interpreted as a comma,
 and the symbols @samp{\cr} and @samp{\\} are interpreted as semicolons.
 During output, matrices are displayed in @samp{\matrix@{ a & b \\ c & d@}}
-format; you may need to edit this afterwards to change @code{\matrix}
-to @code{\pmatrix} or @code{\\} to @code{\cr}.
+format in @TeX{} mode and in 
+@samp{\begin@{pmatrix@} a & b \\ c & d \end@{pmatrix@}} format in
+La@TeX{} mode; you may need to edit this afterwards to change to your
+preferred matrix form.  If you invoke @kbd{d T} or @kbd{d L} with an
+argument of 2 or -2, then matrices will be displayed in two-dimensional
+form, such as 
+
+@example
+\begin@{pmatrix@}
+a & b \\
+c & d
+\end@{pmatrix@}
+@end example
+
+@noindent
+This may be convenient for isolated matrices, but could lead to
+expressions being displayed like
+
+@example
+\begin@{pmatrix@} \times x
+a & b \\
+c & d
+\end@{pmatrix@}
+@end example
+
+@noindent
+While this wouldn't bother Calc, it is incorrect La@TeX{}.
+(Similarly for @TeX{}.)
 
 Accents like @code{\tilde} and @code{\bar} translate into function
 calls internally (@samp{tilde(x)}, @samp{bar(x)}).  The @code{\underline}
 sequence is treated as an accent.  The @code{\vec} accent corresponds
 to the function name @code{Vec}, because @code{vec} is the name of
 a built-in Calc function.  The following table shows the accents
-in Calc, @TeX{}, and @dfn{eqn} (described in the next section):
+in Calc, @TeX{}, La@TeX{} and @dfn{eqn} (described in the next section):
 
 @iftex
 @begingroup
@@ -14218,26 +14456,58 @@ in Calc, @TeX{}, and @dfn{eqn} (described in the next section):
 @ignore
 @starindex
 @end ignore
+@tindex Acute
+@ignore
+@starindex
+@end ignore
 @tindex bar
 @ignore
 @starindex
 @end ignore
+@tindex Bar
+@ignore
+@starindex
+@end ignore
 @tindex breve
 @ignore
 @starindex
 @end ignore
+@tindex Breve
+@ignore
+@starindex
+@end ignore
 @tindex check
 @ignore
 @starindex
 @end ignore
+@tindex Check
+@ignore
+@starindex
+@end ignore
+@tindex dddot
+@ignore
+@starindex
+@end ignore
+@tindex ddddot
+@ignore
+@starindex
+@end ignore
 @tindex dot
 @ignore
 @starindex
 @end ignore
+@tindex Dot
+@ignore
+@starindex
+@end ignore
 @tindex dotdot
 @ignore
 @starindex
 @end ignore
+@tindex DotDot
+@ignore
+@starindex
+@end ignore
 @tindex dyad
 @ignore
 @starindex
@@ -14246,10 +14516,18 @@ in Calc, @TeX{}, and @dfn{eqn} (described in the next section):
 @ignore
 @starindex
 @end ignore
+@tindex Grave
+@ignore
+@starindex
+@end ignore
 @tindex hat
 @ignore
 @starindex
 @end ignore
+@tindex Hat
+@ignore
+@starindex
+@end ignore
 @tindex Prime
 @ignore
 @starindex
@@ -14258,30 +14536,50 @@ in Calc, @TeX{}, and @dfn{eqn} (described in the next section):
 @ignore
 @starindex
 @end ignore
+@tindex Tilde
+@ignore
+@starindex
+@end ignore
 @tindex under
 @ignore
 @starindex
 @end ignore
 @tindex Vec
+@ignore
+@starindex
+@end ignore
+@tindex VEC
 @iftex
 @endgroup
 @end iftex
 @example
-Calc      TeX           eqn
-----      ---           ---
-acute     \acute
-bar       \bar          bar
-breve     \breve
-check     \check
-dot       \dot          dot
-dotdot    \ddot         dotdot
-dyad                    dyad
-grave     \grave
-hat       \hat          hat
-Prime                   prime
-tilde     \tilde        tilde
-under     \underline    under
-Vec       \vec          vec
+Calc      TeX           LaTeX         eqn
+----      ---           -----         ---
+acute     \acute        \acute        
+Acute                   \Acute        
+bar       \bar          \bar          bar
+Bar                     \Bar
+breve     \breve        \breve        
+Breve                   \Breve        
+check     \check        \check        
+Check                   \Check        
+dddot                   \dddot
+ddddot                  \ddddot
+dot       \dot          \dot          dot
+Dot                     \Dot
+dotdot    \ddot         \ddot         dotdot
+DotDot                  \Ddot         
+dyad                                  dyad
+grave     \grave        \grave        
+Grave                   \Grave        
+hat       \hat          \hat          hat
+Hat                     \Hat          
+Prime                                 prime
+tilde     \tilde        \tilde        tilde
+Tilde                   \Tilde
+under     \underline    \underline    under
+Vec       \vec          \vec          vec
+VEC                     \Vec
 @end example
 
 The @samp{=>} (evaluates-to) operator appears as a @code{\to} symbol:
@@ -14318,8 +14616,9 @@ reading is:
 \evalto
 @end example
 
-Note that, because these symbols are ignored, reading a @TeX{} formula
-into Calc and writing it back out may lose spacing and font information.
+Note that, because these symbols are ignored, reading a @TeX{} or
+La@TeX{} formula into Calc and writing it back out may lose spacing and
+font information. 
 
 Also, the ``discretionary multiplication sign'' @samp{\*} is read
 the same as @samp{*}.
@@ -14447,7 +14746,7 @@ $$ \pmatrix{ {a \over b} & 0 \cr 0 & 2^{(x + 1)} } $$
 @sp 2
 @end iftex
 
-@node Eqn Language Mode, Mathematica Language Mode, TeX Language Mode, Language Modes
+@node Eqn Language Mode, Mathematica Language Mode, TeX and LaTeX Language Modes, Language Modes
 @subsection Eqn Language Mode
 
 @noindent
@@ -14489,7 +14788,7 @@ treated the same as a space in @dfn{eqn} mode, as is the @samp{~}
 symbol (these are used to introduce spaces of various widths into
 the typeset output of @dfn{eqn}).
 
-As in @TeX{} mode, Calc's formatter omits parentheses around the
+As in La@TeX{} mode, Calc's formatter omits parentheses around the
 arguments of functions like @code{ln} and @code{sin} if they are
 ``simple-looking''; in this case Calc surrounds the argument with
 braces, separated by a @samp{~} from the function name: @samp{sin~@{x@}}.
@@ -14503,17 +14802,17 @@ are treated the same as curly braces: @samp{sqrt "1+x"} is equivalent to
 of quotes in @dfn{eqn}, but it is good enough for most uses.
 
 Accent codes (@samp{@var{x} dot}) are handled by treating them as
-function calls (@samp{dot(@var{x})}) internally.  @xref{TeX Language
-Mode}, for a table of these accent functions.  The @code{prime} accent
-is treated specially if it occurs on a variable or function name:
-@samp{f prime prime @w{( x prime )}} is stored internally as
-@samp{f'@w{'}(x')}.  For example, taking the derivative of @samp{f(2 x)}
-with @kbd{a d x} will produce @samp{2 f'(2 x)}, which @dfn{eqn} mode
-will display as @samp{2 f prime ( 2 x )}.
+function calls (@samp{dot(@var{x})}) internally.  
+@xref{TeX and LaTeX Language Modes}, for a table of these accent
+functions.  The @code{prime} accent is treated specially if it occurs on
+a variable or function name: @samp{f prime prime @w{( x prime )}} is
+stored internally as @samp{f'@w{'}(x')}.  For example, taking the
+derivative of @samp{f(2 x)} with @kbd{a d x} will produce @samp{2 f'(2
+x)}, which @dfn{eqn} mode will display as @samp{2 f prime ( 2 x )}.
 
 Assignments are written with the @samp{<-} (left-arrow) symbol,
 and @code{evalto} operators are written with @samp{->} or
-@samp{evalto ... ->} (@pxref{TeX Language Mode}, for a discussion
+@samp{evalto ... ->} (@pxref{TeX and LaTeX Language Modes}, for a discussion
 of this).  The regular Calc symbols @samp{:=} and @samp{=>} are also
 recognized for these operators during reading.
 
@@ -14531,8 +14830,7 @@ if the matrix justification mode so specifies.
 @pindex calc-mathematica-language
 @cindex Mathematica language
 The @kbd{d M} (@code{calc-mathematica-language}) command selects the
-conventions of Mathematica, a powerful and popular mathematical tool
-from Wolfram Research, Inc.  Notable differences in Mathematica mode
+conventions of Mathematica.  Notable differences in Mathematica mode
 are that the names of built-in functions are capitalized, and function
 calls use square brackets instead of parentheses.  Thus the Calc
 formula @samp{sin(2 x)} is entered and displayed @w{@samp{Sin[2 x]}} in
@@ -14555,8 +14853,7 @@ Subscripts use double square brackets: @samp{a[[i]]}.
 @pindex calc-maple-language
 @cindex Maple language
 The @kbd{d W} (@code{calc-maple-language}) command selects the
-conventions of Maple, another mathematical tool from the University
-of Waterloo.
+conventions of Maple.
 
 Maple's language is much like C.  Underscores are allowed in symbol
 names; square brackets are used for subscripts; explicit @samp{*}s for
@@ -15362,7 +15659,7 @@ backslashes in tokens.)
 This will parse @samp{3 bad token 4 /"\ 5} to @samp{silly(3,4,5)}.
 
 The token @kbd{#} has a predefined meaning in Calc's formula parser;
-it is not legal to use @samp{"#"} in a syntax rule.  However, longer
+it is not valid to use @samp{"#"} in a syntax rule.  However, longer
 tokens that include the @samp{#} character are allowed.  Also, while
 @samp{"$"} and @samp{"\""} are allowed as tokens, their presence in
 the syntax table will prevent those characters from working in their
@@ -15671,7 +15968,8 @@ Command is @kbd{m p}.
 
 @item
 Matrix/Scalar mode.  Default value is @mathit{-1}.  Value is 0 for Scalar
-mode, @mathit{-2} for Matrix mode, or @var{N} for 
+mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode,
+or @var{N} for  
 @texline @math{N\times N}
 @infoline @var{N}x@var{N} 
 Matrix mode.  Command is @kbd{m v}.
@@ -15749,7 +16047,10 @@ Symbolic mode (@kbd{m s}; @pxref{Symbolic Mode}).
 Matrix mode (@kbd{m v}; @pxref{Matrix Mode}).
 
 @item Matrix@var{n}
-Dimensioned Matrix mode (@kbd{C-u @var{n} m v}).
+Dimensioned Matrix mode (@kbd{C-u @var{n} m v}; @pxref{Matrix Mode}).
+
+@item SqMatrix
+Square Matrix mode (@kbd{C-u m v}; @pxref{Matrix Mode}).
 
 @item Scalar
 Scalar mode (@kbd{m v}; @pxref{Matrix Mode}).
@@ -15818,7 +16119,10 @@ Pascal language mode (@kbd{d P}).
 FORTRAN language mode (@kbd{d F}).
 
 @item TeX
-@TeX{} language mode (@kbd{d T}; @pxref{TeX Language Mode}).
+@TeX{} language mode (@kbd{d T}; @pxref{TeX and LaTeX Language Modes}).
+
+@item LaTeX
+La@TeX{} language mode (@kbd{d L}; @pxref{TeX and LaTeX Language Modes}).
 
 @item Eqn
 @dfn{Eqn} language mode (@kbd{d E}; @pxref{Eqn Language Mode}).
@@ -15872,7 +16176,7 @@ No line breaking (@kbd{d b}).
 Selections show deep structure (@kbd{j b}; @pxref{Making Selections}).
 
 @item Save
-Record modes in @file{~/.emacs} (@kbd{m R}; @pxref{General Mode Commands}).
+Record modes in @file{~/.calc.el} (@kbd{m R}; @pxref{General Mode Commands}).
 
 @item Local
 Record modes in Embedded buffer (@kbd{m R}).
@@ -15925,7 +16229,7 @@ commands work by removing the top one or two values from the stack,
 performing the desired operation, and pushing the result back onto the
 stack.  If the operation cannot be performed, the result pushed is a
 formula instead of a number, such as @samp{2/0} (because division by zero
-is illegal) or @samp{sqrt(x)} (because the argument @samp{x} is a formula).
+is invalid) or @samp{sqrt(x)} (because the argument @samp{x} is a formula).
 
 Most of the commands described here can be invoked by a single keystroke.
 Some of the more obscure ones are two-letter sequences beginning with
@@ -16129,7 +16433,7 @@ must be positive real number.
 @kindex :
 @pindex calc-fdiv
 @tindex fdiv
-The @kbd{:} (@code{calc-fdiv}) command [@code{fdiv} function in a formula]
+The @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command
 divides the two integers on the top of the stack to produce a fractional
 result.  This is a convenient shorthand for enabling Fraction mode (with
 @kbd{m f}) temporarily and using @samp{/}.  Note that during numeric entry
@@ -16394,7 +16698,7 @@ no second argument at all.
 
 @cindex Fractional part of a number
 To compute the fractional part of a number (i.e., the amount which, when
-added to `@t{floor(}@var{n}@t{)}', will produce @var{n}) just take @var{n}
+added to `@tfn{floor(}@var{n}@tfn{)}', will produce @var{n}) just take @var{n}
 modulo 1 using the @code{%} command.
 
 Note also the @kbd{\} (integer quotient), @kbd{f I} (integer logarithm),
@@ -16421,8 +16725,8 @@ this command replaces each element by its complex conjugate.
 The @kbd{G} (@code{calc-argument}) [@code{arg}] command computes the
 ``argument'' or polar angle of a complex number.  For a number in polar
 notation, this is simply the second component of the pair
-@texline `@t{(}@var{r}@t{;}@math{\theta}@t{)}'.
-@infoline `@t{(}@var{r}@t{;}@var{theta}@t{)}'.
+@texline `@tfn{(}@var{r}@tfn{;}@math{\theta}@tfn{)}'.
+@infoline `@tfn{(}@var{r}@tfn{;}@var{theta}@tfn{)}'.
 The result is expressed according to the current angular mode and will
 be in the range @mathit{-180} degrees (exclusive) to @mathit{+180} degrees
 (inclusive), or the equivalent range in radians.
@@ -17265,7 +17569,7 @@ beginning of daylight savings time; converting a date/time form that
 falls in this hour results in a time value for the following hour,
 from 3 a.m.@: to 4 a.m.  At the end of daylight savings time, the
 hour from 1 a.m.@: to 2 a.m.@: repeats itself; converting a date/time
-form that falls in in this hour results in a time value for the first
+form that falls in this hour results in a time value for the first
 manifestation of that time (@emph{not} the one that occurs one hour later).
 
 If @code{math-daylight-savings-hook} is @code{nil}, then the
@@ -17852,14 +18156,6 @@ and the depreciation is zero for all subsequent periods.  The @code{ddb}
 function returns the amount the book value decreased in the specified
 period.
 
-The Calc financial function names were borrowed mostly from Microsoft
-Excel and Borland's Quattro.  The @code{ratel} function corresponds to
-@samp{@@CGR} in Borland's Reflex.  The @code{nper} and @code{nperl}
-functions correspond to @samp{@@TERM} and @samp{@@CTERM} in Quattro,
-respectively.  Beware that the Calc functions may take their arguments
-in a different order than the corresponding functions in your favorite
-spreadsheet.
-
 @node Binary Functions, , Financial Functions, Arithmetic
 @section Binary Number Functions
 
@@ -18360,6 +18656,25 @@ With the Inverse flag [@code{arcsincos}], this command takes a two-element
 vector as an argument and computes @code{arctan2} of the elements.
 (This command does not accept the Hyperbolic flag.)
 
+@pindex calc-sec
+@tindex sec
+@pindex calc-csc
+@tindex csc
+@pindex calc-cot
+@tindex cot
+@pindex calc-sech
+@tindex sech
+@pindex calc-csch
+@tindex csch
+@pindex calc-coth
+@tindex coth
+The remaining trigonometric functions, @code{calc-sec} [@code{sec}],
+@code{calc-csc} [@code{csc}] and @code{calc-sec} [@code{sec}], are also
+available.  With the Hyperbolic flag, these compute their hyperbolic
+counterparts, which are also available separately as @code{calc-sech}
+[@code{sech}], @code{calc-csch} [@code{csch}] and @code{calc-sech}
+[@code{sech}].  (These commmands do not accept the Inverse flag.)
+
 @node Advanced Math Functions, Branch Cuts, Trigonometric and Hyperbolic Functions, Scientific Functions
 @section Advanced Mathematical Functions
 
@@ -18690,7 +19005,7 @@ where @var{m} and
 are both real numbers, the result uses a Gaussian distribution with mean
 @var{m} and standard deviation 
 @texline @math{\sigma}.
-@var{s}.
+@infoline @var{s}.
 
 If @expr{M} is an interval form, the lower and upper bounds specify the
 acceptable limits of the random numbers.  If both bounds are integers,
@@ -19404,7 +19719,7 @@ packing mode (an integer or a vector of integers) and @var{items}
 is a vector of objects to be packed (re-packed, really) according
 to that mode.  For example, @samp{pack([3, -4], [a,b,c,d,e,f])}
 yields @samp{[a +/- b, @w{c +/- d}, e +/- f]}.  The function is
-left in symbolic form if the packing mode is illegal, or if the
+left in symbolic form if the packing mode is invalid, or if the
 number of data items does not match the number of items required
 by the mode.
 
@@ -19498,7 +19813,7 @@ subtracted, multiplied, and divided; @pxref{Basic Arithmetic}.
 @mindex @null
 @end ignore
 @tindex |
-The @kbd{|} (@code{calc-concat}) command ``concatenates'' two vectors
+The @kbd{|} (@code{calc-concat}) [@code{vconcat}] command ``concatenates'' two vectors
 into one.  For example, after @kbd{@w{[ 1 , 2 ]} [ 3 , 4 ] |}, the stack
 will contain the single vector @samp{[1, 2, 3, 4]}.  If the arguments
 are matrices, the rows of the first matrix are concatenated with the
@@ -19899,7 +20214,7 @@ a one-column matrix.
 @kindex v v
 @pindex calc-reverse-vector
 @tindex rev
-The @kbd{v v} (@code{calc-reverse-vector}) [@code{vec}] command reverses
+The @kbd{v v} (@code{calc-reverse-vector}) [@code{rev}] command reverses
 a vector end-for-end.  Given a matrix, it reverses the order of the rows.
 (To reverse the columns instead, just use @kbd{v t v v v t}.  The same
 principle can be used to apply other vector commands to the columns of
@@ -20370,7 +20685,7 @@ has an infinite weight, next to which an error form with a finite
 weight is completely negligible.)
 
 This function also works for distributions (error forms or
-intervals).  The mean of an error form `@var{a} @t{+/-} @var{b}' is simply
+intervals).  The mean of an error form `@var{a} @tfn{+/-} @var{b}' is simply
 @expr{a}.  The mean of an interval is the mean of the minimum
 and maximum values of the interval.
 
@@ -20949,8 +21264,8 @@ but they are not currently supported with @kbd{V U} or @kbd{I V U}.
 The obsolete reduce-by-columns function, @code{reducec}, is still
 supported but there is no way to get it through the @kbd{V R} command.
 
-The commands @kbd{M-# :} and @kbd{M-# _} are equivalent to typing
-@kbd{M-# r} to grab a rectangle of data into Calc, and then typing
+The commands @kbd{C-x * :} and @kbd{C-x * _} are equivalent to typing
+@kbd{C-x * r} to grab a rectangle of data into Calc, and then typing
 @kbd{V R : +} or @kbd{V R _ +}, respectively, to sum the columns or
 rows of the matrix.  @xref{Grabbing From Buffers}.
 
@@ -22142,17 +22457,17 @@ Manipulation}.  The @kbd{m D} command turns the default simplifications
 back on.
 
 The most basic default simplification is the evaluation of functions.
-For example, @expr{2 + 3} is evaluated to @expr{5}, and @expr{@t{sqrt}(9)}
+For example, @expr{2 + 3} is evaluated to @expr{5}, and @expr{@tfn{sqrt}(9)}
 is evaluated to @expr{3}.  Evaluation does not occur if the arguments
-to a function are somehow of the wrong type @expr{@t{tan}([2,3,4])}),
-range (@expr{@t{tan}(90)}), or number (@expr{@t{tan}(3,5)}), 
-or if the function name is not recognized (@expr{@t{f}(5)}), or if
+to a function are somehow of the wrong type @expr{@tfn{tan}([2,3,4])}),
+range (@expr{@tfn{tan}(90)}), or number (@expr{@tfn{tan}(3,5)}), 
+or if the function name is not recognized (@expr{@tfn{f}(5)}), or if
 Symbolic mode (@pxref{Symbolic Mode}) prevents evaluation
-(@expr{@t{sqrt}(2)}).
+(@expr{@tfn{sqrt}(2)}).
 
 Calc simplifies (evaluates) the arguments to a function before it
-simplifies the function itself.  Thus @expr{@t{sqrt}(5+4)} is
-simplified to @expr{@t{sqrt}(9)} before the @code{sqrt} function
+simplifies the function itself.  Thus @expr{@tfn{sqrt}(5+4)} is
+simplified to @expr{@tfn{sqrt}(9)} before the @code{sqrt} function
 itself is applied.  There are very few exceptions to this rule:
 @code{quote}, @code{lambda}, and @code{condition} (the @code{::}
 operator) do not evaluate their arguments, @code{if} (the @code{? :}
@@ -22277,7 +22592,7 @@ terms of the product: @expr{x^a x^b} goes to
 @texline @math{x^{a+b}}
 @infoline @expr{x^(a+b)}
 where @expr{a} is a number, or an implicit 1 (as in @expr{x}),
-or the implicit one-half of @expr{@t{sqrt}(x)}, and similarly for
+or the implicit one-half of @expr{@tfn{sqrt}(x)}, and similarly for
 @expr{b}.  The result is written using @samp{sqrt} or @samp{1/sqrt}
 if the sum of the powers is @expr{1/2} or @expr{-1/2}, respectively.
 If the sum of the powers is zero, the product is simplified to
@@ -22344,11 +22659,10 @@ to @expr{a / (c - b)}, and @expr{(a - b) / (-c)} to @expr{(b - a) / c}.
 
 The formula @expr{x^0} is simplified to @expr{1}, or to @samp{idn(1)}
 in Matrix mode.  The formula @expr{0^x} is simplified to @expr{0}
-unless @expr{x} is a negative number or complex number, in which
-case the result is an infinity or an unsimplified formula according
-to the current infinite mode.  Note that @expr{0^0} is an
-indeterminate form, as evidenced by the fact that the simplifications
-for @expr{x^0} and @expr{0^x} conflict when @expr{x=0}.
+unless @expr{x} is a negative number, complex number or zero.
+If @expr{x} is negative, complex or @expr{0.0}, @expr{0^x} is an
+infinity or an unsimplified formula according to the current infinite
+mode.  The expression @expr{0^0} is simplified to @expr{1}.
 
 Powers of products or quotients @expr{(a b)^c}, @expr{(a/b)^c}
 are distributed to @expr{a^c b^c}, @expr{a^c / b^c} only if @expr{c}
@@ -22368,20 +22682,20 @@ is safe to simplify, but
 is not.)  @xref{Declarations}, for ways to inform Calc that your
 variables satisfy these requirements.
 
-As a special case of this rule, @expr{@t{sqrt}(x)^n} is simplified to
+As a special case of this rule, @expr{@tfn{sqrt}(x)^n} is simplified to
 @texline @math{x^{n/2}}
 @infoline @expr{x^(n/2)} 
 only for even integers @expr{n}.
 
 If @expr{a} is known to be real, @expr{b} is an even integer, and
 @expr{c} is a half- or quarter-integer, then @expr{(a^b)^c} is
-simplified to @expr{@t{abs}(a^(b c))}.
+simplified to @expr{@tfn{abs}(a^(b c))}.
 
 Also, @expr{(-a)^b} is simplified to @expr{a^b} if @expr{b} is an
 even integer, or to @expr{-(a^b)} if @expr{b} is an odd integer,
 for any negative-looking expression @expr{-a}.
 
-Square roots @expr{@t{sqrt}(x)} generally act like one-half powers
+Square roots @expr{@tfn{sqrt}(x)} generally act like one-half powers
 @texline @math{x^{1:2}}
 @infoline @expr{x^1:2} 
 for the purposes of the above-listed simplifications.
@@ -22392,21 +22706,21 @@ Also, note that
 is changed to 
 @texline @math{x^{-1:2}},
 @infoline @expr{x^(-1:2)},
-but @expr{1 / @t{sqrt}(x)} is left alone.
+but @expr{1 / @tfn{sqrt}(x)} is left alone.
 
 @tex
 \bigskip
 @end tex
 
 Generic identity matrices (@pxref{Matrix Mode}) are simplified by the
-following rules:  @expr{@t{idn}(a) + b} to @expr{a + b} if @expr{b}
+following rules:  @expr{@tfn{idn}(a) + b} to @expr{a + b} if @expr{b}
 is provably scalar, or expanded out if @expr{b} is a matrix;
-@expr{@t{idn}(a) + @t{idn}(b)} to @expr{@t{idn}(a + b)}; 
-@expr{-@t{idn}(a)} to @expr{@t{idn}(-a)}; @expr{a @t{idn}(b)} to 
-@expr{@t{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b} 
-if @expr{a} is provably non-scalar;  @expr{@t{idn}(a) @t{idn}(b)} to
-@expr{@t{idn}(a b)}; analogous simplifications for quotients involving
-@code{idn}; and @expr{@t{idn}(a)^n} to @expr{@t{idn}(a^n)} where
+@expr{@tfn{idn}(a) + @tfn{idn}(b)} to @expr{@tfn{idn}(a + b)}; 
+@expr{-@tfn{idn}(a)} to @expr{@tfn{idn}(-a)}; @expr{a @tfn{idn}(b)} to 
+@expr{@tfn{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b} 
+if @expr{a} is provably non-scalar;  @expr{@tfn{idn}(a) @tfn{idn}(b)} to
+@expr{@tfn{idn}(a b)}; analogous simplifications for quotients involving
+@code{idn}; and @expr{@tfn{idn}(a)^n} to @expr{@tfn{idn}(a^n)} where
 @expr{n} is an integer.
 
 @tex
@@ -22415,27 +22729,27 @@ if @expr{a} is provably non-scalar;  @expr{@t{idn}(a) @t{idn}(b)} to
 
 The @code{floor} function and other integer truncation functions
 vanish if the argument is provably integer-valued, so that
-@expr{@t{floor}(@t{round}(x))} simplifies to @expr{@t{round}(x)}.
+@expr{@tfn{floor}(@tfn{round}(x))} simplifies to @expr{@tfn{round}(x)}.
 Also, combinations of @code{float}, @code{floor} and its friends,
 and @code{ffloor} and its friends, are simplified in appropriate
 ways.  @xref{Integer Truncation}.
 
-The expression @expr{@t{abs}(-x)} changes to @expr{@t{abs}(x)}.
-The expression @expr{@t{abs}(@t{abs}(x))} changes to
-@expr{@t{abs}(x)};  in fact, @expr{@t{abs}(x)} changes to @expr{x} or
+The expression @expr{@tfn{abs}(-x)} changes to @expr{@tfn{abs}(x)}.
+The expression @expr{@tfn{abs}(@tfn{abs}(x))} changes to
+@expr{@tfn{abs}(x)};  in fact, @expr{@tfn{abs}(x)} changes to @expr{x} or
 @expr{-x} if @expr{x} is provably nonnegative or nonpositive
 (@pxref{Declarations}). 
 
 While most functions do not recognize the variable @code{i} as an
 imaginary number, the @code{arg} function does handle the two cases
-@expr{@t{arg}(@t{i})} and @expr{@t{arg}(-@t{i})} just for convenience.
+@expr{@tfn{arg}(@tfn{i})} and @expr{@tfn{arg}(-@tfn{i})} just for convenience.
 
-The expression @expr{@t{conj}(@t{conj}(x))} simplifies to @expr{x}.
+The expression @expr{@tfn{conj}(@tfn{conj}(x))} simplifies to @expr{x}.
 Various other expressions involving @code{conj}, @code{re}, and
 @code{im} are simplified, especially if some of the arguments are
 provably real or involve the constant @code{i}.  For example,
-@expr{@t{conj}(a + b i)} is changed to 
-@expr{@t{conj}(a) - @t{conj}(b) i},  or to @expr{a - b i} if @expr{a}
+@expr{@tfn{conj}(a + b i)} is changed to 
+@expr{@tfn{conj}(a) - @tfn{conj}(b) i},  or to @expr{a - b i} if @expr{a}
 and @expr{b} are known to be real.
 
 Functions like @code{sin} and @code{arctan} generally don't have
@@ -22445,13 +22759,13 @@ described in the next section does provide some simplifications for
 these functions, though.
 
 One important simplification that does occur is that
-@expr{@t{ln}(@t{e})} is simplified to 1, and @expr{@t{ln}(@t{e}^x)} is
+@expr{@tfn{ln}(@tfn{e})} is simplified to 1, and @expr{@tfn{ln}(@tfn{e}^x)} is
 simplified to @expr{x} for any @expr{x}.  This occurs even if you have
 stored a different value in the Calc variable @samp{e}; but this would
 be a bad idea in any case if you were also using natural logarithms!
 
-Among the logical functions, @t{(@var{a} <= @var{b})} changes to
-@t{@var{a} > @var{b}} and so on.  Equations and inequalities where both sides
+Among the logical functions, @tfn{!(@var{a} <= @var{b})} changes to
+@tfn{@var{a} > @var{b}} and so on.  Equations and inequalities where both sides
 are either negative-looking or zero are simplified by negating both sides
 and reversing the inequality.  While it might seem reasonable to simplify
 @expr{!!x} to @expr{x}, this would not be valid in general because
@@ -22548,7 +22862,7 @@ on while doing algebra; @pxref{Fraction Mode}.
 Quotients are simplified by comparing all terms in the numerator
 with all terms in the denominator for possible cancellation using
 the distributive law.  For example, @expr{a x^2 b / c x^3 d} will
-cancel @expr{x^2} from both sides to get @expr{a b / c x d}.
+cancel @expr{x^2} from the top and bottom to get @expr{a b / c x d}.
 (The terms in the denominator will then be rearranged to @expr{c d x}
 as described above.)  If there is any common integer or fractional
 factor in the numerator and denominator, it is cancelled out;
@@ -22575,17 +22889,17 @@ user might not have been thinking of.
 Square roots of integer or rational arguments are simplified in
 several ways.  (Note that these will be left unevaluated only in
 Symbolic mode.)  First, square integer or rational factors are
-pulled out so that @expr{@t{sqrt}(8)} is rewritten as
-@texline @math{2\,\t{sqrt}(2)}.
+pulled out so that @expr{@tfn{sqrt}(8)} is rewritten as
+@texline @math{2\,@tfn{sqrt}(2)}.
 @infoline @expr{2 sqrt(2)}.  
 Conceptually speaking this implies factoring the argument into primes
 and moving pairs of primes out of the square root, but for reasons of
 efficiency Calc only looks for primes up to 29.
 
 Square roots in the denominator of a quotient are moved to the
-numerator:  @expr{1 / @t{sqrt}(3)} changes to @expr{@t{sqrt}(3) / 3}.
+numerator:  @expr{1 / @tfn{sqrt}(3)} changes to @expr{@tfn{sqrt}(3) / 3}.
 The same effect occurs for the square root of a fraction:
-@expr{@t{sqrt}(2:3)} changes to @expr{@t{sqrt}(6) / 3}.
+@expr{@tfn{sqrt}(2:3)} changes to @expr{@tfn{sqrt}(6) / 3}.
 
 @tex
 \bigskip
@@ -22617,18 +22931,27 @@ declared to be an integer.
 \bigskip
 @end tex
 
-Trigonometric functions are simplified in several ways.  First,
-@expr{@t{sin}(@t{arcsin}(x))} is simplified to @expr{x}, and
-similarly for @code{cos} and @code{tan}.  If the argument to
-@code{sin} is negative-looking, it is simplified to 
-@expr{-@t{sin}(x),},  and similarly for @code{cos} and @code{tan}.
+Trigonometric functions are simplified in several ways.  Whenever a
+products of two trigonometric functions can be replaced by a single
+function, the replacement is made; for example,
+@expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}. 
+Reciprocals of trigonometric functions are replaced by their reciprocal
+function; for example, @expr{1/@tfn{sec}(x)} is simplified to
+@expr{@tfn{cos}(x)}.  The corresponding simplifications for the
+hyperbolic functions are also handled.
+
+Trigonometric functions of their inverse functions are
+simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
+simplified to @expr{x}, and similarly for @code{cos} and @code{tan}.  
+Trigonometric functions of inverses of different trigonometric
+functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))}
+to @expr{@tfn{sqrt}(1 - x^2)}.
+
+If the argument to @code{sin} is negative-looking, it is simplified to
+@expr{-@tfn{sin}(x)}, and similarly for @code{cos} and @code{tan}.
 Finally, certain special values of the argument are recognized;
 @pxref{Trigonometric and Hyperbolic Functions}.
 
-Trigonometric functions of inverses of different trigonometric
-functions can also be simplified, as in @expr{@t{sin}(@t{arccos}(x))}
-to @expr{@t{sqrt}(1 - x^2)}.
-
 Hyperbolic functions of their inverses and of negative-looking
 arguments are also handled, as are exponentials of inverse
 hyperbolic functions.
@@ -22636,29 +22959,29 @@ hyperbolic functions.
 No simplifications for inverse trigonometric and hyperbolic
 functions are known, except for negative arguments of @code{arcsin},
 @code{arctan}, @code{arcsinh}, and @code{arctanh}.  Note that
-@expr{@t{arcsin}(@t{sin}(x))} can @emph{not} safely change to
+@expr{@tfn{arcsin}(@tfn{sin}(x))} can @emph{not} safely change to
 @expr{x}, since this only correct within an integer multiple of 
 @texline @math{2 \pi}
 @infoline @expr{2 pi} 
-radians or 360 degrees.  However, @expr{@t{arcsinh}(@t{sinh}(x))} is
+radians or 360 degrees.  However, @expr{@tfn{arcsinh}(@tfn{sinh}(x))} is
 simplified to @expr{x} if @expr{x} is known to be real.
 
 Several simplifications that apply to logarithms and exponentials
-are that @expr{@t{exp}(@t{ln}(x))}, 
-@texline @t{e}@math{^{\ln(x)}},
-@infoline @expr{e^@t{ln}(x)}, 
+are that @expr{@tfn{exp}(@tfn{ln}(x))}, 
+@texline @tfn{e}@math{^{\ln(x)}},
+@infoline @expr{e^@tfn{ln}(x)}, 
 and
 @texline @math{10^{{\rm log10}(x)}}
-@infoline @expr{10^@t{log10}(x)} 
-all reduce to @expr{x}.  Also, @expr{@t{ln}(@t{exp}(x))}, etc., can
+@infoline @expr{10^@tfn{log10}(x)} 
+all reduce to @expr{x}.  Also, @expr{@tfn{ln}(@tfn{exp}(x))}, etc., can
 reduce to @expr{x} if @expr{x} is provably real.  The form
-@expr{@t{exp}(x)^y} is simplified to @expr{@t{exp}(x y)}.  If @expr{x}
+@expr{@tfn{exp}(x)^y} is simplified to @expr{@tfn{exp}(x y)}.  If @expr{x}
 is a suitable multiple of 
 @texline @math{\pi i} 
 @infoline @expr{pi i}
 (as described above for the trigonometric functions), then
-@expr{@t{exp}(x)} or @expr{e^x} will be expanded.  Finally,
-@expr{@t{ln}(x)} is simplified to a form involving @code{pi} and
+@expr{@tfn{exp}(x)} or @expr{e^x} will be expanded.  Finally,
+@expr{@tfn{ln}(x)} is simplified to a form involving @code{pi} and
 @code{i} where @expr{x} is provably negative, positive imaginary, or
 negative imaginary. 
 
@@ -22730,9 +23053,9 @@ by @kbd{a e}.
 
 Inverse trigonometric or hyperbolic functions, called with their
 corresponding non-inverse functions as arguments, are simplified
-by @kbd{a e}.  For example, @expr{@t{arcsin}(@t{sin}(x))} changes
-to @expr{x}.  Also, @expr{@t{arcsin}(@t{cos}(x))} and
-@expr{@t{arccos}(@t{sin}(x))} both change to @expr{@t{pi}/2 - x}.
+by @kbd{a e}.  For example, @expr{@tfn{arcsin}(@tfn{sin}(x))} changes
+to @expr{x}.  Also, @expr{@tfn{arcsin}(@tfn{cos}(x))} and
+@expr{@tfn{arccos}(@tfn{sin}(x))} both change to @expr{@tfn{pi}/2 - x}.
 These simplifications are unsafe because they are valid only for
 values of @expr{x} in a certain range; outside that range, values
 are folded down to the 360-degree range that the inverse trigonometric
@@ -22748,22 +23071,22 @@ in a restricted range of @expr{x}; for example, in
 the powers cancel to get @expr{x}, which is valid for positive values
 of @expr{x} but not for negative or complex values.
 
-Similarly, @expr{@t{sqrt}(x^a)} and @expr{@t{sqrt}(x)^a} are both
+Similarly, @expr{@tfn{sqrt}(x^a)} and @expr{@tfn{sqrt}(x)^a} are both
 simplified (possibly unsafely) to 
 @texline @math{x^{a/2}}.
 @infoline @expr{x^(a/2)}.
 
-Forms like @expr{@t{sqrt}(1 - sin(x)^2)} are simplified to, e.g.,
-@expr{@t{cos}(x)}.  Calc has identities of this sort for @code{sin},
+Forms like @expr{@tfn{sqrt}(1 - sin(x)^2)} are simplified to, e.g.,
+@expr{@tfn{cos}(x)}.  Calc has identities of this sort for @code{sin},
 @code{cos}, @code{tan}, @code{sinh}, and @code{cosh}.
 
 Arguments of square roots are partially factored to look for
 squared terms that can be extracted.  For example,
-@expr{@t{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to 
-@expr{a b @t{sqrt}(a+b)}.
+@expr{@tfn{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to 
+@expr{a b @tfn{sqrt}(a+b)}.
 
-The simplifications of @expr{@t{ln}(@t{exp}(x))},
-@expr{@t{ln}(@t{e}^x)}, and @expr{@t{log10}(10^x)} to @expr{x} are also
+The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))},
+@expr{@tfn{ln}(@tfn{e}^x)}, and @expr{@tfn{log10}(10^x)} to @expr{x} are also
 unsafe because of problems with principal values (although these
 simplifications are safe if @expr{x} is known to be real).
 
@@ -23169,11 +23492,11 @@ argument once).
 @tindex integ
 The @kbd{a i} (@code{calc-integral}) [@code{integ}] command computes the
 indefinite integral of the expression on the top of the stack with
-respect to a variable.  The integrator is not guaranteed to work for
-all integrable functions, but it is able to integrate several large
-classes of formulas.  In particular, any polynomial or rational function
-(a polynomial divided by a polynomial) is acceptable.  (Rational functions
-don't have to be in explicit quotient form, however; 
+respect to a prompted-for variable.  The integrator is not guaranteed to
+work for all integrable functions, but it is able to integrate several
+large classes of formulas.  In particular, any polynomial or rational
+function (a polynomial divided by a polynomial) is acceptable.
+(Rational functions don't have to be in explicit quotient form, however; 
 @texline @math{x/(1+x^{-2})}
 @infoline @expr{x/(1+x^-2)}
 is not strictly a quotient of polynomials, but it is equivalent to
@@ -23182,6 +23505,11 @@ is not strictly a quotient of polynomials, but it is equivalent to
 integrated.  Finally, rational functions involving trigonometric or
 hyperbolic functions can be integrated.
 
+With an argument (@kbd{C-u a i}), this command will compute the definite
+integral of the expression on top of the stack.  In this case, the
+command will again prompt for an integration variable, then prompt for a
+lower limit and an upper limit.
+
 @ifinfo
 If you use the @code{integ} function directly in an algebraic formula,
 you can also write @samp{integ(f,x,v)} which expresses the resulting
@@ -23293,7 +23621,7 @@ is allowed only within @code{IntegRules}; it means ``integrate this
 with respect to the same integration variable.''  If Calc is unable
 to integrate @code{u}, the integration that invoked @code{IntegRules}
 also fails.  Thus integrating @samp{twice(f(x))} fails, returning the
-unevaluated integral @samp{integ(twice(f(x)), x)}.  It is still legal
+unevaluated integral @samp{integ(twice(f(x)), x)}.  It is still valid
 to call @code{integ} with two or more arguments, however; in this case,
 if @code{u} is not integrable, @code{twice} itself will still be
 integrated:  If the above rule is changed to @samp{... := twice(integ(u,x))},
@@ -24315,8 +24643,8 @@ contain error forms.  The data values must either all include errors
 or all be plain numbers.  Error forms can go anywhere but generally
 go on the numbers in the last row of the data matrix.  If the last
 row contains error forms
-@texline `@var{y_i}@w{ @t{+/-} }@math{\sigma_i}', 
-@infoline `@var{y_i}@w{ @t{+/-} }@var{sigma_i}', 
+@texline `@var{y_i}@w{ @tfn{+/-} }@math{\sigma_i}', 
+@infoline `@var{y_i}@w{ @tfn{+/-} }@var{sigma_i}', 
 then the 
 @texline @math{\chi^2}
 @infoline @expr{chi^2}
@@ -24468,17 +24796,17 @@ Linear or multilinear.  @mathit{a + b x + c y + d z}.
 @item 2-9
 Polynomials.  @mathit{a + b x + c x^2 + d x^3}.
 @item e
-Exponential.  @mathit{a} @t{exp}@mathit{(b x)} @t{exp}@mathit{(c y)}.
+Exponential.  @mathit{a} @tfn{exp}@mathit{(b x)} @tfn{exp}@mathit{(c y)}.
 @item E
-Base-10 exponential.  @mathit{a} @t{10^}@mathit{(b x)} @t{10^}@mathit{(c y)}.
+Base-10 exponential.  @mathit{a} @tfn{10^}@mathit{(b x)} @tfn{10^}@mathit{(c y)}.
 @item x
-Exponential (alternate notation).  @t{exp}@mathit{(a + b x + c y)}.
+Exponential (alternate notation).  @tfn{exp}@mathit{(a + b x + c y)}.
 @item X
-Base-10 exponential (alternate).  @t{10^}@mathit{(a + b x + c y)}.
+Base-10 exponential (alternate).  @tfn{10^}@mathit{(a + b x + c y)}.
 @item l
-Logarithmic.  @mathit{a + b} @t{ln}@mathit{(x) + c} @t{ln}@mathit{(y)}.
+Logarithmic.  @mathit{a + b} @tfn{ln}@mathit{(x) + c} @tfn{ln}@mathit{(y)}.
 @item L
-Base-10 logarithmic.  @mathit{a + b} @t{log10}@mathit{(x) + c} @t{log10}@mathit{(y)}.
+Base-10 logarithmic.  @mathit{a + b} @tfn{log10}@mathit{(x) + c} @tfn{log10}@mathit{(y)}.
 @item ^
 General exponential.  @mathit{a b^x c^y}.
 @item p
@@ -25140,7 +25468,7 @@ As a special feature, if the limits are infinite (or omitted, as
 described above) but the formula includes vectors subscripted by
 expressions that involve the iteration variable, Calc narrows
 the limits to include only the range of integers which result in
-legal subscripts for the vector.  For example, the sum
+valid subscripts for the vector.  For example, the sum
 @samp{sum(k [a,b,c,d,e,f,g]_(2k),k)} evaluates to @samp{b + 2 d + 3 f}.
 
 The limits of a sum do not need to be integers.  For example,
@@ -25150,7 +25478,7 @@ Calc computes the number of iterations using the formula
 after simplification as if by @kbd{a s}, evaluate to an integer.
 
 If the number of iterations according to the above formula does
-not come out to an integer, the sum is illegal and will be left
+not come out to an integer, the sum is invalid and will be left
 in symbolic form.  However, closed forms are still supplied, and
 you are on your honor not to misuse the resulting formulas by
 substituting mismatched bounds into them.  For example,
@@ -25363,7 +25691,7 @@ stack.  It also works elementwise on vectors.  For example, if
 variable and the lefthand side is a number (as in @samp{2.34 = x}), then
 Calc keeps the lefthand side instead.  Finally, this command works with
 assignments @samp{x := 2.34} as well as equations, always taking the
-the righthand side, and for @samp{=>} (evaluates-to) operators, always
+righthand side, and for @samp{=>} (evaluates-to) operators, always
 taking the lefthand side.
 
 @kindex a &
@@ -27592,7 +27920,7 @@ argument to @kbd{u v}.
 The @kbd{u V} (@code{calc-view-units-table}) command is like @kbd{u v} except
 that the cursor is not moved into the Units Table buffer.  You can
 type @kbd{u V} again to remove the Units Table from the display.  To
-return from the Units Table buffer after a @kbd{u v}, type @kbd{M-# c}
+return from the Units Table buffer after a @kbd{u v}, type @kbd{C-x * c}
 again or use the regular Emacs @w{@kbd{C-x o}} (@code{other-window})
 command.  You can also kill the buffer with @kbd{C-x k} if you wish;
 the actual units table is safely stored inside the Calculator.
@@ -27649,9 +27977,17 @@ for Angstroms.
 @end ifinfo
 
 The unit @code{pt} stands for pints; the name @code{point} stands for
-a typographical point, defined by @samp{72 point = 1 in}.  There is
-also @code{tpt}, which stands for a printer's point as defined by the
-@TeX{} typesetting system:  @samp{72.27 tpt = 1 in}.
+a typographical point, defined by @samp{72 point = 1 in}.  This is
+slightly different than the point defined by the American Typefounder's
+Association in 1886, but the point used by Calc has become standard
+largely due to its use by the PostScript page description language.
+There is also @code{texpt}, which stands for a printer's point as
+defined by the @TeX{} typesetting system:  @samp{72.27 texpt = 1 in}.
+Other units used by @TeX{} are available; they are @code{texpc} (a pica),
+@code{texbp} (a ``big point'', equal to a standard point which is larger
+than the point used by @TeX{}), @code{texdd} (a Didot point),
+@code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point, 
+all dimensions representable in @TeX{} are multiples of this value).
 
 The unit @code{e} stands for the elementary (electron) unit of charge;
 because algebra command could mistake this for the special constant
@@ -27677,7 +28013,7 @@ the @kbd{u g} command gets the definition of one of these constants
 in its normal terms, and @kbd{u b} expresses the definition in base
 units.
 
-Two units, @code{pi} and @code{fsc} (the fine structure constant,
+Two units, @code{pi} and @code{alpha} (the fine structure constant,
 approximately @mathit{1/137}) are dimensionless.  The units simplification
 commands simply treat these names as equivalent to their corresponding
 values.  However you can, for example, use @kbd{u c} to convert a pure
@@ -27759,13 +28095,14 @@ possible to create user-defined temperature units.
 
 @kindex u p
 @pindex calc-permanent-units
-@cindex @file{.emacs} file, user-defined units
+@cindex Calc init file, user-defined units
 The @kbd{u p} (@code{calc-permanent-units}) command stores the user-defined
-units in your @file{.emacs} file, so that the units will still be
-available in subsequent Emacs sessions.  If there was already a set of
-user-defined units in your @file{.emacs} file, it is replaced by the
-new set.  (@xref{General Mode Commands}, for a way to tell Calc to use
-a different file instead of @file{.emacs}.)
+units in your Calc init file (the file given by the variable
+@code{calc-settings-file}, typically @file{~/.calc.el}), so that the
+units will still be available in subsequent Emacs sessions.  If there
+was already a set of user-defined units in your Calc init file, it
+is replaced by the new set.  (@xref{General Mode Commands}, for a way to
+tell Calc to use a different file for the Calc init file.)
 
 @node Store and Recall, Graphics, Units, Top
 @chapter Storing and Recalling
@@ -27967,12 +28304,21 @@ pushes the old value of @samp{a} on the stack and stores @samp{a = 6}.
 @pindex calc-unstore
 @cindex Void variables
 @cindex Un-storing variables
-Until you store something in them, variables are ``void,'' that is, they
-contain no value at all.  If they appear in an algebraic formula they
-will be left alone even if you press @kbd{=} (@code{calc-evaluate}).
+Until you store something in them, most variables are ``void,'' that is,
+they contain no value at all.  If they appear in an algebraic formula
+they will be left alone even if you press @kbd{=} (@code{calc-evaluate}).
 The @kbd{s u} (@code{calc-unstore}) command returns a variable to the
 void state.
 
+@kindex s c
+@pindex calc-copy-variable
+The @kbd{s c} (@code{calc-copy-variable}) command copies the stored
+value of one variable to another.  One way it differs from a simple
+@kbd{s r} followed by an @kbd{s t} (aside from saving keystrokes) is
+that the value never goes on the stack and thus is never rounded,
+evaluated, or simplified in any way; it is not even rounded down to the
+current precision.
+
 The only variables with predefined values are the ``special constants''
 @code{pi}, @code{e}, @code{i}, @code{phi}, and @code{gamma}.  You are free
 to unstore these variables or to store new values into them if you like,
@@ -27982,25 +28328,26 @@ you change the value of one of these variables, or of one of the other
 special variables @code{inf}, @code{uinf}, and @code{nan} (which are
 normally void).
 
-Note that @code{pi} doesn't actually have 3.14159265359 stored
-in it, but rather a special magic value that evaluates to @cpi{}
-at the current precision.  Likewise @code{e}, @code{i}, and
-@code{phi} evaluate according to the current precision or polar mode.
-If you recall a value from @code{pi} and store it back, this magic
-property will be lost.
-
-@kindex s c
-@pindex calc-copy-variable
-The @kbd{s c} (@code{calc-copy-variable}) command copies the stored
-value of one variable to another.  It differs from a simple @kbd{s r}
-followed by an @kbd{s t} in two important ways.  First, the value never
-goes on the stack and thus is never rounded, evaluated, or simplified
-in any way; it is not even rounded down to the current precision.
-Second, the ``magic'' contents of a variable like @code{e} can
-be copied into another variable with this command, perhaps because
-you need to unstore @code{e} right now but you wish to put it
-back when you're done.  The @kbd{s c} command is the only way to
-manipulate these magic values intact.
+Note that @code{pi} doesn't actually have 3.14159265359 stored in it,
+but rather a special magic value that evaluates to @cpi{} at the current
+precision.  Likewise @code{e}, @code{i}, and @code{phi} evaluate
+according to the current precision or polar mode.  If you recall a value
+from @code{pi} and store it back, this magic property will be lost.  The
+magic property is preserved, however, when a variable is copied with
+@kbd{s c}.
+
+@kindex s k
+@pindex calc-copy-special-constant
+If one of the ``special constants'' is redefined (or undefined) so that
+it no longer has its magic property, the property can be restored with 
+@kbd{s k} (@code{calc-copy-special-constant}).  This command will prompt
+for a special constant and a variable to store it in, and so a special
+constant can be stored in any variable.  Here, the special constant that
+you enter doesn't depend on the value of the corresponding variable;
+@code{pi} will represent 3.14159@dots{} regardless of what is currently
+stored in the Calc variable @code{pi}.  If one of the other special
+variables, @code{inf}, @code{uinf} or @code{nan}, is given a value, its
+original behavior can be restored by voiding it with @kbd{s u}.
 
 @node Recalling Variables, Operations on Variables, Storing Variables, Store and Recall
 @section Recalling Variables
@@ -28150,14 +28497,15 @@ names rather than prompting for the variable name.
 @pindex calc-permanent-variable
 @cindex Storing variables
 @cindex Permanent variables
-@cindex @file{.emacs} file, variables
+@cindex Calc init file, variables
 The @kbd{s p} (@code{calc-permanent-variable}) command saves a
-variable's value permanently in your @file{.emacs} file, so that its
-value will still be available in future Emacs sessions.  You can
-re-execute @w{@kbd{s p}} later on to update the saved value, but the
-only way to remove a saved variable is to edit your @file{.emacs} file
+variable's value permanently in your Calc init file (the file given by
+the variable @code{calc-settings-file}, typically @file{~/.calc.el}), so
+that its value will still be available in future Emacs sessions.  You
+can re-execute @w{@kbd{s p}} later on to update the saved value, but the
+only way to remove a saved variable is to edit your calc init file
 by hand.  (@xref{General Mode Commands}, for a way to tell Calc to
-use a different file instead of @file{.emacs}.)
+use a different file for the Calc init file.)
 
 If you do not specify the name of a variable to save (i.e.,
 @kbd{s p @key{RET}}), all Calc variables with defined values
@@ -28176,7 +28524,7 @@ the values of all Calc variables into a specified buffer.
 The variables are written with the prefix @code{var-} in the form of
 Lisp @code{setq} commands 
 which store the values in string form.  You can place these commands
-in your @file{.emacs} buffer if you wish, though in this case it
+in your Calc init file (or @file{.emacs}) if you wish, though in this case it
 would be easier to use @kbd{s p @key{RET}}.  (Note that @kbd{s i}
 omits the same set of variables as @w{@kbd{s p @key{RET}}}; the difference
 is that @kbd{s i} will store the variables in any buffer, and it also
@@ -28230,7 +28578,7 @@ since the evaluation step will also evaluate @code{pi}.
 @cindex @samp{=>} operator
 The special algebraic symbol @samp{=>} is known as the @dfn{evaluates-to
 operator}.  (It will show up as an @code{evalto} function call in
-other language modes like Pascal and @TeX{}.)  This is a binary
+other language modes like Pascal and La@TeX{}.)  This is a binary
 operator, that is, it has a lefthand and a righthand argument,
 although it can be entered with the righthand argument omitted.
 
@@ -28345,7 +28693,7 @@ operators in Algebraic mode, or by using the @kbd{s :}
 (@code{calc-assign}) [@code{assign}] command which takes a variable
 and value from the stack and replaces them with an assignment.
 
-@xref{TeX Language Mode}, for the way @samp{=>} appears in
+@xref{TeX and LaTeX Language Modes}, for the way @samp{=>} appears in
 @TeX{} language output.  The @dfn{eqn} mode gives similar
 treatment to @samp{=>}.
 
@@ -28354,20 +28702,20 @@ treatment to @samp{=>}.
 
 @noindent
 The commands for graphing data begin with the @kbd{g} prefix key.  Calc
-uses GNUPLOT 2.0 or 3.0 to do graphics.  These commands will only work
+uses GNUPLOT 2.0 or later to do graphics.  These commands will only work
 if GNUPLOT is available on your system.  (While GNUPLOT sounds like
 a relative of GNU Emacs, it is actually completely unrelated.
-However, it is free software and can be obtained from the Free
-Software Foundation's machine @samp{prep.ai.mit.edu}.)
+However, it is free software.   It can be obtained from
+@samp{http://www.gnuplot.info}.)
 
 @vindex calc-gnuplot-name
 If you have GNUPLOT installed on your system but Calc is unable to
 find it, you may need to set the @code{calc-gnuplot-name} variable
-in your @file{.emacs} file.  You may also need to set some Lisp
+in your Calc init file or @file{.emacs}.  You may also need to set some Lisp
 variables to show Calc how to run GNUPLOT on your system; these
 are described under @kbd{g D} and @kbd{g O} below.  If you are
 using the X window system, Calc will configure GNUPLOT for you
-automatically.  If you have GNUPLOT 3.0 and you are not using X,
+automatically.  If you have GNUPLOT 3.0 or later and you are not using X,
 Calc will configure GNUPLOT to display graphs using simple character
 graphics that will work on any terminal.
 
@@ -28486,7 +28834,7 @@ is the height of the point
 at coordinate @expr{(x_i, y_j)} on the surface.  The 3D graph will
 be displayed from a certain default viewpoint; you can change this
 viewpoint by adding a @samp{set view} to the @samp{*Gnuplot Commands*}
-buffer as described later.  See the GNUPLOT 3.0 documentation for a
+buffer as described later.  See the GNUPLOT documentation for a
 description of the @samp{set view} command.
 
 Each point in the matrix will be displayed as a dot in the graph,
@@ -28603,7 +28951,7 @@ command.
 @kindex g A
 @pindex calc-graph-add-3d
 The @kbd{g A} (@code{calc-graph-add-3d}) command adds a 3D curve
-to the graph.  It is not legal to intermix 2D and 3D curves in a
+to the graph.  It is not valid to intermix 2D and 3D curves in a
 single graph.  This command takes three arguments, ``x'', ``y'',
 and ``z'', from the stack.  With a positive prefix @expr{n}, it
 takes @expr{n+2} arguments (common ``x'' and ``y'', plus @expr{n}
@@ -28944,7 +29292,7 @@ of the @samp{*Gnuplot Commands*} buffer.
 @vindex calc-gnuplot-print-command
 @vindex calc-gnuplot-print-device
 @vindex calc-gnuplot-print-output
-If you are installing Calc you may wish to configure the default and
+You may wish to configure the default and
 printer devices and output files for the whole system.  The relevant
 Lisp variables are @code{calc-gnuplot-default-device} and @code{-output},
 and @code{calc-gnuplot-print-device} and @code{-output}.  The output
@@ -28957,7 +29305,8 @@ display or print the output of GNUPLOT, respectively.  These may be
 @code{nil} if no command is necessary, or strings which can include
 @samp{%s} to signify the name of the file to be displayed or printed.
 Or, these variables may contain Lisp expressions which are evaluated
-to display or print the output.
+to display or print the output.  These variables are customizable
+(@pxref{Customizing Calc}).
 
 @kindex g x
 @pindex calc-graph-display
@@ -29116,20 +29465,20 @@ difference.)
 @section Grabbing from Other Buffers
 
 @noindent
-@kindex M-# g
+@kindex C-x * g
 @pindex calc-grab-region
-The @kbd{M-# g} (@code{calc-grab-region}) command takes the text between
+The @kbd{C-x * g} (@code{calc-grab-region}) command takes the text between
 point and mark in the current buffer and attempts to parse it as a
 vector of values.  Basically, it wraps the text in vector brackets
 @samp{[ ]} unless the text already is enclosed in vector brackets,
 then reads the text as if it were an algebraic entry.  The contents
 of the vector may be numbers, formulas, or any other Calc objects.
-If the @kbd{M-# g} command works successfully, it does an automatic
-@kbd{M-# c} to enter the Calculator buffer.
+If the @kbd{C-x * g} command works successfully, it does an automatic
+@kbd{C-x * c} to enter the Calculator buffer.
 
 A numeric prefix argument grabs the specified number of lines around
 point, ignoring the mark.  A positive prefix grabs from point to the
-@expr{n}th following newline (so that @kbd{M-1 M-# g} grabs from point
+@expr{n}th following newline (so that @kbd{M-1 C-x * g} grabs from point
 to the end of the current line); a negative prefix grabs from point
 back to the @expr{n+1}st preceding newline.  In these cases the text
 that is grabbed is exactly the same as the text that @kbd{C-k} would
@@ -29140,19 +29489,19 @@ line.
 
 A plain @kbd{C-u} prefix interprets the region between point and mark
 as a single number or formula rather than a vector.  For example,
-@kbd{M-# g} on the text @samp{2 a b} produces the vector of three
-values @samp{[2, a, b]}, but @kbd{C-u M-# g} on the same region
+@kbd{C-x * g} on the text @samp{2 a b} produces the vector of three
+values @samp{[2, a, b]}, but @kbd{C-u C-x * g} on the same region
 reads a formula which is a product of three things:  @samp{2 a b}.
 (The text @samp{a + b}, on the other hand, will be grabbed as a
-vector of one element by plain @kbd{M-# g} because the interpretation
+vector of one element by plain @kbd{C-x * g} because the interpretation
 @samp{[a, +, b]} would be a syntax error.)
 
 If a different language has been specified (@pxref{Language Modes}),
 the grabbed text will be interpreted according to that language.
 
-@kindex M-# r
+@kindex C-x * r
 @pindex calc-grab-rectangle
-The @kbd{M-# r} (@code{calc-grab-rectangle}) command takes the text between
+The @kbd{C-x * r} (@code{calc-grab-rectangle}) command takes the text between
 point and mark and attempts to parse it as a matrix.  If point and mark
 are both in the leftmost column, the lines in between are parsed in their
 entirety.  Otherwise, point and mark define the corners of a rectangle
@@ -29172,15 +29521,15 @@ were surrounded by square brackets.  Leading line numbers (in the
 format used in the Calc stack buffer) are ignored.  If you wish to
 force this interpretation (even if the line contains bracketed
 portions), give a negative numeric prefix argument to the
-@kbd{M-# r} command.
+@kbd{C-x * r} command.
 
 If you give a numeric prefix argument of zero or plain @kbd{C-u}, each
 line is instead interpreted as a single formula which is converted into
-a one-element vector.  Thus the result of @kbd{C-u M-# r} will be a
+a one-element vector.  Thus the result of @kbd{C-u C-x * r} will be a
 one-column matrix.  For example, suppose one line of the data is the
-expression @samp{2 a}.  A plain @w{@kbd{M-# r}} will interpret this as
+expression @samp{2 a}.  A plain @w{@kbd{C-x * r}} will interpret this as
 @samp{[2 a]}, which in turn is read as a two-element vector that forms
-one row of the matrix.  But a @kbd{C-u M-# r} will interpret this row
+one row of the matrix.  But a @kbd{C-u C-x * r} will interpret this row
 as @samp{[2*a]}.
 
 If you give a positive numeric prefix argument @var{n}, then each line
@@ -29195,35 +29544,35 @@ constituent rows and columns.  (If it is a
 @infoline 1x1
 matrix, just hit @kbd{v u} (@code{calc-unpack}) twice.)
 
-@kindex M-# :
-@kindex M-# _
+@kindex C-x * :
+@kindex C-x * _
 @pindex calc-grab-sum-across
 @pindex calc-grab-sum-down
 @cindex Summing rows and columns of data
-The @kbd{M-# :} (@code{calc-grab-sum-down}) command is a handy way to
+The @kbd{C-x * :} (@code{calc-grab-sum-down}) command is a handy way to
 grab a rectangle of data and sum its columns.  It is equivalent to
-typing @kbd{M-# r}, followed by @kbd{V R : +} (the vector reduction
+typing @kbd{C-x * r}, followed by @kbd{V R : +} (the vector reduction
 command that sums the columns of a matrix; @pxref{Reducing}).  The
 result of the command will be a vector of numbers, one for each column
-in the input data.  The @kbd{M-# _} (@code{calc-grab-sum-across}) command
+in the input data.  The @kbd{C-x * _} (@code{calc-grab-sum-across}) command
 similarly grabs a rectangle and sums its rows by executing @w{@kbd{V R _ +}}.
 
-As well as being more convenient, @kbd{M-# :} and @kbd{M-# _} are also
+As well as being more convenient, @kbd{C-x * :} and @kbd{C-x * _} are also
 much faster because they don't actually place the grabbed vector on
-the stack.  In a @kbd{M-# r V R : +} sequence, formatting the vector
+the stack.  In a @kbd{C-x * r V R : +} sequence, formatting the vector
 for display on the stack takes a large fraction of the total time
 (unless you have planned ahead and used @kbd{v .} and @kbd{t .} modes).
 
 For example, suppose we have a column of numbers in a file which we
 wish to sum.  Go to one corner of the column and press @kbd{C-@@} to
-set the mark; go to the other corner and type @kbd{M-# :}.  Since there
+set the mark; go to the other corner and type @kbd{C-x * :}.  Since there
 is only one column, the result will be a vector of one number, the sum.
 (You can type @kbd{v u} to unpack this vector into a plain number if
 you want to do further arithmetic with it.)
 
 To compute the product of the column of numbers, we would have to do
 it ``by hand'' since there's no special grab-and-multiply command.
-Use @kbd{M-# r} to grab the column of numbers into the calculator in
+Use @kbd{C-x * r} to grab the column of numbers into the calculator in
 the form of a column matrix.  The statistics command @kbd{u *} is a
 handy way to find the product of a vector or matrix of numbers.
 @xref{Statistical Operations}.  Another approach would be to use
@@ -29255,13 +29604,13 @@ latter strips off the trailing newline.
 With a lone @kbd{C-u} as a prefix argument, @kbd{y} @emph{replaces} the
 region in the other buffer with the yanked text, then quits the
 Calculator, leaving you in that buffer.  A typical use would be to use
-@kbd{M-# g} to read a region of data into the Calculator, operate on the
+@kbd{C-x * g} to read a region of data into the Calculator, operate on the
 data to produce a new matrix, then type @kbd{C-u y} to replace the
 original data with the new data.  One might wish to alter the matrix
 display style (@pxref{Vector and Matrix Formats}) or change the current
 display language (@pxref{Language Modes}) before doing this.  Also, note
 that this command replaces a linear region of text (as grabbed by
-@kbd{M-# g}), not a rectangle (as grabbed by @kbd{M-# r}).
+@kbd{C-x * g}), not a rectangle (as grabbed by @kbd{C-x * r}).
 
 If the editing buffer is in overwrite (as opposed to insert) mode,
 and the @kbd{C-u} prefix was not used, then the yanked number will
@@ -29278,8 +29627,8 @@ number, lengthening or shortening as necessary.  The concept of
 ``overwrite mode'' has thus been generalized from overwriting characters
 to overwriting one complete number with another.
 
-@kindex M-# y
-The @kbd{M-# y} key sequence is equivalent to @kbd{y} except that
+@kindex C-x * y
+The @kbd{C-x * y} key sequence is equivalent to @kbd{y} except that
 it can be typed anywhere, not just in Calc.  This provides an easy
 way to guarantee that Calc knows which editing buffer you want to use!
 
@@ -29312,13 +29661,13 @@ whole line.  So you can usually transfer a single number into Calc
 just by double-clicking on it in the shell, then middle-clicking
 in the Calc window.
 
-@node Keypad Mode, Embedded Mode, Kill and Yank, Introduction
+@node Keypad Mode, Embedded Mode, Kill and Yank, Top
 @chapter Keypad Mode
 
 @noindent
-@kindex M-# k
+@kindex C-x * k
 @pindex calc-keypad
-The @kbd{M-# k} (@code{calc-keypad}) command starts the Calculator
+The @kbd{C-x * k} (@code{calc-keypad}) command starts the Calculator
 and displays a picture of a calculator-style keypad.  If you are using
 the X window system, you can click on any of the ``keys'' in the
 keypad using the left mouse button to operate the calculator.
@@ -29327,7 +29676,7 @@ you can type in your file while simultaneously performing
 calculations with the mouse.
 
 @pindex full-calc-keypad
-If you have used @kbd{M-# b} first, @kbd{M-# k} instead invokes
+If you have used @kbd{C-x * b} first, @kbd{C-x * k} instead invokes
 the @code{full-calc-keypad} command, which takes over the whole
 Emacs screen and displays the keypad, the Calc stack, and the Calc
 trail all at once.  This mode would normally be used when running
@@ -29369,7 +29718,7 @@ original buffer.
 
 @smallexample
 @group
-|----+-----Calc 2.00-----+----1
+|----+-----Calc 2.1------+----1
 |FLR |CEIL|RND |TRNC|CLN2|FLT |
 |----+----+----+----+----+----|
 | LN |EXP |    |ABS |IDIV|MOD |
@@ -29488,9 +29837,9 @@ of 0 @samp{[]}, 1 @samp{[)}, 2 @samp{(]} or 3 @samp{()}, followed
 by the two limits of the interval.
 @end table
 
-The @kbd{OFF} key turns Calc off; typing @kbd{M-# k} or @kbd{M-# M-#}
+The @kbd{OFF} key turns Calc off; typing @kbd{C-x * k} or @kbd{C-x * *}
 again has the same effect.  This is analogous to typing @kbd{q} or
-hitting @kbd{M-# c} again in the normal calculator.  If Calc is
+hitting @kbd{C-x * c} again in the normal calculator.  If Calc is
 running standalone (the @code{full-calc-keypad} command appeared in the
 command line that started Emacs), then @kbd{OFF} is replaced with
 @kbd{EXIT}; clicking on this actually exits Emacs itself.
@@ -29730,14 +30079,26 @@ linked to the stack and this copying is taken care of automatically.
 @section Basic Embedded Mode
 
 @noindent
-@kindex M-# e
+@kindex C-x * e
 @pindex calc-embedded
 To enter Embedded mode, position the Emacs point (cursor) on a
-formula in any buffer and press @kbd{M-# e} (@code{calc-embedded}).
-Note that @kbd{M-# e} is not to be used in the Calc stack buffer
+formula in any buffer and press @kbd{C-x * e} (@code{calc-embedded}).
+Note that @kbd{C-x * e} is not to be used in the Calc stack buffer
 like most Calc commands, but rather in regular editing buffers that
 are visiting your own files.
 
+Calc will try to guess an appropriate language based on the major mode
+of the editing buffer. (@xref{Language Modes}.) If the current buffer is
+in @code{latex-mode}, for example, Calc will set its language to La@TeX{}.
+Similarly, Calc will use @TeX{} language for @code{tex-mode},
+@code{plain-tex-mode} and @code{context-mode}, C language for
+@code{c-mode} and @code{c++-mode}, FORTRAN language for
+@code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode},
+and eqn for @code{nroff-mode} (@pxref{Customizing Calc}).  
+These can be overridden with Calc's mode
+changing commands (@pxref{Mode Settings in Embedded Mode}).  If no
+suitable language is available, Calc will continue with its current language.
+
 Calc normally scans backward and forward in the buffer for the
 nearest opening and closing @dfn{formula delimiters}.  The simplest
 delimiters are blank lines.  Other delimiters that Embedded mode
@@ -29748,7 +30109,7 @@ understands are:
 The @TeX{} and La@TeX{} math delimiters @samp{$ $}, @samp{$$ $$},
 @samp{\[ \]}, and @samp{\( \)};
 @item
-Lines beginning with @samp{\begin} and @samp{\end};
+Lines beginning with @samp{\begin} and @samp{\end} (except matrix delimiters);
 @item
 Lines beginning with @samp{@@} (Texinfo delimiters).
 @item
@@ -29762,25 +30123,25 @@ your own favorite delimiters.  Delimiters like @samp{$ $} can appear
 on their own separate lines or in-line with the formula.
 
 If you give a positive or negative numeric prefix argument, Calc
-instead uses the current point as one end of the formula, and moves
-forward or backward (respectively) by that many lines to find the
-other end.  Explicit delimiters are not necessary in this case.
+instead uses the current point as one end of the formula, and includes
+that many lines forward or backward (respectively, including the current
+line). Explicit delimiters are not necessary in this case.
 
-With a prefix argument of zero, Calc uses the current region
-(delimited by point and mark) instead of formula delimiters.
+With a prefix argument of zero, Calc uses the current region (delimited
+by point and mark) instead of formula delimiters.  With a prefix
+argument of @kbd{C-u} only, Calc uses the current line as the formula.
 
-@kindex M-# w
+@kindex C-x * w
 @pindex calc-embedded-word
-With a prefix argument of @kbd{C-u} only, Calc scans for the first
-non-numeric character (i.e., the first character that is not a
-digit, sign, decimal point, or upper- or lower-case @samp{e})
-forward and backward to delimit the formula.  @kbd{M-# w}
-(@code{calc-embedded-word}) is equivalent to @kbd{C-u M-# e}.
+The @kbd{C-x * w} (@code{calc-embedded-word}) command will start Embedded
+mode on the current ``word''; in this case Calc will scan for the first
+non-numeric character (i.e., the first character that is not a digit,
+sign, decimal point, or upper- or lower-case @samp{e}) forward and
+backward to delimit the formula.
 
 When you enable Embedded mode for a formula, Calc reads the text
 between the delimiters and tries to interpret it as a Calc formula.
-It's best if the current Calc language mode is correct for the
-formula, but Calc can generally identify @TeX{} formulas and
+Calc can generally identify @TeX{} formulas and
 Big-style formulas even if the language mode is wrong.  If Calc
 can't make sense of the formula, it beeps and refuses to enter
 Embedded mode.  But if the current language is wrong, Calc can
@@ -29790,7 +30151,7 @@ in Normal language mode, but the @code{atan} won't correspond to
 the built-in @code{arctan} function, and the @samp{a[1]} will be
 interpreted as @samp{a} times the vector @samp{[1]}!
 
-If you press @kbd{M-# e} or @kbd{M-# w} to activate an embedded
+If you press @kbd{C-x * e} or @kbd{C-x * w} to activate an embedded
 formula which is blank, say with the cursor on the space between
 the two delimiters @samp{$ $}, Calc will immediately prompt for
 an algebraic entry.
@@ -29804,10 +30165,10 @@ not affected by Embedded mode.
 When Embedded mode begins, Calc pushes the current formula onto
 the stack.  No Calc stack window is created; however, Calc copies
 the top-of-stack position into the original buffer at all times.
-You can create a Calc window by hand with @kbd{M-# o} if you
+You can create a Calc window by hand with @kbd{C-x * o} if you
 find you need to see the entire stack.
 
-For example, typing @kbd{M-# e} while somewhere in the formula
+For example, typing @kbd{C-x * e} while somewhere in the formula
 @samp{n>2} in the following line enables Embedded mode on that
 inequality:
 
@@ -29841,7 +30202,7 @@ needs to be commuted.
 We define $F_n = F_(n-1)+F_(n-2)$ for all $2 < n$.
 @end example
 
-The @kbd{M-# o} command is a useful way to open a Calc window
+The @kbd{C-x * o} command is a useful way to open a Calc window
 without actually selecting that window.  Giving this command
 verifies that @samp{2 < n} is also on the Calc stack.  Typing
 @kbd{17 @key{RET}} would produce:
@@ -29857,9 +30218,9 @@ at this point will exchange the two stack values and restore
 normally see the stack in Embedded mode, it is still there and
 it still operates in the same way.  But, as with old-fashioned
 RPN calculators, you can only see the value at the top of the
-stack at any given time (unless you use @kbd{M-# o}).
+stack at any given time (unless you use @kbd{C-x * o}).
 
-Typing @kbd{M-# e} again turns Embedded mode off.  The Calc
+Typing @kbd{C-x * e} again turns Embedded mode off.  The Calc
 window reveals that the formula @w{@samp{2 < n}} is automatically
 removed from the stack, but the @samp{17} is not.  Entering
 Embedded mode always pushes one thing onto the stack, and
@@ -29867,11 +30228,11 @@ leaving Embedded mode always removes one thing.  Anything else
 that happens on the stack is entirely your business as far as
 Embedded mode is concerned.
 
-If you press @kbd{M-# e} in the wrong place by accident, it is
+If you press @kbd{C-x * e} in the wrong place by accident, it is
 possible that Calc will be able to parse the nearby text as a
 formula and will mangle that text in an attempt to redisplay it
 ``properly'' in the current language mode.  If this happens,
-press @kbd{M-# e} again to exit Embedded mode, then give the
+press @kbd{C-x * e} again to exit Embedded mode, then give the
 regular Emacs ``undo'' command (@kbd{C-_} or @kbd{C-x u}) to put
 the text back the way it was before Calc edited it.  Note that Calc's
 own Undo command (typed before you turn Embedded mode back off)
@@ -29885,17 +30246,15 @@ you haven't done anything with this formula yet.
 When Embedded mode ``activates'' a formula, i.e., when it examines
 the formula for the first time since the buffer was created or
 loaded, Calc tries to sense the language in which the formula was
-written.  If the formula contains any @TeX{}-like @samp{\} sequences,
-it is parsed (i.e., read) in @TeX{} mode.  If the formula appears to
+written.  If the formula contains any La@TeX{}-like @samp{\} sequences,
+it is parsed (i.e., read) in La@TeX{} mode.  If the formula appears to
 be written in multi-line Big mode, it is parsed in Big mode.  Otherwise,
 it is parsed according to the current language mode.
 
 Note that Calc does not change the current language mode according
-to what it finds.  Even though it can read a @TeX{} formula when
-not in @TeX{} mode, it will immediately rewrite this formula using
-whatever language mode is in effect.  You must then type @kbd{d T}
-to switch Calc permanently into @TeX{} mode if that is what you
-desire.
+the formula it reads in.  Even though it can read a La@TeX{} formula when
+not in La@TeX{} mode, it will immediately rewrite this formula using
+whatever language mode is in effect.
 
 @tex
 \bigskip
@@ -29915,12 +30274,13 @@ version.
 
 Plain formulas are preceded and followed by @samp{%%%} signs
 by default.  This notation has the advantage that the @samp{%}
-character begins a comment in @TeX{}, so if your formula is
-embedded in a @TeX{} document its plain version will be
-invisible in the final printed copy.  @xref{Customizing
-Embedded Mode}, to see how to change the ``plain'' formula
-delimiters, say to something that @dfn{eqn} or some other
-formatter will treat as a comment.
+character begins a comment in @TeX{} and La@TeX{}, so if your formula is 
+embedded in a @TeX{} or La@TeX{} document its plain version will be
+invisible in the final printed copy.  Certain major modes have different
+delimiters to ensure that the ``plain'' version will be 
+in a comment for those modes, also.  
+See @ref{Customizing Embedded Mode} to see how to change the ``plain''
+formula delimiters. 
 
 There are several notations which Calc's parser for ``big''
 formatted formulas can't yet recognize.  In particular, it can't
@@ -29983,10 +30343,10 @@ and at x = 3 is
                             @r{(the value)}
 @end smallexample
 
-@kindex M-# d
+@kindex C-x * d
 @pindex calc-embedded-duplicate
-The @kbd{M-# d} (@code{calc-embedded-duplicate}) command is a
-handy way to make sequences like this.  If you type @kbd{M-# d},
+The @kbd{C-x * d} (@code{calc-embedded-duplicate}) command is a
+handy way to make sequences like this.  If you type @kbd{C-x * d},
 the formula under the cursor (which may or may not have Embedded
 mode enabled for it at the time) is copied immediately below and
 Embedded mode is then enabled for that copy.
@@ -30000,7 +30360,7 @@ The derivative of
 @end smallexample
 
 @noindent
-and press @kbd{M-# d} with the cursor on this formula.  The result
+and press @kbd{C-x * d} with the cursor on this formula.  The result
 is
 
 @smallexample
@@ -30015,12 +30375,12 @@ The derivative of
 @noindent
 with the second copy of the formula enabled in Embedded mode.
 You can now press @kbd{a d x @key{RET}} to take the derivative, and
-@kbd{M-# d M-# d} to make two more copies of the derivative.
+@kbd{C-x * d C-x * d} to make two more copies of the derivative.
 To complete the computations, type @kbd{3 s l x @key{RET}} to evaluate
 the last formula, then move up to the second-to-last formula
 and type @kbd{2 s l x @key{RET}}.
 
-Finally, you would want to press @kbd{M-# e} to exit Embedded
+Finally, you would want to press @kbd{C-x * e} to exit Embedded
 mode, then go up and insert the necessary text in between the
 various formulas and numbers.
 
@@ -30028,40 +30388,37 @@ various formulas and numbers.
 \bigskip
 @end tex
 
-@kindex M-# f
-@kindex M-# '
+@kindex C-x * f
+@kindex C-x * '
 @pindex calc-embedded-new-formula
-The @kbd{M-# f} (@code{calc-embedded-new-formula}) command
+The @kbd{C-x * f} (@code{calc-embedded-new-formula}) command
 creates a new embedded formula at the current point.  It inserts
 some default delimiters, which are usually just blank lines,
 and then does an algebraic entry to get the formula (which is
 then enabled for Embedded mode).  This is just shorthand for
 typing the delimiters yourself, positioning the cursor between
-the new delimiters, and pressing @kbd{M-# e}.  The key sequence
-@kbd{M-# '} is equivalent to @kbd{M-# f}.
+the new delimiters, and pressing @kbd{C-x * e}.  The key sequence
+@kbd{C-x * '} is equivalent to @kbd{C-x * f}.
 
-@kindex M-# n
-@kindex M-# p
+@kindex C-x * n
+@kindex C-x * p
 @pindex calc-embedded-next
 @pindex calc-embedded-previous
-The @kbd{M-# n} (@code{calc-embedded-next}) and @kbd{M-# p}
+The @kbd{C-x * n} (@code{calc-embedded-next}) and @kbd{C-x * p}
 (@code{calc-embedded-previous}) commands move the cursor to the
 next or previous active embedded formula in the buffer.  They
 can take positive or negative prefix arguments to move by several
 formulas.  Note that these commands do not actually examine the
 text of the buffer looking for formulas; they only see formulas
 which have previously been activated in Embedded mode.  In fact,
-@kbd{M-# n} and @kbd{M-# p} are a useful way to tell which
+@kbd{C-x * n} and @kbd{C-x * p} are a useful way to tell which
 embedded formulas are currently active.  Also, note that these
 commands do not enable Embedded mode on the next or previous
-formula, they just move the cursor.  (By the way, @kbd{M-# n} is
-not as awkward to type as it may seem, because @kbd{M-#} ignores
-Shift and Meta on the second keystroke:  @kbd{M-# M-N} can be typed
-by holding down Shift and Meta and alternately typing two keys.)
+formula, they just move the cursor.
 
-@kindex M-# `
+@kindex C-x * `
 @pindex calc-embedded-edit
-The @kbd{M-# `} (@code{calc-embedded-edit}) command edits the
+The @kbd{C-x * `} (@code{calc-embedded-edit}) command edits the
 embedded formula at the current point as if by @kbd{`} (@code{calc-edit}).
 Embedded mode does not have to be enabled for this to work.  Press
 @kbd{C-c C-c} to finish the edit, or @kbd{C-x k} to cancel.
@@ -30126,10 +30483,10 @@ will do the trick) to select the righthand side of the assignment.
 Then, @kbd{17 @key{TAB} @key{DEL}} will swap the 17 into place (@pxref{Selecting
 Subformulas}, to see how this works).
 
-@kindex M-# j
+@kindex C-x * j
 @pindex calc-embedded-select
-The @kbd{M-# j} (@code{calc-embedded-select}) command provides an
-easy way to operate on assignments.  It is just like @kbd{M-# e},
+The @kbd{C-x * j} (@code{calc-embedded-select}) command provides an
+easy way to operate on assignments.  It is just like @kbd{C-x * e},
 except that if the enabled formula is an assignment, it uses
 @kbd{j 2} to select the righthand side.  If the enabled formula
 is an evaluates-to, it uses @kbd{j 1} to select the lefthand side.
@@ -30140,20 +30497,18 @@ bar := foo + 3 => 20
 @end example
 
 @noindent
-in which case @kbd{M-# j} will select the middle part (@samp{foo + 3}).
+in which case @kbd{C-x * j} will select the middle part (@samp{foo + 3}).
 
 The formula is automatically deselected when you leave Embedded
 mode.
 
-@kindex M-# u
-@kindex M-# =
-@pindex calc-embedded-update
+@kindex C-x * u
+@pindex calc-embedded-update-formula
 Another way to change the assignment to @code{foo} would simply be
 to edit the number using regular Emacs editing rather than Embedded
 mode.  Then, we have to find a way to get Embedded mode to notice
-the change.  The @kbd{M-# u} or @kbd{M-# =}
-(@code{calc-embedded-update-formula}) command is a convenient way
-to do this.
+the change.  The @kbd{C-x * u} (@code{calc-embedded-update-formula})
+command is a convenient way to do this.
 
 @example
 foo := 6
@@ -30161,29 +30516,29 @@ foo := 6
 foo + 7 => 13
 @end example
 
-Pressing @kbd{M-# u} is much like pressing @kbd{M-# e = M-# e}, that
+Pressing @kbd{C-x * u} is much like pressing @kbd{C-x * e = C-x * e}, that
 is, temporarily enabling Embedded mode for the formula under the
-cursor and then evaluating it with @kbd{=}.  But @kbd{M-# u} does
-not actually use @kbd{M-# e}, and in fact another formula somewhere
-else can be enabled in Embedded mode while you use @kbd{M-# u} and
+cursor and then evaluating it with @kbd{=}.  But @kbd{C-x * u} does
+not actually use @kbd{C-x * e}, and in fact another formula somewhere
+else can be enabled in Embedded mode while you use @kbd{C-x * u} and
 that formula will not be disturbed.
 
-With a numeric prefix argument, @kbd{M-# u} updates all active
+With a numeric prefix argument, @kbd{C-x * u} updates all active
 @samp{=>} formulas in the buffer.  Formulas which have not yet
 been activated in Embedded mode, and formulas which do not have
 @samp{=>} as their top-level operator, are not affected by this.
 (This is useful only if you have used @kbd{m C}; see below.)
 
-With a plain @kbd{C-u} prefix, @kbd{C-u M-# u} updates only in the
+With a plain @kbd{C-u} prefix, @kbd{C-u C-x * u} updates only in the
 region between mark and point rather than in the whole buffer.
 
-@kbd{M-# u} is also a handy way to activate a formula, such as an
+@kbd{C-x * u} is also a handy way to activate a formula, such as an
 @samp{=>} formula that has freshly been typed in or loaded from a
 file.
 
-@kindex M-# a
+@kindex C-x * a
 @pindex calc-embedded-activate
-The @kbd{M-# a} (@code{calc-embedded-activate}) command scans
+The @kbd{C-x * a} (@code{calc-embedded-activate}) command scans
 through the current buffer and activates all embedded formulas
 that contain @samp{:=} or @samp{=>} symbols.  This does not mean
 that Embedded mode is actually turned on, but only that the
@@ -30191,7 +30546,7 @@ formulas' positions are registered with Embedded mode so that
 the @samp{=>} values can be properly updated as assignments are
 changed.
 
-It is a good idea to type @kbd{M-# a} right after loading a file
+It is a good idea to type @kbd{C-x * a} right after loading a file
 that uses embedded @samp{=>} operators.  Emacs includes a nifty
 ``buffer-local variables'' feature that you can use to do this
 automatically.  The idea is to place near the end of your file
@@ -30206,7 +30561,7 @@ a few lines that look like this:
 @noindent
 where the leading and trailing @samp{---} can be replaced by
 any suitable strings (which must be the same on all three lines)
-or omitted altogether; in a @TeX{} file, @samp{%} would be a good
+or omitted altogether; in a @TeX{} or La@TeX{} file, @samp{%} would be a good
 leading string and no trailing string would be necessary.  In a
 C program, @samp{/*} and @samp{*/} would be good leading and
 trailing strings.
@@ -30214,41 +30569,41 @@ trailing strings.
 When Emacs loads a file into memory, it checks for a Local Variables
 section like this one at the end of the file.  If it finds this
 section, it does the specified things (in this case, running
-@kbd{M-# a} automatically) before editing of the file begins.
+@kbd{C-x * a} automatically) before editing of the file begins.
 The Local Variables section must be within 3000 characters of the
 end of the file for Emacs to find it, and it must be in the last
 page of the file if the file has any page separators.
 @xref{File Variables, , Local Variables in Files, emacs, the
 Emacs manual}.
 
-Note that @kbd{M-# a} does not update the formulas it finds.
-To do this, type, say, @kbd{M-1 M-# u} after @w{@kbd{M-# a}}.
+Note that @kbd{C-x * a} does not update the formulas it finds.
+To do this, type, say, @kbd{M-1 C-x * u} after @w{@kbd{C-x * a}}.
 Generally this should not be a problem, though, because the
 formulas will have been up-to-date already when the file was
 saved.
 
-Normally, @kbd{M-# a} activates all the formulas it finds, but
+Normally, @kbd{C-x * a} activates all the formulas it finds, but
 any previous active formulas remain active as well.  With a
-positive numeric prefix argument, @kbd{M-# a} first deactivates
+positive numeric prefix argument, @kbd{C-x * a} first deactivates
 all current active formulas, then actives the ones it finds in
 its scan of the buffer.  With a negative prefix argument,
-@kbd{M-# a} simply deactivates all formulas.
+@kbd{C-x * a} simply deactivates all formulas.
 
 Embedded mode has two symbols, @samp{Active} and @samp{~Active},
 which it puts next to the major mode name in a buffer's mode line.
 It puts @samp{Active} if it has reason to believe that all
-formulas in the buffer are active, because you have typed @kbd{M-# a}
+formulas in the buffer are active, because you have typed @kbd{C-x * a}
 and Calc has not since had to deactivate any formulas (which can
 happen if Calc goes to update an @samp{=>} formula somewhere because
 a variable changed, and finds that the formula is no longer there
 due to some kind of editing outside of Embedded mode).  Calc puts
 @samp{~Active} in the mode line if some, but probably not all,
 formulas in the buffer are active.  This happens if you activate
-a few formulas one at a time but never use @kbd{M-# a}, or if you
-used @kbd{M-# a} but then Calc had to deactivate a formula
+a few formulas one at a time but never use @kbd{C-x * a}, or if you
+used @kbd{C-x * a} but then Calc had to deactivate a formula
 because it lost track of it.  If neither of these symbols appears
 in the mode line, no embedded formulas are active in the buffer
-(e.g., before Embedded mode has been used, or after a @kbd{M-- M-# a}).
+(e.g., before Embedded mode has been used, or after a @kbd{M-- C-x * a}).
 
 Embedded formulas can refer to assignments both before and after them
 in the buffer.  If there are several assignments to a variable, the
@@ -30284,20 +30639,29 @@ and loaded in a later Emacs session, unless you have used the
 
 The @kbd{m C} (@code{calc-auto-recompute}) command turns automatic
 recomputation of @samp{=>} forms on and off.  If you turn automatic
-recomputation off, you will have to use @kbd{M-# u} to update these
+recomputation off, you will have to use @kbd{C-x * u} to update these
 formulas manually after an assignment has been changed.  If you
 plan to change several assignments at once, it may be more efficient
-to type @kbd{m C}, change all the assignments, then use @kbd{M-1 M-# u}
+to type @kbd{m C}, change all the assignments, then use @kbd{M-1 C-x * u}
 to update the entire buffer afterwards.  The @kbd{m C} command also
 controls @samp{=>} formulas on the stack; @pxref{Evaluates-To
 Operator}.  When you turn automatic recomputation back on, the
 stack will be updated but the Embedded buffer will not; you must
-use @kbd{M-# u} to update the buffer by hand.
+use @kbd{C-x * u} to update the buffer by hand.
 
 @node Mode Settings in Embedded Mode, Customizing Embedded Mode, Assignments in Embedded Mode, Embedded Mode
 @section Mode Settings in Embedded Mode
 
+@kindex m e
+@pindex calc-embedded-preserve-modes
 @noindent
+The mode settings can be changed while Calc is in embedded mode, but
+by default they will revert to their original values when embedded mode
+is ended. However, the modes saved when the mode-recording mode is
+@code{Save} (see below) and the modes in effect when the @kbd{m e}
+(@code{calc-embedded-preserve-modes}) command is given
+will be preserved when embedded mode is ended.
+
 Embedded mode has a rather complicated mechanism for handling mode
 settings in Embedded formulas.  It is possible to put annotations
 in the file that specify mode settings either global to the entire
@@ -30336,8 +30700,9 @@ formula are never used (except for global annotations, described
 below).
 
 The scan does not look for the leading @samp{% }, only for the
-square brackets and the text they enclose.  You can edit the mode
-annotations to a style that works better in context if you wish.
+square brackets and the text they enclose.  In fact, the leading
+characters are different for different major modes.  You can edit the
+mode annotations to a style that works better in context if you wish.
 @xref{Customizing Embedded Mode}, to see how to change the style
 that Calc uses when it generates the annotations.  You can write
 mode annotations into the file yourself if you know the syntax;
@@ -30355,7 +30720,7 @@ of mode setting, the second is a name for the mode itself, and
 the third is the value in the form of a Lisp symbol, number,
 or list.  Annotations with unrecognizable text in the first or
 second parts are ignored.  The third part is not checked to make
-sure the value is of a legal type or range; if you write an
+sure the value is of a valid type or range; if you write an
 annotation by hand, be sure to give a proper value or results
 will be unpredictable.  Mode-setting annotations are case-sensitive.
 
@@ -30393,11 +30758,11 @@ mode annotations somewhere out of the way, say, on a new page of
 the file, as long as those mode settings are suitable for all
 formulas in the file.
 
-Enabling a formula with @kbd{M-# e} causes a fresh scan for local
+Enabling a formula with @kbd{C-x * e} causes a fresh scan for local
 mode annotations; you will have to use this after adding annotations
 above a formula by hand to get the formula to notice them.  Updating
-a formula with @kbd{M-# u} will also re-scan the local modes, but
-global modes are only re-scanned by @kbd{M-# a}.
+a formula with @kbd{C-x * u} will also re-scan the local modes, but
+global modes are only re-scanned by @kbd{C-x * a}.
 
 Another way that modes can get out of date is if you add a local
 mode annotation to a formula that has another formula after it.
@@ -30413,12 +30778,14 @@ rules of reading annotations the @samp{(sci 0)} applies to it, too.
 456.
 @end example
 
-We would have to go down to the other formula and press @kbd{M-# u}
+We would have to go down to the other formula and press @kbd{C-x * u}
 on it in order to get it to notice the new annotation.
 
-Two more mode-recording modes selectable by @kbd{m R} are @code{Save}
-(which works even outside of Embedded mode), in which mode settings
-are recorded permanently in your Emacs startup file @file{~/.emacs}
+Two more mode-recording modes selectable by @kbd{m R} are available
+which are also available outside of Embedded mode.  
+(@pxref{General Mode Commands}.) They are @code{Save},  in which mode
+settings are recorded permanently in your Calc init file (the file given
+by the variable @code{calc-settings-file}, typically @file{~/.calc.el})
 rather than by annotating the current document, and no-recording
 mode (where there is no symbol like @code{Save} or @code{Local} in
 the mode line), in which mode-changing commands do not leave any
@@ -30432,17 +30799,14 @@ for @code{Save} have no effect.
 
 @noindent
 You can modify Embedded mode's behavior by setting various Lisp
-variables described here.  Use @kbd{M-x set-variable} or
-@kbd{M-x edit-options} to adjust a variable on the fly, or
-put a suitable @code{setq} statement in your @file{~/.emacs}
-file to set a variable permanently.  (Another possibility would
-be to use a file-local variable annotation at the end of the
-file; @pxref{File Variables, , Local Variables in Files, emacs, the
-Emacs manual}.)
-
-While none of these variables will be buffer-local by default, you
-can make any of them local to any Embedded mode buffer.  (Their
-values in the @samp{*Calculator*} buffer are never used.)
+variables described here.  These variables are customizable 
+(@pxref{Customizing Calc}), or you can use @kbd{M-x set-variable}
+or @kbd{M-x edit-options} to adjust a variable on the fly.
+(Another possibility would be to use a file-local variable annotation at
+the end of the file; 
+@pxref{File Variables, , Local Variables in Files, emacs, the Emacs manual}.)
+Many of the variables given mentioned here can be set to depend on the
+major mode of the editing buffer (@pxref{Customizing Calc}).
 
 @vindex calc-embedded-open-formula
 The @code{calc-embedded-open-formula} variable holds a regular
@@ -30516,8 +30880,8 @@ case).
 @vindex calc-embedded-open-word
 @vindex calc-embedded-close-word
 The @code{calc-embedded-open-word} and @code{calc-embedded-close-word}
-variables are similar expressions used when you type @kbd{M-# w}
-instead of @kbd{M-# e} to enable Embedded mode.
+variables are similar expressions used when you type @kbd{C-x * w}
+instead of @kbd{C-x * e} to enable Embedded mode.
 
 @vindex calc-embedded-open-plain
 The @code{calc-embedded-open-plain} variable is a string which
@@ -30525,20 +30889,22 @@ begins a ``plain'' formula written in front of the formatted
 formula when @kbd{d p} mode is turned on.  Note that this is an
 actual string, not a regular expression, because Calc must be able
 to write this string into a buffer as well as to recognize it.
-The default string is @code{"%%% "} (note the trailing space).
+The default string is @code{"%%% "} (note the trailing space), but may
+be different for certain major modes.
 
 @vindex calc-embedded-close-plain
 The @code{calc-embedded-close-plain} variable is a string which
-ends a ``plain'' formula.  The default is @code{" %%%\n"}.  Without
+ends a ``plain'' formula.  The default is @code{" %%%\n"}, but may be
+different for different major modes.  Without
 the trailing newline here, the first line of a Big mode formula
 that followed might be shifted over with respect to the other lines.
 
 @vindex calc-embedded-open-new-formula
 The @code{calc-embedded-open-new-formula} variable is a string
 which is inserted at the front of a new formula when you type
-@kbd{M-# f}.  Its default value is @code{"\n\n"}.  If this
-string begins with a newline character and the @kbd{M-# f} is
-typed at the beginning of a line, @kbd{M-# f} will skip this
+@kbd{C-x * f}.  Its default value is @code{"\n\n"}.  If this
+string begins with a newline character and the @kbd{C-x * f} is
+typed at the beginning of a line, @kbd{C-x * f} will skip this
 first newline to avoid introducing unnecessary blank lines in
 the file.
 
@@ -30546,24 +30912,25 @@ the file.
 The @code{calc-embedded-close-new-formula} variable is the corresponding
 string which is inserted at the end of a new formula.  Its default
 value is also @code{"\n\n"}.  The final newline is omitted by
-@w{@kbd{M-# f}} if typed at the end of a line.  (It follows that if
-@kbd{M-# f} is typed on a blank line, both a leading opening
+@w{@kbd{C-x * f}} if typed at the end of a line.  (It follows that if
+@kbd{C-x * f} is typed on a blank line, both a leading opening
 newline and a trailing closing newline are omitted.)
 
 @vindex calc-embedded-announce-formula
 The @code{calc-embedded-announce-formula} variable is a regular
 expression which is sure to be followed by an embedded formula.
-The @kbd{M-# a} command searches for this pattern as well as for
-@samp{=>} and @samp{:=} operators.  Note that @kbd{M-# a} will
+The @kbd{C-x * a} command searches for this pattern as well as for
+@samp{=>} and @samp{:=} operators.  Note that @kbd{C-x * a} will
 not activate just anything surrounded by formula delimiters; after
 all, blank lines are considered formula delimiters by default!
 But if your language includes a delimiter which can only occur
 actually in front of a formula, you can take advantage of it here.
-The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which
-checks for @samp{%Embed} followed by any number of lines beginning
-with @samp{%} and a space.  This last is important to make Calc
-consider mode annotations part of the pattern, so that the formula's
-opening delimiter really is sure to follow the pattern.
+The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, but may be
+different for different major modes.
+This pattern will check for @samp{%Embed} followed by any number of
+lines beginning with @samp{%} and a space.  This last is important to
+make Calc consider mode annotations part of the pattern, so that the
+formula's opening delimiter really is sure to follow the pattern.
 
 @vindex calc-embedded-open-mode
 The @code{calc-embedded-open-mode} variable is a string (not a
@@ -30571,16 +30938,17 @@ regular expression) which should precede a mode annotation.
 Calc never scans for this string; Calc always looks for the
 annotation itself.  But this is the string that is inserted before
 the opening bracket when Calc adds an annotation on its own.
-The default is @code{"% "}.
+The default is @code{"% "}, but may be different for different major
+modes. 
 
 @vindex calc-embedded-close-mode
 The @code{calc-embedded-close-mode} variable is a string which
 follows a mode annotation written by Calc.  Its default value
-is simply a newline, @code{"\n"}.  If you change this, it is a
-good idea still to end with a newline so that mode annotations
-will appear on lines by themselves.
+is simply a newline, @code{"\n"}, but may be different for different
+major modes.  If you change this, it is a good idea still to end with a
+newline so that mode annotations will appear on lines by themselves.
 
-@node Programming, Installation, Embedded Mode, Top
+@node Programming, Customizing Calc, Embedded Mode, Top
 @chapter Programming
 
 @noindent
@@ -30673,15 +31041,16 @@ key we defined above.
 @pindex calc-user-define-permanent
 @cindex Storing user definitions
 @cindex Permanent user definitions
-@cindex @file{.emacs} file, user-defined commands
+@cindex Calc init file, user-defined commands
 The @kbd{Z P} (@code{calc-user-define-permanent}) command makes a key
 binding permanent so that it will remain in effect even in future Emacs
 sessions.  (It does this by adding a suitable bit of Lisp code into
-your @file{.emacs} file.)  For example, @kbd{Z P s} would register
-our @code{sincos} command permanently.  If you later wish to unregister
-this command you must edit your @file{.emacs} file by hand.
-(@xref{General Mode Commands}, for a way to tell Calc to use a
-different file instead of @file{.emacs}.)
+your Calc init file; that is, the file given by the variable
+@code{calc-settings-file}, typically @file{~/.calc.el}.)  For example,
+@kbd{Z P s} would register our @code{sincos} command permanently.  If
+you later wish to unregister this command you must edit your Calc init
+file by hand.  (@xref{General Mode Commands}, for a way to tell Calc to
+use a different file for the Calc init file.)
 
 The @kbd{Z P} command also saves the user definition, if any, for the
 command bound to the key.  After @kbd{Z F} and @kbd{Z C}, a given user
@@ -30791,9 +31160,9 @@ takes some liberties with spaces: When we say @kbd{' [1 2 3] @key{RET}},
 we take it for granted that it is clear we really mean 
 @kbd{' [1 @key{SPC} 2 @key{SPC} 3] @key{RET}}.
 
-@kindex M-# m
+@kindex C-x * m
 @pindex read-kbd-macro
-The @kbd{M-# m} (@code{read-kbd-macro}) command reads an Emacs ``region''
+The @kbd{C-x * m} (@code{read-kbd-macro}) command reads an Emacs ``region''
 of spelled-out keystrokes and defines it as the current keyboard macro.
 It is a convenient way to define a keyboard macro that has been stored
 in a file, or to define a macro without executing it at the same time.
@@ -30901,7 +31270,7 @@ happened to be sitting on the stack before we typed the above definition!
 Another approach is to enter a harmless dummy definition for the macro,
 then go back and edit in the real one with a @kbd{Z E} command.  Yet
 another approach is to type the macro as written-out keystroke names
-in a buffer, then use @kbd{M-# m} (@code{read-kbd-macro}) to read the
+in a buffer, then use @kbd{C-x * m} (@code{read-kbd-macro}) to read the
 macro.
 
 @kindex Z /
@@ -31035,23 +31404,35 @@ are @emph{not} affected by @kbd{Z `} and @kbd{Z '}.
 @node Queries in Macros, , Local Values in Macros, Keyboard Macros
 @subsection Queries in Keyboard Macros
 
-@noindent
-@kindex Z =
-@pindex calc-kbd-report
-The @kbd{Z =} (@code{calc-kbd-report}) command displays an informative
-message including the value on the top of the stack.  You are prompted
-to enter a string.  That string, along with the top-of-stack value,
-is displayed unless @kbd{m w} (@code{calc-working}) has been used
-to turn such messages off.
+@c @noindent
+@c @kindex Z =
+@c @pindex calc-kbd-report
+@c The @kbd{Z =} (@code{calc-kbd-report}) command displays an informative
+@c message including the value on the top of the stack.  You are prompted
+@c to enter a string.  That string, along with the top-of-stack value,
+@c is displayed unless @kbd{m w} (@code{calc-working}) has been used
+@c to turn such messages off.
 
+@noindent
 @kindex Z #
 @pindex calc-kbd-query
-The @kbd{Z #} (@code{calc-kbd-query}) command displays a prompt message
-(which you enter during macro definition), then does an algebraic entry
-which takes its input from the keyboard, even during macro execution.
-This command allows your keyboard macros to accept numbers or formulas
-as interactive input.  All the normal conventions of algebraic input,
-including the use of @kbd{$} characters, are supported.
+The @kbd{Z #} (@code{calc-kbd-query}) command prompts for an algebraic
+entry which takes its input from the keyboard, even during macro
+execution.  All the normal conventions of algebraic input, including the
+use of @kbd{$} characters, are supported.  The prompt message itself is
+taken from the top of the stack, and so must be entered (as a string)
+before the @kbd{Z #} command.  (Recall, as a string it can be entered by
+pressing the @kbd{"} key and will appear as a vector when it is put on
+the stack.  The prompt message is only put on the stack to provide a
+prompt for the @kbd{Z #} command; it will not play any role in any
+subsequent calculations.)  This command allows your keyboard macros to
+accept numbers or formulas as interactive input.
+
+As an example, 
+@kbd{2 @key{RET} "Power: " @key{RET} Z # 3 @key{RET} ^} will prompt for
+input with ``Power: '' in the minibuffer, then return 2 to the provided
+power.  (The response to the prompt that's given, 3 in this example,
+will not be part of the macro.)
 
 @xref{Keyboard Macro Query, , , emacs, the Emacs Manual}, for a description of
 @kbd{C-x q} (@code{kbd-macro-query}), the standard Emacs way to accept
@@ -31063,29 +31444,29 @@ return control to the keyboard macro.
 @node Invocation Macros, Algebraic Definitions, Keyboard Macros, Programming
 @section Invocation Macros
 
-@kindex M-# z
+@kindex C-x * z
 @kindex Z I
 @pindex calc-user-invocation
 @pindex calc-user-define-invocation
-Calc provides one special keyboard macro, called up by @kbd{M-# z}
+Calc provides one special keyboard macro, called up by @kbd{C-x * z}
 (@code{calc-user-invocation}), that is intended to allow you to define
 your own special way of starting Calc.  To define this ``invocation
 macro,'' create the macro in the usual way with @kbd{C-x (} and
 @kbd{C-x )}, then type @kbd{Z I} (@code{calc-user-define-invocation}).
 There is only one invocation macro, so you don't need to type any
 additional letters after @kbd{Z I}.  From now on, you can type
-@kbd{M-# z} at any time to execute your invocation macro.
+@kbd{C-x * z} at any time to execute your invocation macro.
 
 For example, suppose you find yourself often grabbing rectangles of
 numbers into Calc and multiplying their columns.  You can do this
-by typing @kbd{M-# r} to grab, and @kbd{V R : *} to multiply columns.
-To make this into an invocation macro, just type @kbd{C-x ( M-# r
+by typing @kbd{C-x * r} to grab, and @kbd{V R : *} to multiply columns.
+To make this into an invocation macro, just type @kbd{C-x ( C-x * r
 V R : * C-x )}, then @kbd{Z I}.  Then, to multiply a rectangle of data,
-just mark the data in its buffer in the usual way and type @kbd{M-# z}.
+just mark the data in its buffer in the usual way and type @kbd{C-x * z}.
 
 Invocation macros are treated like regular Emacs keyboard macros;
 all the special features described above for @kbd{Z K}-style macros
-do not apply.  @kbd{M-# z} is just like @kbd{C-x e}, except that it
+do not apply.  @kbd{C-x * z} is just like @kbd{C-x e}, except that it
 uses the macro that was last stored by @kbd{Z I}.  (In fact, the
 macro does not even have to have anything to do with Calc!)
 
@@ -31396,12 +31777,17 @@ step of @code{myfact} could have been written
 :"n * myfact(n-1)"
 @end example
 
+A good place to put your @code{defmath} commands is your Calc init file
+(the file given by @code{calc-settings-file}, typically
+@file{~/.calc.el}), which will not be loaded until Calc starts.
 If a file named @file{.emacs} exists in your home directory, Emacs reads
 and executes the Lisp forms in this file as it starts up.  While it may
-seem like a good idea to put your favorite @code{defmath} commands here,
+seem reasonable to put your favorite @code{defmath} commands there,
 this has the unfortunate side-effect that parts of the Calculator must be
 loaded in to process the @code{defmath} commands whether or not you will
-actually use the Calculator!  A better effect can be had by writing
+actually use the Calculator!  If you want to put the @code{defmath}
+commands there (for example, if you redefine @code{calc-settings-file}
+to be @file{.emacs}), a better effect can be had by writing
 
 @example
 (put 'calc-define 'thing '(progn
@@ -31636,7 +32022,7 @@ to pop @var{num} values off the stack, resimplify them by calling
 @code{calc-normalize}, and hand them to your function according to the
 function's argument list.  Your function may include @code{&optional} and
 @code{&rest} parameters, so long as calling the function with @var{num}
-parameters is legal.
+parameters is valid.
 
 Your function must return either a number or a formula in a form
 acceptable to Calc, or a list of such numbers or formulas.  These value(s)
@@ -32666,7 +33052,7 @@ this function returns the selected portions rather than the entire
 stack elements.  It can be given a third ``selection-mode'' argument
 which selects other behaviors.  If it is the symbol @code{t}, then
 a selection in any of the requested stack elements produces an
-``illegal operation on selections'' error.  If it is the symbol @code{full},
+``invalid operation on selections'' error.  If it is the symbol @code{full},
 the whole stack entry is always returned regardless of selections.
 If it is the symbol @code{sel}, the selected portion is always returned,
 or @code{nil} if there is no selection.  (This mode ignores the @kbd{j e}
@@ -33263,22 +33649,25 @@ example, for a rectangular complex number the result is the sum of
 the absolute values of the components.
 @end defun
 
-@findex two-pi
+@findex e
+@findex gamma-const
+@findex ln-2
+@findex ln-10
+@findex phi
 @findex pi-over-2
 @findex pi-over-4
 @findex pi-over-180
 @findex sqrt-two-pi
 @findex sqrt-e
-@findex e
-@findex ln-2
-@findex ln-10
+@findex two-pi
 @defun pi
 The function @samp{(pi)} computes @samp{pi} to the current precision.
 Other related constant-generating functions are @code{two-pi},
 @code{pi-over-2}, @code{pi-over-4}, @code{pi-over-180}, @code{sqrt-two-pi},
-@code{e}, @code{sqrt-e}, @code{ln-2}, and @code{ln-10}.  Each function
-returns a floating-point value in the current precision, and each uses
-caching so that all calls after the first are essentially free.
+@code{e}, @code{sqrt-e}, @code{ln-2}, @code{ln-10}, @code{phi} and
+@code{gamma-const}.  Each function returns a floating-point value in the
+current precision, and each uses caching so that all calls after the
+first are essentially free.
 @end defun
 
 @defmac math-defcache @var{func} @var{initial} @var{form}
@@ -34321,13 +34710,13 @@ per Emacs session.
 
 @defvar calc-end-hook
 This hook is called by @code{calc-quit}, generally because the user
-presses @kbd{q} or @kbd{M-# c} while in Calc.  The Calc buffer will
+presses @kbd{q} or @kbd{C-x * c} while in Calc.  The Calc buffer will
 be the current buffer.  The hook is called as the very first
 step, before the Calc window is destroyed.
 @end defvar
 
 @defvar calc-window-hook
-If this hook exists, it is called to create the Calc window.
+If this hook is non-@code{nil}, it is called to create the Calc window.
 Upon return, this new Calc window should be the current window.
 (The Calc buffer will already be the current buffer when the
 hook is called.)  If the hook is not defined, Calc will
@@ -34336,10 +34725,24 @@ and @code{select-window} to create the Calc window.
 @end defvar
 
 @defvar calc-trail-window-hook
-If this hook exists, it is called to create the Calc Trail window.
-The variable @code{calc-trail-buffer} will contain the buffer
-which the window should use.  Unlike @code{calc-window-hook},
-this hook must @emph{not} switch into the new window.
+If this hook is non-@code{nil}, it is called to create the Calc Trail
+window.  The variable @code{calc-trail-buffer} will contain the buffer
+which the window should use.  Unlike @code{calc-window-hook}, this hook
+must @emph{not} switch into the new window.
+@end defvar
+
+@defvar calc-embedded-mode-hook
+This hook is called the first time that Embedded mode is entered.
+@end defvar
+
+@defvar calc-embedded-new-buffer-hook
+This hook is called each time that Embedded mode is entered in a
+new buffer.
+@end defvar
+
+@defvar calc-embedded-new-formula-hook
+This hook is called each time that Embedded mode is enabled for a
+new formula.
 @end defvar
 
 @defvar calc-edit-mode-hook
@@ -34354,12 +34757,12 @@ text.  (In fact it may still have leftover text from a previous
 @defvar calc-mode-save-hook
 This hook is called by the @code{calc-save-modes} command,
 after Calc's own mode features have been inserted into the
-@file{.emacs} buffer and just before the ``End of mode settings''
+Calc init file and just before the ``End of mode settings''
 message is inserted.
 @end defvar
 
 @defvar calc-reset-hook
-This hook is called after @kbd{M-# 0} (@code{calc-reset}) has
+This hook is called after @kbd{C-x * 0} (@code{calc-reset}) has
 reset all modes.  The Calc buffer will be the current buffer.
 @end defvar
 
@@ -34424,112 +34827,319 @@ used the first time, your hook should add a variable to the
 list and also call @code{make-local-variable} itself.
 @end defvar
 
-@node Installation, Reporting Bugs, Programming, Top
-@appendix Installation
-
-@noindent
-As of Calc 2.02g, Calc is integrated with GNU Emacs, and thus requires
-no separate installation of its Lisp files and this manual.
-
-@appendixsec The GNUPLOT Program
+@node Customizing Calc, Reporting Bugs, Programming, Top
+@appendix Customizing Calc
 
-@noindent
-Calc's graphing commands use the GNUPLOT program.  If you have GNUPLOT
-but you must type some command other than @file{gnuplot} to get it,
-you should add a command to set the Lisp variable @code{calc-gnuplot-name}
-to the appropriate file name.  You may also need to change the variables
-@code{calc-gnuplot-plot-command} and @code{calc-gnuplot-print-command} in
-order to get correct displays and hardcopies, respectively, of your
-plots.
+The usual prefix for Calc is the key sequence @kbd{C-x *}.  If you wish
+to use a different prefix, you can put
 
-@ifinfo
 @example
-
+(global-set-key "NEWPREFIX" 'calc-dispatch)
 @end example
-@end ifinfo
-@appendixsec Printed Documentation
 
 @noindent
-Because the Calc manual is so large, you should only make a printed
-copy if you really need it.  To print the manual, you will need the
-@TeX{} typesetting program (this is a free program by Donald Knuth
-at Stanford University) as well as the @file{texindex} program and
-@file{texinfo.tex} file, both of which can be obtained from the FSF
-as part of the @code{texinfo} package.
+in your .emacs file.  
+(@xref{Key Bindings,,Customizing Key Bindings,emacs,
+The GNU Emacs Manual}, for more information on binding keys.)
+A convenient way to start Calc is with @kbd{C-x * *}; to make it equally
+convenient for users who use a different prefix, the prefix can be
+followed by  @kbd{=}, @kbd{&}, @kbd{#}, @kbd{\}, @kbd{/}, @kbd{+} or
+@kbd{-} as well as @kbd{*} to start Calc, and so in many cases the last
+character of the prefix can simply be typed twice.
+
+Calc is controlled by many variables, most of which can be reset
+from within Calc.  Some variables are less involved with actual
+calculation, and can be set outside of Calc using Emacs's
+customization facilities.  These variables are listed below.
+Typing @kbd{M-x customize-variable RET @var{variable-name} RET}
+will bring up a buffer in which the variable's value can be redefined.
+Typing @kbd{M-x customize-group RET calc RET} will bring up a buffer which
+contains all of Calc's customizable variables.  (These variables can
+also be reset by putting the appropriate lines in your .emacs file;
+@xref{Init File, ,Init File, emacs, The GNU Emacs Manual}.)
+
+Some of the customizable variables are regular expressions.  A regular
+expression is basically a pattern that Calc can search for.
+See @ref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual}
+to see how regular expressions work.
+
+@defvar calc-settings-file
+The variable @code{calc-settings-file} holds the file name in
+which commands like @kbd{m m} and @kbd{Z P} store ``permanent''
+definitions.  
+If @code{calc-settings-file} is not your user init file (typically
+@file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is
+@code{nil}, then Calc will automatically load your settings file (if it
+exists) the first time Calc is invoked.
+
+The default value for this variable is @code{"~/.calc.el"}.
+@end defvar
 
-To print the Calc manual in one huge 470 page tome, you will need the
-source code to this manual, @file{calc.texi}, available as part of the
-Emacs source.  Once you have this file, type @kbd{texi2dvi calc.texi}.
-Alternatively, change to the @file{man} subdirectory of the Emacs
-source distribution, and type @kbd{make calc.dvi}. (Don't worry if you
-get some ``overfull box'' warnings while @TeX{} runs.)
+@defvar calc-gnuplot-name
+See @ref{Graphics}.@*
+The variable @code{calc-gnuplot-name} should be the name of the
+GNUPLOT program (a string).  If you have GNUPLOT installed on your
+system but Calc is unable to find it, you may need to set this
+variable.  (@pxref{Customizing Calc})
+You may also need to set some Lisp variables to show Calc how to run
+GNUPLOT on your system, see @ref{Devices, ,Graphical Devices} .  The default value
+of @code{calc-gnuplot-name} is @code{"gnuplot"}.
+@end defvar
 
-The result will be a device-independent output file called
-@file{calc.dvi}, which you must print in whatever way is right
-for your system.  On many systems, the command is
+@defvar  calc-gnuplot-plot-command
+@defvarx calc-gnuplot-print-command
+See @ref{Devices, ,Graphical Devices}.@*
+The variables @code{calc-gnuplot-plot-command} and
+@code{calc-gnuplot-print-command} represent system commands to
+display and print the output of GNUPLOT, respectively.  These may be
+@code{nil} if no command is necessary, or strings which can include
+@samp{%s} to signify the name of the file to be displayed or printed.
+Or, these variables may contain Lisp expressions which are evaluated
+to display or print the output.
 
+The default value of @code{calc-gnuplot-plot-command} is @code{nil},
+and the default value of @code{calc-gnuplot-print-command} is
+@code{"lp %s"}.
+@end defvar
+
+@defvar calc-language-alist
+See @ref{Basic Embedded Mode}.@*
+The variable @code{calc-language-alist} controls the languages that
+Calc will associate with major modes.  When Calc embedded mode is
+enabled, it will try to use the current major mode to
+determine what language should be used.  (This can be overridden using
+Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.)
+The variable @code{calc-language-alist} consists of a list of pairs of
+the form  @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example, 
+@code{(latex-mode . latex)} is one such pair.  If Calc embedded is
+activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself
+to use the language @var{LANGUAGE}.
+
+The default value of @code{calc-language-alist} is
 @example
-lpr -d calc.dvi
+   ((latex-mode . latex)
+    (tex-mode   . tex)
+    (plain-tex-mode . tex)
+    (context-mode . tex)
+    (nroff-mode . eqn)
+    (pascal-mode . pascal)
+    (c-mode . c)
+    (c++-mode . c)
+    (fortran-mode . fortran)
+    (f90-mode . fortran))
 @end example
+@end defvar
 
-@noindent
-or
-
+@defvar calc-embedded-announce-formula
+@defvarx calc-embedded-announce-formula-alist
+See @ref{Customizing Embedded Mode}.@*
+The variable @code{calc-embedded-announce-formula} helps determine
+what formulas @kbd{C-x * a} will activate in a buffer.  It is a
+regular expression, and when activating embedded formulas with
+@kbd{C-x * a}, it will tell Calc that what follows is a formula to be
+activated.  (Calc also uses other patterns to find formulas, such as
+@samp{=>} and @samp{:=}.)  
+
+The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks
+for @samp{%Embed} followed by any number of lines beginning with
+@samp{%} and a space.
+
+The variable @code{calc-embedded-announce-formula-alist} is used to
+set @code{calc-embedded-announce-formula} to different regular
+expressions depending on the major mode of the editing buffer.
+It consists of a list of pairs of the form @code{(@var{MAJOR-MODE} .
+@var{REGEXP})}, and its default value is
 @example
-dvips calc.dvi
+   ((c++-mode     . "//Embed\n\\(// .*\n\\)*")
+    (c-mode       . "/\\*Embed\\*/\n\\(/\\* .*\\*/\n\\)*")
+    (f90-mode     . "!Embed\n\\(! .*\n\\)*")
+    (fortran-mode . "C Embed\n\\(C .*\n\\)*")
+    (html-helper-mode . "<!-- Embed -->\n\\(<!-- .* -->\n\\)*")
+    (html-mode    . "<!-- Embed -->\n\\(<!-- .* -->\n\\)*")
+    (nroff-mode   . "\\\\\"Embed\n\\(\\\\\" .*\n\\)*")
+    (pascal-mode  . "@{Embed@}\n\\(@{.*@}\n\\)*")
+    (sgml-mode    . "<!-- Embed -->\n\\(<!-- .* -->\n\\)*")
+    (xml-mode     . "<!-- Embed -->\n\\(<!-- .* -->\n\\)*")
+    (texinfo-mode . "@@c Embed\n\\(@@c .*\n\\)*"))
 @end example
+Any major modes added to @code{calc-embedded-announce-formula-alist}
+should also be added to @code{calc-embedded-open-close-plain-alist} 
+and @code{calc-embedded-open-close-mode-alist}.
+@end defvar
 
-@c the bumpoddpages macro was deleted
-@ignore
-@cindex Marginal notes, adjusting
-Marginal notes for each function and key sequence normally alternate
-between the left and right sides of the page, which is correct if the
-manual is going to be bound as double-sided pages.  Near the top of
-the file @file{calc.texi} you will find alternate definitions of
-the @code{\bumpoddpages} macro that put the marginal notes always on
-the same side, best if you plan to be binding single-sided pages.
-@end ignore
+@defvar  calc-embedded-open-formula
+@defvarx calc-embedded-close-formula
+@defvarx calc-embedded-open-close-formula-alist
+See @ref{Customizing Embedded Mode}.@*
+The variables @code{calc-embedded-open-formula} and
+@code{calc-embedded-open-formula} control the region that Calc will
+activate as a formula when Embedded mode is entered with @kbd{C-x * e}.
+They are regular expressions; 
+Calc normally scans backward and forward in the buffer for the
+nearest text matching these regular expressions to be the ``formula
+delimiters''.
 
-@appendixsec Settings File
+The simplest delimiters are blank lines.  Other delimiters that
+Embedded mode understands by default are:
+@enumerate
+@item
+The @TeX{} and La@TeX{} math delimiters @samp{$ $}, @samp{$$ $$},
+@samp{\[ \]}, and @samp{\( \)};
+@item
+Lines beginning with @samp{\begin} and @samp{\end} (except matrix delimiters);
+@item
+Lines beginning with @samp{@@} (Texinfo delimiters).
+@item
+Lines beginning with @samp{.EQ} and @samp{.EN} (@dfn{eqn} delimiters);
+@item
+Lines containing a single @samp{%} or @samp{.\"} symbol and nothing else.
+@end enumerate
 
-@noindent
-@vindex calc-settings-file
-Another variable you might want to set is @code{calc-settings-file},
-which holds the file name in which commands like @kbd{m m} and @kbd{Z P}
-store ``permanent'' definitions.  The default value for this variable
-is @code{"~/.emacs"}.  If @code{calc-settings-file} does not contain
-@code{".emacs"} as a substring, and if the variable
-@code{calc-loaded-settings-file} is @code{nil}, then Calc will
-automatically load your settings file (if it exists) the first time
-Calc is invoked.
+The variable @code{calc-embedded-open-close-formula-alist} is used to
+set @code{calc-embedded-open-formula} and
+@code{calc-embedded-close-formula} to different regular
+expressions depending on the major mode of the editing buffer.
+It consists of a list of lists of the form 
+@code{(@var{MAJOR-MODE}  @var{OPEN-FORMULA-REGEXP}
+@var{CLOSE-FORMULA-REGEXP})}, and its default value is
+@code{nil}.
+@end defvar
 
-@ifinfo
-@example
+@defvar  calc-embedded-open-word
+@defvarx calc-embedded-close-word
+@defvarx calc-embedded-open-close-word-alist
+See @ref{Customizing Embedded Mode}.@*
+The variables @code{calc-embedded-open-word} and
+@code{calc-embedded-close-word} control the region that Calc will
+activate when Embedded mode is entered with @kbd{C-x * w}.  They are
+regular expressions.
+
+The default values of @code{calc-embedded-open-word} and
+@code{calc-embedded-close-word} are @code{"^\\|[^-+0-9.eE]"} and 
+@code{"$\\|[^-+0-9.eE]"} respectively.
+
+The variable @code{calc-embedded-open-close-word-alist} is used to
+set @code{calc-embedded-open-word} and
+@code{calc-embedded-close-word} to different regular
+expressions depending on the major mode of the editing buffer.
+It consists of a list of lists of the form 
+@code{(@var{MAJOR-MODE}  @var{OPEN-WORD-REGEXP}
+@var{CLOSE-WORD-REGEXP})}, and its default value is
+@code{nil}.
+@end defvar
 
-@end example
-@end ifinfo
-@appendixsec Testing the Installation
+@defvar  calc-embedded-open-plain
+@defvarx calc-embedded-close-plain
+@defvarx calc-embedded-open-close-plain-alist
+See @ref{Customizing Embedded Mode}.@*
+The variables @code{calc-embedded-open-plain} and
+@code{calc-embedded-open-plain} are used to delimit ``plain''
+formulas.  Note that these are actual strings, not regular
+expressions, because Calc must be able to write these string into a
+buffer as well as to recognize them.
+
+The default string for @code{calc-embedded-open-plain} is 
+@code{"%%% "}, note the trailing space.  The default string for 
+@code{calc-embedded-close-plain} is @code{" %%%\n"}, without
+the trailing newline here, the first line of a Big mode formula
+that followed might be shifted over with respect to the other lines.
 
-@noindent
-To test your installation of Calc, start a new Emacs and type @kbd{M-# c}
-to make sure the autoloads and key bindings work.  Type @kbd{M-# i}
-to make sure Calc can find its Info documentation.  Press @kbd{q} to
-exit the Info system and @kbd{M-# c} to re-enter the Calculator.
-Type @kbd{20 S} to compute the sine of 20 degrees; this will test the
-autoloading of the extensions modules.  The result should be
-0.342020143326.  Finally, press @kbd{M-# c} again to make sure the
-Calculator can exit.
+The variable @code{calc-embedded-open-close-plain-alist} is used to
+set @code{calc-embedded-open-plain} and
+@code{calc-embedded-close-plain} to different strings
+depending on the major mode of the editing buffer.
+It consists of a list of lists of the form 
+@code{(@var{MAJOR-MODE}  @var{OPEN-PLAIN-STRING}
+@var{CLOSE-PLAIN-STRING})}, and its default value is
+@example
+   ((c++-mode     "// %% "   " %%\n")
+    (c-mode       "/* %% "   " %% */\n")
+    (f90-mode     "! %% "    " %%\n")
+    (fortran-mode "C %% "    " %%\n")
+    (html-helper-mode "<!-- %% " " %% -->\n")
+    (html-mode "<!-- %% " " %% -->\n")
+    (nroff-mode   "\\\" %% " " %%\n")
+    (pascal-mode  "@{%% "    " %%@}\n")
+    (sgml-mode     "<!-- %% " " %% -->\n")
+    (xml-mode     "<!-- %% " " %% -->\n")
+    (texinfo-mode "@@c %% "   " %%\n"))
+@end example
+Any major modes added to @code{calc-embedded-open-close-plain-alist}
+should also be added to @code{calc-embedded-announce-formula-alist}
+and @code{calc-embedded-open-close-mode-alist}.
+@end defvar
 
-You may also wish to test the GNUPLOT interface; to plot a sine wave,
-type @kbd{' [0 ..@: 360], sin(x) @key{RET} g f}.  Type @kbd{g q} when you
-are done viewing the plot.
+@defvar  calc-embedded-open-new-formula
+@defvarx calc-embedded-close-new-formula
+@defvarx calc-embedded-open-close-new-formula-alist
+See @ref{Customizing Embedded Mode}.@*
+The variables @code{calc-embedded-open-new-formula} and
+@code{calc-embedded-close-new-formula} are strings which are
+inserted before and after a new formula when you type @kbd{C-x * f}.
+
+The default value of @code{calc-embedded-open-new-formula} is
+@code{"\n\n"}.  If this string begins with a newline character and the
+@kbd{C-x * f} is typed at the beginning of a line, @kbd{C-x * f} will skip
+this first newline to avoid introducing unnecessary blank lines in the
+file.  The default value of @code{calc-embedded-close-new-formula} is
+also @code{"\n\n"}.  The final newline is omitted by @w{@kbd{C-x * f}}
+if typed at the end of a line.  (It follows that if @kbd{C-x * f} is
+typed on a blank line, both a leading opening newline and a trailing
+closing newline are omitted.)
+
+The variable @code{calc-embedded-open-close-new-formula-alist} is used to
+set @code{calc-embedded-open-new-formula} and
+@code{calc-embedded-close-new-formula} to different strings
+depending on the major mode of the editing buffer.
+It consists of a list of lists of the form 
+@code{(@var{MAJOR-MODE}  @var{OPEN-NEW-FORMULA-STRING}
+@var{CLOSE-NEW-FORMULA-STRING})}, and its default value is
+@code{nil}.
+@end defvar
 
-Calc is now ready to use.  If you wish to go through the Calc Tutorial,
-press @kbd{M-# t} to begin.
+@defvar  calc-embedded-open-mode
+@defvarx calc-embedded-close-mode
+@defvarx calc-embedded-open-close-mode-alist
+See @ref{Customizing Embedded Mode}.@*
+The variables @code{calc-embedded-open-mode} and
+@code{calc-embedded-close-mode} are strings which Calc will place before
+and after any mode annotations that it inserts.  Calc never scans for
+these strings; Calc always looks for the annotation itself, so it is not
+necessary to add them to user-written annotations.
+
+The default value of @code{calc-embedded-open-mode} is @code{"% "}
+and the default value of @code{calc-embedded-close-mode} is
+@code{"\n"}.  
+If you change the value of @code{calc-embedded-close-mode}, it is a good
+idea still to end with a newline so that mode annotations will appear on
+lines by themselves.
+
+The variable @code{calc-embedded-open-close-mode-alist} is used to
+set @code{calc-embedded-open-mode} and
+@code{calc-embedded-close-mode} to different strings
+expressions depending on the major mode of the editing buffer.
+It consists of a list of lists of the form 
+@code{(@var{MAJOR-MODE}  @var{OPEN-MODE-STRING}
+@var{CLOSE-MODE-STRING})}, and its default value is
 @example
-
+   ((c++-mode     "// "   "\n")
+    (c-mode       "/* "   " */\n")
+    (f90-mode     "! "    "\n")
+    (fortran-mode "C "    "\n")
+    (html-helper-mode "<!-- " " -->\n")
+    (html-mode    "<!-- " " -->\n")
+    (nroff-mode   "\\\" " "\n")
+    (pascal-mode  "@{ "    " @}\n")
+    (sgml-mode    "<!-- " " -->\n")
+    (xml-mode     "<!-- " " -->\n")
+    (texinfo-mode "@@c "   "\n"))
 @end example
-@node Reporting Bugs, Summary, Installation, Top
+Any major modes added to @code{calc-embedded-open-close-mode-alist}
+should also be added to @code{calc-embedded-announce-formula-alist}
+and @code{calc-embedded-open-close-plain-alist}.
+@end defvar
+
+@node Reporting Bugs, Summary, Customizing Calc, Top
 @appendix Reporting Bugs
 
 @noindent
@@ -34540,15 +35150,6 @@ belanger@@truman.edu
 @end example
 
 @noindent
-(In the following text, ``I'' refers to the original Calc author, Dave
-Gillespie).
-
-While I cannot guarantee that I will have time to work on your bug,
-I do try to fix bugs quickly whenever I can.
-
-The latest version of Calc is available from Savannah, in the Emacs
-CVS tree.  See @uref{http://savannah.gnu.org/projects/emacs}.
-
 There is an automatic command @kbd{M-x report-calc-bug} which helps
 you to report bugs.  This command prompts you for a brief subject
 line, then leaves you in a mail editing buffer.  Type @kbd{C-c C-c} to
@@ -34556,25 +35157,25 @@ send your mail.  Make sure your subject line indicates that you are
 reporting a Calc bug; this command sends mail to the maintainer's
 regular mailbox.
 
-If you have suggestions for additional features for Calc, I would
-love to hear them.  Some have dared to suggest that Calc is already
-top-heavy with features; I really don't see what they're talking
-about, so, if you have ideas, send them right in.  (I may even have
-time to implement them!)
+If you have suggestions for additional features for Calc, please send
+them.  Some have dared to suggest that Calc is already top-heavy with
+features; this obviously cannot be the case, so if you have ideas, send
+them right in.
 
 At the front of the source file, @file{calc.el}, is a list of ideas for
-future work which I have not had time to do.  If any enthusiastic souls
-wish to take it upon themselves to work on these, I would be delighted.
-Please let me know if you plan to contribute to Calc so I can coordinate
-your efforts with mine and those of others.  I will do my best to help
-you in whatever way I can.
+future work.  If any enthusiastic souls wish to take it upon themselves
+to work on these, please send a message (using @kbd{M-x report-calc-bug})
+so any efforts can be coordinated.
+
+The latest version of Calc is available from Savannah, in the Emacs
+CVS tree.  See @uref{http://savannah.gnu.org/projects/emacs}.
 
 @c [summary]
 @node Summary, Key Index, Reporting Bugs, Top
 @appendix Calc Summary
 
 @noindent
-This section includes a complete list of Calc 2.02 keystroke commands.
+This section includes a complete list of Calc 2.1 keystroke commands.
 Each line lists the stack entries used by the command (top-of-stack
 last), the keystrokes themselves, the prompts asked by the command,
 and the result of the command (also with top-of-stack last).
@@ -34622,41 +35223,41 @@ keystrokes are not listed in this summary.
 @advance@baselineskip-2.5pt
 @let@c@sumbreak
 @end iftex
-@r{       @:     M-# a  @:             @:    33  @:calc-embedded-activate@:}
-@r{       @:     M-# b  @:             @:        @:calc-big-or-small@:}
-@r{       @:     M-# c  @:             @:        @:calc@:}
-@r{       @:     M-# d  @:             @:        @:calc-embedded-duplicate@:}
-@r{       @:     M-# e  @:             @:    34  @:calc-embedded@:}
-@r{       @:     M-# f  @:formula      @:        @:calc-embedded-new-formula@:}
-@r{       @:     M-# g  @:             @:    35  @:calc-grab-region@:}
-@r{       @:     M-# i  @:             @:        @:calc-info@:}
-@r{       @:     M-# j  @:             @:        @:calc-embedded-select@:}
-@r{       @:     M-# k  @:             @:        @:calc-keypad@:}
-@r{       @:     M-# l  @:             @:        @:calc-load-everything@:}
-@r{       @:     M-# m  @:             @:        @:read-kbd-macro@:}
-@r{       @:     M-# n  @:             @:     4  @:calc-embedded-next@:}
-@r{       @:     M-# o  @:             @:        @:calc-other-window@:}
-@r{       @:     M-# p  @:             @:     4  @:calc-embedded-previous@:}
-@r{       @:     M-# q  @:formula      @:        @:quick-calc@:}
-@r{       @:     M-# r  @:             @:    36  @:calc-grab-rectangle@:}
-@r{       @:     M-# s  @:             @:        @:calc-info-summary@:}
-@r{       @:     M-# t  @:             @:        @:calc-tutorial@:}
-@r{       @:     M-# u  @:             @:        @:calc-embedded-update@:}
-@r{       @:     M-# w  @:             @:        @:calc-embedded-word@:}
-@r{       @:     M-# x  @:             @:        @:calc-quit@:}
-@r{       @:     M-# y  @:            @:1,28,49  @:calc-copy-to-buffer@:}
-@r{       @:     M-# z  @:             @:        @:calc-user-invocation@:}
-@r{       @:     M-# :  @:             @:    36  @:calc-grab-sum-down@:}
-@r{       @:     M-# _  @:             @:    36  @:calc-grab-sum-across@:}
-@r{       @:     M-# `  @:editing      @:    30  @:calc-embedded-edit@:}
-@r{       @:     M-# 0  @:(zero)       @:        @:calc-reset@:}
+@r{       @:     C-x * a  @:             @:    33  @:calc-embedded-activate@:}
+@r{       @:     C-x * b  @:             @:        @:calc-big-or-small@:}
+@r{       @:     C-x * c  @:             @:        @:calc@:}
+@r{       @:     C-x * d  @:             @:        @:calc-embedded-duplicate@:}
+@r{       @:     C-x * e  @:             @:    34  @:calc-embedded@:}
+@r{       @:     C-x * f  @:formula      @:        @:calc-embedded-new-formula@:}
+@r{       @:     C-x * g  @:             @:    35  @:calc-grab-region@:}
+@r{       @:     C-x * i  @:             @:        @:calc-info@:}
+@r{       @:     C-x * j  @:             @:        @:calc-embedded-select@:}
+@r{       @:     C-x * k  @:             @:        @:calc-keypad@:}
+@r{       @:     C-x * l  @:             @:        @:calc-load-everything@:}
+@r{       @:     C-x * m  @:             @:        @:read-kbd-macro@:}
+@r{       @:     C-x * n  @:             @:     4  @:calc-embedded-next@:}
+@r{       @:     C-x * o  @:             @:        @:calc-other-window@:}
+@r{       @:     C-x * p  @:             @:     4  @:calc-embedded-previous@:}
+@r{       @:     C-x * q  @:formula      @:        @:quick-calc@:}
+@r{       @:     C-x * r  @:             @:    36  @:calc-grab-rectangle@:}
+@r{       @:     C-x * s  @:             @:        @:calc-info-summary@:}
+@r{       @:     C-x * t  @:             @:        @:calc-tutorial@:}
+@r{       @:     C-x * u  @:             @:        @:calc-embedded-update-formula@:}
+@r{       @:     C-x * w  @:             @:        @:calc-embedded-word@:}
+@r{       @:     C-x * x  @:             @:        @:calc-quit@:}
+@r{       @:     C-x * y  @:            @:1,28,49  @:calc-copy-to-buffer@:}
+@r{       @:     C-x * z  @:             @:        @:calc-user-invocation@:}
+@r{       @:     C-x * :  @:             @:    36  @:calc-grab-sum-down@:}
+@r{       @:     C-x * _  @:             @:    36  @:calc-grab-sum-across@:}
+@r{       @:     C-x * `  @:editing      @:    30  @:calc-embedded-edit@:}
+@r{       @:     C-x * 0  @:(zero)       @:        @:calc-reset@:}
 
 @c
 @r{       @:      0-9   @:number       @:        @:@:number}
 @r{       @:      .     @:number       @:        @:@:0.number}
 @r{       @:      _     @:number       @:        @:-@:number}
 @r{       @:      e     @:number       @:        @:@:1e number}
-@r{       @:      #     @:number       @:        @:@:current-radix@t{#}number}
+@r{       @:      #     @:number       @:        @:@:current-radix@tfn{#}number}
 @r{       @:      P     @:(in number)  @:        @:+/-@:}
 @r{       @:      M     @:(in number)  @:        @:mod@:}
 @r{       @:      @@ ' " @:  (in number)@:        @:@:HMS form}
@@ -34965,6 +35566,7 @@ keystrokes are not listed in this summary.
 @r{       @:      d O   @:             @:    50  @:calc-flat-language@:}
 @r{       @:      d P   @:             @:    50  @:calc-pascal-language@:}
 @r{       @:      d T   @:             @:    50  @:calc-tex-language@:}
+@r{       @:      d L   @:             @:    50  @:calc-latex-language@:}
 @r{       @:      d U   @:             @:    50  @:calc-unformatted-language@:}
 @r{       @:      d W   @:             @:    50  @:calc-maple-language@:}
 
@@ -35146,6 +35748,7 @@ keystrokes are not listed in this summary.
 @c
 @r{       @:      m a   @:             @: 12,13  @:calc-algebraic-mode@:}
 @r{       @:      m d   @:             @:        @:calc-degrees-mode@:}
+@r{       @:      m e   @:             @:        @:calc-embedded-preserve-modes@:}
 @r{       @:      m f   @:             @:    12  @:calc-frac-mode@:}
 @r{       @:      m g   @:             @:    52  @:calc-get-modes@:}
 @r{       @:      m h   @:             @:        @:calc-hms-mode@:}
@@ -35177,6 +35780,7 @@ keystrokes are not listed in this summary.
 @r{       @:      s d   @:var, decl    @:        @:calc-declare-variable@:}
 @r{       @:      s e   @:var, editing @: 29,30  @:calc-edit-variable@:}
 @r{       @:      s i   @:buffer       @:        @:calc-insert-variables@:}
+@r{       @:      s k   @:const, var   @:    29  @:calc-copy-special-constant@:}
 @r{    a b@:      s l   @:var          @:    29  @:@:a  (letting var=b)}
 @r{  a ...@:      s m   @:op, var      @: 22,29  @:calc-store-map@:}
 @r{       @:      s n   @:var          @: 29,47  @:calc-store-neg@:  (v/-1)}
@@ -35215,8 +35819,8 @@ keystrokes are not listed in this summary.
 @r{       @:      s &   @:var          @: 29,47  @:calc-store-inv@:  (v^-1)}
 @r{       @:      s [   @:var          @: 29,47  @:calc-store-decr@:  (v-1)}
 @r{       @:      s ]   @:var          @: 29,47  @:calc-store-incr@:  (v-(-1))}
-@r{    a b@:      s :   @:             @:     2  @:assign@:(a,b)  a @t{:=} b}
-@r{      a@:      s =   @:             @:     1  @:evalto@:(a,b)  a @t{=>}}
+@r{    a b@:      s :   @:             @:     2  @:assign@:(a,b)  a @tfn{:=} b}
+@r{      a@:      s =   @:             @:     1  @:evalto@:(a,b)  a @tfn{=>}}
 
 @c
 @r{       @:      t [   @:             @:     4  @:calc-trail-first@:}
@@ -35418,8 +36022,7 @@ keystrokes are not listed in this summary.
 @c
 @r{       @:      Z `   @:             @:        @:calc-kbd-push@:}
 @r{       @:      Z '   @:             @:        @:calc-kbd-pop@:}
-@r{      a@:      Z =   @:message      @:    28  @:calc-kbd-report@:}
-@r{       @:      Z #   @:prompt       @:        @:calc-kbd-query@:}
+@r{       @:      Z #   @:             @:        @:calc-kbd-query@:}
 
 @c
 @r{   comp@:      Z C   @:func, args   @:    50  @:calc-user-define-composition@:}
@@ -35845,7 +36448,7 @@ as Calc variables.  Add a @samp{var-} prefix to get the name of the
 corresponding Lisp variable.
 
 The remaining variables are Lisp variables suitable for @code{setq}ing
-in your @file{.emacs} file.
+in your Calc init file or @file{.emacs} file.
 
 @printindex vr