diff lisp/calc/INSTALL @ 40785:2fb9d407ae73

Initial import of Calc 2.02f.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 06 Nov 2001 18:59:06 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/calc/INSTALL	Tue Nov 06 18:59:06 2001 +0000
@@ -0,0 +1,413 @@
+
+Installation
+************
+
+Calc 2.02 comes as a set of GNU Emacs Lisp files, with names like
+`calc.el' and `calc-ext.el', and also as a `calc.texinfo' file which
+can be used to generate both on-line and printed documentation.
+
+   To install Calc, just follow these simple steps.  If you want more
+information, each step is discussed at length in the sections below.
+
+  1. Change (`cd') to the Calc "home" directory.  This directory was
+     created when you unbundled the Calc `.tar' or `.shar' file.
+
+  2. Type `make' to install Calc privately for your own use, or type
+     `make install' to install Calc system-wide.  This will compile all
+     the Calc component files, modify your `.emacs' or the system-wide
+     `lisp/default' file to install Calc as appropriate, and format
+     the on-line Calc manual.
+
+     Both variants are shorthand for the following three steps:
+
+        * `make compile' to run the byte-compiler.
+
+        * `make private' or `make public', corresponding to `make' and
+          `make install', respectively.  (If `make public' fails
+          because your system doesn't already have a `default' or
+          `default.el' file, use Emacs or the Unix `touch' command to
+          create a zero-sized one first.)
+
+        * `make info' to format the on-line Calc manual.  This first
+          tries to use the `makeinfo' program; if that program is not
+          present, it uses the Emacs `texinfo-format-buffer' command
+          instead.
+
+          The Unix `make' utility looks in the file `Makefile' in the
+     current directory to see what Unix commands correspond to the
+     various "targets" like `install' or `public'.  If your system
+     doesn't have `make', you will have to examine the `Makefile' and
+     type in the corresponding commands by hand.
+
+  3. If you ever move Calc to a new home directory, just give the
+     `make private' or `make public' command again in the new
+     directory.
+
+  4. Test your installation as described at the end of these
+     instructions.
+
+  5. (Optional.)  To print a hardcopy of the Calc manual (over 500
+     pages) or just the Calc Summary (about 20 pages), follow the
+     instructions under "Printed Documentation" below.
+
+Calc is now installed and ready to go!
+
+
+Upgrading from Calc 1.07
+=========================
+
+If you have Calc version 1.07 or earlier, you will find that Calc 2.00
+is organized quite differently.  For one, Calc 2.00 is now distributed
+already split into many parts; formerly this was done as part of the
+installation procedure.  Also, some new functions must be autoloaded
+and the `M-#' key must be bound to `calc-dispatch' instead of to
+`calc'.
+
+   The easiest way to upgrade is to delete your old Calc files and then
+install Calc 2.00 from scratch using the above instructions.  You
+should then go into your `.emacs' or `default' file and remove the old
+`autoload' and `global-set-key' commands for Calc, since `make
+public'/`make private' has added new, better ones.
+
+   See the `README' and `README.prev' files in the Calc distribution
+for more information about what has changed since version 1.07. 
+(`README.prev' describes changes before 2.00, and is present only in
+the FTP and tape versions of the distribution.)
+
+
+The `make public' Command
+==========================
+
+If you are not the regular Emacs administrator on your system, your
+account may not be allowed to execute the `make public' command, since
+the system-wide `default' file may be write-protected.  If this is the
+case, you will have to ask your Emacs installer to execute this
+command.  (Just `cd' to the Calc home directory and type `make
+public'.)
+
+   The `make private' command adds exactly the same set of commands to
+your `.emacs' file as `make public' adds to `default'.  If your Emacs
+installer is concerned about typing this command out of the blue, you
+can ask her/him instead to copy the necessary text from your `.emacs'
+file.  (It will be marked by a comment that says "Commands added by
+`calc-private-autoloads' on (date and time).")
+
+
+Compilation
+============
+
+Calc is written in a way that maximizes performance when its code has
+been byte-compiled; a side effect is that performance is seriously
+degraded if it *isn't* compiled.  Thus, it is essential to compile the
+Calculator before trying to use it.  The function `calc-compile' in
+the file `calc-maint.el' runs the Emacs byte-compiler on all the Calc
+source files.  (Specifically, it runs `M-x byte-compile-file' on all
+files in the current directory with names of the form `calc*.el', and
+also on the file `macedit.el'.)
+
+   If `calc-compile' finds that certain files have already been
+compiled and have not been changed since, then it will not bother to
+recompile those files.
+
+   The `calc-compile' command also pre-builds certain tables, such as
+the units table (see "The Units Table") and the built-in rewrite
+rules (see "Rearranging with Selections") which Calc would otherwise
+need to rebuild every time those features were used.
+
+   The `make compile' shell command is simply a convenient way to
+start an Emacs and give it a `calc-compile' command.
+
+
+Auto-loading
+=============
+
+To teach Emacs how to load in Calc when you type `M-#' for the first
+time, add these lines to your `.emacs' file (if you are installing
+Calc just for your own use), or the system's `lisp/default' file (if
+you are installing Calc publicly).  The `make private' and `make
+public' commands, respectively, take care of this.  (Note that `make'
+runs `make private', and `make install' runs `make public'.)
+
+     (autoload 'calc-dispatch          "calc" "Calculator Options" t)
+     (autoload 'full-calc              "calc" "Full-screen Calculator" t)
+     (autoload 'full-calc-keypad       "calc" "Full-screen X Calculator" t)
+     (autoload 'calc-eval              "calc" "Use Calculator from Lisp")
+     (autoload 'defmath                "calc" nil t t)
+     (autoload 'calc                   "calc" "Calculator Mode" t)
+     (autoload 'quick-calc             "calc" "Quick Calculator" t)
+     (autoload 'calc-keypad            "calc" "X windows Calculator" t)
+     (autoload 'calc-embedded          "calc" "Use Calc from any buffer" t)
+     (autoload 'calc-embedded-activate "calc" "Activate =>'s in buffer" t)
+     (autoload 'calc-grab-region       "calc" "Grab region of Calc data" t)
+     (autoload 'calc-grab-rectangle    "calc" "Grab rectangle of data" t)
+
+   Unless you have installed the Calc files in Emacs' main `lisp/'
+directory, you will also have to add a command that looks like the
+following to tell Emacs where to find them.  In this example, we have
+put the files in directory `/usr/gnu/src/calc-2.00'.
+
+     (setq load-path (append load-path (list "/usr/gnu/src/calc-2.00")))
+
+The `make public' and `make private' commands also do this (they use
+the then-current directory as the name to add to the path).  If you
+move Calc to a new location, just repeat the `make public' or `make
+private' command to have this new location added to the `load-path'.
+
+   The `autoload' command for `calc-dispatch' is what loads `calc.elc'
+when you type `M-#'.  It is the only `autoload' that is absolutely
+necessary for Calc to work.  The others are for commands and features
+that you may wish to use before typing `M-#' for the first time.  In
+particular, `full-calc' and `full-calc-keypad' are autoloaded to
+support "standalone" operation (see "Standalone Operation"),
+`calc-eval' and `defmath' are autoloaded to allow other Emacs Lisp
+programs to use Calc facilities (see "Calling Calc from Your
+Programs"), and `calc-embedded-activate' is autoloaded because some
+Embedded Mode files may call it as soon as they are read into Emacs
+(see "Assignments in Embedded Mode").
+
+
+Finding Component Files
+========================
+
+There is no need to write `autoload' commands that point to all the
+various Calc component files like `calc-misc.elc' and `calc-alg.elc'. 
+The main file, `calc.elc', contains all the necessary `autoload'
+commands for these files.
+
+   (Actually, to conserve space `calc.elc' only autoloads a few of the
+component files, plus `calc-ext.elc', which in turn autoloads the rest
+of the components.  This allows Calc to load a little faster in the
+beginning, but the net effect is the same.)
+
+   This autoloading mechanism assumes that all the component files can
+be found on the `load-path'.  The `make public' and `make private'
+commands take care of this, but Calc has a few other strategies in
+case you have installed it in an unusual way.
+
+   If, when Calc is loaded, it is unable to find its components on the
+`load-path' it is given, it checks the file name in the original
+`autoload' command for `calc-dispatch'.  If that name included
+directory information, Calc adds that directory to the `load-path':
+
+     (autoload 'calc-dispatch "calc-2.00/calc" "Calculator" t)
+
+Suppose the directory `/usr/gnu/src/emacs/lisp' is on the path, and
+the above `autoload' allows Emacs to find Calc under the name
+`/usr/gnu/src/emacs/lisp/calc-2.00/calc.elc'.  Then when Calc starts
+up it will add `/usr/gnu/src/emacs/lisp/calc-2.00' to the path so that
+it will later be able to find its component files.
+
+   If the above strategy does not locate the component files, Calc
+examines the variable `calc-autoload-directory'.  This is initially
+`nil', but you can store the name of Calc's home directory in it as a
+sure-fire way of getting Calc to find its components.
+
+
+Merging Source Files
+=====================
+
+If the `autoload' mechanism is not managing to load each part of Calc
+when it is needed, you can concatenate all the `.el' files into one
+big file.  The order should be `calc.el', then `calc-ext.el', then all
+the other files in any order.  Byte-compile the resulting big file. 
+This merged Calculator ought to work just like Calc normally does,
+though it will be *substantially* slower to load.
+
+
+Key Bindings
+=============
+
+Calc is normally bound to the `M-#' key.  To set up this key binding,
+include the following command in your `.emacs' or `lisp/default' file.
+ (This is done automatically by `make private' or `make public',
+respectively.)
+
+     (global-set-key "\e#" 'calc-dispatch)
+
+   Note that `calc-dispatch' actually works as a prefix for various
+two-key sequences.  If you have a convenient unused function key on
+your keyboard, you may wish to bind `calc-dispatch' to that as well. 
+You may even wish to bind other specific Calc functions like `calc' or
+`quick-calc' to other handy function keys.
+
+   Even if you bind `calc-dispatch' to other keys, it is best to bind
+it to `M-#' as well if you possibly can:  There are references to
+`M-#' all throughout the Calc manual which would confuse novice users
+if they didn't work as advertised.
+
+   Another key binding issue is the DEL key.  Some installations use a
+different key (such as backspace) for this purpose.  Calc normally
+scans the entire keymap and maps all keys defined like DEL to the
+`calc-pop' command.  However, this may be slow.  You can set the
+variable `calc-scan-for-dels' to `nil' to cause only the actual DEL
+key to be mapped to `calc-pop'; this will speed loading of Calc.
+
+
+The `macedit' Package
+======================
+
+The file `macedit.el' contains another useful Emacs extension called
+`edit-kbd-macro'.  It allows you to edit a keyboard macro in
+human-readable form.  The `Z E' command in Calc knows how to use it to
+edit user commands that have been defined by keyboard macros.  To
+autoload it, you will want to include the commands,
+
+     (autoload 'edit-kbd-macro      "macedit" "Edit Keyboard Macro" t)
+     (autoload 'edit-last-kbd-macro "macedit" "Edit Keyboard Macro" t)
+     (autoload 'read-kbd-macro      "macedit" "Read Keyboard Macro" t)
+
+The `make public' and `make private' commands do this.
+
+
+The GNUPLOT Program
+====================
+
+Calc's graphing commands use the GNUPLOT program.  If you have GNUPLOT
+but you must type some command other than `gnuplot' to get it, you
+should add a command to set the Lisp variable `calc-gnuplot-name' to
+the appropriate file name.  You may also need to change the variables
+`calc-gnuplot-plot-command' and `calc-gnuplot-print-command' in order
+to get correct displays and hardcopies, respectively, of your plots.
+
+
+On-Line Documentation
+======================
+
+The documentation for Calc (this manual) comes in a file called
+`calc.texinfo'.  To format this for use as an on-line manual, type
+`make info' (to use the `makeinfo' program), or `make texinfo' (to use
+the `texinfmt.el' program which runs inside of Emacs).  The former
+command is recommended if it works on your system; it is faster and
+produces nicer-looking output.
+
+   The `makeinfo' program will report inconsistencies involving the
+nodes "Copying" and "Interactive Tutorial"; these messages should be
+ignored.
+
+   The result will be a collection of files whose names begin with
+`calc.info'.  You may wish to add a reference to the first of these,
+`calc.info' itself, to your Info system's `dir' file.  (This is
+optional since the `M-# i' command can access `calc.info' whether or
+not it appears in the `dir' file.)
+
+   There is a Lisp variable called `calc-info-filename' which holds
+the name of the Info file containing Calc's on-line documentation. 
+Its default value is `"calc.info"', which will work correctly if the
+Info files are stored in Emacs' main `info/' directory, or if they are
+in any of the directories listed in the `load-path'.  If you keep them
+elsewhere, you will want to put a command of the form,
+
+     (setq calc-info-filename ".../calc.info")
+
+in your `.emacs' or `lisp/default' file, where `...' represents the
+directory containing the Info files.  This will not be necessary if
+you follow the normal installation procedures.
+
+   The `make info' and `make texinfo' commands compare the dates on
+the files `calc.texinfo' and `calc.info', and run the appropriate
+program only if the latter file is older or does not exist.
+
+
+Printed Documentation
+======================
+
+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 `texindex' program and
+`texinfo.tex' file, both of which can be obtained from the FSF as part
+of the `texinfo2' package.
+
+   To print the Calc manual in one huge 550 page tome, type `make tex'. 
+This will take care of running the manual through TeX twice so that
+references to later parts of the manual will have correct page numbers. 
+(Don't worry if you get some "overfull box" warnings.)
+
+   The result will be a device-independent output file called
+`calc.dvi', which you must print in whatever way is right for your
+system.  On many systems, the command is
+
+     lpr -d calc.dvi
+
+   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 `calc.texinfo' you will find alternate definitions of the
+`\bumpoddpages' macro that put the marginal notes always on the same
+side, best if you plan to be binding single-sided pages.
+
+   Some people find the Calc manual to be too large to handle easily. 
+In fact, some versions of TeX have too little memory to print it.  So
+Calc includes a `calc-split-manual' command that splits `calc.texinfo'
+into two volumes, the Calc Tutorial and the Calc Reference.  The
+easiest way to use it is to type `make tex2' instead of `make tex'. 
+The result will be two smaller files, `calctut.dvi' and `calcref.dvi'.
+ The former contains the tutorial part of the manual; the latter
+contains the reference part.  Both volumes include copies of the
+"Getting Started" chapter and licensing information.
+
+   To save disk space, you may wish to delete `calctut.*' and
+`calcref.*' after you're done.  Don't delete `calc.texinfo', because
+you will need it to install future patches to Calc.  The `make tex2'
+command takes care of all of this for you.
+
+   The `make textut' command formats only the Calc Tutorial volume,
+producing `calctut.dvi' but not `calcref.dvi'.  Likewise, `make
+texref' formats only the Calc Reference volume.
+
+   Finally, there is a `calc-split-summary' command that splits off
+just the Calc Summary appendix suitable for printing by itself.  Type
+`make summary' instead of `make tex'.  The resulting `calcsum.dvi'
+file will print in less than 20 pages.  If the Key Index file
+`calc.ky' is present, left over from a previous `make tex' command,
+then `make summary' will insert a column of page numbers into the
+summary using that information.
+
+   The `make isummary' command is like `make summary', but it prints a
+summary that is designed to be substituted into the regular manual. 
+(The two summaries will be identical except for the additional column
+of page numbers.)  To make a complete manual, run `make tex' and `make
+isummary', print the two resulting `.dvi' files, then discard the
+Summary pages that came from `calc.dvi' and insert the ones from
+`calcsum.dvi' in their place.  Also, remember that the table of
+contents prints at the end of the manual but should generally be moved
+to the front (after the title and copyright pages).
+
+   If you don't have TeX, you can print the summary as a plain text
+file by going to the "Summary" node in Calc's Info file, then typing
+`M-x print-buffer' (see "Summary").
+
+
+Settings File
+==============
+
+Another variable you might want to set is `calc-settings-file', which
+holds the file name in which commands like `m m' and `Z P' store
+"permanent" definitions.  The default value for this variable is
+`"~/.emacs"'.  If `calc-settings-file' does not contain `".emacs"' as
+a substring, and if the variable `calc-loaded-settings-file' is `nil',
+then Calc will automatically load your settings file (if it exists)
+the first time Calc is invoked.
+
+
+Testing the Installation
+=========================
+
+To test your installation of Calc, start a new Emacs and type `M-# c'
+to make sure the autoloads and key bindings work.  Type `M-# i' to
+make sure Calc can find its Info documentation.  Press `q' to exit the
+Info system and `M-# c' to re-enter the Calculator.  Type `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 `M-# c' again to make sure the Calculator can exit.
+
+   You may also wish to test the GNUPLOT interface; to plot a sine
+wave, type `' [0 .. 360], sin(x) RET g f'.  Type `g q' when you are
+done viewing the plot.
+
+   Calc is now ready to use.  If you wish to go through the Calc
+Tutorial, press `M-# t' to begin.
+
+
+(The above text is included in both the Calc documentation and the
+file INSTALL in the Calc distribution directory.)