This is the DJGPP port of Emacs 20.3.

This port differs slightly from the official release in the following ways:

1) Internationalization is supported through a gettext builtin. This allows
   you to write lisp packages with translatable messages.
2) Some additional lisp files (elib 1.0.2 and rebox.el) are included in the
   distribution.
3) Emacs is slightly smarter when determining the paths it needs to function.
   However, due to the way emacs builds itself, some paths are hardcoded at
   build-time. Although these probably will not present any problems, it is
   recommended that you build your own Emacs (with the Emacs Kit -- see below)
   rather than just getting the binary distribution.

NOTE: All archives extract their files in gnu/emacs-20.3/. However, in most
       cases the files will need to be installed elsewhere. Be sure to read
       each archive's documentation file after extracting (203-foo*.zip's doc
       file will be in gnu/emacs-20.3/203-foo.me).
      It _may_ work to keep the files in gnu/emacs-20.3 and add
       gnu/emacs-20.3/bin to your PATH. However, this is not recommended, as
       it needlessly enlarges your environment and _may_ prevent emacs from
       functioning correctly.


Available Archives
------------------

 * 203-src[123].zip: These contain the emacs C sources. In order to build emacs
   from scratch, you will need these archives in addition to the lisp and etc
   archives.

 * 203lsp?b.zip: The compiled Emacs Lisp packages. These archives are always
   required (although... -- See 'Special Considerations' below).
 * 203lsp?s.zip: The Emacs Lisp packages (source files). You only *need* these
   archives if you intend to modify or manually customize lisp packages. It is
   recommended to have these installed though.

 * 203-leim.zip: The Library Of Emacs Input methods. Most people will not
   need this. It provides input support for foreign languages; for more info
   see the 'LEIM' topic below.

 * 203-doc[sb].zip: The Emacs Manual. Highly recommended. 203-docs.zip contains
   the sources (TeXInfo format); 203-docb.zip contains the Info files. Note
   that Emacs has a built-in Info reader, so you don't need the Texinfo
   distribution unless you want to generate the Info files from the sources.

 * 203-etc.zip: Several auxiliary and data files used by Emacs. This archive
   is always required.

 * 203-bin.zip: A completely built Emacs executable, as well as some support
   programs. Either this archive, or the Emacs Kit archive is required if
   you're not building Emacs from sources yourself.

 * 203-kit.zip: The Emacs Kit. This contains an undumped built Emacs binary,
   as well as the support binaries. Following the instructions, this
   will let you painlessly create a copy of Emacs that should be fully tailored
   for your system. This requires the etc and binary lisp archives. You need
   either this or the binary archive to use Emacs (unless you're building it
   from sources yourself).


Known Problems
--------------

 * Emacs is still very much a Unix-oriented program. Expect many lisp packages
   to fail because DOS lacks some Unix features (such as built-in networking
   and concurrent subprocesses).
   

Undumped, Re-Dumping, ... What Are You Talking About???
-------------------------------------------------------

 GNU Emacs uses a peculiar way of creating itself. The basic executable created
by the build process doesn't know a lot; it just contains a Lisp engine and
some basic functions. It then loads a bunch of Lisp packages providing the real
Emacs functionality, and connects the loaded functions with their documentation
strings. The result is a running copy of Emacs. However, having to do this each
time at startup would waste a great deal of time, so the memory used by this
proto-Emacs is dumped into a new executable -- the actual Emacs. This process
also allows you to pre-load some non-standard Lisp packages at dump time, and
their functionality will automagically be present in the executable.


Special Considerations
----------------------

* When you want to build emacs (either from sources, or using the kit), you
   will need the compiled lisp packages (they are used to generate Emacs' core
   documentation).
* The lisp sources are not actually required; the sources will do. However,
   Emacs will load faster if the packages are compiled. Of course, you can
   always compile the packages (or just the ones you need) yourself. The readme
   file for the lisp archives contains instructions on how to compile the
   packages.


LEIM
----

LEIM stands for Library of Emacs Input Methods. It's a set of Emacs Lisp
 packages that translates keyboard input to the appropriate symbols. DOS users
 will usually have little use for them, as most rely on your terminal
 displaying these symbols correctly. However, they _can_ be of use in the
 following circumstances:
1) You are a DOS/V (Japanese DOS) user. The MS-DOS part of Emacs has been
   made more DOS/V compatible and it is quite possible that the Japanese input
   methods actually work (I have no DOS/V, so I cannot confirm this -- all I
   know is that some DOS/V-specific code has been added).
2) You want to input accented characters, but your keyboard lacks the
   facilities. A postfix input method is provided for this (for code pages 437,
   850 and 852, anyway). This input method will translate e' to ‚, etc.


Installation Size
-----------------

Emacs is an extremely flexible and useful editor, but it does take up a rather
large amount of space. The following table lists the amount of space used by
the components.

+------------------------------+----------------------------------------------+
| Component                    | Size of files (req'd HD space may vary)      |
+------------------------------+----------------------------------------------+
| The Binaries                 |  3.9 MB (uncompressed)                       |
| The Sources                  |  9.1 MB                                      |
| The Documentation            |  3.2 MB                                      |
| The Data Files               |  3.0 MB                                      |
| The Lisp Packages (Source)   | 17.5 MB                                      |
| The Lisp Packages (Compiled) | 11.7 MB                                      |
| LEIM (Source)                |  3.0 MB                                      |
| LEIM (Compiled)              |  1.1 MB                                      |
+------------------------------+----------------------------------------------+
| Complete Installation        | 43.4 MB                                      |
| -> Including Sources         | 52.5 MB                                      |
+------------------------------+----------------------------------------------+

Note: If you compress the executables with DJP you can reduce their total size
       to about 1.5 MB.
      If you compress Emacs with UPX using the '--best' option, you can reduce
       its size from over 3MB to about 980KB. This process does take about 20
       minutes, though. It is used for all the executables in the binary
       distribution.


===============================================================================

The following is a sample _emacs file (densely commented).

--<CUT HERE>--
;;** Most of Emacs can be customized through the `M-x customize'.
;;** By default, customizations are placed in this file (_emacs). Since this
;;**  can cause needless cluttering (especially if you customize many things),
;;**  I place them in ~/_custom.el. This does mean I have to load them here
;;**  myself.
(load "~/_custom" nil t)

;;** resize-minibuffer-mode resizes the minibuffer (the command input line) as
;;** needed. This is very useful.
(require 'rsz-mini)
(resize-minibuffer-mode)

;;** display-time shows the current time (or more) in the modeline
(require 'time)
(display-time)

;;** Loads a list of available input methods. Only possible if you got the
;;** LEIM archives.
(load "leim-list" nil t)

;;** Loads terminal support
(require 'pc-win "term/pc-win")

;;** My key bindings. See the file for more info
(require 'zastai)
;;** Allows you to edit compressed files transparantly (supports gzip and lzop)
(require 'jka-compr)

;;** Makes Emacs recognize some additional file extensions
(setq auto-mode-alist
  (append '(("\\.sql$"             . sql-mode)
            ("\\.po[xt]?$"         . po-mode)
	    ("\\.\\(cob\\|cbl\\)$" . cobol-mode)
	    ("\\.\\(inc\\|pov\\)$" . pov-mode)
	    ;; Treat all headers and lex and yacc input files as C++
	    ("\\.\\(h\\|y\\|l\\)$" . c++-mode)
           ) auto-mode-alist)
)

;; This is loaded as soon as the first global fontification occurs (which
;;  is right after this file is loaded). So we (require) it here.
;;** Lazy-lock makes font-locking "lazy", i.e. it only fontifies when needed.
(require 'lazy-lock)

--<CUT HERE>--

===============================================================================


Tim "Zastai" Van Holder <zastai@hotmail.com>
April 1999
