(Vuser_init_file): New variable.
[bpt/emacs.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 3cec9e7..aa5f7ea 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -20,18 +20,20 @@ ADDITIONAL DISTRIBUTION FILES
 * leim-M.N.tar.gz
 
 The Emacs Lisp code for input methods for various international
-character scripts is distributed in a separate tar file because of its
-large size.  This file is called leim-M.N.tar.gz, with the same
-version number as Emacs, and it unpacks into the directory
-emacs-M.N/leim.  Thus, if you unpack it in the same directory where
-you unpacked the Emacs distribution, it fills in a subdirectory
-of the Emacs distribution.
-
-If you have already unpacked the Leim tar file into a subdirectory of
-the Emacs sources, building and installing Emacs automatically
-installs the input method support as well.  If you unpack the Leim tar
-file into the Emacs sources after building and installing Emacs, just
-build Emacs again and install it again.
+character scripts is distributed in a separate tar file because it
+amounts to a significant fraction of the size of the distribution.
+This tar file is called leim-M.N.tar.gz, with the same version number
+as Emacs, and it unpacks into the directory emacs-M.N/leim.
+
+You should unpack leim-M.N.tar.gz into the same directory where you
+have previously unpacked the main Emacs distribution.  It fills in the
+contents of one subdirectory, which is present in the main Emacs
+distribution only in dummy form.
+
+Once you have unpacked the Leim tar file into the Emacs source tree,
+building and installing Emacs automatically installs the input method
+support as well.  If you have built Emacs without unpacking Leim
+first, just unpack Leim, build Emacs again, and install it again.
 
 * intlfonts-VERSION.tar.gz
 
@@ -40,7 +42,12 @@ order to display international characters.  If you see a non-ASCII
 character appear as a hollow box, that means you don't have a font for
 it.  You might find a font in the intlfonts distribution.  If some
 characters don't look right, or appear improperly aligned, a font
-fron the intlfonts distribution might look better.
+from the intlfonts distribution might look better.
+
+The fonts in the intlfonts distribution are also used by the ps-print
+package for printing international characters.  The file
+lisp/ps-mule.el defines the .bdf font files required for printing
+each character set.
 
 The intlfonts distribution contains its own installation instructions,
 in the intlfonts/README file.
@@ -75,12 +82,15 @@ or in a separate directory.
 3a) To build in the top-level Emacs source directory, go to that
 directory and run the program `configure' as follows:
 
-    ./configure CONFIGURATION-NAME [--OPTION[=VALUE]] ...
+    ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
 
 The CONFIGURATION-NAME argument should be a configuration name given
-in `./etc/MACHINES'.  If omitted, `configure' will try to guess your
-system type; if it cannot, you must find the appropriate configuration
-name in `./etc/MACHINES' and specify it explicitly.
+in `./etc/MACHINES', with the system version number added at the end.
+
+You should try first omitting CONFIGURATION-NAME.  This way,
+`configure' will try to guess your system type.  If it cannot guess,
+or if something goes wrong in building or installing Emacs this way,
+try again specifying the proper CONFIGURATION-NAME explicitly.
 
 If you don't want X support, specify `--with-x=no'.  If you omit this
 option, `configure' will try to figure out for itself whether your
@@ -173,6 +183,15 @@ Emacs source code in the directory that `configure' is in.
 To build in a separate directory, you must use a version of `make'
 that supports the `VPATH' variable, such as GNU `make'.
 
+3c) Some people try to build in a separate directory by filling
+it full of symlinks to the files in the real source directory.
+If you do that, `make all' does work, but `make install' fails:
+it copies the symbolic links rather than the actual files.
+
+As far as is known, there is no particular reason to use
+a directory full of links rather than use the standard GNU
+facilities to build in a separate directory (see 3b above).
+
 4) Look at `./lisp/paths.el'; if some of those values are not right
 for your system, set up the file `./lisp/site-init.el' with Emacs
 Lisp code to override them; it is not a good idea to edit paths.el
@@ -194,7 +213,8 @@ Lisp code you want Emacs to load before it is dumped out.  Use
 site-load.el for additional libraries if you arrange for their
 documentation strings to be in the etc/DOC file (see
 src/Makefile.in if you wish to figure out how to do that).  For all
-else, use site-init.el.
+else, use site-init.el.  Do not load byte-compiled code which
+was build with a non-nil value of `byte-compile-dynamic'.
 
 If you set load-path to a different value in site-init.el or
 site-load.el, Emacs will use *precisely* that value when it starts up
@@ -203,7 +223,7 @@ again.  If you do this, you are on your own!
 Note that, on some systems, the code you place in site-init.el must
 not use expand-file-name or any other function which may look
 something up in the system's password and user information database.
-See `./PROBLEMS' for more details on which systems this affects.
+See `./etc/PROBLEMS' for more details on which systems this affects.
 
 The `site-*.el' files are nonexistent in the distribution.  You do not
 need to create them if you have nothing to put in them.
@@ -252,10 +272,6 @@ are installed in the following directories:
                architecture-independent files Emacs might need while
                running.  VERSION is as specified for `.../lisp'.
 
-`/usr/local/com/emacs/lock' contains files indicating who is editing
-               what, so Emacs can detect editing clashes between
-               users.
-
 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
                programs used by Emacs that users are not expected to
                run themselves.
@@ -332,14 +348,6 @@ Here is a complete list of the variables you may want to set.
        same time; this means that you don't have to make Emacs
        unavailable while installing a new version.
 
-`sharedstatedir' indicates where to put architecture-independent data files
-       that Emacs modifies while it runs; it defaults to
-       /usr/local/com.  We create the following
-       subdirectories under `sharedstatedir':
-       - `emacs/lock', containing files indicating who is editing
-               what, so Emacs can detect editing clashes between
-               users.
-
 `libexecdir' indicates where to put architecture-specific data files that
        Emacs refers to as it runs; it defaults to `/usr/local/libexec'.
        We create the following subdirectories under `libexecdir':
@@ -391,33 +399,7 @@ Here is a complete list of the variables you may want to set.
        path variables - `bindir' and `libexecdir'.
 
 The above variables serve analogous purposes in the makefiles for all
-GNU software; here are some variables specific to Emacs.
-
-`lispdir' indicates where Emacs installs and expects its Lisp library.
-       Its default value, based on `datadir' (see above), is
-       `/usr/local/share/emacs/VERSION/lisp' (where `VERSION' is as
-       described above).
-
-`locallisppath' indicates where Emacs should search for Lisp files
-       specific to your site.  It should be a colon-separated list of
-       directories; Emacs checks them in order before checking
-       `lispdir'.  Its default value, based on `datadir' (see above), is
-       `/usr/local/share/emacs/VERSION/site-lisp:/usr/local/share/emacs/site-lisp'.
-
-`lisppath' is the complete list of directories Emacs should search for
-       its Lisp files; its default value is the concatenation of
-       `locallisppath' and `lispdir'.  It should be a colon-separated
-       list of directories; Emacs checks them in the order they
-       appear.
-
-`etcdir' indicates where Emacs should install and expect the rest of
-       its architecture-independent data, like the tutorial, DOC
-       file, and yow database.  Its default value, based on `datadir'
-       (which see), is `/usr/local/share/emacs/VERSION/etc'.
-
-`lockdir' indicates the directory where Emacs keeps track of its
-       locking information.  Its default value, based on
-       `sharedstatedir' (which see), is `/usr/local/com/emacs/lock'.
+GNU software; this variable is specific to Emacs.
 
 `archlibdir' indicates where Emacs installs and expects the executable
        files and other architecture-dependent data it uses while
@@ -433,6 +415,11 @@ settings persist, you can edit them into the `Makefile' in the top
 directory, but be aware that running the `configure' program erases
 `Makefile' and rebuilds it from `Makefile.in'.
 
+The path for finding Lisp files is specified in src/paths.h,
+a file which is generated by running configure.  To change the path,
+you can edit the definition of PATH_LOADSEARCH in that file
+before you run `make'.
+
 The top-level Makefile stores the variable settings it used in the
 Makefiles for the subdirectories, so you don't have to specify them
 when running make in the subdirectories.
@@ -526,10 +513,7 @@ probably don't want to replace it with the `dir' file in the Emacs
 distribution.  Instead, you should make sure that the existing `dir'
 file contains an appropriate menu entry for the Emacs info.
 
-3) Create a directory for Emacs to use for clash detection, named as
-indicated by the PATH_LOCK macro in `./src/paths.h'.
-
-4) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
+3) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
 in users' search paths.  `./src/emacs' has an alternate name
 `./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named
 `/usr/local/bin/emacs' pointing to that alternate name, as an easy way
@@ -537,21 +521,21 @@ of installing different versions.
 
 You can delete `./src/temacs'.
 
-5) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
+4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
 `rcs-checkin' from `./lib-src' to `/usr/local/bin'.  These programs are
 intended for users to run.
 
-6) Copy the man pages in `./etc' for emacs, ctags, and etags into the
+5) Copy the man pages in `./etc' for emacs, ctags, and etags into the
 appropriate man directories.
 
-7) The files in the `./src' subdirectory, except for `emacs', are not
+6) The files in the `./src' subdirectory, except for `emacs', are not
 used by Emacs once it is built.  However, it is very desirable to keep
 the source on line for debugging.
 
 
 PROBLEMS
 
-See the file PROBLEMS in this directory for a list of various
+See the file PROBLEMS in etc subdirectory for a list of various
 problems sometimes encountered, and what to do about them.
 
 
@@ -606,6 +590,22 @@ To unpack Emacs with djtar, type this command:
 (This assumes that the Emacs distribution is called `emacs.tgz' on
 your system.)
 
+If you need to type international characters, you will need to unpack
+the Leim distribution (see the description near the beginning of this
+file).  You unpack it from the same directory where you unpacked
+Emacs.  To unpack Leim with djtar, assuming the Leim distribution is
+called `leim.tgz', type this command:
+
+    djtar -x leim.tgz
+
+If you want to print international characters, install the intlfonts
+distribution.  For this, create a directory called `fonts' under the
+Emacs top-level directory (usually called `emacs-XX.YY') created by
+unpacking emacs.tgz, chdir into the directory emacs-XX.YY/fonts, and
+type this:
+
+    djtar -x intlfonts.tgz
+
 When unpacking is done, a directory called `emacs-XX.YY' will be
 created, where XX.YY is the Emacs version.  To build and install
 Emacs, chdir to that directory and type these commands:
@@ -613,16 +613,30 @@ Emacs, chdir to that directory and type these commands:
     config msdos
     make install
 
+To install the international fonts, chdir to the intlfonts-X.Y
+directory created when you unpacked the intlfonts distribution (X.Y is
+the version number of the fonts' distribution), and type the following
+command:
+
+    make bdf INSTALLDIR=..
+
+After Make finishes, you may remove the directory intlfonts-X.Y; the
+fonts are installed into the fonts/bdf subdirectory of the top-level
+Emacs directory, and that is where Emacs will look for them by
+default.
+
 Building Emacs creates executable files in the src and lib-src
 directories.  Installing Emacs on MSDOS moves these executables to a
 sibling directory called bin.  For example, if you build in directory
 /emacs, installing moves the executables from /emacs/src and
 /emacs/lib-src to the directory /emacs/bin, so you can then delete the
 subdirectories /emacs/src and /emacs/lib-src if you wish.  The only
-subdirectories you need to keep are bin, lisp, etc and info.  The bin
-subdirectory should be added to your PATH.  The msdos subdirectory
-includes a PIF and an icon file for Emacs which you might find useful
-if you run Emacs under MS Windows.
+subdirectories you need to keep are bin, lisp, etc and info.  (If you
+installed Leim, keep the leim subdirectory, and if you installed
+intlfonts, keep the fonts directory and all its sibdirectories as well.)
+The bin subdirectory should be added to your PATH.  The msdos
+subdirectory includes a PIF and an icon file for Emacs which you might
+find useful if you run Emacs under MS Windows.
 
 Emacs on MSDOS finds the lisp, etc and info directories by looking in
 ../lisp, ../etc and ../info, starting from the directory where the