home *** CD-ROM | disk | FTP | other *** search
- ===============================================================================
- emacs.doc GNU Emacs 18.58.3 for OS/2 2.0 03-May-1992
- ===============================================================================
-
- Introduction
- ============
-
- This archive contains GNU Emacs 18.58.3 for OS/2 2.0, containing
- changes made by Eberhard Mattes based on the great OS/2 2.0 port
- (18.58.1) of GNU Emacs by Joerg Viola. We chose to use the third part
- of the version number for distinguishing between different versions of
- the port, this number is not incremented each time a dumped version of
- GNU Emacs is created.
-
- GNU Emacs 18.58.3 for OS/2 uses emx 0.8d -- if you have an older
- version of emx.dll, emxbind.exe and termcap.dat, replace them with the
- files that come with GNU Emacs 18.58.3.
-
- This version of GNU Emacs has been tested only with OS/2 2.0 6.307
- (also known as GA version).
-
-
- Distribution files
- ==================
-
- The "GNU Emacs 18.58.3 for OS/2 2.0" distribution consists of the
- following files:
-
- emacs.doc this file (\emx\gnu\emacs.doc)
- unzip.exe utility for unpacking ZIP files
- emacs1.zip executable version of GNU Emacs, part 1
- emacs2.zip executable version of GNU Emacs, part 2
- emacsinf.zip additional info files
- emacsman.zip documentation files
- emacspat.zip patches
- emacssrc.zip sources
-
- A compiled version of GNU ls is provided in the \emacs\etc directory
- (in elisp1.zip), it has been ported by Thorsten Ohl and Kai Uwe Rommel.
-
-
- Installing GNU Emacs
- ====================
-
- This section describes how to install the compiled version of GNU
- Emacs on OS/2 2.0.
-
- GNU Emacs is installed in the \emacs and \emx directories of a HPFS
- drive.
-
- - get lots of disk space on an HPFS partition. As this version of GNU
- Emacs doesn't bother about 8.3 file names, you can't install it on a
- FAT partition. However, you can edit files on FAT partitions.
-
- - to install a base version of GNU Emacs, unpack the files
- emacs1.zip and emacs2.zip by running
-
- cd \
- unzip -d emacs1
- unzip -d emacs2
-
- on an HPFS drive. Note that you cannot use PKUNZIP to unpack these
- ZIP files.
-
- - additionally, you can install the documentation files by unpacking
- emacsman.zip:
-
- cd \
- unzip -d emacsman
-
- - additionally, you can install additional info files by unpacking
- emacsinf.zip:
-
- cd \
- unzip -d emacsinf
-
- - set apropriate environment variables (put them in config.sys):
-
- TERMCAP name of termcap file, defaults to
- /emx/etc/termcap.dat
-
- TERM name of terminal, possible values include rmono,
- ansi-color-2 and ansi-color-3
-
- SHELL name of the command processor, defaults to /bin/sh
-
- EMACSLOADPATH path to Lisp library, defaults to /emacs/lisp
-
- EMACSEXECPATH path to programs, defaults to /emacs/etc
-
- SYSTEMNAME initializes system-name, defaults to my-system
-
- HOME your homepath, replaces ~ in path names (that means,
- your .emacs-file is searched there)
-
- TMP directory for temporary files, default is current working
- directory
-
- PATH include \emacs\etc in your PATH (for ls)
-
- Example:
-
- set termcap=c:\emx\etc\termcap.dat
- set term=rmono
- set shell=c:\os2\cmd.exe
- set emacsloadpath=c:\emacs\lisp
- set emacsexecpath=c:\emacs\etc
- set systemname=vergil
- set home=c:\home
- set tmp=d:\tmp
-
- - compile the lisp files and create a preloaded version of GNU Emacs by
- running
-
- cd \emacs\src
- lib
- dump-emacs
-
- - run GNU emacs by typing \emacs\src\xemacs
-
- - you might want to add a program object for c:\emacs\src\xemacs to an
- appropriate folder
-
- - for best results, run xemacs from the drive where it is installed --
- you can change the drive in GNU Emacs
-
- - to change the cursor size, put
-
- c:\emacs\etc\cursor -80 -100
-
- into a batch file which runs xemacs.exe (unfortunately, cmd.exe
- changes the cursor size when displaying a prompt). Negative cursor
- command line arguments are percentages -- the above example makes
- the cursor use the bottom 20% of the character cell
-
-
- Text files vs. binary files
- ===========================
-
- This port of GNU Emacs supports two types of files: binary files and
- text files. As GNU Emacs is a text editor, you'll work with text files
- most of the time. Therefore, you don't have to know the ugly details
- unless you want to edit a binary file.
-
- When reading a text file, each CR/LF pair is converted to a LF. If the
- last character of the file is a Ctrl-Z, that character is removed.
-
- When writing a text file, each LF is replaced with a CR/LF pair. A
- Ctrl-Z is *not* appended as it has been obsolete for years.
-
- No conversion is done when reading or writing a binary file.
-
- Each buffer has a buffer-local variable file-type which has one of three
- values:
-
- nil the file type is unknown
-
- "b" the file type is binary
-
- "t" the file type is text
-
- When creating a new buffer which does not visit a file, file-type is
- assigned the current value of default-file-type. By default,
- default-file-type is nil, that is, the file type for buffers which
- don't visit a file is unknown.
-
- When creating a new buffer which visits a file (by using find-file),
- the buffer's file type is chosen by calling the
- file-type-from-file-name function, which is defined in os2.el. This
- function searches the list stored in the file-type-alist variable for
- a regular expression matching the file name and returns the associated
- file mode. If no entry of file-type-alist matches, the value of
- default-file-type is returned unless it's nil. If default-file-type is
- nil, "t" is returned. Summary: Binary mode is used if an entry (which
- demands binary mode) of file-type-alist matches the file name or if
- default-file-type is "b". Otherwise, text mode is used.
-
- When writing a buffer to a file (save-buffer, write-region), the
- buffer's file type is used for writing the file. If the file type of
- the buffer is nil, file-type-from-file-name is called to choose an
- appropriate file type depending on the name of the output file.
-
- You can assign a new value to file-type by using the set-variable
- command. default-file-type cannot be set with set-variable, you have
- to use the setq Lisp function.
-
- Reading and writing files in binary mode is usually only required
- compiled Emacs Lisp files (.elc) files. Therefore, the initial value
- of file-type-alist is
-
- (("\\.elc$" . "b"))
-
- If you want to automatically choose binary mode for other files, for
- instance .exe and .dll files, put the following code in your .emacs file:
-
- (setq file-type-alist (append file-type-alist
- '(("\\.exe$" . "b") ("\\.dll$" . "b"))))
-
- Note: if file-type is nil for a buffer and you write the buffer to a
- file, file-type of that buffer is *not* changed. That is, when writing
- to test.el, for instance, you'll get a text-mode file, when writing to
- test.elc, for instance, you'll get a binary-mode file.
-
- An additional argument has been added to the insert-file-contents
- function to select the file type, see the documentation of that
- function.
-
-
- 8-bit patches
- =============
-
- Keymaps now may contain up to 256 entries. Meta keys are prefixed with
- Esc (?\e) instead of having bit 7 set. That is, putting a command on
- key "\M-n" is no longer equivalent to putting a command on key "\en".
- For intance, by using
-
- (define-key global-map "\M-n" 'my-command)
-
- you'll put my-command on character code 238, not on M-n. To put
- my-command on M-n, use
-
- (define-key global-map "\en" 'my-command)
-
- gdb.el has been changed accordingly. Other Emacs lisp code has to be
- changed if it refers to \M-anything.
-
- Also be aware of conversion to lower case, if a key is undefined. For
- instance, code 146 (222 octal) is translated to 145 (221 octal) by
- conversion to lower case. For instance, if a keymap defines code 145
- but does not define code 146, the command is performed for _both_
- codes! That is, when defining C-DOWN, but leaving C-INSERT undefined,
- both C-DOWN and C-INSERT will perform the same command.
-
-
- TeX mode
- ========
-
- tex-mode.el has been modified for OS/2 and emTeX. tex-mode.el still
- needs improvement.
-
- To use TeX mode, assign the name of an existing scratch directory to
- the TeX-directory variable and choose a command for printing DVI
- files. You can do this by putting
-
- (setq TeX-mode-hook '(lambda ()
- (setq TeX-directory "c:/textmp/")
- (setq TeX-dvi-print-command "prtfx")))
-
- into your .emacs file (replace "c:/textmp/" with the name of an
- existing scratch directory, replace "prtfx" with the name of the
- command to print DVI files.)
-
- Use "start /c vp ..." to run dvipm and ignore the "Stack overflow"
- message. You might want to use "start /c vp" as TeX-dvi-print-command.
-
- Using "start /c" is also useful for other print commands.
-
-
- Limitations
- ===========
-
- - When using compiled Emacs Lisp files (.elc) transferred from other
- systems (such as UNIX), be sure to use binary transfer. Better get
- the uncompiled versions (.el) and recompile them with the
- byte-compile-file function.
-
- - Sending SIGKILL to subprocesses doesn't work -- it kills env.exe and
- keeps the subprocess. SIGINT works only for emx programs. This is an
- OS/2 limitation.
-
- - Tracking of the current directory in shell mode doesn't work
- correctly. This could be fixed by looking at the prompt (if its
- format is acceptable).
-
- - Drive names still don't work perfectly.
-
- - Emacs doesn't recognize the death of a subprocess if you've run a
- subprocess in Emacs, left Emacs and restarted Emacs in the same
- session (window). This is an OS/2 bug.
-
- - etags: Mysteriously you have to use the -e option to get GNU Emacs
- understand the tags file:
-
- etags -e -f test.tags test.c test.h
-
- creates a tags file test.tags which you can use from within Emacs.
- Type M-., and you will be prompted for the needed information.
-
-
- Building Emacs from the original FSF distribution
- =================================================
-
- This section describes how to compile GNU Emacs for OS/2 2.0, using
- the original distribution of GNU Emacs and the patches for OS/2 2.0.
-
- - get lots of disk space (22 MB required for building GNU Emacs) on an
- HPFS partition
-
- - get the original GNU Emacs 18.58 distribution (emacs-18.58.tar.Z) and
- rename the file emacs58.Z
-
- - get GNU patch for OS/2, GNU tar for OS/2 and GNU compress for OS/2 (all
- these programs have been ported to OS/2 by Kai Uwe Rommel)
-
- - get emx 0.8d, available for anonymous ftp on rusinfo.rus.uni-stuttgart.de,
- in the directory soft/os2/emx
-
- - get GNU make for OS/2 (ported by Galen C. Hunt), available for anonymous
- ftp on hobbes.nmsu.edu (gnumk362.zoo)
-
- - unpack the archive:
-
- cd \
- unzip -d wherever\emacs-em
-
- - change the path name of patch.exe in emacs-emx.cmd (to avoid running
- the OS/2 patch utility)
-
- - now you can run emacs-emx.cmd to unpack and patch the sources.
- Change to the \emx\gnu directory. This batch files has multiple
- entry points, which are selected by the first command line argument:
-
- - emacs-emx disk1 copy from diskette, concatenate, uncompress,
- unpack, configure and patch
-
- - emacs-emx cat concatenate files copied from diskette,
- uncompress, unpack, configure and patch
-
- - emacs-emx uncompress uncompress emacs58.Z (yields emacs58.tar),
- unpack, configure and patch
-
- - emacs-emx tar unpack (using GNU tar), configure and patch
-
- - emacs-emx 8bit apply 8-bit patches, configure and apply
- other patches
-
- - emacs-emx config configure the sources (by copying, renaming
- and deleting files) and apply the OS/2 patches
-
- - emacs-emx patch apply the OS/2 patches
-
- Unless a second command line argument is given, all the sections of
- the batch files are executed, starting with the one named on the
- command line. A second command line argument tells emacs-emx to stop
- after the named section. Also available is the second command line
- argument no-patch, which stops just before the patch step (this is
- used for making a diff file).
-
- - that is, if you have emacs58.tar, run "emacs-emx tar"; if you have
- emacs58.Z, run "emacs-emx uncompress", if you have the tar.Z file
- split on diskettes, run "emacs-emx disk1"; and so on. Example:
-
- cd \emx\gnu
- emacs-emx tar
-
- - you're allowed to delete all the *.orig files. When using 4OS2, type
-
- cd \emx\gnu
- del emacs-18.58\*.orig /s
-
- - if there are any *.rej files, you lose. Type
-
- cd \emx\gnu
- dir emacs-18.58\*.rej /s
-
- to find out
-
- - move the directory by typing
-
- cd \emx\gnu
- move emacs-18.58 \emacs
-
- - if you're short of disk space, delete emacs58.tar
-
- - continue with section "Compiling GNU Emacs"
-
-
- Building GNU Emacs from the patched sources
- ===========================================
-
- This section describes how to build GNU Emacs from the patched sources
- that come with GNU Emacs for OS/2 2.0.
-
- - get lots of disk space (22 MB required for building GNU Emacs) on an
- HPFS partition
-
- - get emx 0.8d, available for anonymous ftp on rusinfo.rus.uni-stuttgart.de,
- in the directory soft/os2/emx
-
- - get GNU make for OS/2 (ported by Galen C. Hunt), available for anonymous
- ftp on hobbes.nmsu.edu (gnumk362.zoo)
-
- - Continue with the next section
-
-
- Compiling GNU Emacs
- ===================
-
- This section describes how to compile GNU Emacs.
-
- - if emx is installed on a different drive, use
-
- set emxopt=-rc
-
- now, where c is the drive letter for the drive on which emx is
- installed
-
- - create makefile, if it doesn't exist or if you've changed ymakefile:
-
- cd \emacs\src
- copy ymakefile junk.c
- gcc -E -o makefile junk.c
- del junk.c
-
- - compile GNU emacs by typing
-
- cd \emacs\etc
- make
- cd \emacs\src
- make temacs.exe
-
- - ignore "Can't create xxxx!!!" messages while running make in
- \emacs\etc
-
- - set apropriate environment variables (put them in config.sys):
-
- TERMCAP name of termcap file, defaults to
- /emx/etc/termcap.dat
-
- TERM name of terminal, possible values include rmono,
- ansi-color-2 and ansi-color-3
-
- SHELL name of the command processor, defaults to /bin/sh
-
- EMACSLOADPATH path to Lisp library, defaults to /emacs/lisp
-
- EMACSEXECPATH path to programs, defaults to /emacs/etc
-
- SYSTEMNAME initializes system-name, defaults to my-system
-
- HOME your homepath, replaces ~ in path names (that means,
- your .emacs-file is searched there)
-
- TMP directory for temporary files, default is current working
- directory
-
- Example:
-
- set termcap=c:\emx\etc\termcap.dat
- set term=mono
- set shell=c:\os2\cmd.exe
- set emacsloadpath=c:\emacs\lisp
- set emacsexecpath=c:\emacs\etc
- set systemname=vergil
- set home=c:\home
- set tmp=d:\tmp
-
- - if the EMXOPT environment variable has been set (see above), unset
- it now:
-
- set emxopt=
-
- - compile the lisp files, create documentation and create a preloaded
- version of GNU Emacs by running
-
- cd \emacs\src
- lib
- doc
- dump-emacs
-
-
- History
- =======
-
- These are the changes to the 2nd version of Joerg Viola's port:
- ---------------------------------------------------------------
-
- - better 8-bit support (code page 850 is assumed)
-
- - recognize size of window
-
- - treat ~user/ like ~/
-
- - keyboard problems fixed, more PC keys defined
-
- - file name problems fixed
-
- - show the real names of the PC keys
-
- - new function: valid-file-name-p
-
- - random fixed (library function fixed)
-
- - when reading a file, Emacs now longer stops at the first Ctrl-Z.
- CR/LF is converted to LF, a CR without a LF is not removed
-
- - default system name changed
-
- - choose better backup and auto-save file names on FAT partitions
-
- These are the changes done in the 03-May-1992 version (18.58.3):
- ----------------------------------------------------------------
-
- - bug fixed: CR/LF at a 64KB boundary in an input files was replaced
- with CR instead of LF
-
- - the final Ctrl-Z of text files is removed
-
- - binary-mode files implemented (see above for details)
-
- - file-name-absolute-p knows about drive names
-
- - insert-file-contents: third argument is file type
-
- - find-file-noselect sets file-type
-
- - synchronous and asynchronous subprocesses
-
- - wakeup.exe now available (display-time)
-
- - emacsclient.exe now available
-
- - shell.el changed to work better with OS/2
-
- - tex-mode.el adapted to emTeX
-
- - uncompress.el changed to make it also work with .z (this version of
- Emacs converts file names to lower case) and to use binary mode for
- the .Z file
-
- - dired now available (you need an OS/2 port of ls)
-
- - attention: A-c is now em-copy-region; em-copy-line-as-kill (formerly
- em-copy-line) has been moved to A-l
-
- - attention: set-mark-command has been moved from F10 to F12
-
- - a new function for filling paragraphs, em-fill-paragraph, is bound
- to F5
-
- - user-real-login-name now returns the same value as user-login-name
-
- - make-legal-file-name fixed (return a new string)
-
- - make-temp-name truncates the (base name of the) prefix to two
- characters to avoid problems with FAT file system
-
- - gdb.el changed to work with 8-bit patches and to use a different
- syntax for passing file name and line number information from GDB to
- Emacs.
-
-
- Who?
- ====
-
- Joerg Viola
- Potstiege 7
- D-4400 Muenster
- Germany
- Internet: urz63@dmswwu1a.uni-muenster.de
- or: Joerg_Viola@ms.maus.de (takes long)
-
- Eberhard Mattes
- Teckstr. 81
- D-7141 Moeglingen
- Germany
- Internet: mattes@azu.informatik.uni-stuttgart.de
-
- An emx-related mailing list has been created. The address for people
- to request to be added or removed from the list is:
-
- emx-list-request@mail.physics.utah.edu
-
- As there is currently no GNU Emacs for OS/2 related mailing list, you
- should use the emx mailing list.
-
- No telephone calls please! Include return postage (international
- postal reply coupons for those outside Germany) and a self-addressed
- envelope if you expext a reply. GNU Emacs for OS/2 is not available on
- diskettes from the addresses given above.
-
- No warranty.
-
- ---------------------------------- END ---------------------------------------
-