1. Introduction ------------ GNU Emacs 23 compiled with DJGPP v2.x is hereby available as part of the DJGPP archives. Emacs is an extremely powerful, extensible, customizable editor. It serves as a programmer's editor, a programming environment, and much more. Some say it's an operating system in disguise. Others say it's a way of life... Apart of usual features you'd expect to find in an editor, Emacs offers many advanced editing features, and also many features that most editors usually don't have at all. Here are some of the advanced editing features that you should try (the names of relevant commands and optional packages are in parentheses): - support for every imaginable programming language on Earth (Ada, Assembly, Awk, C, C++, IDL, Java, Perl, Fortran, Pascal, Prolog, Simula, Scheme, SQL, Tcl, VHDL, Texinfo, TeX, Nroff, SGML/HTML, Metafont, mix, Octave, Python, Ruby, PostScript, Vera) - compilation from within the editor (`M-x compile') - invoking Grep and Diff from within the editor (M-x grep, M-x diff) - user-extensible syntax highlighting (font-lock) - automatic highlighting of matching parentheses (paren) - finding function/macro definitions (M-.) - reading Info docs (info) and man pages (man) - interface to version control software (RCS, CVS, git, bzr, hg) (vc) - automatic expansion of partially-typed words (by pressing M-/) - passing part of a buffer to an external program, and inserting its output into the buffer (M-|, M-!) - saving and restoring of Emacs state between sessions (desktop) - color-enhanced comparison and merges of files and directories (ediff) - you can use Emacs as a word processor (enriched) - you can use Emacs as a hex editor of binary files (hexl) - integrated spell-checking (ispell) - printing (`M-x lpr-buffer' and `M-x ps-print-buffer') - built-in sorting of files, buffers, or parts thereof (sort) - emulation of other editors (EDT, TPU, vi, Brief, even WordStar) Here are some of the features you probably won't expect to find in an editor: - editing compressed archives--zip, zoo, lzh, tar, etc.--(arc-mode) - ``editing'' a directory: use Emacs as a file manager (dired) - editing of compressed files (jka-compr) - display of calendar (calendar) and holydays (holyday), and management of appointment diary (diary) - computation of lunar phases (lunar) and sunrise/sunset (solar) - packages for reading email (RMAIL) and news groups (Gnus) - games (tetris, gomoku, life, solitaire) - invoking arbitrary commands at certain time: you can use Emacs as your system manager or a cron daemon (midnight) Emacs 23 has several significant improvements and enhancements as compared to previous versions; it is also significantly larger and somewhat slower. (On the other hand, typical desktop machines got much faster and memory-adbundant.) Emacs can be compiled with DJGPP out of the box, and you are encouraged to get the latest version from the GNU ftp sites and build it by yourself. But if you don't have the time, necessary tools or disk storage required to unpack the full source distribution and build Emacs, you can get the pre-built binaries and only those parts of the package that you need from the DJGPP sites. The single most important new feature in Emacs 23 is support for multilingual editing. You can edit files in many different languages, and type text in any supported language, even if your version of the OS doesn't have a built-in support for that language. You can mix several languages in the same buffer, read and write files in many different encodings for non-ASCII characters, and print non-ASCII text to a PostScript printer. Emacs 23 represents characters internally based on their Unicode code points, so it now basically supports any script invented on Earth that the international community deems worthy. The DJGPP version of Emacs includes full support for all these features. The only multilingual feature whose support is somewhat limited is the display of non-ASCII characters. Emacs can directly display a single non-ASCII character set--the one supported by the installed DOS codepage. It can also display all single-byte character sets, such as Latin-1, Cyrillic, Greek, Hebrew, and other ISO 8859 character sets; however, where these scripts don't have corresponding glyphs in the current codepage, Emacs _simulates_ those glyphs with ASCII strings. For example, the Latin letter ``c with cedilla'' is displayed as "{,c}" if the codepage doesn't support that letter. This looks somewhat awkward, but the text is still readable by a person who knows the language. Characters from Far-Eastern scripts, such as Chinese, Japanese, or Korean, can only be displayed when Emacs runs on versions of DOS/Windows localized for those countries. For more details, see the section "MS-DOS and MULE" in the on-line manual. There are lost and lots of other new features, too many to list here. See the file NEWS in the distribution for a full list. If you are upgrading from an old version of Emacs, read also NEWS.21 and NEWS.22. You will want to install this version instead of Emacs 19, if: (1) you need the multilingual support, or some of the other major new features; (2) you don't care about the slow-down of Emacs operation, or have a fast machine with enough RAM where that slow-down and the larger memory footprint aren't noticeable; or (3) you are an Emacs addict and absolutely must have the latest and the greatest... You will want to stick to Emacs 19 if: (1) you want non-ASCII files to be displayed as literal bytes; (2) you have a slow and memory-starved machine; or (3) you need the leanest, meanest Emacs possible. The binaries here were produced from the official version 23.3 of GNU Emacs, with no changes. 2. Files ----- There are now only 2 files: em2303s.zip with the sources and em2303b.zip with the binaries and the documentation. Each one is independend of the other, i.e. you can run Emacs using just the binary zip, and you can build Emacs from sources using just the source zip file. 3. Getting started --------------- To install the pre-built distribution of Emacs, follow these steps: * Go to your main DJGPP installation directory. If you don't have DJGPP installed, you can install Emacs in any directory you want. * Unzip the binary distribution: unzip32 em2303b.zip etc. The above example uses the unzip32.exe program, available from the same place where you downloaded Emacs. If you use PKUNZIP, don't forget the -d switch, like so: pkunzip -d em2303b.zip If you unzip the files on Windows 9X or Windows 2000/XP/Vista/W7, make sure you use an unzip program that supports long file names in zip archives. Unzip32.exe, available from the DJGPP archives, and djtar.exe, distributed as part of the basic DJGPP development environment djdevNNN.zip, both support long file names on those operating systems, so I recommend to use one of these programs to unzip the package. If you install Emacs on Windows NT4, you must use an unzip program that truncates long file names to the DOS 8+3 limits. Again, unzip32 and djtar will do the right thing for you. * When you unzip the archives, a directory called `emacs' is created in the `gnu' subdirectory of the DJGPP tree, with several subdirectories. Add the `gnu/emacs/bin' directory to your PATH. If you don't have DJGPP installed, and you have Info files from other packages on your system, add the `gnu/emacs/info' directory to your INFOPATH environment variable. * If you are a new user of Emacs, be sure to begin by reading the Emacs tutorial. To this end, invoke Emacs and choose the "Emacs Tutorial" item from the "Help" submenu (on the menu bar). Emacs should automatically choose the tutorial in your native language, if such a tutorial is available; if not, the tutorial in English shall be displayed. * The file `gnu/emacs/etc/refcard.ps' can be printed on a PostScript printer to produce a handy reference card for most frequently used Emacs commands and features. * To make full use of several optional Emacs features, consider installing additional packages: - The man clone (v2apps/manNNb.zip), Less (v2gnu/lssNNNb.zip), Gawk (v2gnu/gwkNNNb.zip), and Sed (v2gnu/sedNNNb.zip) for reading man pages inside Emacs. - Grep (v2gnu/grepNNb.zip) and Findutils (v2gnu/findNNb.zip) for using the `M-x grep' and `M-x grep-find' commands. - Diffutils (v2gnu/difNNNb.zip) for the `M-x diff' command and the commands provided by the Ediff package. - RCS (v2gnu/rcsNNNb.zip) or CVS (v2gnu/cvsNNNb.zip) for the Emacs built-in Version Control support. - Ispell (v2gnu/ispNNNb.zip) for spell-checking commands. The zip files are LFN-clean, which means they can be unzipped on Windows (or any other system that supports long filenames); in that case all the files will get their original long names, including the letter-case (e.g., `ChangeLog', `FAQ', etc.). Note that if you want LFN support within Emacs (i.e., you set LFN=y in the environment), you *must* unzip the archives with an unzip program that supports long filenames, or else Emacs won't be able to find some of its files. If you want to be able to run Emacs from both Windows 9X and plain DOS, you need to set the NameNumericTail property in the Registry to 0 before you unzip the package (you may return the setting to 1 after you finish unzipping). The DJGPP FAQ list explains the details of how to change this setting. 4. Building Emacs from sources --------------------------- To rebuild Emacs from sources, follow these steps: * Unzip the source distribution from the same directory: unzip32 em2303s.zip The above example uses the unzip32.exe program, available from the same place where you downloaded Emacs. If you use PKUNZIP, don't forget the -d switch, like so: pkunzip -d em2303s.zip If you unzip the files on Windows 9X or Windows 2000/XP/Vista/W7, make sure you use an unzip program that supports long file names in zip archives. Unzip32.exe, available from the DJGPP archives, and djtar.exe, distributed as part of the basic DJGPP development environment djdevNNN.zip, both support long file names on those operating systems, so I recommend to use one of these programs to unzip the package. If you install Emacs on Windows NT4, you must use an unzip program that truncates long file names to the DOS 8+3 limits. Again, unzip32 and djtar will do the right thing for you. * In the `gnu/emacs' directory, type these two commands to build the package: config msdos make install This puts the compiled executables in the `gnu/emacs/bin' subdirectory. 5. Troubleshooting --------------- If you invoke Emacs on Windows, and it doesn't find some of its files, you have a problem related to long file names. On Windows 9X/2000/XP/Vista/W7, try setting LFN=y in the environment before running Emacs; if that doesn't help, set LFN=n and try again. If it only works with LFN=n on Windows 9X, you need to unzip the distribution again using a program which supports long file names in zip archives. I recommend unzip32.exe, available from the DJGPP sites. If Emacs doesn't find some of its files on Windows NT4, make sure you unzip the distribution with a program which truncates the long file names to DOS 8+3 limits. Again, unzip32.exe will do the right thing. If you have any other trouble with using Emacs, it is recommended to perform the following steps in order: * Read the on-line docs which describe the command you use. * Look up your problem in the Emacs FAQ list (choose "Help->Manuals->Emacs FAQ" from the menu bar). * Consult the file `PROBLEMS' in the main Emacs directory for solutions to known problems. * Read the chapter about reporting bugs in the on-line manual. The file `BUGS' in the main Emacs directory describes how to find that chapter, if you have trouble with that. You can post questions and requests for help to the gnu.emacs.help news group if none of the above seems to help. (Problems that seem to be DOS- or DJGPP-related can be reported to the comp.os.msdos.djgpp news group first.) Enjoy. Eli Zaretskii