home *** CD-ROM | disk | FTP | other *** search
/ Arawak OS/2 Shareware / PAKLED.ISO / editors / emacs19 / emacs.txt < prev    next >
Encoding:
Text File  |  1993-10-29  |  44.9 KB  |  1,311 lines

  1. ===============================================================================
  2. GNU Emacs 19 for emx (OS/2 2.0 and 2.1)                             24-Aug-1993
  3. ===============================================================================
  4.  
  5. Introduction
  6. ============
  7.  
  8. This is GNU Emacs 19.19 for emx on OS/2 2.0 or 2.1.  The port was done
  9. by Eberhard Mattes based on ideas of the port of GNU Emacs for OS/2
  10. done by Joerg Viola.  There is a slight chance that this port of GNU
  11. Emacs also works with emx on MS-DOS, but that hasn't been tested.
  12.  
  13. See \emacs\19.19\etc\FAQ for a list of frequently asked questions with
  14. answers for GNU Emacs.  That file is contained in e19more.zip.
  15. However, etc/FAQ is somewhat out of date.
  16.  
  17. See \emacs\19.19\emx\FAQ for a list of frequently asked questions with
  18. answers specific to this port of GNU Emacs.  That file is contained in
  19. e19min.zip.
  20.  
  21.  
  22. Distribution files
  23. ==================
  24.  
  25. The "GNU Emacs 19.19 for emx" distribution consists of the following
  26. files:
  27.  
  28.   README                this file (/emacs/19.19/emx/README)
  29.   e19el1.zip            Emacs Lisp files (source), part 1
  30.   e19el2.zip            Emacs Lisp files (source), part 2
  31.   e19info.zip           info files (on-line help)
  32.   e19lib1.zip           Emacs Lisp library (base set, compiled)
  33.   e19lib2.zip           Emacs Lisp library (remaining files, compiled)
  34.   e19man.zip            documentation files (mostly for TeX)
  35.   e19min.zip            minimal set of files for running GNU Emacs
  36.   e19more.zip           additional files
  37.   e19rest.zip           remaining files
  38.   e19src.zip            sources
  39.  
  40. The "19" in e19*.zip is the minor version number.  e20*.zip will be
  41. used for Emacs 19.20.
  42.  
  43.  
  44. Other files of interest
  45. =======================
  46.  
  47. GNU Emacs 19.19 for emx requires emx 0.8g -- if you have an older
  48. version of emx.dll, emxbind.exe and termcap.dat, get emxrt.zip and
  49. emxdev.zip from
  50.  
  51.   ftp.uni-stuttgart.de [129.69.1.12]: /soft/os2/emx-0.8g
  52.   ftp-os2.cdrom.com:  [192.153.46.2]: /os2/2_x/unix/gnu/emx08g
  53.   src.doc.ic.ac.uk     [146.169.2.1]: /pub/packages/os2/2_x/unix/gnu/emx08g
  54.   ftp.informatik.tu-muenchen.de [131.159.0.198]:
  55.                                       /pub/comp/os/os2/devtools/emx+gcc
  56.  
  57. You might want to also get the following files:
  58.  
  59.   ftp-os2.cdrom.com:             os2/all/graphics/smallfnt.zip
  60.   ftp-os2.cdrom.com:             os2/all/graphics/small.zip
  61.   ftp-os2.cdrom.com:             os2/all/unix/shells/ms_sh21c.zip
  62.   ftp-os2.cdrom.com:             os2/2_x/unix/shells/bash.zip
  63.   ftp-os2.cdrom.com:             os2/2_x/unix/unixutils/isp3009b.zip
  64.   ftp.informatik.tu-muenchen.de: pub/comp/os/os2/gnu/systools/gnufutil.zip
  65.   prep.ai.mit.edu:               pub/gnu/elisp-manual-19-2.02.tar.gz
  66.  
  67. smallfnt.zip or small.zip contains a small fixed-width bitmapped font
  68. for the Presentation Manager.  See below on how to fix a bug of that
  69. font.
  70.  
  71. ms_sh21c.zip contains the Data Logic shell, a Unix-like shell.
  72. bash.zip contains bash, another Unix-like shell.
  73.  
  74. isp3009b.zip contains Ispell, a spelling checker, which can be used
  75. with GNU Emacs.
  76.  
  77. gnufutil.zip contains the GNU file utilities.  ls.exe is required for
  78. dired and for recover-file.
  79.  
  80. elisp-manual-19-2.02.tar.gz contains the Emacs Lisp documentation.
  81.  
  82.  
  83. Installing the emx runtime package
  84. ==================================
  85.  
  86. Install the emx runtime package emxrt.zip (version 0.8g or later) if
  87. not already installed.  First, unpack the files of the emx runtime
  88. package to your hard disk:
  89.  
  90.   cd \
  91.   unzip a:emxrt
  92.  
  93. Installation of the emx runtime package involves changing the LIBPATH
  94. statement of your config.sys file and setting the following
  95. environment variables in config.sys:
  96.  
  97.   TERMCAP  name of termcap file, defaults to /emx/etc/termcap.dat
  98.  
  99.   TERM     name of the terminal, possible values include rmono,
  100.            ansi-color-2 and ansi-color-3
  101.  
  102.   PATH     include \emx\bin in your PATH
  103.  
  104. Example (the emx runtime package is installed on drive C):
  105.  
  106.   LIBPATH=C:\OS2\DLL;[...];c:\emx\dll
  107.   SET PATH=C:\OS2;C:\OS2\SYSTEM;[...];c:\emx\bin
  108.   SET TERMCAP=c:/emx/etc/termcap.dat
  109.   SET TERM=ansi-color-3
  110.  
  111. See \emx\doc\emxrt.doc and \emx\book\emxrt.inf for details on
  112. installing the emx runtime package.
  113.  
  114. Additionally, you need emxl.exe of emxdev.zip:
  115.  
  116.   cd \
  117.   unzip a:emxdev emx/bin/emxl.exe
  118.  
  119.  
  120. Installing GNU Emacs
  121. ====================
  122.  
  123. This section describes how to install the compiled version of GNU
  124. Emacs 19.19 for emx on OS/2 2.0 and 2.1.
  125.  
  126. GNU Emacs is installed in the \emacs directory of a HPFS drive.
  127.  
  128. 1.  Get lots of disk space on an HPFS partition.  As this version of
  129.     GNU Emacs doesn't bother about 8.3 file names, you can't install
  130.     it on a FAT partition.  (Well, probably you can, but it has not
  131.     been tested.)  However, you can edit files on FAT partitions.
  132.  
  133.     If you haven't installed the REXX component of OS/2, install it
  134.     now.  REXX is required by dump.cmd and instemacs.cmd.
  135.  
  136. 2.  Set appropriate environment variables (set them in config.sys):
  137.  
  138.       SHELL          name of the command processor, defaults to
  139.                      /bin/sh.  If you have a Unix-like shell (such as
  140.                      bash or the Data Logic shell), you should use the
  141.                      path name of that shell.  Otherwise, use the path
  142.                      name of cmd.exe
  143.  
  144.       EMACSLOADPATH  path to Lisp library, defaults to /emacs/19.19/lisp
  145.  
  146.       EMACSDATA      path to data directory, defaults to /emacs/19.19/data
  147.  
  148.       EMACSPATH      path to programs, defaults to /emacs/19.19/bin
  149.  
  150.       SYSTEMNAME     initializes system-name, the name of the
  151.                      machine.  The default value is "my-system"
  152.  
  153.       HOME           your home path, replaces ~ in path names.  Emacs
  154.                      tries to load .emacs, for instance, from that
  155.                      directory
  156.  
  157.       TMP            directory for temporary files.  The default is
  158.                      the current working directory
  159.  
  160.     Example (Emacs will be installed on drive C):
  161.  
  162.       SET PATH=C:\OS2;[...];C:\EMACS\19.19\BIN
  163.       SET SHELL=c:/bin/bash.exe
  164.       SET EMACSLOADPATH=c:/emacs/19.19/lisp
  165.       SET EMACSDATA=c:/emacs/19.19/data
  166.       SET EMACSPATH=c:/emacs/19.19/bin
  167.       SET SYSTEMNAME=vergil
  168.       SET HOME=c:/home
  169.       SET TMP=c:/tmp
  170.  
  171. 3.  Reboot your computer to activate the new config.sys settings.
  172.  
  173. 4.  To install a minimal version of GNU Emacs, change to the target
  174.     drive (which should be formatted with HPFS) and unpack the file
  175.     e19min.zip by typing
  176.  
  177.       cd \
  178.       unzip a:e19min
  179.  
  180.     Note that you cannot use PKUNZIP to unpack the ZIP files.
  181.  
  182. 5.  Create a preloaded version of GNU Emacs by typing
  183.  
  184.       cd \emacs\19.19\bin
  185.       dump
  186.  
  187.     Required disk space: 5 MByte, total.  In case you're short of disk
  188.     space, you can delete the files \emacs\19.19\bin\temacs and
  189.     \emacs\19.19\etc\DOC now.  If you want to dump Emacs again,
  190.     restore these files from e19min.zip.
  191.  
  192. 6.  Now you can run GNU Emacs by typing
  193.  
  194.       emacs                   (run Emacs in text mode)
  195.       emacs -d                (run Emacs in PM mode)
  196.  
  197. 7.  The minimal version of GNU Emacs installed now is hardly usable.
  198.     For instance, there is no on-line help.  You should install
  199.     additional files:
  200.  
  201.       cd \
  202.       unzip a:e19lib1
  203.       unzip a:e19more
  204.       unzip a:e19info
  205.  
  206.     Required disk space: 9.6 MByte, total.
  207.  
  208. 8.  To unpack all the .el files, type
  209.  
  210.       cd \
  211.       unzip a:e19el1
  212.       unzip a:e19el2
  213.  
  214.     For running GNU Emacs, only the compiled (.elc) files are
  215.     required. You need the .el files if you need documentation about
  216.     the various Emacs Lisp packages or want to change them.  Required
  217.     disk space: 16 Mbyte, total.
  218.  
  219.     Additional files are packaged in the remaining ZIP files:
  220.  
  221.       cd \
  222.       unzip a:e19lib2
  223.       unzip a:e19rest
  224.       unzip a:e19man
  225.  
  226.     These files are usually not required for running GNU Emacs under
  227.     emx.  Required disk space: 20 MByte, total.
  228.  
  229. 9.  You might want to add program objects for the programs
  230.  
  231.       c:\emacs\19.19\bin\emacs.exe
  232.       c:\emacs\19.19\bin\emacsclient.exe
  233.  
  234.     to an appropriate folder.  There is a REXX program called
  235.     instemacs.cmd to do this for you.  Type
  236.  
  237.       instemacs
  238.  
  239.     to get a list of options.  To simply create the program objects,
  240.     type
  241.  
  242.       instemacs install
  243.  
  244.     This creates a folder called "New Things" on your desktop which
  245.     contains the new objects.  If you would like to create a shadow of
  246.     Emacs in your startup folder, you can additionally use the
  247.     "startup" option.  To automatically associate Emacsclient with
  248.     plain text files, use the "associate" option.  instemacs.cmd will
  249.     copy the current associatations of the OS/2 System Editor for
  250.     Emacsclient.  For Emacsclient to work, an instance of Emacs must
  251.     be running and the server must be active.  You will probably want
  252.     to put the line
  253.  
  254.       (server-start)
  255.  
  256.     in your site-start.el file (see below) and use the "startup"
  257.     option.
  258.  
  259.     In a standard OS/2 installation, the OS/2 System Editor is
  260.     automatically associated with text files so that double clicking a
  261.     text file opens the System Editor.  You can specify the
  262.     "makedefault" option when calling instemacs.cmd to make
  263.     Emacsclient the default "view" for text files.
  264.  
  265.     NOTE: The "makedefault" option of instemacs.cmd manipulates the
  266.     Workplace Shell associations in an undocumented way by directly
  267.     accessing certain values in OS2.INI.  This has only been tested
  268.     under OS/2 2.1 GA (US version).  There is no guarantee that this
  269.     will work on any other version of OS/2.  But then there is no
  270.     guarantee that any of the programs in this package will work at
  271.     all, anyway :-).
  272.  
  273.     Note that instemacs.cmd creates the program objects in such a way
  274.     that emacs.exe is started as a Presentation Manager program,
  275.     although it is actually a text mode program.  This is because
  276.     emacs.exe actually calls pmemacs.exe to provide the PM interface.
  277.     If emacs.exe were started as a text mode program, it would have
  278.     its own VIO window, which is usually useless.
  279.  
  280.     Starting emacs.exe as a PM program has two known disadvantages:
  281.  
  282.     (a)  You don't see the standard output of emacs.exe.  If Emacs
  283.          crashes for any reason, you won't see any diagnostics or
  284.          error messages and you can't tell Emacs to auto-save (if it
  285.          happens to ask).
  286.  
  287.     (b)  If you double click on the Emacs object when Emacs is already
  288.          running and a session bond between emacs.exe and pmemacs.exe
  289.          has not been established (see pm-session-bond below), you
  290.          will not bring the Emacs window to the foreground but
  291.          something else, usually the Window List.  Double clicking on
  292.          Emacs in the Window List works, of course.
  293.  
  294.     If you feel you would like a more conventional program object for
  295.     Emacs, you can use the "keepvio" option of instemacs.cmd.  This
  296.     causes the Emacs object to start emacs.exe in a minimized VIO
  297.     window.  This solves problem (a) and changes problem (b) to the
  298.     problem (b') that double clicking on the Emacs object shows the VIO
  299.     window of emacs.exe, not the PM Window you are really interested
  300.     in.
  301.  
  302.     If all this sounds too complicated to you, simply try
  303.     instemacs.cmd with and without the "keepvio" option and see which
  304.     way you like it better.  Calling instemacs.cmd again does not
  305.     create new objects but updates the existing objects according to
  306.     the options.  You can also use this feature if you accidentally
  307.     change the settings of the Emacs object or lose the icon.
  308.  
  309.  
  310. Customizing GNU Emacs
  311. =====================
  312.  
  313. You should customize \emacs\19.19\lisp\site-start.el, the startup file
  314. of GNU Emacs.  The statements in that file are executed automatically
  315. each time GNU Emacs is started.  Moreover, you can put personal
  316. settings into a file named .emacs file in your home directory (set by
  317. the HOME environment variable).
  318.  
  319. Sample site-start.el file:
  320.  
  321. ---------------------------------------------------------------------
  322. (set-input-mode nil nil 1)                            ; [1]
  323. (setq default-frame-alist                             ; [2]
  324.       (append '((altgr-modifier . meta))
  325.               default-frame-alist))
  326. (standard-display-8bit 128 254)                       ; [3]
  327. (aset standard-display-table 256 16)                  ; [4]
  328. (aset standard-display-table 257 31)
  329. (aset standard-display-table 259 24)
  330. (add-hook 'server-request-hook                        ; [5]
  331.           '(lambda ()
  332.              (make-frame-visible)
  333.              (focus-frame (selected-frame))))
  334. (add-hook 'dired-load-hook 'emx-dired-kur-ls-setup)   ; [6]
  335.  
  336. (autoload 'os2help "os2help" "OS/2 on-line help" t)   ; [7]
  337. (setq os2help "/emx/book/emxdoc.ndx")
  338. (global-set-key [C-f1] 'os2help)
  339.  
  340. (if window-system                                     
  341.     (progn
  342.       (pm-edit-menu)                                  ; [8]
  343.       ;;(remove-from-window-list)                     ; [9]
  344.       (pm-session-bond t)                             ; [10]
  345.       (set-face-background 'modeline "red")           ; [11]
  346.       (set-face-foreground 'modeline "yellow")))
  347. ---------------------------------------------------------------------
  348.  
  349. Notes:
  350.  
  351. [1]   Enable 8-bit input.  set-input-mode must be called when running
  352.       Emacs -- calling it before dumping doesn't work
  353.  
  354. [2]   Use the right ALT key of non-US keyboards as META key.  This
  355.       does not work for all key combinations.  Note that the right ALT
  356.       key of US keyboards is equivalent to the left ALT key.  Add new
  357.       parameters to the front of the list
  358.  
  359. [3]   Display characters 128 through 254 as-is.  Without this
  360.       statement, octal notation is used for these characters
  361.  
  362. [4]   Use special symbols (which are not displayed as-is when
  363.       occurring in a buffer) for truncated screen lines (256),
  364.       continued lines (257) and for displaying control characters
  365.       notation (259)
  366.  
  367. [5]   Raise frame to the foreground if emacsclient requests a buffer
  368.  
  369. [6]   Use Kai Uwe Rommel's OS/2 port of GNU ls (GNU file utilities)
  370.       for dired.  If you're using a version of ls where the output of
  371.       `ls -l' is Unix-compatible, you should not use that line
  372.  
  373. [7]   Use C-f1 to invoke OS/2 on-line help.  You have to set the
  374.       os2help variable to point to an EPM index file.  See os2help.el
  375.       for details
  376.  
  377. [8]   Modify the Edit menu of the menu bar to use the OS/2 clipboard
  378.       for Cut, Copy and Paste
  379.  
  380. [9]   Remove emacs.exe from the Window List.  See below for a
  381.       discussion of advantages and disadvantages.  In the default
  382.       site-start.el file, this statement is disabled.  You might want
  383.       to uncomment this statement if you use the PM interface and
  384.       don't run Emacs manually.  If you enable
  385.       remove-from-window-list, you should disable pm-session-bond
  386.  
  387. [10]  Establish a bond between emacs.exe (the VIO window) and
  388.       pmemacs.exe (the PM windows).  If you select emacs.exe, for
  389.       instance by using the Window List, one of the PM windows will be
  390.       selected instead of emacs.exe.
  391.  
  392. [11]  Make the mode line yellow on red
  393.  
  394.  
  395. About file names
  396. ================
  397.  
  398. All file names are translated to lower case.  This is required as GNU
  399. Emacs thinks that non-equality of file names implies non-identity of
  400. files.  Under OS/2 and DOS, however, letter case does not matter in
  401. file names.  To keep the letter case in file names on HPFS, see
  402. `Choosing the backup type'.
  403.  
  404. Better use forward slashes (/) instead of backslashes (\) in path
  405. names as some places where Emacs checks for / might have slipped my
  406. attention.
  407.  
  408. Emacs doesn't know that trailing dots in file names are ignored by
  409. OS/2.  It believes that "foo" and "foo." are different files, a belief
  410. it probably shared with quite a few OS/2 users.
  411.  
  412.  
  413. Choosing a PM font
  414. ==================
  415.  
  416. A font is specified by size (printer's points), simulated appearance
  417. (bold or italic, optional) and name:
  418.  
  419.   SIZE[.bold][.italic]NAME
  420.  
  421. Alternatively, you can use the "Host Portable Character
  422. Representation" for font names, for instance
  423.  
  424.   -*-Courier-medium-r-normal--*-100-*-*-m-*-cp850
  425.  
  426. Examples of fixed-spaced bitmap fonts:
  427.  
  428.   8.Courier
  429.   10.Courier
  430.   10.System Monospaced
  431.   12.bold.Courier                 (Simulated bold font)
  432.   12.Courier Bold                 (Real bold font)
  433.   8.System VIO                    (OS/2 2.1)
  434.   6.Small                         (see below)
  435.  
  436. As the plain, bold and italic variations of the PM fonts have
  437. different character widths, mixing fonts in a frame isn't a good
  438. idea.  The character widths of all fonts are forced to the character
  439. width of the default font.  When defining a face with a font which is
  440. wider than the default font, there will be problems: some characters
  441. will be displayed only partially and characters may overlap.  Fonts
  442. which are smaller than the default font, however, can be used without
  443. problems.  For instance, you can use "8.bold.System Monospaced" as
  444. bold font when using "10.Courier" as default font ("10.bold.Courier"
  445. is too wide).  Using italic fonts is not recommended.
  446.  
  447. Simulated italic fonts are much slower than real italic fonts.  Only
  448. "12.Courier Italic" and "12.Courier Bold Italic" are real italic
  449. fixed-width bitmap fonts.
  450.  
  451. The smallest fixed-width VGA bitmap font of OS/2 2.0 ("8.Courier") is
  452. rather big.  A small font ("6.Small") is available for anonymous ftp:
  453.  
  454.   ftp-os2.cdrom.com: os2/all/graphics/smallfnt.zip    -- or --
  455.   ftp-os2.cdrom.com: os2/all/graphics/small.zip
  456.  
  457. Unfortunately, the first release of that font has a bug in the font
  458. metrics: the maximum ascender height is wrong.  This bug has been
  459. fixed on 15-Jun-1992, but the old version of small.fon is still widely
  460. available.  After unpacking and before installing small.fon, you
  461. should use the following command to fix that bug:
  462.  
  463.   patch \emacs\19.19\emx\small.pat /a
  464.  
  465. Use the OS/2 program named PATCH.EXE, not the Unix tool of the same
  466. name.  If the patch cannot be applied, you probably have a fixed
  467. version.
  468.  
  469. Using outline fonts (such as "9.Courier") is not recommended because
  470. that's too slow.  Proportional fonts (such as "10.Tms Rmn") cannot be
  471. used.
  472.  
  473. To set the default font of a frame, set the `font' frame parameter.
  474. Example:
  475.  
  476.   (setq default-frame-alist
  477.         (append '((font . "8.Courier")) default-frame-alist))
  478.  
  479. If the font does not exist, "10.Courier" is used instead as default
  480. font.  If you use the "Host Portable Character Representation" for the
  481. name of the default font, Emacs automatically chooses (simulated) bold
  482. and italic variants of that font.  Example:
  483.  
  484.   emacs -d -fn -*-Courier-medium-r-normal--*-100-*-*-m-*-cp850
  485.  
  486. You can use a popup menu to select the default font: Click mouse
  487. button 3 (that's the middle mouse button, by default) while depressing
  488. the CONTROL key (C-down-mouse-3).  The menu contains all fixed-width
  489. bitmap fonts of OS/2 2.1, plus "6.Small".
  490.  
  491. To change the font of a face, use set-face-font.  However, you can use
  492. only fonts reported by the pm-list-fonts function.  Examples:
  493.  
  494.   (set-face-font 'bold "10.bold.Courier")
  495.   (set-face-font 'italic "10.italic.Courier")  ; NOT RECOMMENDED!
  496.  
  497.  
  498. The keyboard
  499. ============
  500.  
  501. In text mode, the ALT keys generate the A- modifier (alt).  Load
  502. emx-meta.el to use the ALT keys to generate the M- modifier (meta):
  503. Put
  504.  
  505.   (load "emx-meta.el")
  506.  
  507. into your .emacs or site-start.el file.  This works only for a subset
  508. of the keys.  It does not work with the CTRL key.
  509.  
  510. The rest of this section applies to PM mode.
  511.  
  512. The modifiers generated by the ALT keys are configurable.  There are
  513. two ALT keys, the left ALT key and the right ALT key.  The right ALT
  514. key is called AltGr or AltCar on most non-US keyboards.  On these
  515. keyboards, the right ALT key is used for entering special symbols.  On
  516. the US keyboard, the right ALT key is equivalent to the left ALT key.
  517.  
  518. We'll use the term `ALT key' for both ALT keys of the US keyboard.
  519. For keyboards which have an AltGr or AltCar key, we'll call the left
  520. ALT key `ALT key' and the right ALT key `ALTGR key'.
  521.  
  522. The modifier for the ALT key (both ALT keys on the US keyboard, that
  523. is) is set with the `alt-modifier' frame parameter.  For instance, use
  524. the following code to use the ALT key for generating the A- (alt) modifier:
  525.  
  526.   (setq default-frame-alist
  527.         (append '((alt-modifier . alt)) default-frame-alist))
  528.  
  529. By default, the ALT key is used for generating the M- (meta)
  530. modifier.
  531.  
  532. The modifier for the ALTGR key (which isn't present on the US
  533. keyboard) is set with the `altgr-modifier' frame parameter.  For
  534. instance, use the following code to use the ALTGR key for generating
  535. the A- (alt) modifier:
  536.  
  537.   (setq default-frame-alist
  538.         (append '((altgr-modifier . alt)) default-frame-alist))
  539.  
  540. As ALTGR is treated specially by the operating system, you cannot use
  541. it with arbitrary keys.  Usually you can use it together with a subset
  542. of the letter and digit keys to generate the modifier set with
  543. altgr-modifier.  If the CTRL key is down, ALTGR is ignored for most
  544. keys.
  545.  
  546. Suppose that '((alt-modifier . meta) (altgr-modifier . hyper)) is in
  547. effect.  Then, you'll get the following table of keys vs. events:
  548.  
  549.   Left ALT | Right ALT | CTRL | Key || US keyboard | German keyboard
  550.   ---------+-----------+------+-----++-------------+-----------------
  551.      X     |     -     |  -   |  a  ||   M-a       |   M-a
  552.      X     |     -     |  X   |  a  ||   M-C-a     |   M-C-a
  553.      -     |     X     |  -   |  a  ||   M-a       |   H-a
  554.      -     |     X     |  X   |  a  ||   M-C-a     |   C-a
  555.      -     |     X     |  -   |  f2 ||   M-f2      |   f2
  556.      -     |     X     |  -   |  q  ||   M-q       |   @
  557.      -     |     X     |  -   |  q  ||   M-C-q     |   C-@
  558.  
  559. The locations of the keys C-[ C-] C-\ etc. on non-US keyboards depend
  560. on whether you're using the PM version or the text mode version of
  561. Emacs: With the PM version, you can type those keys with
  562. CTRL+ALTGR+<whatever> (example: C-] is on CTRL+ALTGR+<9> of the German
  563. keyboard), where ALTGR is the right ALT key.  With the text mode
  564. version, pretend that you have a US keyboard (example: C-] is on
  565. CTRL+<+> of the German keyboard).
  566.  
  567. If you want to bind keys depending on the keyboard layout, use the
  568. keyboard-type function.
  569.  
  570.  
  571. Changing the window size
  572. ========================
  573.  
  574. To change the window size in text mode, type
  575.  
  576.     mode co80,x
  577.  
  578. where x is the number of lines.  Example: mode co80,40
  579.  
  580. To change the window size in PM mode, simply resize the window using
  581. the mouse or the keyboard (Alt+F8).  You can set the default size with
  582. the `width' and `height' frame parameters in site-init.el or .emacs:
  583.  
  584.   (setq default-frame-alist
  585.         (append '((width . 80) (height . 40))
  586.                 default-frame-alist))
  587.  
  588. You can set the default position with the `top' and `left' frame
  589. parameters.  See the documentation of set-frame-position for details.
  590.  
  591.  
  592. Choosing the backup type
  593. ========================
  594.  
  595. You might want to use
  596.  
  597.   (setq backup-by-copying t)
  598.  
  599. This has three advantages under OS/2:
  600.  
  601. -  the letter case of the name of the file is retained (normally, GNU
  602.    Emacs for OS/2 2.0 uses lower-case file names)
  603.  
  604. -  the extended attributes of the file are retained
  605.  
  606. -  when editing .CMD files, the Workplace Shell does not change
  607.    program objects to point to the backup of the edited file
  608.  
  609. There are two known disadvantages under OS/2:
  610.  
  611. -  the extended attributes of the backup file are lost
  612.  
  613. -  the letter case of the file name is lost for the backup file
  614.  
  615. You can choose: Either keep the extended attributes and the letter
  616. case of the file name of the new file or of the backup file.
  617.  
  618.  
  619. Text mode vs. binary mode
  620. =========================
  621.  
  622. This port of GNU Emacs supports two types of files: binary files and
  623. text files.  As GNU Emacs is a text editor, you'll work with text
  624. files most of the time.  Therefore, you don't have to know the ugly
  625. details unless you want to edit a binary file.
  626.  
  627. When reading a text file, each CR/LF pair is converted to a LF.  If
  628. the last character of the file is a Ctrl-Z, that character is
  629. removed.
  630.  
  631. When writing a text file, each LF is replaced with a CR/LF pair.  A
  632. Ctrl-Z is not appended as that has been obsolete for years.
  633.  
  634. No conversion is done when reading or writing a binary file.
  635.  
  636. The emx-add-binary-mode function is used to define an additional
  637. regular expression for files which should be read and written in
  638. binary mode.  Example:
  639.  
  640.   (emx-add-binary-mode "\\.exe$")
  641.   (emx-add-binary-mode "\\.gz$")
  642.   (emx-add-binary-mode "\\.[Zz]$")
  643.  
  644. This example will make Emacs use binary mode for file names ending
  645. with .exe, .gz, .z or .Z.  Initially, binary mode is used for file
  646. names matching the following regular expressions:
  647.  
  648.   \.elc$
  649.   \.tar$
  650.  
  651. The buffer-local variable emx-binary-mode controls whether to use text
  652. mode or binary mode.  If the variable is nil (that's the initial
  653. value), text mode is used.  If the variable is t, binary mode is used.
  654.  
  655. When inserting a binary file (i.e., a file whose name matches one of
  656. the regular expressions defined by emx-add-binary-mode) into a buffer,
  657. emx-binary-mode is set to t.  The value of emx-add-binary-mode of that
  658. buffer will stay t until changed.  This also applies to visiting a
  659. file.  In other words, a buffer is switched to binary mode when
  660. visiting or inserting a binary file.  A file is read in binary mode if
  661. the target buffer is in binary mode or if the file is a binary file.
  662.  
  663. When writing a file (e.g., by saving the buffer or by calling
  664. write-region), binary mode is used if the source buffer is in binary
  665. mode or if the file is a binary file (i.e., the name matches one of
  666. the regular expressions defined by emx-add-binary-mode).  The
  667. emx-binary-mode variable of the buffer is set temporarily while
  668. writing the file and reverts to the previous value after writing the
  669. file.
  670.  
  671. To insert a text file into a buffer which is in binary mode, manually
  672. set the emx-binary-mode variable to nil.
  673.  
  674.  
  675. Code pages
  676. ==========
  677.  
  678. cp850.el, which is loaded by default, defines a syntax table and a
  679. case table for code page 850.
  680.  
  681.  
  682. Using shell mode
  683. ================
  684.  
  685. GNU Emacs uses the shell (command processor) pointed to by the SHELL
  686. environment variable.  I recommend using a Unix-like shell, like bash
  687. or the Data Logic shell, which are available for anonymous ftp:
  688.  
  689.   ftp-os2.cdrom.com: os2/all/unix/shells/ms_sh21c.zip
  690.   ftp-os2.cdrom.com: os2/2_x/unix/shells/bash.zip
  691.  
  692. To run an OS/2 command prompt (using cmd.exe as shell) in an Emacs
  693. window, use the cmd command defined in emx-cmd.el.
  694.  
  695.  
  696. Using the clipboard
  697. ===================
  698.  
  699. To use the OS/2 clipboard, the following functions are provided:
  700.  
  701.   Function | Default key | Description
  702.   ---------+-------------+---------------------------------------
  703.   pm-copy  | C-insert    | Copy the region to the clipboard
  704.   pm-cut   | S-delete    | Copy the region to the clipboard,
  705.            |             | then delete the region
  706.   pm-paste | S-insert    | Paste text from the clipboard at point
  707.  
  708. Note that several OS/2 programs cannot handle more than 64KB of text
  709. in the clipboard.  Therefore you should avoid copying more than 64KB
  710. of text.
  711.  
  712. You can let the Cut, Copy and Paste choices of the Edit menu of the
  713. menu bar use the clipboard.  This is done by calling the pm-edit-menu
  714. function, as done by the default site-init.el file.  If you want the
  715. original Edit menu, remove the invocation of pm-edit-menu from
  716. site-init.el.
  717.  
  718.  
  719. Using emacsclient
  720. =================
  721.  
  722. emacsclient has two new command line options:
  723.  
  724.   -s   Don't switch the focus back to emacsclient when saying "Done"
  725.        for a buffer (C-x #).  This option is ignored if -w is used
  726.  
  727.   -w   Don't wait for saying "Done" (C-x #)
  728.  
  729. When using emacsclient as default OS/2 editor (by associating it with
  730. various file types as explained in the OS/2 documentation), you should
  731. use either the -s or the -w option.  To use drag & drop, create a
  732. program object for emacsclient.exe and insert
  733.  
  734.   -w %*
  735.  
  736. in the `Parameters' field of the `Program' page of the settings
  737. notebook.
  738.  
  739.  
  740. Using Ispell
  741. ============
  742.  
  743. You can get an emx port of the spelling checker Ispell by anonymous
  744. ftp:
  745.  
  746.   ftp-os2.cdrom.com: os2/2_x/unix/unixutils/isp3009b.zip
  747.  
  748. You should use the ispell.el file that comes with Ispell instead of
  749. the ispell.el file that comes with GNU Emacs.  To use Ispell, add the
  750. following statements to your .emacs or site-start.el file, using
  751. correct path names:
  752.  
  753. ---------------------------------------------------------------------
  754. (setq ispell:program-name "c:/ispell/ispell.exe")
  755. (fmakunbound 'ispell-buffer)
  756. (fmakunbound 'ispell)
  757. (autoload 'ispell-word "c:/ispell/ispell"
  758.   "Check the spelling of word in buffer." t)
  759. (global-set-key "\e$" 'ispell-word)
  760. (autoload 'ispell-region "c:/ispell/ispell"
  761.   "Check the spelling of region." t)
  762. (autoload 'ispell-buffer "c:/ispell/ispell"
  763.   "Check the spelling of buffer." t)
  764. (autoload 'ispell-complete-word "c:/ispell/ispell"
  765.   "Look up current word in dictionary and try to complete it." t)
  766. (autoload 'ispell-change-dictionary "c:/ispell/ispell"
  767.   "Change ispell dictionary." t)
  768. (defalias 'ispell 'ispell-buffer)
  769. ---------------------------------------------------------------------
  770.  
  771. Moreover, you should replace the current definition of
  772. highlight-spelling-error-v19 in ispell.el with
  773.  
  774. ---------------------------------------------------------------------
  775. (defun highlight-spelling-error-v19 (start end &optional highlight)
  776.   (if highlight
  777.       (progn
  778.         (setq ispell-overlay (make-overlay start end))
  779.         (overlay-put ispell-overlay 'face 'highlight))
  780.     (delete-overlay ispell-overlay)))
  781. ---------------------------------------------------------------------
  782.  
  783. Probably later versions of ispell.el have an appropriate definition of
  784. highlight-spelling-error-v19.
  785.  
  786.  
  787. Using AUC-TeX
  788. =============
  789.  
  790. [PRELIMINARY DRAFT]
  791.  
  792. 1. Unpack the AUC-TeX files (of auctex_7_3t.tar.gz) into \emacs\auctex
  793.  
  794. 2. Modify tex-site.el.  Set the variables as follows:
  795.  
  796.      Variable           | New value
  797.      -------------------+------------------------------------
  798.      TeX-lisp-directory | "c:/emacs/auctex/"
  799.      TeX-macro-global   | "c:/emtex/texinput/"
  800.      TeX-print-command  | "prthplj %s"
  801.      TeX-printer-list   | '(("lj" "prthplj %s")
  802.                         |   ("ps" "dvips -o lpt1 %s"))
  803.      TeX-view-style     | '(("." "vp %d"))
  804.      TeX-shell          | "cmd"
  805.  
  806.    Perform the following replacements in the value of
  807.    TeX-command-list:
  808.  
  809.      Old: "tex '\\nonstopmode\\input %t'"
  810.      New: "tex386 \\nonstopmode\\input %t"
  811.  
  812.      Old: "latex '\\nonstopmode\\input{%t}'"
  813.      New: "tex386 ^&lplain \\nonstopmode\\input{%t}"
  814.  
  815.      Old: "slitex '\\nonstopmode\\input{%t}'"
  816.      New: "tex386 ^&splain \\nonstopmode\\input{%t}"
  817.  
  818.      Old: "dvi2tty -q -w 132 %s "
  819.      New: "vp %s"
  820.  
  821.      Old: "dvips %d -o %f "
  822.      New: "prthplj %d %f "
  823.  
  824.      Old: "makeindex %s"
  825.      New: "makeindx %s"
  826.  
  827.    You might want to do additional modifications.
  828.  
  829. 3. Copy the following command into, say, install.cmd.  The command is
  830.    split into 5 lines in this file, you have to concatenate the 5
  831.    lines to one line in install.cmd:
  832.  
  833.      emacs -batch -q lpath.el -f eval-current-buffer -f batch-byte-compile
  834.       auc-tex.el auc-ver.el dbg-eng.el easymenu.el kill-fix.el ltx-dead.el
  835.       ltx-env.el ltx-misc.el ltx-sec.el min-bind.el min-ind.el min-ispl.el
  836.       min-key.el min-out.el tex-auto.el tex-buf.el tex-cpl.el tex-init.el
  837.       tex-jp.el tex-math.el tex-misc.el
  838.  
  839.    Run install.cmd (or whatever it's named) in \emacs\auctex.
  840.  
  841. 4. Add the following lines to your .emacs or site-start file:
  842.  
  843.      (setq load-path (append "c:/emacs/auctex" load-path))
  844.      (require 'tex-site)
  845.  
  846. 5. Kill and restart GNU Emacs.
  847.  
  848.  
  849. Removing the VIO window from the Window List
  850. ============================================
  851.  
  852. Call the remove-from-window-list function to remove the session in
  853. which emacs.exe is running (a VIO window, usually) from the Window
  854. List.  The advantage of this is having fewer entries in the Window List
  855. -- it will be simpler to locate the PM windows of Emacs.
  856.  
  857. On the other hand, double-clicking on the Emacs icon will start
  858. another instance of Emacs instead of bringing the current instance to
  859. the foreground.
  860.  
  861. You should not call remove-from-window-list when running Emacs
  862. manually (not by double-clicking on the Emacs icon) or when using
  863. Emacs in text mode (without -d option).
  864.  
  865. If you created your Emacs icon using instemacs.cmd without the
  866. "keepvio" option, calling remove-from-window-list is not necessary.
  867. The Emacs icon starts emacs.exe in a PM session so that it doesn't
  868. appear in the window list anyway.
  869.  
  870. Instead of calling remove-from-window-list, you might want to call
  871. pm-session-bond with a non-nil argument (t, for instance) to establish
  872. a bond between emacs.exe (the VIO window) and pmemacs.exe (the PM
  873. windows).  If you select emacs.exe, for instance by double clicking
  874. the Window List, one of the PM windows will be selected instead of
  875. emacs.exe.  After establishing the bond, you can select emacs.exe by
  876. clicking on the titlebar, by using the `Tile' or `Cascade' choice of
  877. the Window List, or by using the `Restore' choice of the Minimized
  878. Window Viewer.  You can break the bond by calling pm-session-bond with
  879. a nil argument.
  880.  
  881. Note: By default, site-start.el calls pm-session-bond to establish a
  882. bond between emacs.exe and pmemacs.exe.
  883.  
  884.  
  885. More environment variables
  886. ==========================
  887.  
  888. The user-name variable is initialized from the value of the USER
  889. environment variable.  If USER is not set, the LOGNAME environment
  890. variable is used.  If both USER and LOGNAME are not set, user-name is
  891. set to "unknown".
  892.  
  893. The user-full-name variable is initialized from the value of the
  894. USERFULLNAME environment variable.  If USERFULLNAME is not set,
  895. user-full-name is set to "unkown".
  896.  
  897.  
  898. Printing the manual
  899. ===================
  900.  
  901. Do you really want to print it?  It's 410 pages and does not contain
  902. more information than the on-line manual.  Here's how to print the
  903. manual:
  904.  
  905. 1. Get and install emTeX, including tex386b8.zip (see the emx
  906.    documentation for ftp locations)
  907.  
  908. 2. Get and install the gnuinfo.zip package for emx 0.8g
  909.  
  910. 3. Unpack e19man (see above)
  911.  
  912. 4. Rename the texinfo files for 8.3 (emTeX still doesn't support long
  913.    file names):
  914.  
  915.      cd \emacs\19.19\man
  916.      ren *.texi *.tex
  917.      ren *.texinfo *.tex
  918.  
  919. 5. Typeset the manual:
  920.  
  921.      cd \emacs\19.19\man
  922.      texi2dvi emacs.tex
  923.  
  924. 6. Print the manual (this example is for the HP LaserJet).  See the
  925.    dvidrv documentation on how to print on both sides of the paper:
  926.  
  927.      cd \emacs\19.19\man
  928.      prthplj emacs
  929.  
  930.  
  931. Miscellaneous hints
  932. ===================
  933.  
  934. -   For best results, run emacs.exe from the drive where it is
  935.     installed -- you can change the drive in GNU Emacs.  If you run
  936.     Emacs from a drive different from the drive where it is installed,
  937.     you'll get the benign warning message
  938.  
  939.       Warning: lisp library (/emacs/19.19/lisp) does not exist.
  940.  
  941.     Ignore this message.
  942.  
  943. -   Emacs is designed to be started once and never terminated.
  944.     Therefore, you should add Emacs to the startup folder (use the
  945.     startup option of instemacs.cmd) and never start it manually.  If
  946.     you want to enter an OS/2 command to edit a file, use
  947.     emacsclient.
  948.  
  949. -   To change the cursor size in text mode, put
  950.  
  951.       cursor -80 -100
  952.  
  953.     into a batch file which runs emacs.exe (unfortunately, cmd.exe
  954.     changes the cursor size when displaying a prompt).  Negative
  955.     cursor command line arguments are percentages -- the above example
  956.     makes the cursor use the bottom 20% of the character cell.
  957.  
  958.  
  959. Additional features of GNU Emacs 19.19 for emx
  960. ==============================================
  961.  
  962. Additional functions (see on-line help for details):
  963.  
  964.   emacs-priority
  965.   emx-add-binary-mode
  966.   filesystem-type
  967.   keyboard-type
  968.   file-name-valid-p
  969.   pm-menu-bar-mode
  970.   remove-from-window-list
  971.   pm-session-bond
  972.  
  973. Additional variables (see on-line help for details):
  974.  
  975.   emx-binary-mode
  976.   emx-binary-mode-list
  977.   emx-shell-regexp
  978.   min-skip-run
  979.   pm-color-alist
  980.  
  981. Additional command line options for PM:
  982.  
  983.   -d                    Use windowing system (note: no argument!)
  984.   -name NAME            Set name of frame (displayed in the titlebar)
  985.   -font FONT            Select font
  986.   -background COLOR     Select default background color
  987.   -foreground COLOR     Select default foreground color
  988.   -T NAME               See -name
  989.   -fn FONT              See -font
  990.   -fg COLOR             See -foreground
  991.   -bg COLOR             See -background
  992.  
  993. Example:
  994.  
  995.   emacs -d -fg white -bg os2darkblue -fn 8.Courier myfile.c
  996.  
  997. Fonts:
  998.  
  999.   A font is specified by size (printer's points) and name:
  1000.  
  1001.    SIZE.NAME
  1002.  
  1003. Colors:
  1004.  
  1005.   See pm-color-alist in term/pm-win.el
  1006.  
  1007. Additional frame parameters for modify-frame-parameters and
  1008. default-frame-alist:
  1009.  
  1010.   name                        String    Window title
  1011.   font                        String    Font
  1012.   background-color            String    Default background color
  1013.   foreground-color            String    Default foreground color
  1014.   alt-modifier                Symbol    Modifier generated by left Alt key
  1015.   altgr-modifier              Symbol    Modifier generated by AltGr key
  1016.   cursor-type                 Symbol    Cursor type
  1017.   cursor-blink                Boolean   Blinking cursor
  1018.   pm-menu-bar                 Boolean   Display Presentation Manager menu bar
  1019.   shortcuts                   Boolean   Enable F1, F10, A-f4, A-space etc.
  1020.   mouse-buttons               String    Swap mouse buttons
  1021.   height                      Integer   Height of window, in lines
  1022.   width                       Integer   Widtht of window, in columns
  1023.   left                        Integer   horizontal position, in pixels
  1024.   top                         Integer   vertical position, in pixels
  1025.  
  1026. Alt modifiers:
  1027.  
  1028.   alt           The ALT key generates the A- modifier
  1029.   meta          The ALT key generates the M- modifier
  1030.   hyper         The ALT key generates the H- modifier
  1031.   super         The ALT key generates the s- modifier
  1032.  
  1033.   
  1034. Cursor types:
  1035.  
  1036.   bar            A thin vertical bar
  1037.   box            A filled box (default)
  1038.   frame          The outline of a box
  1039.   underline      A horizontal line below the characters
  1040.   halftone       A filled box (gray)
  1041.  
  1042. Mouse buttons:
  1043.  
  1044.   The argument of the mouse-buttons parameter is a string of 3
  1045.   characters.  The first character defines the event generated by the
  1046.   left mouse button, the second character defines the event generates
  1047.   by the middle mouse button (which doesn't exist on two-button mice),
  1048.   the third character defines the event generated by the right mouse
  1049.   button.  Each character is either 1 (mouse-1), 2 (mouse-2), 3
  1050.   (mouse-3) or a space (no event).  The default is "132", according to
  1051.   OS/2 conventions.  With this value, a two-button mouse cannot
  1052.   generate a mouse-3 event.
  1053.  
  1054. Example:
  1055.  
  1056.   (setq default-frame-alist
  1057.         (append '((background-color . "os2darkblue")
  1058.                   (foreground-color . "white")
  1059.                   (alt-modifier . alt)
  1060.                   (altgr-modifier . hyper)
  1061.                   (font . "8.Courier")
  1062.                   (mouse-buttons . "123"))
  1063.                 default-frame-alist))
  1064.  
  1065.  
  1066. Missing features, misfeatures, bugs
  1067. ===================================
  1068.  
  1069. - The emacs-priority variable is ignored.  Use the emacs-priority
  1070.   function instead.  Note that lisp/term/pm-win.el calls
  1071.   emacs-priority.
  1072.  
  1073. - interrupt-process doesn't work unless the process is an immediate
  1074.   child of Emacs or is an emx program.  Therefore,
  1075.   comint-interrupt-subjob (C-c C-c) doesn't work.
  1076.  
  1077. - Extended attributes are not preserved in files edited or copied.
  1078.  
  1079. - The timestamps of all events but mouse button events are always 0.
  1080.  
  1081. - Scrollbars are not implemented.
  1082.  
  1083. - complex-buffers-menu-p is not yet supported.
  1084.  
  1085. - Several functions specific to X Windows are missing.
  1086.  
  1087. - You have to release the mouse button before clicking on a popup menu
  1088.   activated by clicking on the (non-PM) menu bar.
  1089.  
  1090. - OS/2 does not support all three-button mice.  Therefore, you can use
  1091.   only two buttons with certain mice.  RODENT.SYS, a shareware mouse
  1092.   driver written by Michael Lee Finney (m.finney@genie.geis.com)
  1093.   supports additional three-button mice.  Look for RODENT.ZIP or
  1094.   RODNT100.ZIP.  Unfortunately, the registration cost is likely to
  1095.   exceed the cost of a new mouse...
  1096.  
  1097. - Drag & drop is not implemented.  Instead of dropping a file on (a
  1098.   running instance of) GNU Emacs, you should drop the file on an
  1099.   emacsclient icon.  See above for proper installation of emacsclient.
  1100.  
  1101. - Emacs doesn't know that trailing dots in file names are ignored by
  1102.   OS/2.  It believes that "foo" and "foo." are different files, a
  1103.   belief it probably shared with quite a few OS/2 users.
  1104.  
  1105. - The `Choose Pasting Selection' item of the Edit menu doesn't work
  1106.   correctly.
  1107.  
  1108. - ange-ftp doesn't work due to ftp's buffering of stdout and Emacs'
  1109.   prepending a drive letter.
  1110.  
  1111. - The client windows aren't repainted while a popup menu is active.
  1112.  
  1113. - The Data Logic shell doesn't work correctly under Emacs: either you
  1114.   don't get prompts or you don't get error messages, depending on the
  1115.   version.  This is due to output buffering.  Try using bash instead.
  1116.  
  1117.  
  1118. Compiling GNU Emacs
  1119. ===================
  1120.  
  1121. The following programs are required for compiling GNU Emacs 19 for emx:
  1122.  
  1123.   - dmake 3.8
  1124.  
  1125.   - emx 0.8g (or later), GCC 2.4 (or later), etc. for emx
  1126.  
  1127.   - GNU Bison 1.19 (or later)
  1128.  
  1129.   - GNU sed 1.16 (or later)
  1130.  
  1131.   - cp, mv, rm, chmod (GNU file utilities 1.4 or later)
  1132.  
  1133. You can find all these programs on ftp.informatik.tu-muenchen.de,
  1134. somewhere under pub/comp/os/os2.
  1135.  
  1136. To compile GNU Emacs, you have to install the source code:
  1137.  
  1138.   cd \
  1139.   unzip a:e19src
  1140.  
  1141. To compile GNU Emacs, type
  1142.  
  1143.   cd \emacs\19.19
  1144.   configure
  1145.   cd lib-src
  1146.   make
  1147.   cd ..\src
  1148.   mmake
  1149.   make
  1150.  
  1151. If emx-patch.el and emx-funcs.el have not been byte-compiled
  1152. (emx-patch.elc and emx-funcs.elc don't exist), the message
  1153.  
  1154.   Pure Lisp storage exhausted
  1155.  
  1156. may be displayed in the make step in the src directory.  Type
  1157.  
  1158.   temacs -batch -l emx-bc
  1159.  
  1160. to byte-compile these files.  Ignore the warning messages which start
  1161. with **.  Then, restart make.  IMPORTANT: emx-bc.el assumes that the
  1162. .el files are in ../lisp.
  1163.  
  1164. Note: src/Makefile is currently not used.
  1165.  
  1166. Before running the new emacs.exe in \emacs\19.19\src, you should type
  1167.  
  1168.   move ..\etc\doc-19.19.* \emacs\19.19\data
  1169.  
  1170. To install GNU Emacs in \emacs\19.19\bin, run install.cmd.
  1171.  
  1172.  
  1173. If the GNU Emacs version number changes (e.g., from 19.83 to 19.84)
  1174. you have to edit the following files, replacing the old version number
  1175. with the new one:
  1176.  
  1177.   emx/FAQ
  1178.   emx/README
  1179.   emx/emx1.sed
  1180.   emx/emx3.sed
  1181.   emx/emx4.sed
  1182.   src/dist.cmd
  1183.   src/dump.cmd
  1184.   src/install.cmd
  1185.  
  1186. To debug GNU Emacs, type
  1187.  
  1188.   gdb -s temacs -e emacs.exe
  1189.   source .gdbinit
  1190.   set args -d
  1191.  
  1192. Note that .gdbinit changes the command line arguments.  Therefore, you
  1193. should use "set args" after loading .gdbinit.
  1194.  
  1195. To do post-mortem debugging, type
  1196.  
  1197.   gdb -s temacs -e emacs.exe -c core
  1198.  
  1199. Note that emx.dll versions prior to revision index 14 don't create
  1200. usable core dump files for emacs.exe: the stack object is missing in
  1201. the core dump.
  1202.  
  1203. To make new distribution ZIP files, type
  1204.  
  1205.   cd \emacs\19.19\src
  1206.   install
  1207.   dist
  1208.   cd ..\emx
  1209.   make-dist
  1210.  
  1211.  
  1212. History
  1213. =======
  1214.  
  1215. 19.19
  1216. -----
  1217.  
  1218. - Add FAQ file
  1219.  
  1220. - Fix instemacs.cmd bugs
  1221.  
  1222. - Fix documentation errors
  1223.  
  1224. - Fix multi-line PM menu bar bug
  1225.  
  1226. - Fix bug in window resizing logic.  This solves the problem of
  1227.   windows not repainting
  1228.  
  1229. - Make emx-binary-mode a buffer-local variable and replace file name
  1230.   handler with C code.  This avoids conflicts with other file name
  1231.   handlers
  1232.  
  1233. - Add emx-meta.el
  1234.  
  1235. - Support visible-bell
  1236.  
  1237. - Support popup menus created by functions invoked through the PM menu
  1238.   bar
  1239.  
  1240. - set-frame-position now sets the position of the client area instead
  1241.   of the position of the frame window
  1242.  
  1243. - Add remove-from-window-list and pm-session-bond
  1244.  
  1245. - Define more colors, rename OS/2 colors to avoid conflicts with X
  1246.   colors
  1247.  
  1248. - Automatically redefine some colors for 16-color displays
  1249.  
  1250. - Ignore blanks in color names
  1251.  
  1252. - pm-display-planes now returns the correct value
  1253.  
  1254. - Support of outline fonts improved
  1255.  
  1256. - Clip text output to reduce problems with italic fonts
  1257.  
  1258. - Use the face name instead of the family name for pm-list-fonts.
  1259.   Now, you can use the font "12.Courier Bold Italic", for instance, to
  1260.   get a real bold italic font instead of a simulated one
  1261.  
  1262. - Examples for setting default-frame-alist fixed: the new value should
  1263.   be added to the front of the list
  1264.  
  1265. - Support .inf file name extension for info files, run "gzip -d"
  1266.   instead of "gunzip"
  1267.  
  1268. - The default value of emx-shell-regexp now includes 4OS2.
  1269.  
  1270. - Add optional palette manager support.  If you want to play with the
  1271.   palette manager, define the constant USE_PALETTE_MANAGER when
  1272.   compiling pmemacs.c.  However, there are several drawbacks.  For
  1273.   instance, the cursor isn't displayed properly.  Therefore, palette
  1274.   manager support is disabled by default
  1275.  
  1276.  
  1277. Who did the emx port of GNU Emacs 19?
  1278. =====================================
  1279.  
  1280.   Eberhard Mattes
  1281.   Teckstrasse 81                                      (TeX: Teckstra{\ss}e)
  1282.   D-71696 Moeglingen                                  (TeX: M\"oglingen)
  1283.   Germany
  1284.  
  1285.   Internet: mattes@azu.informatik.uni-stuttgart.de
  1286.  
  1287. No telephone calls please! Include return postage (international
  1288. postal reply coupons for those outside Germany) and a self-addressed
  1289. envelope if you expect a reply.  GNU Emacs for emx is not available on
  1290. diskettes from the address given above.
  1291.  
  1292. An emx-related mailing list has been created: emx-list.  The address
  1293. for people to request to be added to or removed from the list is:
  1294.  
  1295.   listserv@ludd.luth.se
  1296.  
  1297. To subscribe, send a message containing
  1298.  
  1299.   sub emx-list Joe User
  1300.  
  1301. to listserv@ludd.luth.se.  Of course, you should use your name instead
  1302. of Joe User's name.
  1303.  
  1304. As there is currently no mailing list for the emx port of GNU Emacs,
  1305. you can use the emx mailing list.  However, you should use the general
  1306. GNU Emacs mailing lists for general GNU Emacs questions.
  1307.  
  1308. No warranty, see COPYING for details.
  1309.  
  1310. ---------------------------------- END ---------------------------------------
  1311.