DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T U

⟦355241691⟧ TextFile

    Length: 247961 (0x3c899)
    Types: TextFile
    Notes: Uncompressed file

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦29f104073⟧ »./emacs-18.54-18.55.Z« 
        └─⟦this⟧ 

TextFile

Changes for GNU Emacs version 18.55, from 18.54.

These changes include patches to files in the
top-level directory of the distribution and in the
subdirectories `etc', `lisp' and `src'.

Don't forget to do M-x byte-recompile-directory
in the `lisp' subdirectory after installing
the patches and before building the new Emacs.
Otherwise, the changes in some files of Lisp code
may not take effect.

diff -rc2N dist-18.54/PROBLEMS dist-18.55/PROBLEMS
*** dist-18.54/PROBLEMS	Mon Apr 10 23:18:20 1989
--- dist-18.55/PROBLEMS	Mon Aug  7 21:54:15 1989
***************
*** 2,5 ****
--- 2,30 ----
  in compiling, installing and running GNU Emacs.
  
+ * Error compiling sysdep.c, "sioctl.h: no such file or directory".
+ 
+ Among USG systems with TIOCGWINSZ, some require sysdep.c to include
+ the file sioctl.h; on others, sioctl.h does not exist.  We don't know
+ how to distinguish these two kind of systems, so currently we try to
+ include sioctl.h on all of them.  If this #include gets an error, just
+ delete it.
+ 
+ * X Windows doesn't work if DISPLAY uses a hostname.
+ 
+ People have reported kernel bugs in certain systems that cause Emacs
+ not to work with X Windows if DISPLAY is set using a host name.  But
+ the problem does not occur if DISPLAY is set to `unix:0.0'.  I think
+ the bug has to do with SIGIO or FIONREAD.
+ 
+ You may be able to compensate for the bug by doing (set-input-mode nil nil).
+ However, that has the disadvantage of turning off interrupts, so that
+ you are unable to quit out of a Lisp program by typing C-g.
+ 
+ The easy way to do this is to put 
+ 
+   (setq x-sigio-bug t)
+ 
+ in your site-init.el file.
+ 
  * Watch out for .emacs files and EMACSLOADPATH environment vars
  
diff -rc2N dist-18.54/VMSINSTALL dist-18.55/VMSINSTALL
*** dist-18.54/VMSINSTALL	Tue Jan 26 11:04:28 1988
--- dist-18.55/VMSINSTALL	Mon Aug 21 18:04:52 1989
***************
*** 22,25 ****
--- 22,30 ----
  to check file access.
  
+ In order to compile Emacs with the VMS C compiler, you will need a
+ pagefile quota of around 22000 pages, plus enough swap space to handle
+ that.  (This was in VMS 5.1-1, with 5 meg of physical memory.)  See
+ HELP SYSGEN CREATE and HELP SYSGEN INSTALL for more information.
+ 
  Choose a directory to restore to, say DEV:[LIB].  Do:
  
diff -rc2N dist-18.54/dir.list dist-18.55/dir.list
*** dist-18.54/dir.list	Wed Apr 26 22:41:58 1989
--- dist-18.55/dir.list	Mon Aug 21 18:07:47 1989
***************
*** 1,18 ****
! total 152
! -rw-rw-rw-  1 rms           481 Aug 30 13:43 ChangeLog
  -rw-rw-rw-  1 rms          6656 Apr  7 20:37 INSTALL
! -rw-rw-rw-  1 rms          3306 Aug 30 13:43 Makefile
! -rw-rw-rw-  1 rms         23083 Apr 10 23:18 PROBLEMS
  -rw-rw-rw-  1 rms          2030 Jul 18  1987 README
! -rw-rw-rw-  1 rms          4896 Jan 26  1988 VMSINSTALL
  -rw-rw-rw-  1 rms          2826 Feb 13  1988 VMSNOTES
  -rw-rw-rw-  1 rms          1412 Jun 15  1987 allrename.com
  -rw-rw-rw-  1 rms           665 Mar 18  1988 build-install
! -rw-rw-rw-  1 rms             0 Apr 26 22:41 dir.list
  -rw-rw-rw-  1 rms           962 Jun 10  1987 emacs.com
  -rw-rw-rw-  1 rms          2489 May  6  1988 kepteditor.com
  -rw-rw-rw-  1 rms          2176 May 16  1988 vmsdist.com
  
! ./cpp:
  total 160
  -rw-rw-rw-  1 rms           539 Mar  2  1987 Makefile
--- 1,27 ----
! total 158
! -rw-rw-rw-  1 rms           481 Aug 30  1988 ChangeLog
  -rw-rw-rw-  1 rms          6656 Apr  7 20:37 INSTALL
! -rw-rw-rw-  1 rms          3306 Aug 30  1988 Makefile
! -rw-rw-rw-  1 rms         24041 Aug  7 21:54 PROBLEMS
  -rw-rw-rw-  1 rms          2030 Jul 18  1987 README
! -rw-rw-rw-  1 rms          5168 Aug 21 18:04 VMSINSTALL
  -rw-rw-rw-  1 rms          2826 Feb 13  1988 VMSNOTES
  -rw-rw-rw-  1 rms          1412 Jun 15  1987 allrename.com
  -rw-rw-rw-  1 rms           665 Mar 18  1988 build-install
! drwxrwxrwx  2 rms           512 Aug  5 16:03 cpp
! -rw-rw-rw-  1 rms             0 Aug 21 18:07 dir.list
  -rw-rw-rw-  1 rms           962 Jun 10  1987 emacs.com
+ drwxrwxrwx  2 rms          2048 Aug 16 23:21 etc
+ drwxrwxrwx  2 rms          2048 Aug  5 16:03 gdb
+ drwxrwxrwx  2 rms          1024 Aug  5 16:01 info
  -rw-rw-rw-  1 rms          2489 May  6  1988 kepteditor.com
+ drwxrwxrwx  3 rms          5632 Aug 16 23:21 lisp
+ drwxrwxrwx  2 rms          1024 Aug  5 16:02 man
+ drwxrwxrwx  3 rms          1536 Aug 11 00:00 oldXMenu
+ drwxrwxrwx  2 rms           512 Aug  5 16:03 shortnames
+ drwxrwxrwx  2 rms          5632 Aug 21 18:05 src
  -rw-rw-rw-  1 rms          2176 May 16  1988 vmsdist.com
  
! cpp:
  total 160
  -rw-rw-rw-  1 rms           539 Mar  2  1987 Makefile
***************
*** 20,36 ****
  -rw-rw-rw-  1 rms         14492 Feb 12  1988 cexp.y
  
! ./etc:
! total 1882
  -rw-rw-rw-  1 rms          1913 Mar 18  1988 3B-MAXMEM
  -rw-rw-rw-  1 rms          1836 Jul 16  1986 APOLLO
! -rw-rw-rw-  1 rms          3102 Aug 31 19:27 APPLE
! -rw-rw-rw-  1 rms          6938 Aug 15 19:21 CCADIFF
  -rw-rw-rw-  1 rms          4975 Nov 10  1986 COOKIES
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms          4366 Apr 18 21:32 ChangeLog
  -rw-rw-rw-  1 rms          4286 Sep 29  1986 DEBUG
! -rw-rw-rw-  1 rms         30529 Aug 17 10:05 DIFF
  -rw-rw-rw-  1 rms          8763 Feb 24 10:06 DISTRIB
! -rw-rw-rw-  1 rms          8350 Sep  7 07:48 FTP
  -rw-rw-rw-  1 rms         23947 Feb 22  1987 GNU
  -rw-rw-rw-  1 rms         23788 Nov 10  1986 GOSDIFF
--- 29,45 ----
  -rw-rw-rw-  1 rms         14492 Feb 12  1988 cexp.y
  
! etc:
! total 1910
  -rw-rw-rw-  1 rms          1913 Mar 18  1988 3B-MAXMEM
  -rw-rw-rw-  1 rms          1836 Jul 16  1986 APOLLO
! -rw-rw-rw-  1 rms          3102 Aug 31  1988 APPLE
! -rw-rw-rw-  1 rms          6938 Aug 15  1988 CCADIFF
  -rw-rw-rw-  1 rms          4975 Nov 10  1986 COOKIES
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms          4642 Jun 15 12:53 ChangeLog
  -rw-rw-rw-  1 rms          4286 Sep 29  1986 DEBUG
! -rw-rw-rw-  1 rms         30529 Aug 17  1988 DIFF
  -rw-rw-rw-  1 rms          8763 Feb 24 10:06 DISTRIB
! -rw-rw-rw-  1 rms          8350 Sep  7  1988 FTP
  -rw-rw-rw-  1 rms         23947 Feb 22  1987 GNU
  -rw-rw-rw-  1 rms         23788 Nov 10  1986 GOSDIFF
***************
*** 37,45 ****
  -rw-rw-rw-  1 rms         24529 Sep 16  1987 INTERVIEW
  -rw-rw-rw-  1 rms          3048 Apr 17  1985 LEDIT
! -rw-rw-rw-  1 rms         18736 Apr 25 22:06 MACHINES
  -rw-rw-rw-  1 rms         13817 Feb 24 10:07 MAILINGLISTS
  -rw-rw-rw-  1 rms          8791 Jun 28  1987 MOTIVATION
! -rw-rw-rw-  1 rms          2084 Apr 17 19:34 Makefile
! -rw-rw-rw-  1 rms         63433 Aug 22 13:38 NEWS
  -rw-rw-rw-  1 rms         51193 May  6  1986 ONEWS
  -rw-rw-rw-  1 rms         47927 Jan 28  1986 OONEWS
--- 46,54 ----
  -rw-rw-rw-  1 rms         24529 Sep 16  1987 INTERVIEW
  -rw-rw-rw-  1 rms          3048 Apr 17  1985 LEDIT
! -rw-rw-rw-  1 rms         19098 Jul 20 01:23 MACHINES
  -rw-rw-rw-  1 rms         13817 Feb 24 10:07 MAILINGLISTS
  -rw-rw-rw-  1 rms          8791 Jun 28  1987 MOTIVATION
! -rw-rw-rw-  1 rms          2099 Jul 30 20:54 Makefile
! -rw-rw-rw-  1 rms         63433 Aug 22  1988 NEWS
  -rw-rw-rw-  1 rms         51193 May  6  1986 ONEWS
  -rw-rw-rw-  1 rms         47927 Jan 28  1986 OONEWS
***************
*** 46,60 ****
  -rw-rw-rw-  1 rms          1538 Jun  4  1985 RCP
  -rw-rw-rw-  1 rms           272 Sep 14  1986 README
! -rw-rw-rw-  1 rms         16033 Sep  3 11:18 SERVICE
  -rw-rw-rw-  1 rms          8155 Mar 15 23:45 SUN-SUPPORT
! -rw-rw-rw-  1 rms          1900 Aug 31 18:39 SUNBUG
! -rw-rw-rw-  1 rms          6359 Apr 13  1988 TERMS
  -rw-rw-rw-  1 rms           976 May  6  1988 TO-DO
  -rw-rw-rw-  1 rms         33852 May 19  1988 TUTORIAL
  -rw-rw-rw-  1 rms         17843 Oct 10  1986 XDOC
! -rw-rw-rw-  1 rms          7042 Aug  5 17:48 XENIX
  -rw-rw-rw-  1 rms          9943 Jan 31  1988 Xkeymap.txt
  -rw-rw-rw-  1 rms           184 Mar  4  1987 celibacy.1
! -rw-rw-rw-  1 rms          1117 Aug 17 10:14 complink.com
  -rw-rw-rw-  1 rms          3440 Nov 25  1985 cvtmail.c
  -rw-rw-rw-  1 rms           930 Mar 21  1987 digest-doc.c
--- 55,69 ----
  -rw-rw-rw-  1 rms          1538 Jun  4  1985 RCP
  -rw-rw-rw-  1 rms           272 Sep 14  1986 README
! -rw-rw-rw-  1 rms         30060 Jul  4 21:01 SERVICE
  -rw-rw-rw-  1 rms          8155 Mar 15 23:45 SUN-SUPPORT
! -rw-rw-rw-  1 rms          1900 Aug 31  1988 SUNBUG
! -rw-rw-rw-  1 rms          6518 Jul 20 00:32 TERMS
  -rw-rw-rw-  1 rms           976 May  6  1988 TO-DO
  -rw-rw-rw-  1 rms         33852 May 19  1988 TUTORIAL
  -rw-rw-rw-  1 rms         17843 Oct 10  1986 XDOC
! -rw-rw-rw-  1 rms          7042 Aug  5  1988 XENIX
  -rw-rw-rw-  1 rms          9943 Jan 31  1988 Xkeymap.txt
  -rw-rw-rw-  1 rms           184 Mar  4  1987 celibacy.1
! -rw-rw-rw-  1 rms          1117 Aug 17  1988 complink.com
  -rw-rw-rw-  1 rms          3440 Nov 25  1985 cvtmail.c
  -rw-rw-rw-  1 rms           930 Mar 21  1987 digest-doc.c
***************
*** 68,72 ****
  -rw-rw-rw-  1 rms         11999 Feb 11  1988 env.c
  -rw-rw-rw-  1 rms          5687 Jun 14  1988 etags-vmslib.c
! -rw-rw-rw-  1 rms         36944 Jun 23  1988 etags.c
  -rw-rw-rw-  1 rms           599 Jun 14  1988 etags.vms
  -rw-rw-rw-  1 rms         13370 Apr 28  1988 fakemail.c
--- 77,81 ----
  -rw-rw-rw-  1 rms         11999 Feb 11  1988 env.c
  -rw-rw-rw-  1 rms          5687 Jun 14  1988 etags-vmslib.c
! -rw-rw-rw-  1 rms         36965 May 12 22:08 etags.c
  -rw-rw-rw-  1 rms           599 Jun 14  1988 etags.vms
  -rw-rw-rw-  1 rms         13370 Apr 28  1988 fakemail.c
***************
*** 76,87 ****
  -rw-rw-rw-  1 rms         11485 Aug 14  1987 make-docfile.c
  -rw-rw-rw-  1 rms          1998 Mar 15  1987 makedoc.com
! -rw-rw-rw-  1 rms         13452 Feb 21 12:58 movemail.c
  -rw-rw-rw-  1 rms          5623 Sep 17  1987 qsort.c
  -rw-rw-rw-  1 rms         18065 Sep 17  1987 refcard.tex
! -rw-rw-rw-  1 rms          7362 Jul 12 22:07 server.c
  -rw-rw-rw-  1 rms          2290 Nov 18  1987 sex.6
  -rw-rw-rw-  1 rms          4930 Jun  4  1988 sorted-doc.c
  -rw-rw-rw-  1 rms           733 Mar 25  1988 spook.lines
! -rw-rw-rw-  1 rms         56891 Jun 18  1988 termcap.dat
  -rw-rw-rw-  1 rms        130198 Feb 21 05:51 termcap.ucb
  -rw-rw-rw-  1 rms          1427 May 22  1987 test-distrib.c
--- 85,96 ----
  -rw-rw-rw-  1 rms         11485 Aug 14  1987 make-docfile.c
  -rw-rw-rw-  1 rms          1998 Mar 15  1987 makedoc.com
! -rw-rw-rw-  1 rms         13532 Jun 15 12:53 movemail.c
  -rw-rw-rw-  1 rms          5623 Sep 17  1987 qsort.c
  -rw-rw-rw-  1 rms         18065 Sep 17  1987 refcard.tex
! -rw-rw-rw-  1 rms          7362 Jul 12  1988 server.c
  -rw-rw-rw-  1 rms          2290 Nov 18  1987 sex.6
  -rw-rw-rw-  1 rms          4930 Jun  4  1988 sorted-doc.c
  -rw-rw-rw-  1 rms           733 Mar 25  1988 spook.lines
! -rw-rw-rw-  1 rms         56890 Aug 12 12:51 termcap.dat
  -rw-rw-rw-  1 rms        130198 Feb 21 05:51 termcap.ucb
  -rw-rw-rw-  1 rms          1427 May 22  1987 test-distrib.c
***************
*** 94,112 ****
  -rw-rw-rw-  1 rms         38353 Mar  3  1987 yow.lines
  
! ./gdb:
  total 2670
  -rw-rw-rw-  1 rms          7517 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms         58620 Sep  3 12:05 ChangeLog
! -rw-rw-rw-  1 rms          4698 Sep  3 12:06 Makefile
! -rw-rw-rw-  1 rms          1168 Jul  8 23:54 README
  -rw-rw-rw-  1 rms         30273 May  6  1988 TAGS
  -rw-rw-rw-  1 rms          8285 Mar 25  1988 blockframe.c
  -rw-rw-rw-  1 rms         28258 Jun  9  1988 breakpoint.c
! -rw-rw-rw-  1 rms         46897 Jul 13 00:12 coffread.c
  -rw-rw-rw-  1 rms         14515 Mar 25  1988 command.c
  -rw-rw-rw-  1 rms          7397 Feb 11  1988 command.h
! -rwxrwxrwx  1 rms          2273 Sep  1 13:21 config.gdb
  -rw-rw-rw-  1 rms         19678 May  3  1988 core.c
! -rw-rw-rw-  1 rms         69156 Jul  7 02:02 dbxread.c
  -rw-rw-rw-  1 rms          2499 May 22  1988 defs.h
  -rw-rw-rw-  1 rms          8436 Feb 11  1988 environ.c
--- 103,121 ----
  -rw-rw-rw-  1 rms         38353 Mar  3  1987 yow.lines
  
! gdb:
  total 2670
  -rw-rw-rw-  1 rms          7517 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms         58620 Sep  3  1988 ChangeLog
! -rw-rw-rw-  1 rms          4698 Sep  3  1988 Makefile
! -rw-rw-rw-  1 rms          1168 Jul  8  1988 README
  -rw-rw-rw-  1 rms         30273 May  6  1988 TAGS
  -rw-rw-rw-  1 rms          8285 Mar 25  1988 blockframe.c
  -rw-rw-rw-  1 rms         28258 Jun  9  1988 breakpoint.c
! -rw-rw-rw-  1 rms         46897 Jul 13  1988 coffread.c
  -rw-rw-rw-  1 rms         14515 Mar 25  1988 command.c
  -rw-rw-rw-  1 rms          7397 Feb 11  1988 command.h
! -rwxrwxrwx  1 rms          2273 Sep  1  1988 config.gdb
  -rw-rw-rw-  1 rms         19678 May  3  1988 core.c
! -rw-rw-rw-  1 rms         69156 Jul  7  1988 dbxread.c
  -rw-rw-rw-  1 rms          2499 May 22  1988 defs.h
  -rw-rw-rw-  1 rms          8436 Feb 11  1988 environ.c
***************
*** 120,128 ****
  -rw-rw-rw-  1 rms          2287 Sep 30  1986 frame.h
  -rw-rw-rw-  1 rms          4006 Apr 13  1987 gdb.1
! -rw-rw-rw-  1 rms         41892 Sep  2 13:12 gdb.ideas
  -rw-rw-rw-  1 rms          6759 Jun 21  1988 gld-pinsn.c
  -rw-rw-rw-  1 rms         23615 Jun 27  1988 infcmd.c
  -rw-rw-rw-  1 rms          2820 Feb  3  1988 inferior.h
! -rw-rw-rw-  1 rms         23111 Sep  3 11:40 inflow.c
  -rw-rw-rw-  1 rms         29393 Jun 25  1988 infrun.c
  -rw-rw-rw-  1 rms          6545 Jun 21  1988 initialize.h
--- 129,137 ----
  -rw-rw-rw-  1 rms          2287 Sep 30  1986 frame.h
  -rw-rw-rw-  1 rms          4006 Apr 13  1987 gdb.1
! -rw-rw-rw-  1 rms         41892 Sep  2  1988 gdb.ideas
  -rw-rw-rw-  1 rms          6759 Jun 21  1988 gld-pinsn.c
  -rw-rw-rw-  1 rms         23615 Jun 27  1988 infcmd.c
  -rw-rw-rw-  1 rms          2820 Feb  3  1988 inferior.h
! -rw-rw-rw-  1 rms         23111 Sep  3  1988 inflow.c
  -rw-rw-rw-  1 rms         29393 Jun 25  1988 infrun.c
  -rw-rw-rw-  1 rms          6545 Jun 21  1988 initialize.h
***************
*** 130,134 ****
  -rw-rw-rw-  1 rms           172 Jul 15  1986 lastfile.c
  -rw-rw-rw-  1 rms         20054 Apr 11  1988 m-hp9k320.h
! -rw-rw-rw-  1 rms         19325 Sep  1 13:17 m-hp9k320bsd.h
  -rw-rw-rw-  2 rms           141 Feb  7  1988 m-init.h
  -rw-rw-rw-  1 rms         20411 Apr  7  1988 m-isi.h
--- 139,143 ----
  -rw-rw-rw-  1 rms           172 Jul 15  1986 lastfile.c
  -rw-rw-rw-  1 rms         20054 Apr 11  1988 m-hp9k320.h
! -rw-rw-rw-  1 rms         19325 Sep  1  1988 m-hp9k320bsd.h
  -rw-rw-rw-  2 rms           141 Feb  7  1988 m-init.h
  -rw-rw-rw-  1 rms         20411 Apr  7  1988 m-isi.h
***************
*** 135,139 ****
  -rw-rw-rw-  1 rms           348 Mar 20  1988 m-isiinit.h
  -rw-rw-rw-  1 rms         15011 Mar 25  1988 m-merlin.h
! -rw-rw-rw-  1 rms         19335 Aug 30 17:54 m-news.h
  -rw-rw-rw-  1 rms           146 Jan 15  1988 m-newsinit.h
  -rw-rw-rw-  1 rms         18267 Jun 17  1988 m-npl.h
--- 144,148 ----
  -rw-rw-rw-  1 rms           348 Mar 20  1988 m-isiinit.h
  -rw-rw-rw-  1 rms         15011 Mar 25  1988 m-merlin.h
! -rw-rw-rw-  1 rms         19335 Aug 30  1988 m-news.h
  -rw-rw-rw-  1 rms           146 Jan 15  1988 m-newsinit.h
  -rw-rw-rw-  1 rms         18267 Jun 17  1988 m-npl.h
***************
*** 151,155 ****
  -rw-rw-rw-  2 rms         68314 Apr  8  1988 m68k-opcode.h
  -rw-rw-rw-  2 rms         17695 Jun 21  1988 m68k-pinsn.c
! -rw-rw-rw-  1 rms         34227 Jul 20 15:21 main.c
  -rw-rw-rw-  1 rms         18362 Jun 16  1988 npl-opcode.h
  -rw-rw-rw-  1 rms         10621 Nov 25  1987 ns32k-opcode.h
--- 160,164 ----
  -rw-rw-rw-  2 rms         68314 Apr  8  1988 m68k-opcode.h
  -rw-rw-rw-  2 rms         17695 Jun 21  1988 m68k-pinsn.c
! -rw-rw-rw-  1 rms         34227 Jul 20  1988 main.c
  -rw-rw-rw-  1 rms         18362 Jun 16  1988 npl-opcode.h
  -rw-rw-rw-  1 rms         10621 Nov 25  1987 ns32k-opcode.h
***************
*** 156,160 ****
  -rw-rw-rw-  1 rms         10662 Jun 21  1988 ns32k-pinsn.c
  -rw-rw-rw-  1 rms         12230 Jun 17  1988 obstack.c
! -rw-rw-rw-  1 rms         18478 Jul 25 02:22 obstack.h
  -rw-rw-rw-  2 rms         68314 Apr  8  1988 opcode.h
  -rw-rw-rw-  2 rms         18051 Apr  7  1988 param.h
--- 165,169 ----
  -rw-rw-rw-  1 rms         10662 Jun 21  1988 ns32k-pinsn.c
  -rw-rw-rw-  1 rms         12230 Jun 17  1988 obstack.c
! -rw-rw-rw-  1 rms         18478 Jul 25  1988 obstack.h
  -rw-rw-rw-  2 rms         68314 Apr  8  1988 opcode.h
  -rw-rw-rw-  2 rms         18051 Apr  7  1988 param.h
***************
*** 161,165 ****
  -rw-rw-rw-  2 rms         17695 Jun 21  1988 pinsn.c
  -rw-rw-rw-  1 rms         12573 Jun 16  1988 pn-opcode.h
! -rw-rw-rw-  1 rms         31150 Jul 22 23:43 printcmd.c
  -rw-rw-rw-  1 rms         13024 Apr  7  1988 remote.c
  -rw-rw-rw-  1 rms         22485 May 23  1988 source.c
--- 170,174 ----
  -rw-rw-rw-  2 rms         17695 Jun 21  1988 pinsn.c
  -rw-rw-rw-  1 rms         12573 Jun 16  1988 pn-opcode.h
! -rw-rw-rw-  1 rms         31150 Jul 22  1988 printcmd.c
  -rw-rw-rw-  1 rms         13024 Apr  7  1988 remote.c
  -rw-rw-rw-  1 rms         22485 May 23  1988 source.c
***************
*** 167,171 ****
  -rw-rw-rw-  1 rms         12067 May  3  1988 standalone.c
  -rw-rw-rw-  1 rms          5366 Sep 30  1986 stuff.c
! -rw-rw-rw-  1 rms         15537 Jul 26 03:03 symmisc.c
  -rw-rw-rw-  1 rms         13976 Feb 17  1988 symseg.h
  -rw-rw-rw-  1 rms         30879 Apr  8  1988 symtab.c
--- 176,180 ----
  -rw-rw-rw-  1 rms         12067 May  3  1988 standalone.c
  -rw-rw-rw-  1 rms          5366 Sep 30  1986 stuff.c
! -rw-rw-rw-  1 rms         15537 Jul 26  1988 symmisc.c
  -rw-rw-rw-  1 rms         13976 Feb 17  1988 symseg.h
  -rw-rw-rw-  1 rms         30879 Apr  8  1988 symtab.c
***************
*** 180,184 ****
  -rw-rw-rw-  1 rms          8374 Dec 17  1987 valarith.c
  -rw-rw-rw-  1 rms         16436 Jan  7  1988 valops.c
! -rw-rw-rw-  1 rms         17003 Sep  3 12:04 valprint.c
  -rw-rw-rw-  1 rms          3799 Feb  6  1988 value.h
  -rw-rw-rw-  1 rms         19062 May 20  1988 values.c
--- 189,193 ----
  -rw-rw-rw-  1 rms          8374 Dec 17  1987 valarith.c
  -rw-rw-rw-  1 rms         16436 Jan  7  1988 valops.c
! -rw-rw-rw-  1 rms         17003 Sep  3  1988 valprint.c
  -rw-rw-rw-  1 rms          3799 Feb  6  1988 value.h
  -rw-rw-rw-  1 rms         19062 May 20  1988 values.c
***************
*** 185,193 ****
  -rw-rw-rw-  1 rms         12750 Jul 15  1986 vax-opcode.h
  -rw-rw-rw-  1 rms          5681 Jun 21  1988 vax-pinsn.c
! -rw-rw-rw-  1 rms            73 Sep  8 19:09 version.c
  -rw-rw-rw-  1 rms           961 May  1  1988 wait.h
! -rw-rw-rw-  1 rms         19446 Jul 20 18:15 xgdb.c
  
! ./info:
  total 2390
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
--- 194,202 ----
  -rw-rw-rw-  1 rms         12750 Jul 15  1986 vax-opcode.h
  -rw-rw-rw-  1 rms          5681 Jun 21  1988 vax-pinsn.c
! -rw-rw-rw-  1 rms            73 Sep  8  1988 version.c
  -rw-rw-rw-  1 rms           961 May  1  1988 wait.h
! -rw-rw-rw-  1 rms         19446 Jul 20  1988 xgdb.c
  
! info:
  total 2390
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
***************
*** 212,216 ****
  -rw-rw-rw-  1 rms          4451 Feb 12  1988 gdb-3
  -rw-rw-rw-  1 rms         27227 Apr  9  1988 info
! -rw-rw-rw-  1 randy        2001 Mar 10 14:20 termcap
  -rw-rw-rw-  1 rms         51296 Mar 10 14:20 termcap-1
  -rw-rw-rw-  1 rms         52436 Mar 10 14:20 termcap-2
--- 221,225 ----
  -rw-rw-rw-  1 rms          4451 Feb 12  1988 gdb-3
  -rw-rw-rw-  1 rms         27227 Apr  9  1988 info
! -rw-rw-rw-  1 rms          2001 Mar 10 14:20 termcap
  -rw-rw-rw-  1 rms         51296 Mar 10 14:20 termcap-1
  -rw-rw-rw-  1 rms         52436 Mar 10 14:20 termcap-2
***************
*** 223,232 ****
  -rw-rw-rw-  1 rms         78372 Feb 13  1988 vip
  
! ./lisp:
! total 6740
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms        134089 Apr 26 16:17 ChangeLog
! -rw-rw-rw-  1 rms          9549 Aug  4 15:26 abbrev.el
! -rw-rw-rw-  1 rms          7437 Aug 10 20:43 abbrev.elc
  -rw-rw-rw-  1 rms          1804 Apr 29  1987 abbrevlist.el
  -rw-rw-rw-  1 rms           457 May 13  1987 abbrevlist.elc
--- 232,241 ----
  -rw-rw-rw-  1 rms         78372 Feb 13  1988 vip
  
! lisp:
! total 6738
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms        136873 Aug 15 22:43 ChangeLog
! -rw-rw-rw-  1 rms          9549 Aug  4  1988 abbrev.el
! -rw-rw-rw-  1 rms          7437 Aug 10  1988 abbrev.elc
  -rw-rw-rw-  1 rms          1804 Apr 29  1987 abbrevlist.el
  -rw-rw-rw-  1 rms           457 May 13  1987 abbrevlist.elc
***************
*** 233,238 ****
  -rw-rw-rw-  1 rms         19512 Apr  9  1988 ada.el
  -rw-rw-rw-  1 rms         16382 Apr 11  1988 ada.elc
! -rw-rw-rw-  1 rms          3282 Aug 15 19:50 add-log.el
! -rw-rw-rw-  1 rms          1536 Aug 15 19:50 add-log.elc
  -rw-rw-rw-  1 rms          3640 Feb 23 06:47 autoinsert.el
  -rw-rw-rw-  1 rms         11876 Mar 19  1988 backquote.el
--- 242,247 ----
  -rw-rw-rw-  1 rms         19512 Apr  9  1988 ada.el
  -rw-rw-rw-  1 rms         16382 Apr 11  1988 ada.elc
! -rw-rw-rw-  1 rms          3282 Aug 15  1988 add-log.el
! -rw-rw-rw-  1 rms          1536 Aug 15  1988 add-log.elc
  -rw-rw-rw-  1 rms          3640 Feb 23 06:47 autoinsert.el
  -rw-rw-rw-  1 rms         11876 Mar 19  1988 backquote.el
***************
*** 247,257 ****
  -rw-rw-rw-  1 rms         40642 Mar 19  1988 bytecomp.el
  -rw-rw-rw-  1 rms         28944 Apr 11  1988 bytecomp.elc
! -rw-rw-rw-  1 rms          8836 Jul 18 00:36 c-fill.el
! -rw-rw-rw-  1 rms          3309 Jul 19 16:53 c-fill.elc
  -rw-rw-rw-  1 rms         24177 May 27  1988 c-mode.el
  -rw-rw-rw-  1 rms         12457 Jun  1  1988 c-mode.elc
  -rw-rw-rw-  1 rms         10097 Apr 20  1988 cal.el
! -rw-rw-rw-  1 rms          5944 Mar 18  1988 chistory.el
! -rw-rw-rw-  1 rms          4180 Apr 11  1988 chistory.elc
  -rw-rw-rw-  1 rms         19184 Apr 19  1988 cl-indent.el
  -rw-rw-rw-  1 rms          5841 Apr 20  1988 cl-indent.elc
--- 256,266 ----
  -rw-rw-rw-  1 rms         40642 Mar 19  1988 bytecomp.el
  -rw-rw-rw-  1 rms         28944 Apr 11  1988 bytecomp.elc
! -rw-rw-rw-  1 rms          8836 Jul 18  1988 c-fill.el
! -rw-rw-rw-  1 rms          3309 Jul 19  1988 c-fill.elc
  -rw-rw-rw-  1 rms         24177 May 27  1988 c-mode.el
  -rw-rw-rw-  1 rms         12457 Jun  1  1988 c-mode.elc
  -rw-rw-rw-  1 rms         10097 Apr 20  1988 cal.el
! -rw-rw-rw-  1 rms          6005 Jun  6 20:04 chistory.el
! -rw-rw-rw-  1 rms          4185 Jun  9 18:11 chistory.elc
  -rw-rw-rw-  1 rms         19184 Apr 19  1988 cl-indent.el
  -rw-rw-rw-  1 rms          5841 Apr 20  1988 cl-indent.elc
***************
*** 258,262 ****
  -rw-rw-rw-  1 rms         90670 Apr 10  1988 cl.el
  -rw-rw-rw-  1 rms         53720 Apr 11  1988 cl.elc
! -rw-rw-rw-  1 rms          1378 Apr 10  1988 cmacexp.el
  -rw-rw-rw-  1 rms          2121 Sep 30  1986 compare-w.el
  -rw-rw-rw-  1 rms           659 Sep 30  1986 compare-w.elc
--- 267,271 ----
  -rw-rw-rw-  1 rms         90670 Apr 10  1988 cl.el
  -rw-rw-rw-  1 rms         53720 Apr 11  1988 cl.elc
! -rw-rw-rw-  1 rms          1563 May 31 18:27 cmacexp.el
  -rw-rw-rw-  1 rms          2121 Sep 30  1986 compare-w.el
  -rw-rw-rw-  1 rms           659 Sep 30  1986 compare-w.elc
***************
*** 269,274 ****
  -rw-rw-rw-  1 rms          9240 Dec 28 23:22 debug.el
  -rw-rw-rw-  1 rms          6190 Dec 28 23:22 debug.elc
! -rw-rw-rw-  1 rms         21346 Aug  8 08:14 dired.el
! -rw-rw-rw-  1 rms         15602 Aug 10 20:43 dired.elc
  -rw-rw-rw-  1 rms         12361 Mar 19  1987 disass.el
  -rw-rw-rw-  1 rms          6599 Mar 19  1987 disass.elc
--- 278,283 ----
  -rw-rw-rw-  1 rms          9240 Dec 28 23:22 debug.el
  -rw-rw-rw-  1 rms          6190 Dec 28 23:22 debug.elc
! -rw-rw-rw-  1 rms         21346 Aug  8  1988 dired.el
! -rw-rw-rw-  1 rms         15602 Aug 10  1988 dired.elc
  -rw-rw-rw-  1 rms         12361 Mar 19  1987 disass.el
  -rw-rw-rw-  1 rms          6599 Mar 19  1987 disass.elc
***************
*** 275,279 ****
  -rw-rw-rw-  1 rms          3105 Sep 30  1986 dissociate.el
  -rw-rw-rw-  1 rms          1198 Sep 30  1986 dissociate.elc
! -rw-rw-rw-  1 rms          6636 Jul  8 05:41 doctex.el
  -rw-rw-rw-  1 rms         50878 Jan 21  1987 doctor.el
  -rw-rw-rw-  1 rms         43447 Jan 31  1987 doctor.elc
--- 284,288 ----
  -rw-rw-rw-  1 rms          3105 Sep 30  1986 dissociate.el
  -rw-rw-rw-  1 rms          1198 Sep 30  1986 dissociate.elc
! -rw-rw-rw-  1 rms          6636 Jul  8  1988 doctex.el
  -rw-rw-rw-  1 rms         50878 Jan 21  1987 doctor.el
  -rw-rw-rw-  1 rms         43447 Jan 31  1987 doctor.elc
***************
*** 290,297 ****
  -rw-rw-rw-  1 rms          2376 May 16  1987 electric.elc
  -rw-rw-rw-  1 rms          1681 Nov 11  1986 emacsbug.el
! -rw-rw-rw-  1 rms         38242 Aug  8 08:16 files.el
! -rw-rw-rw-  1 rms         29426 Aug 10 20:44 files.elc
! -rw-rw-rw-  1 rms          6809 Aug 18 22:37 fill.el
! -rw-rw-rw-  1 rms          3371 Aug 22 13:39 fill.elc
  -rw-rw-rw-  1 rms         10420 Jan 21  1987 flame.el
  -rw-rw-rw-  1 rms          9125 Jan 31  1987 flame.elc
--- 299,306 ----
  -rw-rw-rw-  1 rms          2376 May 16  1987 electric.elc
  -rw-rw-rw-  1 rms          1681 Nov 11  1986 emacsbug.el
! -rw-rw-rw-  1 rms         38310 Aug 15 22:31 files.el
! -rw-rw-rw-  1 rms         29464 Aug 15 22:45 files.elc
! -rw-rw-rw-  1 rms          6809 Aug 18  1988 fill.el
! -rw-rw-rw-  1 rms          3371 Aug 22  1988 fill.elc
  -rw-rw-rw-  1 rms         10420 Jan 21  1987 flame.el
  -rw-rw-rw-  1 rms          9125 Jan 31  1987 flame.elc
***************
*** 298,305 ****
  -rw-rw-rw-  1 rms         15113 Dec  2  1986 float.el
  -rw-rw-rw-  1 rms          8042 Dec  4  1986 float.elc
! -rw-rw-rw-  1 rms         27452 Sep  1 14:24 fortran.el
! -rw-rw-rw-  1 rms         20920 Sep  1 14:24 fortran.elc
! -rw-rw-rw-  1 rms         13318 Jul 19 02:21 ftp.el
! -rw-rw-rw-  1 rms          8658 Jul 19 16:32 ftp.elc
  -rw-rw-rw-  1 rms         14177 May 22  1988 gdb.el
  -rw-rw-rw-  1 rms          7626 May 22  1988 gdb.elc
--- 307,314 ----
  -rw-rw-rw-  1 rms         15113 Dec  2  1986 float.el
  -rw-rw-rw-  1 rms          8042 Dec  4  1986 float.elc
! -rw-rw-rw-  1 rms         27452 Sep  1  1988 fortran.el
! -rw-rw-rw-  1 rms         20920 Sep  1  1988 fortran.elc
! -rw-rw-rw-  1 rms         13318 Jul 19  1988 ftp.el
! -rw-rw-rw-  1 rms          8658 Jul 19  1988 ftp.elc
  -rw-rw-rw-  1 rms         14177 May 22  1988 gdb.el
  -rw-rw-rw-  1 rms          7626 May 22  1988 gdb.elc
***************
*** 312,317 ****
  -rw-rw-rw-  1 rms          5093 May 30  1988 helper.el
  -rw-rw-rw-  1 rms          3044 Jun  1  1988 helper.elc
! -rw-rw-rw-  1 rms         32352 Mar 19  1988 hideif.el
! -rw-rw-rw-  1 rms         17888 May  6  1988 hideif.elc
  -rw-rw-rw-  1 rms         19740 May  3  1988 icon.el
  -rw-rw-rw-  1 rms         10882 May  3  1988 icon.elc
--- 321,326 ----
  -rw-rw-rw-  1 rms          5093 May 30  1988 helper.el
  -rw-rw-rw-  1 rms          3044 Jun  1  1988 helper.elc
! -rw-rw-rw-  1 rms         32348 Jul 20 02:01 hideif.el
! -rw-rw-rw-  1 rms         17884 Jul 20 02:49 hideif.elc
  -rw-rw-rw-  1 rms         19740 May  3  1988 icon.el
  -rw-rw-rw-  1 rms         10882 May  3  1988 icon.elc
***************
*** 319,324 ****
  -rw-rw-rw-  1 rms          7491 Nov 19  1986 indent.el
  -rw-rw-rw-  1 rms          4961 Jan 31  1987 indent.elc
! -rw-rw-rw-  1 rms         23778 Jul 26 23:44 info.el
! -rw-rw-rw-  1 rms         15930 Aug 10 20:44 info.elc
  -rw-rw-rw-  1 rms         13722 Apr 21  1988 informat.el
  -rw-rw-rw-  1 rms          6734 Apr 21  1988 informat.elc
--- 328,333 ----
  -rw-rw-rw-  1 rms          7491 Nov 19  1986 indent.el
  -rw-rw-rw-  1 rms          4961 Jan 31  1987 indent.elc
! -rw-rw-rw-  1 rms         23780 Jul 20 02:24 info.el
! -rw-rw-rw-  1 rms         15935 Jul 20 02:50 info.elc
  -rw-rw-rw-  1 rms         13722 Apr 21  1988 informat.el
  -rw-rw-rw-  1 rms          6734 Apr 21  1988 informat.elc
***************
*** 329,334 ****
  -rw-rw-rw-  1 rms          2451 Jun 21  1988 keypad.elc
  -rw-rw-rw-  1 rms          4773 Sep 30  1986 ledit.el
! -rw-rw-rw-  1 rms         10281 Aug 23 16:56 life.el
! -rw-rw-rw-  1 rms          5223 Aug 23 16:56 life.elc
  -rw-rw-rw-  1 rms         22269 Apr  9  1988 lisp-mode.el
  -rw-rw-rw-  1 rms         11883 Apr 11  1988 lisp-mode.elc
--- 338,343 ----
  -rw-rw-rw-  1 rms          2451 Jun 21  1988 keypad.elc
  -rw-rw-rw-  1 rms          4773 Sep 30  1986 ledit.el
! -rw-rw-rw-  1 rms         10281 Aug 23  1988 life.el
! -rw-rw-rw-  1 rms          5219 Jul 20 18:23 life.elc
  -rw-rw-rw-  1 rms         22269 Apr  9  1988 lisp-mode.el
  -rw-rw-rw-  1 rms         11883 Apr 11  1988 lisp-mode.elc
***************
*** 335,340 ****
  -rw-rw-rw-  1 rms          7524 Jun  1  1987 lisp.el
  -rw-rw-rw-  1 rms          5131 Jun  1  1987 lisp.elc
! -rw-rw-rw-  1 rms         72380 Aug 15 19:50 loaddefs.el
! -rw-rw-rw-  1 rms          4523 Jul  5 14:00 loadup.el
  -rw-rw-rw-  1 rms          2747 Apr 11 01:05 lpr.el
  -rw-rw-rw-  1 rms          1517 Apr 13 17:43 lpr.elc
--- 344,349 ----
  -rw-rw-rw-  1 rms          7524 Jun  1  1987 lisp.el
  -rw-rw-rw-  1 rms          5131 Jun  1  1987 lisp.elc
! -rw-rw-rw-  1 rms         72380 Aug 15  1988 loaddefs.el
! -rw-rw-rw-  1 rms          4523 Jul  5  1988 loadup.el
  -rw-rw-rw-  1 rms          2747 Apr 11 01:05 lpr.el
  -rw-rw-rw-  1 rms          1517 Apr 13 17:43 lpr.elc
***************
*** 341,358 ****
  -rw-rw-rw-  1 rms          3991 Jan 21  1987 macros.el
  -rw-rw-rw-  1 rms          2356 Jan 21  1987 macros.elc
! -rw-rw-rw-  1 rms          6767 Sep 12  1987 mail-utils.el
! -rw-rw-rw-  1 rms          3056 Sep 12  1987 mail-utils.elc
! -rw-rw-rw-  1 rms          5736 Oct 31  1987 mailalias.el
! -rw-rw-rw-  1 rms          2006 Dec 23  1987 mailalias.elc
  -rw-rw-rw-  1 rms          2918 Sep 18  1986 mailpost.el
  -rw-rw-rw-  1 rms          3602 Sep 30  1986 makesum.el
  -rw-rw-rw-  1 rms          1285 Sep 30  1986 makesum.elc
! -rw-rw-rw-  1 rms          5310 May  8  1988 man.el
! -rw-rw-rw-  1 rms          2099 May 22  1988 man.elc
  -rw-rw-rw-  1 rms          4035 Sep 30  1986 medit.el
  -rw-rw-rw-  1 rms          2763 Sep 30  1986 medit.elc
  -rw-rw-rw-  1 rms           599 May 20  1988 meese.el
! -rw-rw-rw-  1 rms         87833 Sep  1 14:21 mh-e.el
! -rw-rw-rw-  1 rms         63007 Sep  1 14:25 mh-e.elc
  -rw-rw-rw-  1 rms         35989 Apr  9  1988 mim-mode.el
  -rw-rw-rw-  1 rms         20097 Apr 11  1988 mim-mode.elc
--- 350,367 ----
  -rw-rw-rw-  1 rms          3991 Jan 21  1987 macros.el
  -rw-rw-rw-  1 rms          2356 Jan 21  1987 macros.elc
! -rw-rw-rw-  1 rms          6791 Jun 25 13:06 mail-utils.el
! -rw-rw-rw-  1 rms          3077 Jun 25 13:07 mail-utils.elc
! -rw-rw-rw-  1 rms          5798 Jul  4 20:38 mailalias.el
! -rw-rw-rw-  1 rms          2037 Jul  4 21:08 mailalias.elc
  -rw-rw-rw-  1 rms          2918 Sep 18  1986 mailpost.el
  -rw-rw-rw-  1 rms          3602 Sep 30  1986 makesum.el
  -rw-rw-rw-  1 rms          1285 Sep 30  1986 makesum.elc
! -rw-rw-rw-  1 rms          5357 Jul  4 20:27 man.el
! -rw-rw-rw-  1 rms          2143 Jul  4 21:08 man.elc
  -rw-rw-rw-  1 rms          4035 Sep 30  1986 medit.el
  -rw-rw-rw-  1 rms          2763 Sep 30  1986 medit.elc
  -rw-rw-rw-  1 rms           599 May 20  1988 meese.el
! -rw-rw-rw-  1 rms         87833 Sep  1  1988 mh-e.el
! -rw-rw-rw-  1 rms         63007 Sep  1  1988 mh-e.elc
  -rw-rw-rw-  1 rms         35989 Apr  9  1988 mim-mode.el
  -rw-rw-rw-  1 rms         20097 Apr 11  1988 mim-mode.elc
***************
*** 366,375 ****
  -rw-rw-rw-  1 rms          9910 Jun  1  1988 modula2.elc
  -rw-rw-rw-  1 rms          4097 Jan 21  1987 novice.el
! -rw-rw-rw-  1 rms          7000 Jun 22  1988 nroff-mode.el
! -rw-rw-rw-  1 rms          4621 Jul 19 16:33 nroff-mode.elc
  -rw-rw-rw-  1 rms          4102 Dec  4  1987 options.el
  -rw-rw-rw-  1 rms          2742 Dec 23  1987 options.elc
! -rw-rw-rw-  1 rms         11919 Jul 26 19:30 outline.el
! -rw-rw-rw-  1 rms          9516 Aug 10 20:44 outline.elc
  -rw-rw-rw-  1 rms          4224 Nov 22  1987 page.el
  -rw-rw-rw-  1 rms          2165 Dec 23  1987 page.elc
--- 375,384 ----
  -rw-rw-rw-  1 rms          9910 Jun  1  1988 modula2.elc
  -rw-rw-rw-  1 rms          4097 Jan 21  1987 novice.el
! -rw-rw-rw-  1 rms          7010 Jul  4 20:32 nroff-mode.el
! -rw-rw-rw-  1 rms          4631 Jul  4 21:08 nroff-mode.elc
  -rw-rw-rw-  1 rms          4102 Dec  4  1987 options.el
  -rw-rw-rw-  1 rms          2742 Dec 23  1987 options.elc
! -rw-rw-rw-  1 rms         11919 Jul 26  1988 outline.el
! -rw-rw-rw-  1 rms          9516 Aug 10  1988 outline.elc
  -rw-rw-rw-  1 rms          4224 Nov 22  1987 page.el
  -rw-rw-rw-  1 rms          2165 Dec 23  1987 page.elc
***************
*** 389,394 ****
  -rw-rw-rw-  1 rms          9851 Sep  2  1987 rfc822.el
  -rw-rw-rw-  1 rms          4213 Sep  2  1987 rfc822.elc
! -rw-rw-rw-  1 rms         48196 Apr  6 19:26 rmail.el
! -rw-rw-rw-  1 rms         29281 Apr  7 21:57 rmail.elc
  -rw-rw-rw-  1 rms          3948 Feb 28  1987 rmailedit.el
  -rw-rw-rw-  1 rms          2258 Feb 28  1987 rmailedit.elc
--- 398,403 ----
  -rw-rw-rw-  1 rms          9851 Sep  2  1987 rfc822.el
  -rw-rw-rw-  1 rms          4213 Sep  2  1987 rfc822.elc
! -rw-rw-rw-  1 rms         48269 Jun 25 12:50 rmail.el
! -rw-rw-rw-  1 rms         29339 Jun 25 12:52 rmail.elc
  -rw-rw-rw-  1 rms          3948 Feb 28  1987 rmailedit.el
  -rw-rw-rw-  1 rms          2258 Feb 28  1987 rmailedit.elc
***************
*** 399,404 ****
  -rw-rw-rw-  1 rms          4735 Apr 14  1988 rmailout.el
  -rw-rw-rw-  1 rms          2287 Apr 15  1988 rmailout.elc
! -rw-rw-rw-  1 rms         14633 Jul 31 06:46 rmailsum.el
! -rw-rw-rw-  1 rms          9446 Aug 10 20:44 rmailsum.elc
  -rw-rw-rw-  1 rms         35567 May 22  1988 rnews.el
  -rw-rw-rw-  1 rms         23720 May 22  1988 rnews.elc
--- 408,413 ----
  -rw-rw-rw-  1 rms          4735 Apr 14  1988 rmailout.el
  -rw-rw-rw-  1 rms          2287 Apr 15  1988 rmailout.elc
! -rw-rw-rw-  1 rms         14633 Jul 31  1988 rmailsum.el
! -rw-rw-rw-  1 rms          9446 Aug 10  1988 rmailsum.elc
  -rw-rw-rw-  1 rms         35567 May 22  1988 rnews.el
  -rw-rw-rw-  1 rms         23720 May 22  1988 rnews.elc
***************
*** 405,428 ****
  -rw-rw-rw-  1 rms         15115 Jun 15  1988 rnewspost.el
  -rw-rw-rw-  1 rms          8920 Jun 21  1988 rnewspost.elc
! -rw-rw-rw-  1 rms          8684 Aug 15 17:02 saveconf.el
! -rw-rw-rw-  1 rms         18886 Jul 15 16:19 scheme.el
! -rw-rw-rw-  1 rms         10904 Jul 19 16:34 scheme.elc
  -rw-rw-rw-  1 rms         10735 Jan 22  1987 scribe.el
  -rw-rw-rw-  1 rms          7839 Jan 27  1987 scribe.elc
! -rw-rw-rw-  1 rms         15726 Jun  2  1988 sendmail.el
! -rw-rw-rw-  1 rms          9619 Jun 21  1988 sendmail.elc
! -rw-rw-rw-  1 rms         10435 Aug  4 19:38 server.el
! -rw-rw-rw-  1 rms          5251 Aug 10 20:44 server.elc
! -rw-rw-rw-  1 rms         16352 Jul  3 10:37 shell.el
! -rw-rw-rw-  1 rms         12030 Jul 19 16:34 shell.elc
! -rw-rw-rw-  1 rms         48206 Jul 22 06:14 simple.el
! -rw-rw-rw-  1 rms         37662 Jul 22 06:43 simple.elc
! -rw-rw-rw-  1 rms          5320 Aug 14 23:53 simula.defns
! -rw-rw-rw-  1 rms         29268 Aug 15 19:17 simula.el
! -rw-rw-rw-  1 rms         17293 Aug 15 19:20 simula.elc
  -rw-rw-rw-  1 rms         13035 May 30  1988 sort.el
  -rw-rw-rw-  1 rms          8815 Jun  1  1988 sort.elc
! -rw-rw-rw-  1 rms          4699 Dec 28 23:22 spell.el
! -rw-rw-rw-  1 rms          2605 Dec 28 23:24 spell.elc
  -rw-rw-rw-  1 rms          3741 Apr  9  1988 spook.el
  -rw-rw-rw-  1 rms          8755 Apr  7 22:03 startup.el
--- 414,437 ----
  -rw-rw-rw-  1 rms         15115 Jun 15  1988 rnewspost.el
  -rw-rw-rw-  1 rms          8920 Jun 21  1988 rnewspost.elc
! -rw-rw-rw-  1 rms          8684 Aug 15  1988 saveconf.el
! -rw-rw-rw-  1 rms         18886 Jul 15  1988 scheme.el
! -rw-rw-rw-  1 rms         10904 Jul 19  1988 scheme.elc
  -rw-rw-rw-  1 rms         10735 Jan 22  1987 scribe.el
  -rw-rw-rw-  1 rms          7839 Jan 27  1987 scribe.elc
! -rw-rw-rw-  1 rms         15850 May 17 14:27 sendmail.el
! -rw-rw-rw-  1 rms          9576 Jun  4 18:06 sendmail.elc
! -rw-rw-rw-  1 rms         10435 Aug  4  1988 server.el
! -rw-rw-rw-  1 rms          5251 Aug 10  1988 server.elc
! -rw-rw-rw-  1 rms         16352 Jul  3  1988 shell.el
! -rw-rw-rw-  1 rms         12030 Jul 19  1988 shell.elc
! -rw-rw-rw-  1 rms         48206 Jul 22  1988 simple.el
! -rw-rw-rw-  1 rms         37662 Jul 22  1988 simple.elc
! -rw-rw-rw-  1 rms          5320 Aug 14  1988 simula.defns
! -rw-rw-rw-  1 rms         29268 Aug 15  1988 simula.el
! -rw-rw-rw-  1 rms         17293 Aug 15  1988 simula.elc
  -rw-rw-rw-  1 rms         13035 May 30  1988 sort.el
  -rw-rw-rw-  1 rms          8815 Jun  1  1988 sort.elc
! -rw-rw-rw-  1 rms          4718 Jun  8 12:09 spell.el
! -rw-rw-rw-  1 rms          2616 Jun  9 18:11 spell.elc
  -rw-rw-rw-  1 rms          3741 Apr  9  1988 spook.el
  -rw-rw-rw-  1 rms          8755 Apr  7 22:03 startup.el
***************
*** 442,452 ****
  -rw-rw-rw-  1 rms          1988 Sep 30  1986 tabify.el
  -rw-rw-rw-  1 rms           786 Sep 30  1986 tabify.elc
! -rw-rw-rw-  1 rms         10338 Jul 29 13:45 tags.el
! -rw-rw-rw-  1 rms          7354 Aug 10 20:45 tags.elc
  -rw-rw-rw-  1 rms          8150 Apr 10  1988 telnet.el
  -rw-rw-rw-  1 rms          5442 Apr 11  1988 telnet.elc
  -rw-rw-rw-  1 rms         39305 Apr 15  1988 terminal.el
  -rw-rw-rw-  1 rms         23792 Apr 19  1988 terminal.elc
! -rw-rw-rw-  1 randy       16771 Mar 13 16:55 tex-mode.el
  -rw-rw-rw-  1 rms         12135 Mar 13 16:56 tex-mode.elc
  -rw-rw-rw-  1 rms           467 Aug 11  1986 tex-start.el
--- 451,462 ----
  -rw-rw-rw-  1 rms          1988 Sep 30  1986 tabify.el
  -rw-rw-rw-  1 rms           786 Sep 30  1986 tabify.elc
! -rw-rw-rw-  1 rms         10338 Jul 29  1988 tags.el
! -rw-rw-rw-  1 rms          7354 Aug 10  1988 tags.elc
  -rw-rw-rw-  1 rms          8150 Apr 10  1988 telnet.el
  -rw-rw-rw-  1 rms          5442 Apr 11  1988 telnet.elc
+ drwxrwxrwx  2 rms           512 Aug  5 16:00 term
  -rw-rw-rw-  1 rms         39305 Apr 15  1988 terminal.el
  -rw-rw-rw-  1 rms         23792 Apr 19  1988 terminal.elc
! -rw-rw-rw-  1 rms         16771 Mar 13 16:55 tex-mode.el
  -rw-rw-rw-  1 rms         12135 Mar 13 16:56 tex-mode.elc
  -rw-rw-rw-  1 rms           467 Aug 11  1986 tex-start.el
***************
*** 453,475 ****
  -rw-rw-rw-  1 rms         42439 Dec 28 23:11 texinfmt.el
  -rw-rw-rw-  1 rms         37326 Dec 28 23:24 texinfmt.elc
! -rw-rw-rw-  1 rms          6826 Aug  3 12:27 texinfo.el
! -rw-rw-rw-  1 rms          5590 Aug 10 20:45 texinfo.elc
! -rw-rw-rw-  1 rms          4519 Jul  2 00:24 text-mode.el
! -rw-rw-rw-  1 rms          3041 Jul 19 16:35 text-mode.elc
  -rw-rw-rw-  1 rms          3467 Jan 21  1987 time.el
  -rw-rw-rw-  1 rms          1412 Jan 21  1987 time.elc
! -rw-rw-rw-  1 rms          1154 Jul 20 14:23 uncompress.el
  -rw-rw-rw-  1 rms          1838 May 30  1988 underline.el
  -rw-rw-rw-  1 rms           739 Jun  1  1988 underline.elc
! -rw-rw-rw-  1 rms          3829 Aug  4 10:50 undigest.el
! -rw-rw-rw-  1 rms          1380 Aug 10 20:45 undigest.elc
  -rw-rw-rw-  1 rms          1083 Dec 14  1985 unused.el
  -rw-rw-rw-  1 rms          4690 May 26  1987 userlock.el
  -rw-rw-rw-  1 rms          3234 May 27  1987 userlock.elc
! -rw-rw-rw-  1 rms          1743 Apr 15 23:55 version.el
  -rw-rw-rw-  1 rms         57531 Jan  7  1987 vi.el
  -rw-rw-rw-  1 rms         48538 Jan  8  1987 vi.elc
! -rw-rw-rw-  1 rms         14636 Aug 21 21:04 view.el
! -rw-rw-rw-  1 rms         12520 Aug 22 13:39 view.elc
  -rw-rw-rw-  1 rms         97412 Feb 11  1988 vip.el
  -rw-rw-rw-  1 rms         69110 Feb 12  1988 vip.elc
--- 463,485 ----
  -rw-rw-rw-  1 rms         42439 Dec 28 23:11 texinfmt.el
  -rw-rw-rw-  1 rms         37326 Dec 28 23:24 texinfmt.elc
! -rw-rw-rw-  1 rms          6826 Aug  3  1988 texinfo.el
! -rw-rw-rw-  1 rms          5590 Aug 10  1988 texinfo.elc
! -rw-rw-rw-  1 rms          4519 Jul  2  1988 text-mode.el
! -rw-rw-rw-  1 rms          3041 Jul 19  1988 text-mode.elc
  -rw-rw-rw-  1 rms          3467 Jan 21  1987 time.el
  -rw-rw-rw-  1 rms          1412 Jan 21  1987 time.elc
! -rw-rw-rw-  1 rms          1154 Jul 20  1988 uncompress.el
  -rw-rw-rw-  1 rms          1838 May 30  1988 underline.el
  -rw-rw-rw-  1 rms           739 Jun  1  1988 underline.elc
! -rw-rw-rw-  1 rms          3829 Aug  4  1988 undigest.el
! -rw-rw-rw-  1 rms          1380 Aug 10  1988 undigest.elc
  -rw-rw-rw-  1 rms          1083 Dec 14  1985 unused.el
  -rw-rw-rw-  1 rms          4690 May 26  1987 userlock.el
  -rw-rw-rw-  1 rms          3234 May 27  1987 userlock.elc
! -rw-rw-rw-  1 rms          1743 Jun 10 00:34 version.el
  -rw-rw-rw-  1 rms         57531 Jan  7  1987 vi.el
  -rw-rw-rw-  1 rms         48538 Jan  8  1987 vi.elc
! -rw-rw-rw-  1 rms         14636 Aug 21  1988 view.el
! -rw-rw-rw-  1 rms         12520 Aug 22  1988 view.elc
  -rw-rw-rw-  1 rms         97412 Feb 11  1988 vip.el
  -rw-rw-rw-  1 rms         69110 Feb 12  1988 vip.elc
***************
*** 484,493 ****
  -rw-rw-rw-  1 rms         10679 Mar 24  1988 x-mouse.el
  -rw-rw-rw-  1 rms          9024 Apr 11  1988 x-mouse.elc
! -rw-rw-rw-  1 rms         32399 Aug 11 22:38 xscheme.el
! -rw-rw-rw-  1 rms         27400 Aug 11 22:39 xscheme.elc
  -rw-rw-rw-  1 rms          3002 Jan 21  1987 yow.el
  -rw-rw-rw-  1 rms          1233 Jan 31  1987 yow.elc
  
! ./lisp/term:
  total 114
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
--- 494,503 ----
  -rw-rw-rw-  1 rms         10679 Mar 24  1988 x-mouse.el
  -rw-rw-rw-  1 rms          9024 Apr 11  1988 x-mouse.elc
! -rw-rw-rw-  1 cph         30906 Apr 28 18:59 xscheme.el
! -rw-rw-rw-  1 cph         25651 Aug  9 19:23 xscheme.elc
  -rw-rw-rw-  1 rms          3002 Jan 21  1987 yow.el
  -rw-rw-rw-  1 rms          1233 Jan 31  1987 yow.elc
  
! lisp/term:
  total 114
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
***************
*** 498,502 ****
  -rw-rw-rw-  1 rms            44 Apr  6 23:27 bgrv.el
  -rw-rw-rw-  1 rms           321 Jan 31  1986 bobcat.el
! -rw-rw-rw-  1 rms          4996 Jul 18  1987 s4.el
  -rw-rw-rw-  1 rms         11494 Mar 15 23:33 sun.el
  -rw-rw-rw-  1 rms          2852 Jan 21  1987 supdup.el
--- 508,512 ----
  -rw-rw-rw-  1 rms            44 Apr  6 23:27 bgrv.el
  -rw-rw-rw-  1 rms           321 Jan 31  1986 bobcat.el
! -rw-rw-rw-  1 rms          5005 May 12 22:19 s4.el
  -rw-rw-rw-  1 rms         11494 Mar 15 23:33 sun.el
  -rw-rw-rw-  1 rms          2852 Jan 21  1987 supdup.el
***************
*** 507,518 ****
  -rw-rw-rw-  1 rms            47 Dec 14  1985 vt220.el
  -rw-rw-rw-  1 rms            47 Jan 31  1988 vt240.el
! -rw-rw-rw-  1 rms          7675 Aug 11 22:19 x-win.el
  -rw-rw-rw-  1 rms            89 Apr 26 21:52 xterm.el
  
! ./man:
! total 2782
! -rw-rw-rw-  1 rms          1301 Aug 16 17:37 ChangeLog
  -rw-rw-rw-  1 rms           639 Oct 16  1986 README
! -rw-rw-rw-  1 rms         31712 Aug 16 13:07 cl.texinfo
  -rw-rw-rw-  1 rms         17310 Jun 15  1988 emacs.aux
  -rw-rw-rw-  1 rms          6643 Jun 15  1988 emacs.cps
--- 517,528 ----
  -rw-rw-rw-  1 rms            47 Dec 14  1985 vt220.el
  -rw-rw-rw-  1 rms            47 Jan 31  1988 vt240.el
! -rw-rw-rw-  1 rms          7889 Jun 20 14:03 x-win.el
  -rw-rw-rw-  1 rms            89 Apr 26 21:52 xterm.el
  
! man:
! total 2794
! -rw-rw-rw-  1 rms          1301 Aug 16  1988 ChangeLog
  -rw-rw-rw-  1 rms           639 Oct 16  1986 README
! -rw-rw-rw-  1 rms         31712 Aug 16  1988 cl.texinfo
  -rw-rw-rw-  1 rms         17310 Jun 15  1988 emacs.aux
  -rw-rw-rw-  1 rms          6643 Jun 15  1988 emacs.cps
***************
*** 520,524 ****
  -rw-rw-rw-  1 rms          8961 Jun 15  1988 emacs.kys
  -rw-rw-rw-  1 rms             0 Jun 15  1988 emacs.pgs
! -rw-rw-rw-  1 rms        652958 Aug 16 17:37 emacs.tex
  -rw-rw-rw-  1 rms             0 Jun 15  1988 emacs.tps
  -rw-rw-rw-  1 rms          5389 Jun 15  1988 emacs.vrs
--- 530,534 ----
  -rw-rw-rw-  1 rms          8961 Jun 15  1988 emacs.kys
  -rw-rw-rw-  1 rms             0 Jun 15  1988 emacs.pgs
! -rw-rw-rw-  1 rms        652958 Aug 16  1988 emacs.tex
  -rw-rw-rw-  1 rms             0 Jun 15  1988 emacs.tps
  -rw-rw-rw-  1 rms          5389 Jun 15  1988 emacs.vrs
***************
*** 540,544 ****
  -rw-rw-rw-  1 rms             0 Apr 11  1988 termcap.tps
  -rw-rw-rw-  1 rms             0 Apr 11  1988 termcap.vrs
! -rw-rw-rw-  1 rms         42774 Jul 11 18:04 texindex.c
  -rw-rw-rw-  1 rms           292 Jun 30  1988 texinfo.aux
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.cps
--- 550,554 ----
  -rw-rw-rw-  1 rms             0 Apr 11  1988 termcap.tps
  -rw-rw-rw-  1 rms             0 Apr 11  1988 termcap.vrs
! -rw-rw-rw-  1 rms         42774 Jul 11  1988 texindex.c
  -rw-rw-rw-  1 rms           292 Jun 30  1988 texinfo.aux
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.cps
***************
*** 546,608 ****
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.kys
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.pgs
! -rw-rw-rw-  1 rms         63235 Aug 18 17:07 texinfo.tex
! -rw-rw-rw-  1 rms        188739 Jul 25 17:47 texinfo.texinfo
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.tps
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.vrs
! -rw-rw-rw-  1 rms         77510 Aug 16 13:37 vip.texinfo
  
! ./oldXMenu:
! total 254
! -r--r--r--  1 rms         14801 Feb 26  1988 Activate.c
! -r--r--r--  1 rms          2413 Feb 26  1988 AddPane.c
! -r--r--r--  1 rms          2227 Feb 26  1988 AddSel.c
! -r--r--r--  1 rms          1464 Feb 26  1988 ChgPane.c
! -r--r--r--  1 rms          2035 Feb 26  1988 ChgSel.c
! -r--r--r--  1 rms         21882 Feb 26  1988 Create.c
! -r--r--r--  1 rms          2013 Feb 26  1988 DelPane.c
! -r--r--r--  1 rms          1769 Feb 26  1988 DelSel.c
! -r--r--r--  1 rms          3336 Feb 26  1988 Destroy.c
! -r--r--r--  1 rms           664 Feb 26  1988 Error.c
! -r--r--r--  1 rms           519 Feb 26  1988 EvHand.c
! -r--r--r--  1 rms          1232 Feb 26  1988 FindPane.c
! -r--r--r--  1 rms          1410 Feb 26  1988 FindSel.c
! -r--r--r--  1 rms          1404 Sep  1 23:40 Imakefile
! -r--r--r--  1 rms          2709 Feb 26  1988 InsPane.c
! -r--r--r--  1 rms          2603 Feb 26  1988 InsSel.c
! -r--r--r--  1 rms         26320 Feb 26  1988 Internal.c
! -r--r--r--  1 rms          2208 Feb 26  1988 Locate.c
! -rw-r--r--  1 rms          4900 Feb 29  1988 Makefile
! -r--r--r--  1 rms          2701 Feb 26  1988 Post.c
! -r--r--r--  1 rms           181 Feb 26  1988 README
! -r--r--r--  1 rms          2284 Feb 26  1988 Recomp.c
! -r--r--r--  1 rms           725 Feb 26  1988 SetAEQ.c
! -r--r--r--  1 rms           665 Feb 26  1988 SetFrz.c
! -r--r--r--  1 rms           995 Feb 26  1988 SetPane.c
! -r--r--r--  1 rms          1213 Feb 26  1988 SetSel.c
! -r--r--r--  1 rms          9077 Feb 26  1988 XMenu.h
! -r--r--r--  1 rms          1474 Feb 26  1988 XMenuInt.h
  
! ./oldXMenu/debugger:
  total 0
  
! ./shortnames:
  total 34
! -rw-rw-rw-  1 rms          7742 Sep  3 21:24 COPYING
! -rw-rw-rw-  1 rms          1519 Sep  3 21:24 Makefile
! -rw-rw-rw-  1 rms           178 Sep  3 21:24 defines.c
! -rw-rw-rw-  1 rms           857 Sep  3 21:24 dups.c
! -rw-rw-rw-  1 rms           674 Sep  3 21:24 header.h
! -rw-rw-rw-  1 rms          1637 Sep  3 21:24 names.c
! -rw-rw-rw-  1 rms           220 Sep  3 21:24 reserved
! -rw-rw-rw-  1 rms           192 Sep  3 21:24 special
  
! ./src:
! total 4794
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms        171684 Apr 26 16:18 ChangeLog
! -rw-rw-rw-  1 rms           936 Aug 17 10:34 Makefile
  -rw-rw-rw-  1 rms          1273 Sep 14  1986 README
! -rw-rw-rw-  1 rms        214936 Apr 13 18:33 TAGS
! -rw-rw-rw-  1 rms          2774 Dec 18  1987 VMSBUILD
  -rw-rw-rw-  1 rms         15845 Dec  5  1986 abbrev.c
  -rw-rw-rw-  1 rms          1059 Jun  1  1986 acldef.h
--- 556,619 ----
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.kys
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.pgs
! -rw-rw-rw-  1 rms         68925 Jul  4 21:49 texinfo.tex
! -rw-rw-rw-  1 rms        188739 Jul 25  1988 texinfo.texinfo
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.tps
  -rw-rw-rw-  1 rms             0 Jun 30  1988 texinfo.vrs
! -rw-rw-rw-  1 rms         77510 Aug 16  1988 vip.texinfo
  
! oldXMenu:
! total 248
! -rw-rw-rw-  1 rms         14801 Feb 26  1988 Activate.c
! -rw-rw-rw-  1 rms          2413 Feb 26  1988 AddPane.c
! -rw-rw-rw-  1 rms          2227 Feb 26  1988 AddSel.c
! -rw-rw-rw-  1 rms          1464 Feb 26  1988 ChgPane.c
! -rw-rw-rw-  1 rms          2035 Feb 26  1988 ChgSel.c
! -rw-rw-rw-  1 rms         21882 Feb 26  1988 Create.c
! -rw-rw-rw-  1 rms          2013 Feb 26  1988 DelPane.c
! -rw-rw-rw-  1 rms          1769 Feb 26  1988 DelSel.c
! -rw-rw-rw-  1 rms          3336 Feb 26  1988 Destroy.c
! -rw-rw-rw-  1 rms           664 Feb 26  1988 Error.c
! -rw-rw-rw-  1 rms           519 Feb 26  1988 EvHand.c
! -rw-rw-rw-  1 rms          1232 Feb 26  1988 FindPane.c
! -rw-rw-rw-  1 rms          1410 Feb 26  1988 FindSel.c
! -rw-rw-rw-  1 rms          1404 Sep  1  1988 Imakefile
! -rw-rw-rw-  1 rms          2709 Feb 26  1988 InsPane.c
! -rw-rw-rw-  1 rms          2603 Feb 26  1988 InsSel.c
! -rw-rw-rw-  1 rms         26320 Feb 26  1988 Internal.c
! -rw-rw-rw-  1 rms          2208 Feb 26  1988 Locate.c
! -rw-rw-rw-  1 rms          1217 Aug 10 23:53 Makefile
! -rw-rw-rw-  1 rms          2701 Feb 26  1988 Post.c
! -rw-rw-rw-  1 rms           181 Feb 26  1988 README
! -rw-rw-rw-  1 rms          2284 Feb 26  1988 Recomp.c
! -rw-rw-rw-  1 rms           725 Feb 26  1988 SetAEQ.c
! -rw-rw-rw-  1 rms           665 Feb 26  1988 SetFrz.c
! -rw-rw-rw-  1 rms           995 Feb 26  1988 SetPane.c
! -rw-rw-rw-  1 rms          1213 Feb 26  1988 SetSel.c
! -rw-rw-rw-  1 rms          9077 Feb 26  1988 XMenu.h
! -rw-rw-rw-  1 rms          1474 Feb 26  1988 XMenuInt.h
! drwxrwxrwx  2 rms            24 Mar  7  1988 debugger
  
! oldXMenu/debugger:
  total 0
  
! shortnames:
  total 34
! -rw-rw-rw-  1 rms          7742 Sep  3  1988 COPYING
! -rw-rw-rw-  1 rms          1519 Sep  3  1988 Makefile
! -rw-rw-rw-  1 rms           178 Sep  3  1988 defines.c
! -rw-rw-rw-  1 rms           857 Sep  3  1988 dups.c
! -rw-rw-rw-  1 rms           674 Sep  3  1988 header.h
! -rw-rw-rw-  1 rms          1637 Sep  3  1988 names.c
! -rw-rw-rw-  1 rms           220 Sep  3  1988 reserved
! -rw-rw-rw-  1 rms           192 Sep  3  1988 special
  
! src:
! total 4828
  -rw-rw-rw-  5 rms          7742 Feb 11  1988 COPYING
! -rw-rw-rw-  1 rms        177587 Aug 18 18:02 ChangeLog
! -rw-rw-rw-  1 rms           972 Aug  7 21:12 Makefile
  -rw-rw-rw-  1 rms          1273 Sep 14  1986 README
! -rw-rw-rw-  1 rms        214625 Aug 21 18:07 TAGS
! -rw-rw-rw-  1 rms          2957 Jun  4 15:35 VMSBUILD
  -rw-rw-rw-  1 rms         15845 Dec  5  1986 abbrev.c
  -rw-rw-rw-  1 rms          1059 Jun  1  1986 acldef.h
***************
*** 609,614 ****
  -rw-rw-rw-  1 rms         38094 Feb 13 05:23 alloc.c
  -rw-rw-rw-  1 rms          5214 Oct 16  1986 alloca.c
! -rw-rw-rw-  1 rms          8399 Jul 15 03:16 alloca.s
! -rw-rw-rw-  1 rms         43854 Aug 15 23:07 buffer.c
  -rw-rw-rw-  1 rms          8360 Feb  8  1987 buffer.h
  -rw-rw-rw-  1 rms           239 Mar 20  1987 build.com
--- 620,625 ----
  -rw-rw-rw-  1 rms         38094 Feb 13 05:23 alloc.c
  -rw-rw-rw-  1 rms          5214 Oct 16  1986 alloca.c
! -rw-rw-rw-  1 rms          8427 Aug  6 17:56 alloca.s
! -rw-rw-rw-  1 rms         43855 Jul 20 18:36 buffer.c
  -rw-rw-rw-  1 rms          8360 Feb  8  1987 buffer.h
  -rw-rw-rw-  1 rms           239 Mar 20  1987 build.com
***************
*** 615,619 ****
  -rw-rw-rw-  1 rms         13912 Mar 17  1987 bytecode.c
  -rw-rw-rw-  1 rms         15316 Jun 28  1988 callint.c
! -rw-rw-rw-  1 rms         12004 Apr  6 12:21 callproc.c
  -rw-rw-rw-  1 rms          6923 Aug 14  1987 casefiddle.c
  -rw-rw-rw-  1 rms            90 Mar 17  1987 ccom.com
--- 626,630 ----
  -rw-rw-rw-  1 rms         13912 Mar 17  1987 bytecode.c
  -rw-rw-rw-  1 rms         15316 Jun 28  1988 callint.c
! -rw-rw-rw-  1 rms         12152 Jul 20 01:15 callproc.c
  -rw-rw-rw-  1 rms          6923 Aug 14  1987 casefiddle.c
  -rw-rw-rw-  1 rms            90 Mar 17  1987 ccom.com
***************
*** 625,629 ****
  -rw-rw-rw-  1 rms          1607 Mar 17  1987 compile.com
  -rw-rw-rw-  1 rms          3695 Apr 21  1988 config.h-dist
! -rw-rw-rw-  1 rms         17039 Aug 31 02:48 crt0.c
  -rw-rw-rw-  1 rms         43287 Feb 11 01:15 data.c
  -rw-rw-rw-  1 rms          2925 Feb 11  1988 dir.h
--- 636,640 ----
  -rw-rw-rw-  1 rms          1607 Mar 17  1987 compile.com
  -rw-rw-rw-  1 rms          3695 Apr 21  1988 config.h-dist
! -rw-rw-rw-  1 rms         17357 Jul 20 01:49 crt0.c
  -rw-rw-rw-  1 rms         43287 Feb 11 01:15 data.c
  -rw-rw-rw-  1 rms          2925 Feb 11  1988 dir.h
***************
*** 630,650 ****
  -rw-rw-rw-  1 rms         12717 Apr 10  1988 dired.c
  -rw-rw-rw-  1 rms          2595 Dec 10  1986 dispextern.h
! -rw-rw-rw-  1 rms         39777 Jan 11 16:28 dispnew.c
  -rw-rw-rw-  1 rms         11827 Mar 17  1987 doc.c
  -rw-rw-rw-  1 rms          3310 Jan  9  1988 doprnt.c
! -rw-rw-rw-  1 rms         27992 Dec 28 23:58 editfns.c
! -rw-rw-rw-  1 randy       15635 Mar 13 16:41 emacs.c
  -rw-rw-rw-  1 rms          7978 Nov  7  1986 environ.c
! -rw-rw-rw-  1 rms         55716 Aug  8 07:50 eval.c
! -rw-rw-rw-  1 rms         57793 Apr  6 21:42 fileio.c
  -rw-rw-rw-  1 rms          8667 Mar 24  1988 filelock.c
! -rw-rw-rw-  1 rms          9269 Aug 26 17:49 filemode.c
  -rw-rw-rw-  1 rms         33628 Apr  6 22:25 fns.c
  -rw-rw-rw-  1 rms           416 Jun  1  1986 getpagesize.h
! -rw-rw-rw-  1 rms         15163 Aug 15 22:51 indent.c
  -rw-rw-rw-  1 rms          1069 Sep 29  1986 indent.h
  -rw-rw-rw-  1 rms          8594 Feb  4  1988 insdel.c
  -rw-rw-rw-  1 rms            36 Jun  1  1986 ioctl.h
! -rw-rw-rw-  1 rms         51506 Mar 31 17:51 keyboard.c
  -rw-rw-rw-  1 rms         34522 Feb 24 06:36 keymap.c
  -rw-rw-rw-  1 rms          1571 Sep 29  1986 lastfile.c
--- 641,661 ----
  -rw-rw-rw-  1 rms         12717 Apr 10  1988 dired.c
  -rw-rw-rw-  1 rms          2595 Dec 10  1986 dispextern.h
! -rw-rw-rw-  1 rms         39886 Aug 12 12:30 dispnew.c
  -rw-rw-rw-  1 rms         11827 Mar 17  1987 doc.c
  -rw-rw-rw-  1 rms          3310 Jan  9  1988 doprnt.c
! -rw-rw-rw-  1 rms         28152 Jul 21 14:21 editfns.c
! -rw-rw-rw-  1 rms         15635 Mar 13 16:41 emacs.c
  -rw-rw-rw-  1 rms          7978 Nov  7  1986 environ.c
! -rw-rw-rw-  1 rms         55716 Aug  8  1988 eval.c
! -rw-rw-rw-  1 rms         57889 Jul  4 21:00 fileio.c
  -rw-rw-rw-  1 rms          8667 Mar 24  1988 filelock.c
! -rw-rw-rw-  1 rms          9269 Aug 26  1988 filemode.c
  -rw-rw-rw-  1 rms         33628 Apr  6 22:25 fns.c
  -rw-rw-rw-  1 rms           416 Jun  1  1986 getpagesize.h
! -rw-rw-rw-  1 rms         15163 Aug 15  1988 indent.c
  -rw-rw-rw-  1 rms          1069 Sep 29  1986 indent.h
  -rw-rw-rw-  1 rms          8594 Feb  4  1988 insdel.c
  -rw-rw-rw-  1 rms            36 Jun  1  1986 ioctl.h
! -rw-rw-rw-  1 rms         51928 Jul 20 01:32 keyboard.c
  -rw-rw-rw-  1 rms         34522 Feb 24 06:36 keymap.c
  -rw-rw-rw-  1 rms          1571 Sep 29  1986 lastfile.c
***************
*** 651,662 ****
  -rw-rw-rw-  1 rms           123 Sep 14  1986 link.com
  -rw-rw-rw-  1 rms         33503 Mar 30  1988 lisp.h
! -rw-rw-rw-  1 rms         32579 Aug  1 21:43 lread.c
! -rw-rw-rw-  1 rms          2714 Aug 12 14:41 m-7300.h
  -rw-rw-rw-  1 rms          4780 Apr 18 00:17 m-alliant.h
  -rw-rw-rw-  1 rms           131 Nov 21  1986 m-alliant1.h
! -rw-rw-rw-  1 rms           616 Aug 26 12:24 m-alliant4.h
  -rw-rw-rw-  1 rms          1786 Dec  4  1987 m-altos.h
! -rw-rw-rw-  1 rms          5377 Aug 29 19:06 m-amdahl.h
! -rw-rw-rw-  1 rms          2686 Aug 26 18:37 m-apollo.h
  -rw-rw-rw-  1 rms          5179 Jan 15  1988 m-att3b.h
  -rw-rw-rw-  1 rms          2134 Apr  7  1987 m-celerity.h
--- 662,673 ----
  -rw-rw-rw-  1 rms           123 Sep 14  1986 link.com
  -rw-rw-rw-  1 rms         33503 Mar 30  1988 lisp.h
! -rw-rw-rw-  1 rms         32579 Aug  1  1988 lread.c
! -rw-rw-rw-  1 rms          2720 May 12 22:09 m-7300.h
  -rw-rw-rw-  1 rms          4780 Apr 18 00:17 m-alliant.h
  -rw-rw-rw-  1 rms           131 Nov 21  1986 m-alliant1.h
! -rw-rw-rw-  1 rms           616 Aug 26  1988 m-alliant4.h
  -rw-rw-rw-  1 rms          1786 Dec  4  1987 m-altos.h
! -rw-rw-rw-  1 rms          5377 Aug 29  1988 m-amdahl.h
! -rw-rw-rw-  1 rms          2686 Aug 26  1988 m-apollo.h
  -rw-rw-rw-  1 rms          5179 Jan 15  1988 m-att3b.h
  -rw-rw-rw-  1 rms          2134 Apr  7  1987 m-celerity.h
***************
*** 667,683 ****
  -rw-rw-rw-  1 rms          2398 Oct  1  1986 m-gec63.h
  -rw-rw-rw-  1 rms          4073 Jan 15  1988 m-gould.h
! -rw-rw-rw-  1 rms          5000 Jun 10  1988 m-hp9000s300.h
! -rw-rw-rw-  1 rms          5768 Apr  9  1988 m-hp9000s800.h
! -rw-rw-rw-  1 rms          5622 Feb 17 01:47 m-ibmrt-aix.h
! -rw-rw-rw-  1 rms          4542 Aug 29 15:59 m-ibmrt.h
! -rw-rw-rw-  1 rms          4197 Mar 23  1988 m-intel386.h
  -rw-rw-rw-  1 rms          6771 Apr 17 20:13 m-iris4d.h
  -rw-rw-rw-  1 rms          5204 Jan 19  1988 m-irist.h
  -rw-rw-rw-  1 rms           220 Mar 29  1988 m-is386.h
! -rw-rw-rw-  1 rms          2643 Aug 30 17:25 m-isi-ov.h
  -rw-rw-rw-  1 rms          4750 Jan 15  1988 m-masscomp.h
  -rw-rw-rw-  1 rms          1780 Oct  1  1986 m-mega68.h
  -rw-rw-rw-  1 rms          4336 Jan 15  1988 m-mg1.h
! -rw-rw-rw-  1 rms          5698 Apr 24 01:50 m-mips.h
  -rw-rw-rw-  1 rms          1983 Apr 25 22:02 m-news.h
  -rw-rw-rw-  1 rms          1756 Mar 14  1987 m-ns16000.h
--- 678,695 ----
  -rw-rw-rw-  1 rms          2398 Oct  1  1986 m-gec63.h
  -rw-rw-rw-  1 rms          4073 Jan 15  1988 m-gould.h
! -rw-rw-rw-  1 rms          5241 Aug  6 17:59 m-hp9000s300.h
! -rw-rw-rw-  1 rms          5849 Jun  7 13:54 m-hp9000s800.h
! -rw-rw-rw-  1 rms          5002 Aug  5 16:24 m-ibmps2-aix.h
! -rw-rw-rw-  1 rms          5709 Aug  3 03:02 m-ibmrt-aix.h
! -rw-rw-rw-  1 rms          4542 Aug 29  1988 m-ibmrt.h
! -rw-rw-rw-  1 rms          4189 Jul 26 01:40 m-intel386.h
  -rw-rw-rw-  1 rms          6771 Apr 17 20:13 m-iris4d.h
  -rw-rw-rw-  1 rms          5204 Jan 19  1988 m-irist.h
  -rw-rw-rw-  1 rms           220 Mar 29  1988 m-is386.h
! -rw-rw-rw-  1 rms          2643 Aug 30  1988 m-isi-ov.h
  -rw-rw-rw-  1 rms          4750 Jan 15  1988 m-masscomp.h
  -rw-rw-rw-  1 rms          1780 Oct  1  1986 m-mega68.h
  -rw-rw-rw-  1 rms          4336 Jan 15  1988 m-mg1.h
! -rw-rw-rw-  1 rms          5763 Jun 22 19:35 m-mips.h
  -rw-rw-rw-  1 rms          1983 Apr 25 22:02 m-news.h
  -rw-rw-rw-  1 rms          1756 Mar 14  1987 m-ns16000.h
***************
*** 684,691 ****
  -rw-rw-rw-  1 rms          2392 Nov  7  1986 m-nu.h
  -rw-rw-rw-  1 rms          2486 Oct  1  1986 m-orion.h
! -rw-rw-rw-  1 rms          2669 Jul 17 15:01 m-orion105.h
  -rw-rw-rw-  1 rms          3939 Jan 15  1988 m-plexus.h
! -rw-rw-rw-  1 rms          2045 Aug 30 16:24 m-pyramid.h
! -rw-rw-rw-  1 randy        5141 Mar 16 13:40 m-sequent.h
  -rw-rw-rw-  1 rms            21 Mar 18  1988 m-sgi3000.h
  -rw-rw-rw-  1 rms          3234 Dec  2  1987 m-sparc.h
--- 696,704 ----
  -rw-rw-rw-  1 rms          2392 Nov  7  1986 m-nu.h
  -rw-rw-rw-  1 rms          2486 Oct  1  1986 m-orion.h
! -rw-rw-rw-  1 rms          2669 Jul 17  1988 m-orion105.h
  -rw-rw-rw-  1 rms          3939 Jan 15  1988 m-plexus.h
! -rw-rw-rw-  1 rms            58 Jun  8 12:53 m-pmax.h
! -rw-rw-rw-  1 rms          2045 Aug 30  1988 m-pyramid.h
! -rw-rw-rw-  1 rms          5141 Mar 16 13:40 m-sequent.h
  -rw-rw-rw-  1 rms            21 Mar 18  1988 m-sgi3000.h
  -rw-rw-rw-  1 rms          3234 Dec  2  1987 m-sparc.h
***************
*** 695,699 ****
  -rw-rw-rw-  1 rms           374 May 14  1988 m-sun3.h
  -rw-rw-rw-  1 rms          2235 Dec 28 23:48 m-sun386.h
! -rw-rw-rw-  1 rms          2335 Aug 31 19:32 m-tahoe.h
  -rw-rw-rw-  1 rms          3767 Jan 15  1988 m-targon31.h
  -rw-rw-rw-  1 rms          2954 Apr  8  1988 m-tek4300.h
--- 708,712 ----
  -rw-rw-rw-  1 rms           374 May 14  1988 m-sun3.h
  -rw-rw-rw-  1 rms          2235 Dec 28 23:48 m-sun386.h
! -rw-rw-rw-  1 rms          2335 Aug 31  1988 m-tahoe.h
  -rw-rw-rw-  1 rms          3767 Jan 15  1988 m-targon31.h
  -rw-rw-rw-  1 rms          2954 Apr  8  1988 m-tek4300.h
***************
*** 714,732 ****
  -rw-rw-rw-  1 rms           398 Jun  9  1986 pre-crt0.c
  -rw-rw-rw-  1 rms           215 Mar 17  1987 precomp.com
! -rw-rw-rw-  1 rms         17295 Jul 28 11:12 print.c
! -rw-rw-rw-  1 rms         59800 Apr 18 13:00 process.c
  -rw-rw-rw-  1 rms          2894 Sep 29  1986 process.h
  -rw-rw-rw-  1 rms          1245 Sep 29  1986 pwd.h
  -rw-rw-rw-  1 rms           757 Mar 17  1987 recomp.com
! -rw-rw-rw-  1 rms         48673 Aug 18 14:24 regex.c
! -rw-rw-rw-  1 rms         12504 Aug 13 14:15 regex.h
  -rw-rw-rw-  1 rms          3898 Mar  5  1987 s-bsd4-1.h
  -rw-rw-rw-  1 rms          3409 Mar  5  1987 s-bsd4-2.h
  -rw-rw-rw-  1 rms          3436 May 14  1988 s-bsd4-3.h
! -rw-rw-rw-  1 randy        7102 Mar 14 17:49 s-hpux.h
  -rw-rw-rw-  1 rms          5279 May 28  1988 s-iris3-5.h
  -rw-rw-rw-  1 rms          5290 Dec 28 23:46 s-iris3-6.h
! -rw-rw-rw-  1 rms          5045 Jul 12 22:05 s-rtu.h
! -rw-rw-rw-  1 rms           304 Aug  5 20:02 s-sunos4.h
  -rw-rw-rw-  1 rms          4612 Oct 31  1986 s-template.h
  -rw-rw-rw-  1 rms          5298 Apr 13  1988 s-umax.h
--- 727,745 ----
  -rw-rw-rw-  1 rms           398 Jun  9  1986 pre-crt0.c
  -rw-rw-rw-  1 rms           215 Mar 17  1987 precomp.com
! -rw-rw-rw-  1 rms         17295 Jul 28  1988 print.c
! -rw-rw-rw-  1 rms         60299 Aug  6 18:01 process.c
  -rw-rw-rw-  1 rms          2894 Sep 29  1986 process.h
  -rw-rw-rw-  1 rms          1245 Sep 29  1986 pwd.h
  -rw-rw-rw-  1 rms           757 Mar 17  1987 recomp.com
! -rw-rw-rw-  1 rms         48673 Aug 18  1988 regex.c
! -rw-rw-rw-  1 rms         12504 Aug 13  1988 regex.h
  -rw-rw-rw-  1 rms          3898 Mar  5  1987 s-bsd4-1.h
  -rw-rw-rw-  1 rms          3409 Mar  5  1987 s-bsd4-2.h
  -rw-rw-rw-  1 rms          3436 May 14  1988 s-bsd4-3.h
! -rw-rw-rw-  1 rms          7102 Jun  7 13:54 s-hpux.h
  -rw-rw-rw-  1 rms          5279 May 28  1988 s-iris3-5.h
  -rw-rw-rw-  1 rms          5290 Dec 28 23:46 s-iris3-6.h
! -rw-rw-rw-  1 rms          5045 Jul 12  1988 s-rtu.h
! -rw-rw-rw-  1 rms           304 Aug  5  1988 s-sunos4.h
  -rw-rw-rw-  1 rms          4612 Oct 31  1986 s-template.h
  -rw-rw-rw-  1 rms          5298 Apr 13  1988 s-umax.h
***************
*** 736,740 ****
  -rw-rw-rw-  1 rms          5259 Mar  5  1987 s-usg5-2-2.h
  -rw-rw-rw-  1 rms          5272 Mar  5  1987 s-usg5-2.h
! -rw-rw-rw-  1 rms          5679 Jul 24 18:12 s-usg5-3.h
  -rw-rw-rw-  1 rms          7359 Feb 13  1988 s-vms.h
  -rw-rw-rw-  1 rms            34 Feb  8  1987 s-vms4-0.h
--- 749,753 ----
  -rw-rw-rw-  1 rms          5259 Mar  5  1987 s-usg5-2-2.h
  -rw-rw-rw-  1 rms          5272 Mar  5  1987 s-usg5-2.h
! -rw-rw-rw-  1 rms          5751 May 12 22:14 s-usg5-3.h
  -rw-rw-rw-  1 rms          7359 Feb 13  1988 s-vms.h
  -rw-rw-rw-  1 rms            34 Feb  8  1987 s-vms4-0.h
***************
*** 743,747 ****
  -rw-rw-rw-  1 rms          6612 Apr  9  1988 s-xenix.h
  -rw-rw-rw-  1 rms         14646 Mar 19  1988 scroll.c
! -rw-rw-rw-  1 rms         38390 Dec 28 23:47 search.c
  -rw-rw-rw-  1 rms          1328 Mar 24  1988 sink.h
  -rw-rw-rw-  1 rms          1993 Mar 23  1988 sink11.h
--- 756,760 ----
  -rw-rw-rw-  1 rms          6612 Apr  9  1988 s-xenix.h
  -rw-rw-rw-  1 rms         14646 Mar 19  1988 scroll.c
! -rw-rw-rw-  1 rms         38395 Aug  3 02:05 search.c
  -rw-rw-rw-  1 rms          1328 Mar 24  1988 sink.h
  -rw-rw-rw-  1 rms          1993 Mar 23  1988 sink11.h
***************
*** 751,755 ****
  -rw-rw-rw-  1 rms         29886 Jan 19  1988 syntax.c
  -rw-rw-rw-  1 rms          3423 Sep 29  1986 syntax.h
! -rw-rw-rw-  1 rms         82235 Apr 24 01:26 sysdep.c
  -rw-rw-rw-  1 rms           770 Jun 29  1987 temacs.opt
  -rw-rw-rw-  1 rms         32524 Mar 29 10:49 term.c
--- 764,768 ----
  -rw-rw-rw-  1 rms         29886 Jan 19  1988 syntax.c
  -rw-rw-rw-  1 rms          3423 Sep 29  1986 syntax.h
! -rw-rw-rw-  1 rms         82586 Aug  7 21:50 sysdep.c
  -rw-rw-rw-  1 rms           770 Jun 29  1987 temacs.opt
  -rw-rw-rw-  1 rms         32524 Mar 29 10:49 term.c
***************
*** 762,771 ****
  -rw-rw-rw-  1 rms         11391 Apr  6 23:55 tparam.c
  -rw-rw-rw-  1 rms          9119 Sep 29  1986 uaf.h
! -rw-rw-rw-  1 rms         10717 Aug  9 19:08 undo.c
  -rw-rw-rw-  1 rms          2694 Sep 29  1986 undo.h
  -rw-rw-rw-  1 rms         26713 May 10  1988 unexconvex.c
! -rw-rw-rw-  1 rms         27554 Aug 20 12:22 unexec.c
  -rw-rw-rw-  1 rms         12344 Apr 24  1988 unexenix.c
! -rw-rw-rw-  1 rms          9003 Aug 31 11:36 unexhp9k800.c
  -rw-rw-rw-  1 rms         13145 Jan 12 19:14 unexmips.c
  -rw-rw-rw-  1 rms            70 Jun  1  1986 vlimit.h
--- 775,784 ----
  -rw-rw-rw-  1 rms         11391 Apr  6 23:55 tparam.c
  -rw-rw-rw-  1 rms          9119 Sep 29  1986 uaf.h
! -rw-rw-rw-  1 rms         10717 Aug  9  1988 undo.c
  -rw-rw-rw-  1 rms          2694 Sep 29  1986 undo.h
  -rw-rw-rw-  1 rms         26713 May 10  1988 unexconvex.c
! -rw-rw-rw-  1 rms         27554 Aug 20  1988 unexec.c
  -rw-rw-rw-  1 rms         12344 Apr 24  1988 unexenix.c
! -rw-rw-rw-  1 rms          9003 Aug 31  1988 unexhp9k800.c
  -rw-rw-rw-  1 rms         13145 Jan 12 19:14 unexmips.c
  -rw-rw-rw-  1 rms            70 Jun  1  1986 vlimit.h
***************
*** 772,776 ****
  -rw-rw-rw-  1 rms          7265 Jan 10  1987 vms-pp.c
  -rw-rw-rw-  1 rms           549 Nov  5  1986 vms-pp.trans
! -rw-rw-rw-  1 rms         24787 Aug 15 23:05 vmsfns.c
  -rw-rw-rw-  1 rms          6165 Apr 25  1987 vmsmap.c
  -rw-rw-rw-  1 rms           649 May 22  1987 vmspaths.h
--- 785,789 ----
  -rw-rw-rw-  1 rms          7265 Jan 10  1987 vms-pp.c
  -rw-rw-rw-  1 rms           549 Nov  5  1986 vms-pp.trans
! -rw-rw-rw-  1 rms         26187 Aug 18 18:01 vmsfns.c
  -rw-rw-rw-  1 rms          6165 Apr 25  1987 vmsmap.c
  -rw-rw-rw-  1 rms           649 May 22  1987 vmspaths.h
***************
*** 777,787 ****
  -rw-rw-rw-  1 rms         55077 Jun 10  1988 window.c
  -rw-rw-rw-  1 rms          8552 Feb 19  1987 window.h
! -rw-rw-rw-  1 rms         22104 Feb 24 06:36 x11fns.c
! -rw-rw-rw-  1 rms         52924 Apr  6 13:45 x11term.c
  -rw-rw-rw-  1 rms           583 Apr 19  1988 x11term.h
  -rw-rw-rw-  1 rms         57449 Apr 26 16:13 xdisp.c
! -rw-rw-rw-  1 rms         37663 Aug 10 00:28 xfns.c
! -rw-rw-rw-  1 rms         11727 Apr  6 21:36 xmenu.c
  -rw-rw-rw-  1 rms         46341 Dec 28 23:09 xterm.c
  -rw-rw-rw-  1 rms          1186 Sep  7  1987 xterm.h
! -rw-rw-rw-  1 rms         13594 Apr 19 20:26 ymakefile
--- 790,800 ----
  -rw-rw-rw-  1 rms         55077 Jun 10  1988 window.c
  -rw-rw-rw-  1 rms          8552 Feb 19  1987 window.h
! -rw-rw-rw-  1 rms         22421 Aug 13 15:54 x11fns.c
! -rw-rw-rw-  1 rms         53218 Aug  2 22:56 x11term.c
  -rw-rw-rw-  1 rms           583 Apr 19  1988 x11term.h
  -rw-rw-rw-  1 rms         57449 Apr 26 16:13 xdisp.c
! -rw-rw-rw-  1 rms         38193 Aug 13 15:53 xfns.c
! -rw-rw-rw-  1 rms         11952 Aug 11 22:24 xmenu.c
  -rw-rw-rw-  1 rms         46341 Dec 28 23:09 xterm.c
  -rw-rw-rw-  1 rms          1186 Sep  7  1987 xterm.h
! -rw-rw-rw-  1 rms         13885 Jun 16 22:17 ymakefile
diff -rc2N dist-18.54/etc/ChangeLog dist-18.55/etc/ChangeLog
*** dist-18.54/etc/ChangeLog	Tue Apr 18 21:32:26 1989
--- dist-18.55/etc/ChangeLog	Thu Jun 15 12:53:59 1989
***************
*** 1,2 ****
--- 1,10 ----
+ Thu Jun 15 12:53:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* movemail.c [USG]: Define F_OK, etc., if not in header.
+ 
+ Fri May 12 22:08:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* etags.c (readline): Split call to xrealloc for 3b1 cc bug.
+ 
  Tue Apr 18 21:31:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
  
diff -rc2N dist-18.54/etc/MACHINES dist-18.55/etc/MACHINES
*** dist-18.54/etc/MACHINES	Tue Apr 25 22:06:10 1989
--- dist-18.55/etc/MACHINES	Thu Jul 20 01:23:44 1989
***************
*** 1,4 ****
  This is a list of the status of GNU Emacs on various machines and systems.
! Last updated 25 April 1989
  
  Systems:
--- 1,4 ----
  This is a list of the status of GNU Emacs on various machines and systems.
! Last updated 20 July 1989
  
  Systems:
***************
*** 56,59 ****
--- 56,62 ----
    On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h.
  
+   Sorry, shared libraries do not work with Emacs currently (in 18.55).
+   They will be supported in the future.
+ 
  Ultrix
  
***************
*** 282,285 ****
--- 285,294 ----
    Compile it by hand without optimization.
  
+ IBM PS2 (m-ibmps2-aix.h; s-usg5-2-2.h)
+ 
+   Changes mostly merged in 18.55.
+   You may need to put an #ifndef AIX conditional
+   around the definition of closedir in sysdep.c.
+ 
  IBM RT/PC (m-ibmrt.h or m-ibmrt-aix.h; s-bsd4-2.h or s-usg5-2-2.h)
  
***************
*** 399,402 ****
--- 408,415 ----
  
    Works as of 17.56.
+ 
+ Pmax, Mips from DEC (m-pmax.h; s-bsd4-3.h)
+ 
+   Minor changes merged in 18.55.
  
  Prime EXL (m-intel386.h, s-usg5-3.h)
diff -rc2N dist-18.54/etc/Makefile dist-18.55/etc/Makefile
*** dist-18.54/etc/Makefile	Mon Apr 17 19:34:45 1989
--- dist-18.55/etc/Makefile	Sun Jul 30 20:54:45 1989
***************
*** 50,54 ****
  	$(CC) -o fakemail ${CFLAGS} fakemail.c $(LOADLIBES)
  
! yow: yow.c
  	$(CC) -o yow ${CFLAGS} yow.c $(LOADLIBES)
  
--- 50,54 ----
  	$(CC) -o fakemail ${CFLAGS} fakemail.c $(LOADLIBES)
  
! yow: yow.c ../src/paths.h
  	$(CC) -o yow ${CFLAGS} yow.c $(LOADLIBES)
  
diff -rc2N dist-18.54/etc/SERVICE dist-18.55/etc/SERVICE
*** dist-18.54/etc/SERVICE	Sat Sep  3 11:18:54 1988
--- dist-18.55/etc/SERVICE	Tue Jul  4 21:01:52 1989
***************
*** 27,62 ****
  non-GNU-related proprietary information).  You may spontaneously
  mention your availability for general consulting, but you should not
! promote the unrelated business unless the client asks.
  ▶1f◀
! Giuseppe Attardi <mcvax!delphi!dipisa!attardi>
  Dipartimento di Informatica
  Corso Italia 40
  I-56100 Pisa, ITALY
! +39 (50) 40862
  Emacs: installation aid, question answering
  
  Rates: Free
  
! Entered 3/25/86
  ▶1f◀
! Ian G Batten <BattenIG%cs.bham.ac.uk@uunet.uu.net> <mcvax!ukc!bhamcs!BattenIG>
  One, Ditton Grove,   Home: +44 21 476 3782
! Birmingham,         Work: +44 21 414 4766
  B31 4RY,
  England.
  
! Emacs: I will assist in porting, customising, extending, teaching and
! trouble-shooting Emacs.  I've recently been teaching it at new-user
  level and am happy to do so for other people.
  
! Rates: 200 pounds/day, or less for non-profits.  Free to non-profits.
  
! I had a large hand in the Sun "Emacstool" facility, and have been
! involved in maintaining Emacs on Unix and VMS for two years now.  Prior
! to that I wrote a lot of extensions for Multics' Emacs.
  
! Entered: 17 Dec 1987
  ▶1f◀
! Bard Bloom <bard@theory.lcs.mit.edu>
  NE43-301, 545 Technology Square, 
  Cambridge, Mass, 02139
--- 27,80 ----
  non-GNU-related proprietary information).  You may spontaneously
  mention your availability for general consulting, but you should not
! promote a specific unrelated business unless the client asks.
! 
! ** Please keep this file alphabetical **
! 
  ▶1f◀
! Giuseppe Attardi	<attardi%dipisa.uucp@uunet.uu.net>
  Dipartimento di Informatica
  Corso Italia 40
  I-56100 Pisa, ITALY
! +39 (50) 510111
  Emacs: installation aid, question answering
  
+ Revised: 3/24/89
+ ▶1f◀
+ Andrea Baldi            <delphi!abaldi@uunet.uu.net>
+                         <abaldi%delphi.uucp@uunet.uu.net>
+                         ...!sun!delphi!abaldi
+ 
+ DELPHI S.p.A.
+ Via della Vetraia 11
+ I-55049 Viareggio, Italy
+ Tel: +39 (584) 395225
+ Gnuemacs: installation and upgrading aid, answering, customization, 
+ 	  gnuemacs-X11 relationship.
+ Gcc:      installation and upgrading aid.
+ 
  Rates: Free
  
! Entered: 3/1/89
  ▶1f◀
! Ian G Batten	<igb%fulcrum.bt.co.uk@uunet.uu.net>
! 		<...!uunet!mcvax!ukc!fulcrum!igb>
  One, Ditton Grove,   Home: +44 21 476 3782
! Birmingham,         Work: +44 21 771 2001 x5759
  B31 4RY,
  England.
  
! Emacs: I will  assist in porting,  customising,  extending, teaching and
! trouble-shooting Emacs.   I've  recently been  teaching  it  at new-user
  level and am happy to do so for other people.
  
! Rates: 200 pounds/day, or less for non-profits.
  
! I had a large  hand  in   the  Sun "Emacstool"  facility, and have  been
! involved in  maintaining Emacs on   Unix  and VMS  for three years  now.
! Prior to that I wrote a lot of extensions for Multics' Emacs.
  
! Revised: 3/1/89
  ▶1f◀
! Bard Bloom	<bard@theory.lcs.mit.edu>
  NE43-301, 545 Technology Square, 
  Cambridge, Mass, 02139
***************
*** 63,78 ****
  (617) 253-6097
  
! Emacs: Installation, customization, answering questions, troubleshooting.
  
  Experience:  I have maintained GNU Emacs on the Theory Group computers
!   at MIT for two years, and done a good deal of GNU Emacs lisp programming.
    I am currently a Ph.D. student in Computer Science at MIT.
  
! Rates: $25/hr.
  
! Entered: 17 Dec 1987
  ▶1f◀
! Stuart Cracraft  <cracraft@venera.isi.edu>
! UUCP: berkeley!cracraft%venera.isi.edu
  3021-B Harbor Blvd.
  Costa Mesa, Ca. 92626
--- 81,120 ----
  (617) 253-6097
  
! Emacs: Installation, customization, answering questions, troubleshooting,
!   writing large programs and major modes.
  
  Experience:  I have maintained GNU Emacs on the Theory Group computers
!   at MIT for several years, and done a good deal of GNU Emacs lisp
!   programming, including several major modes, and two database
!   interfaces. (I have written some 15,000 lines of GNU Emacs code.) 
    I am currently a Ph.D. student in Computer Science at MIT.
  
! Rates: $50/hr.
  
! Revised: 2/26/89
  ▶1f◀
! C2V
! 38, rue Mauconseil
! 75001 Paris
! France
! Renaud Dumeur	<red@litp.unip6-7.fr>
! Jean-Daniel Fekete	<jdf@litp.unip6-7.fr>
! Jean-Michel Casaubon
! (1) 42 47 19 28
! Fax: (1) 40 22 06 10
! Emacs:	questions answered, installation, teaching (all levels), elisp
! 	and C extensions and customization, porting, troubleshooting
! gcc:	installation, extensions, porting
! gdb:	installation, debugging, porting
! X11R3:	installation, debugging, internationalization
! 
! Experience: yes (ask for details)
! 
! Rates: 500ff/hr, negotiable.
! 
! Entered: 2/21/89
! ▶1f◀
! Stuart Cracraft	<cracraft@venera.isi.edu>
! UUCP: 		<ucbvax!venera.isi.edu!cracraft>
  3021-B Harbor Blvd.
  Costa Mesa, Ca. 92626
***************
*** 93,97 ****
  Entered: 5/17/86
  ▶1f◀
! Dario Dariol <mcvax!delphi!dariol>
  DELPHI SpA
  via della Vetraia 11
--- 135,139 ----
  Entered: 5/17/86
  ▶1f◀
! Dario Dariol	<mcvax!delphi!dariol@uunet.uu.net>
  DELPHI SpA
  via della Vetraia 11
***************
*** 104,108 ****
  Entered: 3/25/86
  ▶1f◀
! Bradley N. Davis <b-davis@cs.utah.edu> or <b-davis@cai.utah.edu>
  3242 South 540 West
  Bountiful, UT  84010
--- 146,151 ----
  Entered: 3/25/86
  ▶1f◀
! Bradley N. Davis	<b-davis@cs.utah.edu>
! 			<b-davis@cai.utah.edu>
  3242 South 540 West
  Bountiful, UT  84010
***************
*** 114,130 ****
  Entered 9/29/87
  ▶1f◀
! Digital Works Ltd.   <Digital.Works@sendai.uucp>
! 6 Parkview Place, Suite 5
! Ann Arbor, MI  48103
! (313) 663-4808
  
! Services: questions answered, customization, troubleshooting, porting.
! Rates: Short phone questions free.  Current rates start at $50/hr.
  
! Entered 18 Dec 1987
  ▶1f◀
! Bruce Eckel <morgan>
! ARPA: fluke!morgan@uw-beaver
! UUCP: {uw-beaver, sun, allegra, sb6, lbl-csam}!fluke!morgan
  c/o John Fluke Mfg. Co., P.O. Box C9090 M/S 266D
  Everett, WA  98206         (206) 356-6258	
--- 157,200 ----
  Entered 9/29/87
  ▶1f◀
! Alexander Dupuy <dupuy@cs.columbia.edu>
  
! 280 Riverside Drive #10G
! New York, NY 10025
! (212) 678-0130
! (212) 854-4290 (work)
! 
! Gnu Compiler utilities: GNU Make, Bison, GAS, GCC, G++, libg++, etc.:
! 
! 	Installation, porting, support for VAX, Sun-[234], Sun386i, some others
! 
! Rates: $75/hr commercial orgs., free for worthy nonprofit orgs.
! 
! 	I am currently a research programmer at the Columbia C.S. Dept., and
! 	maintain and support the GNU compiler tools on 4 different machine
! 	architectures.  I can provide current, working versions of the compiler
! 	tools for the VAX and all Sun architectures.
! 
! Entered: 6/1/89
! ▶1f◀
! Dynamyx Coporation. <service@creation.UUCP>
! P.O. Box 1481
! King of Prussia, PA 19406
! (215) 265-6833
! 
! Services: Porting of all GNU software, Installation, Customization, and
!           Troubleshooting. (Unix, VMS, etc.)
! 
! Rates: $50-$100/hr
! 
! Experience: 5 years Unix application and systems programming.
!             5 years compiler front-ends, interpreters, and
!                compiler-construction tools.
!             3 years VMS applications.
!             X, C, and Ada experience.
  
! Entered: 2/21/89
  ▶1f◀
! Bruce Eckel	<fluke!morgan@beaver.cs.washington.edu>
! UUCP:		{uw-beaver, sun, allegra, sb6, lbl-csam}!fluke!morgan
  c/o John Fluke Mfg. Co., P.O. Box C9090 M/S 266D
  Everett, WA  98206         (206) 356-6258	
***************
*** 135,156 ****
  Entered: 1/23/86
  ▶1f◀
! Dennis Gentry <uw-nsr!uw-warp!dennis@beaver.cs.washington.edu>
! BITNET:	dennis@uwachem.bitnet
! Optimal Solutions
! P.O. Box 25816
! Seattle, WA  98125
! (206) 547-1864
! Emacs: questions answered, teaching, customization, troubleshooting, porting.
! Rates: $60/hr, 20 minute free initial consultation
! 
! EXPERIENCE: System management, consulting at: the Fred Hutchinson
! Cancer Research Center, the National Science Foundation's Center for
! Process Analytical Chemistry, Global Technology International, others.
! 
! DEGREE:     Honors B.S. Comp Sci, University of Washington
! 
! Entered: 5 March 1987
! ▶1f◀
! Stephen Gildea <gildea@erl.mit.edu> <mit-eddie!mit-erl!gildea>
  42 Carleton St
  Cambridge MA 02142
--- 205,209 ----
  Entered: 1/23/86
  ▶1f◀
! Stephen Gildea	<gildea@bbn.com>
  42 Carleton St
  Cambridge MA 02142
***************
*** 162,166 ****
  Entered: 11/04/86
  ▶1f◀
! Mike Haertel <mike@wheaties.ai.mit.edu>
  St. Olaf College
  Northfield, MN  55057
--- 215,231 ----
  Entered: 11/04/86
  ▶1f◀
! Ron Guilmette	<rfg@mcc.com>
! UUCP:	{rutgers,uunet,gatech,ames,pyramid}!cs.utexas.edu!pp!rfg
! Work:	MCC  -  Experimental (parallel) Systems Kit Project
! 	3500 West Balcones Center Drive,  Austin, TX  78759
! 	(512) 338-3740
! Home:	11008 Jollyville Road, #222
! 	Austin, TX 78759
! 	(512) 343-9042
! Categories:	GCC, G++, Bison, GAS, LD, LD++
! 	
! Entered: 2/21/89
! ▶1f◀
! Mike Haertel	<mike@wheaties.ai.mit.edu>
  St. Olaf College
  Northfield, MN  55057
***************
*** 173,202 ****
  Entered: 12 Aug 88
  ▶1f◀
! Fen Labalme <hoptoad!well!fen@cgl.ucsf.edu>
! Information Anarchy, Inc.
  40 Carl St. #4
  San Francisco CA 94117   
! (415) 731-1915
! EMACS: questions answered, installation, teaching (all levels), elisp and C
! 	extensions and customization, porting, troubleshooting, hand holding
! UNIX BSD 4.2 only: RPC channels, NFS connections and IPC buffers
! RATES: Free phone consultation; $50 - $150/hr sliding scale; barter considered
! 	(non-profits get lower rates; termcap and IPC hacking: higher rates)
! 	Willing to travel, if you pay expenses.
! EXPERIENCE: Have used and hacked MIT Teco Emacs, Twenex Emacs, Multics Emacs,
! 	TVmacs, SINE, Gosling Emacs; Co-developer of GNU Emacs; 6 years
! 	technical lead of frontend group for a major ATE OEM, where I have
! 	installed and maintained Emacs as part of the frontend on VAXen,
! 	Suns, and in-house Embers (68000 based) and Phoenix (68020) CPUs.
! 	I have written thousands of lines of C and Elisp extensions, and I
! 	have taught classes on using and extending Emacs.
! 
! I prefer that all work that I do be available for re-distribution as per the
! guidlines set by the Free Software Foundation's General Public License.
  
! Entered 22 Dec 87
  ▶1f◀
! Jacob Levy
! Dept of Computer Science  <jaakov%wisdom.bitnet@wiscvm.ARPA>
  Weizmann Institute
  Rehovot 76100 Israel
--- 238,365 ----
  Entered: 12 Aug 88
  ▶1f◀
! Paul Hudson	<..!mcvax!ukc!acorn!moncam!paul>
! 		<paul@moncam.co.uk>
! 40 Dovehouse Close,
! Ely, 
! Cambs,
! CB7 4BY,
! England.
! (0353) 663381
! +44 (353) 663381
! 
! Installation of all GNU software. Support & changes to gcc, g++. Emacs
! extensions. 
! 
! Degree in mathematics from Cambridge (UK!).
! 
! Experience: I've written complete compilers & code
! generators and a PostScript interpreter, and various graphics
! programs.
! 
! Rates: 25 pounds per hour, less for installation or non-profits.
! 
! Entered: 2/21/89
! ▶1f◀
! Scott D. Kalter	<sdk@cs.ucla.edu>
! 
! UCLA
! Computer Science Department
! 3436 Boelter Hall
! Los Angeles, CA 90024
! 
! Emacs:  training for general use and customization
! 	user support
! 	e-lisp and C customization/extension
! 	installation
! 	troubleshooting
! 
! Rates:	$40/hr
! 
! Qualifications:
! 	BS Math/CS 1985: Carnegie Mellon University
! 	MS CS 1988: UCLA
! 	Modified Emacs in C and e-lisp for local extensions at several
! 	sites. Taught Emacs use and customization in universities and
! 	industry.  Extensive troubleshooting and user support experience.
! 
! Entered: 7 Dec 1988
! ▶1f◀
! Scott J. Kramer	<sjk@sun.com>
! 2995 Woodside Road, Suite 400
! Woodside  CA  94062
! (415) 961-0684
! Emacs:	Tutoring, installations/upgrades, Lisp customizations,
! 	general troubleshooting/support.  Prefer that work I do
! 	becomes part of the official Free Software Foundation
! 	distribution.
! 
! Rate:	Task- and time-dependent; non-monetary offers considered.
! 
! Entered: 11/05/86
! ▶1f◀
! Fen Labalme	<hoptoad!fen@sun.com>
! Metaview Corp.
  40 Carl St. #4
  San Francisco CA 94117   
! (415) 731-1174
  
! EMACS:	Anything including teaching beginners / advanced users
! UNIX:	BSD 4.2 is what I have used most and best understand
! I GROK:	Mailers, network stuff, acronyms like RPC, NFS & IPC
! X11.3:	By the time you see this, I may understand X Windows
! RATES:	Free phone consultation; $100/hour plus; "Talk to me!"
! 	Non-profits get lower rates or free; Barter considered
! ETHICS:	I require that (most) all software I create be available
! 	for re-distribution as per the guidelines set by the
! 	Free Software Foundation's General Public License.
! 
! Revised: 3/13/89
! ▶1f◀
! Daniel LaLiberte	<uiucdcs!liberte>
! 			<liberte@cs.uiuc.edu>
! 			<liberte%a.cs.uiuc.edu@uiucvmd.bitnet>
! University of Illinois, Urbana-Champaign
! Department of Computer Science
! 1304 W Springfield
! Urbana, IL  61801
! 217-333-2518
! 
! Emacs: Installation, some porting, troubleshooting.
!        Will do elisp extensions.
! 
! Experience:  I have extensive elisp programming experience.
! 	I edited the GNU Emacs Lisp Reference Manual.
! 	I've maintained Emacs for the UIUC CS Department
! 	for three years.
! 
! Rates: $30/hr
! 
! Entered: 2/21/89
! ▶1f◀
! Dave Lawrence	<tale@pawl.rpi.edu>
! 76 1/2 13th St
! Troy NY 12180
! (518) 273-5385
!  
! Services offered: GNU Emacs installation, lisp programming and
!   teaching for BSD and SYSV systems, particularly SUN.  Programming
!   for GNUS newsreader and other outside processes are my specialty.
!   Installation of GNU C.
! 
! Rates: free to non-profit organizations.
!        $30-40 hour for projects less than 8 hours projects.
!        $20 hour for longer projects.
!        Course fees negotiable with level of subject being taught.
!        Short queries answered free of charge.
!  
! Qualifications: I'm "just a student", but don't let it disuade you.  I
!   live in the GNU Emacs environment at least 6 hours of the average
!   day. While still learning the C code, I am proficient with the lisp
!   and can help customize as desired.
! 
! Entered: 2/21/89
  ▶1f◀
! Jacob Levy	<jaakov%wisdom.bitnet@cunyvm.cuny.edu>
! Dept of Computer Science
  Weizmann Institute
  Rehovot 76100 Israel
***************
*** 216,220 ****
  with my main occupation in life, that of obtaining a Ph.D.
  ▶1f◀
! Joachim Carlo Santos Martillo <martillo@ATHENA.MIT.EDU>
  1667 Cambridge St. #1
  Cambridge, MA 02138
--- 379,394 ----
  with my main occupation in life, that of obtaining a Ph.D.
  ▶1f◀
! Niall Mansfield
! Vedelitz Systems
! 65 Oak Tree Avenue
! Cambridge CB4 1AZ
! England
! 
! Emacs: installation, troubleshooting, customisation, extension
! Rates: DM 57,00 per hour for less than a day, longer periods cheaper
! 
! Entered: 3/17/89
! ▶1f◀
! Joachim Carlo Santos Martillo	<martillo@ATHENA.MIT.EDU>
  1667 Cambridge St. #1
  Cambridge, MA 02138
***************
*** 237,240 ****
--- 411,481 ----
  Entered: 2/22/86
  ▶1f◀
+ Roland McGrath	<roland@wheaties.ai.mit.edu>
+ (415) 652-3116
+ 692 60th Street,
+ Oakland, CA 94609
+ 
+ Installation and maintenance of all GNU software on Unix or VMS;
+ porting of GNU make, the GNU C library, or other small utilities (not
+ Emacs or the compiler).  I can work part-time only.  I am a student
+ doing volunteer programming for the Foundation.  I am co-author and
+ present maintainer of GNU make, and author of the (as yet unreleased)
+ GNU C library.
+ 
+ Entered: 2/21/89
+ ▶1f◀
+ Lee McLoughlin	<lmjm@doc.ic.ac.uk>	<uunet!mcvax!doc.ic.ac.uk!lmjm>
+ Department of Computing, Imperial College,
+ 180 Queens Gate, London. SW7 2BZ
+ 01-589-5111 X 5028
+ 
+ EXPERIENCE:
+ I am responsible for putting GNU Emacs up under 4.1 BSD and for the
+ ports to the HLH Orion (and Orion 1/05) and the WhiteChapel MG-1.  I
+ also developed and support the UK-UUCP and UK news distribution.
+ Ported X 10 to both the WhiteChapel MG-1 and HLH Orion.  Ported X 11
+ to the HLH Orion 1/05.  I have been an invited speaker at several
+ recent UKUUG meetings.  Helped, on the software side, in the setting
+ up of UKnet.  Run a large Public Domain software archive.
+ 
+ I am also an experienced Unix systems programmer.  I've ported Unix to
+ a new machine (including porting PCC).  Considerable compilers,
+ communications, mail and graphics experience.  Hope to have enough
+ time in 89 to get all the UK-UUCP goodies into a gnu-uucp and to work
+ on porting gcc to the Clipper.
+ 
+ SERVICES:
+ Porting gnuemacs and X.  Installation and troubleshooting of any Gnu
+ and X software.
+ 
+ RATES:
+ 200-300 pounds a day, negotiable.  General hand-holding free.
+ 
+ NOTE:
+ Software archive contains all the current Gnu and X software.  This is
+ available via Janet (the UK academic network), via uucp and I can be
+ talked into writing a tape, sun cartridge or exabyte.
+ 
+ Revised: 2/26/89
+ ▶1f◀
+ Eric P. Meyer	<emeyer@oracle.com>
+ 		<oracle!emeyer@uunet.uu.net>
+ UUCP:	{apple,uunet}!oracle!emeyer
+ Oracle Corp.
+ 20 Davis Dr.
+ Belmont, CA 94002
+ Work Phone: (415) 598 0000
+ Home Phone: (415) 324 0944
+ 
+ I am very familliar in installing GNU Emacs, GNU GCC, GNU G++, libg++,
+ flex, bison, gawk, GNU grep, bin_utils... on UNIX and VMS systems. Also,
+ can deal with GNU X-related problems like Purdue Speedups for X servers
+ on SUNs.
+ 
+ Rates: Free for Non-Profit Assoc.
+        $70/hr for companies.
+ 
+ Entered: 2/21/89
+ ▶1f◀
  The Nice Computer Company of Australia Pty Ltd
  36 Parliament Place
***************
*** 252,331 ****
  Entered: 5/5/86
  ▶1f◀
! Scott J. Kramer <sjk@sun.com>
! 2995 Woodside Road, Suite 400
! Woodside  CA  94062
! (415) 961-0684
! Emacs:	Tutoring, installations/upgrades, Lisp customizations,
! 	general troubleshooting/support.  Prefer that work I do
! 	becomes part of the official Free Software Foundation
! 	distribution.
! 
! Rate:	Task- and time-dependent; non-monetary offers considered.
! 
! Entered: 11/05/86
! ▶1f◀
! Lee McLoughlin <lmjm@doc.ic.ac.uk> <uunet!mcvax!doc.ic.ac.uk!lmjm>
! Department of Computing, Imperial College,
! 180 Queens Gate, London. SW7 2BZ
! 01-589-5111 X 5032
! 
! Emacs and Bison: Porting to new machines, installation,
! troubleshooting, teaching their use at user level and general hand
! holding.
! 
! Rate: 200-300 pounds a day, negotiable.
! I am responsible for putting GNU Emacs up under 4.1 BSD and for
! the ports to the HLH Orion and the WhiteChapel MG-1.  I also developed
! and support the UK-UUCP and UK news distribution.  I am one of the
! group setting up the UKUUG Software Library (still in progress).
! I have been an invited speaker at several recent UKUUG meetings.
! 
! Entered: 11/17/86
! ▶1f◀
! Niall Mansfield <mansfiel@embl.bitnet> (mansfiel%embl.bitnet@wiscvm.edu)
! address: Lisztstrasse 2, 6919 Bammental, West Germany
! phone (home): +49 6223 47397
! phone (work): +49 6221 387247
! Emacs: installation, troubleshooting, customisation, extension
! Rates: DM 57,00 per hour for less than a day, longer periods cheaper
! 
! Entered: 9 Apr 87
! ▶1f◀
! Karl A. Nyberg  <nyberg@grebyn.com> <..!{decuac,umd5,vrdxhq}!grebyn!karl>
! Karl A. Nyberg
! P. O. Box 1144
! Vienna, VA  22180		-- suburban Washington, DC
! (703)-281-2194
  
  Emacs: installation aid, questions & answers, handholding, etc.
  
! Rates: $50-60/hr, negotiable.
  
! Can make TK50 cartridges for Ultrix.  
  
! Bachelor's and Master's degrees in EE & CS from MIT.
! 
! Entered: 12/17/87
! ▶1f◀
! Damon A. Permezel
! UUCP: ihnp4!terak!dap
! 6505 E Osborn, #271
! Scottsdale, AZ 85251
! (602) 947-2218
! Consulting on any aspects of GNU.
! 
! Rates: $40/hr.
! 
!     I have had over 6 years  systems programming experience, in UNIX and other
! operating systems, as well as having written the parser portion for a portable
! C compiler, worked on the portable code  generator, and helped target the code
! generator for various architectures.  In addition, I have designed and written
! many other programmes.
!     I am offering all levels of technical consultation, for $40/hr for anywhere
! in the Phoenix/Scottsdale area.
  
! Entered: 1/25/86
  ▶1f◀
! Eric Raible <raible@orville.nas.nasa.gov>
  Nasa Ames Researh Center
  Moffet Field, Ca
--- 493,559 ----
  Entered: 5/5/86
  ▶1f◀
! Karl A. Nyberg		<karl@grebyn.com, nyberg@ajpo.sei.cmu.edu>
! Grebyn Corporation	<karl%grebyn.com@haven.umd.edu>
! P. O. Box 497		{decuac,haven}!grebyn!karl
! Vienna, VA 22183-0497   
! 703-281-2194
  
  Emacs: installation aid, questions & answers, handholding, etc.
  
! Rates: negotiable.
  
! Can make TK50 cartridges for VAX/Ultrix.  Timesharing also available for
! those wishing to do development.
  
! Revised: 2/24/89
! ▶1f◀
! Optimal Solutions, Inc.
! P.O. Box 45818
! Seattle, WA  98145
! (206) 682-1773
! Dennis Gentry	<dennis@cpac.washington.edu>	<dennis@cpac.bitnet>
! Tom May		<tom@cpac.washington.edu>
! Todd Cromwell   <todd@cpac.washington.edu>
! 
! Emacs: questions answered, teaching, customization,
! troubleshooting, porting.  Can install, port, and support VMS
! Gnu Emacs, VMS gcc, Unix gcc and g++, and X Windows.
! 
! Rates: $40-60/hr, 20 minute free initial consultation.
! Non-profit/Educational discounts.
!  
! Experience: Compiler, editor, and OS hacking, bit-twiddling, and
! consulting at: the University of Washington, the Fred Hutchinson
! Cancer Research Center, the National Science Foundation's Center
! for Process Analytical Chemistry, Global Technology
! International, others.
!  
! Degrees: Honors B.S. Comp Sci, University of Washington; Summa
! Cum Laude B.S. E.E., University of Washington.
! 
! Revised: 2/26/89
! ▶1f◀
! The Pharos Group, Inc
! Box 3546
! Las Cruces, NM 88003-3546
! (505) 525-2600
! 
! The pharos group offers consulting on the installation and
! customization of gnu software, including gnu emacs, gnu cc and c++ and
! the unix replacement utilities, on machines running unix.  We have
! members who are experienced in system administration, graphics, image
! processing and networking.
! 
! All modifications and extensions that we make to gnu software are
! available freely.
! 
! The best contacts for the pharos group are:
! 	Ted Dunning (ted@pharos.com)
! 	    or
! 	Jeff Harris (jeff@pharos.com)
  
! Entered: 2/21/89
  ▶1f◀
! Eric Raible	<raible@orville.nas.nasa.gov>
  Nasa Ames Researh Center
  Moffet Field, Ca
***************
*** 342,346 ****
  Entered 18 Dec 1987
  ▶1f◀
! Hedley K.J. Rainnie  <hedley@alaya.nyu.edu>
  UUCP: {uunet|ihnp4|allegra|harvard}!cmcl2!alaya!hedley
  
--- 570,574 ----
  Entered 18 Dec 1987
  ▶1f◀
! Hedley K.J. Rainnie	<hedley@alaya.nyu.edu>
  UUCP: {uunet|ihnp4|allegra|harvard}!cmcl2!alaya!hedley
  
***************
*** 361,365 ****
  Entered: 1/23/86
  ▶1f◀
! Paul Rubin <phr@prep.ai.mit.edu>
  UUCP: mit-eddie!mit-prep!phr
  545 Technology Square room 703
--- 589,625 ----
  Entered: 1/23/86
  ▶1f◀
! Adam J. Richter	<adamj@monet.berkeley.edu>	<...!ucbvax!monet!adamj>
! 2600 Ridge Road
! Berkeley, CA 94709				 (415)549-6356
! 
! Difficult X-windows ports.  Freeware preferred.  Also looking for
! someone to sponsor server improvements, including reorganization and
! optimizations for the GNU C Compiler's extensions.  Experienced.
! 
! Entered: 3/13/89
! ▶1f◀
! Bruce Robertson	<bruce@heather.pooh.com>
! 		<uunet!unrvax!heather!bruce>
! Hundred Acre Software
! 7305 Gemstone Drive
! Reno, NV 89511
! (702) 852-3100
! 
! Rates:	$60/hr long term, $40/hr short term
! 	Non-profits are lower still, and negotiable
! 
! Services:  Anything to do with GNU software.  My specialties include
! porting Emacs, GCC and GDB to new environments.  I also provide general
! consulting services, in areas ranging from embedded systems to MS-DOS
! applications.
! 
! Experience:  Many different areas.  Unix internals (all flavors),
! SCSI (target and initiator), embedded systems, X11, TCP/IP, compilers,
! device driver tuning, hardware debugging.  I'm particularly well
! versed in all those niggling differences between System V and BSD.
! 
! Revised: 5/2/89
! ▶1f◀
! Paul Rubin	<phr@prep.ai.mit.edu>
  UUCP: mit-eddie!mit-prep!phr
  545 Technology Square room 703
***************
*** 378,382 ****
  Entered: 11/13/86, updated 4/5/87
  ▶1f◀
! John Sechrest <sechrest@oregon-state> (hplabs!hp-pcd!orstcs!sechrest)
  30606 Petersen Road
  Corvallis, Oregon 97333
--- 638,704 ----
  Entered: 11/13/86, updated 4/5/87
  ▶1f◀
! Isaac J. Salzman	<salzman@rand.org>
! The RAND Corporation - ISD/1
! 1700 Main St. PO Box 2138
! Santa Monica, CA 90406-2138
! +1 213-393-0411 x6421
! 
! (UNIX ONLY!)
! Emacs: Installation, customization, windows systems support (X10, X11,
! 	SunView, NeWS), almost anything else.
! GCC/G++: Installation, support.
! X11: Installation, customization, support, some training, etc. All
! 	available window managers, Andrew, InterViews.
! Other: Consulting on - most GNUware, BSD UNIX IPC programming, most anything
! 	that's BSD UNIX related.
! Experience: 3.5+ years BSD UNIX systems programming (VAXen, Sun's) including
! 	support of GNU Emacs. About 1.5+ years supporting X11, X10, gcc,
! 	g++. Resume on request.
! Rates: Negotiable on a per job basis. Probably $40/hr as a ballpark average.
! 
! Entered: 2/21/89
! ▶1f◀
! Douglas C. Schmidt 
! 
! Department of Information and Computer Science
! University of California, Irvine
! Irvine, CA 92717
! 
! office: (714) 856-4043
! email:  schmidt@ics.uci.edu
! 
! GCC and G++:  Installation and porting, question answering, customizing, etc.
! 
! Experience:   Wrote the GNU GPERF perfect hashing program, available from
!               the libg++ distribution , wrote the perfect hash functions that 
!               recognize reserved words for G++ and GCC, contributed *many* bug
!               reports for GCC and G++ and also contributed bug fixes for
!               G++.  In addition, I am actively building and maintaining a G++ 
!               and GCC regression test suite (available on request).
! 
! Rate:         Negotiable
! 
! Entered: 2/26/89
! ▶1f◀
! Randal L. Schwartz / Stonehenge Consulting Services / +1 503 777 0095
! Located in Beaverton, Oregon, USA (The Silicon RainForest...)
! Electronic address variable (for now) ... call for the current one.
! (I read and post to comp.emacs and gnu.emacs on USENET...)
! 
! GNU Emacs: questions about general use, teaching, customization,
!            documentation, troubleshooting, porting, cute hacks (:-).
! 
! Other GNU software: cross-trained on UN*X... proceed with caution...
! 
! Experience: 17 years software development (one year with GNU Emacs),
!             11 years technical communication (concurrent :-).
!             Also a C hacker and UN*X Guru...
! 
! Rates: Free for short projects.  Long projects may require money if
!        the project consumes significant billable time.
! 
! Entered: 2/21/89
! ▶1f◀
! John Sechrest	<sechrest@oregon-state> (hplabs!hp-pcd!orstcs!sechrest)
  30606 Petersen Road
  Corvallis, Oregon 97333
***************
*** 405,409 ****
  Entered: 1/31/86
  ▶1f◀
! Richard M. Stallman  <rms@prep.ai.mit.edu>
  UUCP:  {mit-eddie,ucbvax,uunet,harvard,uw-beaver}!prep.ai.mit.edu!rms
  545 Tech Sq, rm 703
--- 727,786 ----
  Entered: 1/31/86
  ▶1f◀
! Steven C. Simmons
! 9353 Hidden Lake Circle
! Dexter, MI. 48130
! 313-426-8981 home
! 313-769-4086 office
! Internet: scs@lokkur.dexter.mi.us
! UUCP: ...!sharkey!lokkur!scs
! 
! Gnu software: bison, flex, gcc, etc.  Experience porting to BSD4.3
!   Vaxes, Suns, Gould, some System V hosts.  No MS-DOS.
! 
! Rates:  If all you need is a piece of source will gladly supply it
!   gratis if local call, at cost for long distance or tape (bring me a
!   blank).  Can make std tar magtape or Sun cartridges.  Advice is
!   free to a point.  Compiling, porting, customizing: $65.00/hr plus
!   phone charges for offsite work, onsite rates negotiable.
! 
! Professional Data:  Currently administrator of a large UNIX shop in
!   Ann Arbor, MI.  Maintain and support a variety of PD and
!   freely redistributable software on a variety of hosts.
! 
! Entered: 5 June 1989
! ▶1f◀
! Lynn R. Slater	<lrs@esl.com>
! 4433 Inyo Ct
! Fremont Ca 94528.  (415) 796-4149
! Emacs:	Ada, X11, Lisp, interfaces to subordinate shell processes.
! 	Prefer that work I do becomes part of the official Free
!         Software Foundation distribution. 
! 
! Rate:	Free for good cause, otherwise task- and time-dependent.
! 
! Entered: 2/21/89
! ▶1f◀
! Randall D. Smith	<randy@wheaties.ai.mit.edu>
! 30 Newbern Street, Apartment 3
! Jamaica Plain, MA 02130, USA
! +1 (617) 983-0276
! 
! Will work on most GNU software.
! Installation, handholding, trouble shooting, extensions, teaching,
! Gcc, Gdb, and GNU-emacs ports.
! 
! Rates: Upward from 50.00/hour depending on my expertise in the area of the 
! job.  GDB consulting at $100.00/hour.
! 
! Experience: 4 years of intensive experience with Unix and C including
! system hacking and modification.  Experience in porting GNU-emacs (to
! SGI Iris 4D) and Gcc (to use Sun fpa chip).  Experience working
! full-time for the GNU project on other GNU programs (current).  Have
! been in charge of the maintenance and extension of GDB for six months.
! Resume available on request.
! 
! Entered: 02/21/89
! ▶1f◀
! Richard M. Stallman	<rms@prep.ai.mit.edu>
  UUCP:  {mit-eddie,ucbvax,uunet,harvard,uw-beaver}!prep.ai.mit.edu!rms
  545 Tech Sq, rm 703
***************
*** 418,469 ****
  Entered: 1/24/86
  ▶1f◀
! Earl Stutes <stutes@nas-ames.arpa>
! 4188 King Arthur Ct.
! Palo Alto, CA. 94306
! +1 (415) 424 9177
! 
! Rate $3.00/min. or $90.00/hr.
  
! GNU emacs installation / troubleshooting
! emacs lisp programming. C programming. YACC programming
! 17 years of programming experience.  Working with UNIX for the
! last 8 years.
  
! Entered: 17 Dec 1987 
! ▶1f◀
! Jason Venner  <jason@berkeley.edu> <ucbvax!jason> <jason@ucbjade.bitnet>
! 269 Evans Hall
! Comp. Fac. And Comm.
! UC Berkeley
! Berkeley California 94720
! USA
! (415) 642 0514 (work)
  
! EMACS: elisp programming, C extensions
! Rates: $100/hour for jobs < 8 hours (1 day), $70/hour for jobs < 5
! days, $50 for long term jobs, for all rate schedules expenses extra
! 
! I have been using and or maintaining/extending emaci since 1982.
! I am currently only using GNU.
  
! Entered: 17 Dec 1987
  ▶1f◀
! Scott Weikart  <cdp!scott@SU-Glacier.ARPA> (hplabs!cdp!scott)
! EMACS: user handholding, elisp programming and troubleshooting, porting
! 1944c University
! East Palo Alto, CA  94303
! (415) 322-9069
! I used ITS EMACS for 5 years and Gosling EMACS for 2 years
! I've written thousands of lines of TECO and thousands of lines of mlisp
! I've ported many programs to SysIII/SysV Unix
! Sliding scale rates, barter possible, lower rates for non-profits
  
! Entered: 1/30/86
  ▶1f◀
! Leonard H. Tower Jr.
  36 Porter Street
  Somerville, MA  02143, USA
  +1 (617) 623-7739
- tower@wheaties.ai.mit.edu
  
  Will work on most GNU software.
--- 795,904 ----
  Entered: 1/24/86
  ▶1f◀
! Jonathan Stone <jonathan@comp.vuw.ac.nz> (uunet!vuwcomp!jonathan)
  
! Experience: 
!  GNU Emacs:5 years on both Unix and VMS, in academic
!   and commercial environments: porting, user handholding, elisp programming,
!   termcap hacking, troubleshooting, VMS debugging.
! GCC: 18 month gcc installation,use,bugfixing, porting
!      (gcc/gdb/almost gas port to Pyramid CPU; bootstrapped 1.22 on
!       vms, but not as nicely as Kashtan.)
! 
! Fee: $NZ 130/hr + expenses; negotiable.
! 
! Entered: 4 July 1989
! ▶1f◀
! Earl Stutes	<stutes@nas-ames.arpa>
! 223 Drakes Bay Ave.
! Los Gatos, CA 95032
! +1 (408) 356 6841
  
! Rate $3.00/min. or $90.00/hr.
  
! Installation and debug of all GNU software.
! GNU emacs installation / troubleshooting.
! emacs lisp programming.
! 20 years of programming experience.  Working with UNIX for the
! last 10 years.
! 
! Entered: 31 May 1989
! ▶1f◀
! Bob Sutterfield	<bob@cis.ohio-state.edu>
! 	<osu-cis!bob>
! work:					home:
! Ohio State University CIS Dept
! 2036 Neil Avenue			3542 Norwood Street
! Columbus, Ohio 43210-1277		Columbus, Ohio 43224-3424
! (614)292-7348				(614)267-7611
! 
! Rates:     $50/hr (negotiable) plus travel expenses
! 
! Services:  Installation, troubleshooting, and mild customization of
!            most GNU production and beta-test products; tutorials,
!            training, and handholding; general UNIX system and network
!            consulting.
! 
! Entered: 2/21/89
! ▶1f◀
! Kayvan Sylvan	<mrspoc!kayvan@apple.com>
! 		<kayvan@eris.berkeley.edu>
! Transact Software, Inc.
! 2672 Bayshore Parkway, Suite 700
! Mountain View, CA 94043
! Work: (415) 961-6112
! Home: (408) 733-2650
! 
! I will help you port, install and customize GNU Emacs, GCC, G++, bison,
! and other GNU tools on almost any architecture and operating system.
! Questions answered. GNU C and lisp hacking available.
! 
! Rates: $30-$60/hour sliding scale. This is basically a flexible guideline.
! 
! Experience: Many different Unix'es (2.9BSD to 4.3BSD, as well as AT&T System V
! and Xenix) on many different machines. Systems programming and administration
! on almost all these brands of Unix. Machines I've worked on include various
! PDP's, VAXen, SUN workstations, Altos 386, Plexus P60, among others.
! I can port anything to anything (within reason).
! 
! Entered: 2/21/89
! ▶1f◀
! James W. Thompson  
! jthomp@sun.com
! 17601 Preson Road, #274
! Dallas, Tx. 75252 USA
! +1 (214) 250-2131
  
! EMACS/GDB: installation, porting, troubleshooting, hand holding.
! Emacs elisp & C extensions and customization.
!   
! EXPERIENCE:  Have hacked many (10+) different architectures in C, lisp,
! & Fortran.   Thurough understanding of BSD networking/NFS/RPC.
! Responsible for Convex port of GNU emacs, gdb, gcc.  8 years system
! 'mothering' experiance.  Resume available on request.
!   
! Rates:  30.00/hour + travel expenses.  Free for non-profits.
!   
! Revised: 3/6/89
  ▶1f◀
! Michael D. Tiemann	<tiemann@lurch.stanford.edu>
! 			<tiemann@wheaties.ai.mit.edu>
! Box #629 Crothers Memorial Hall
! Stanford University
! Stanford CA  94305
! 
! GNU C++: anything whatever
! GNU CC: anything concerning ports I have worked on
! Rates: negotiable
! 
! Do you want to get people signed up to use C++ and/or GNU?
! 
! Author of GNU C++.  Author of several ports of GNU CC and GDB.
  
! Entered: 2/21/89
  ▶1f◀
! Leonard H. Tower Jr.	<tower@wheaties.ai.mit.edu>
  36 Porter Street
  Somerville, MA  02143, USA
  +1 (617) 623-7739
  
  Will work on most GNU software.
***************
*** 478,518 ****
  Entered: 07/19/88
  ▶1f◀
! Randall D. Smith
! 30 Newbern Street, Apartment 3
! Jamaica Plain, MA 02130, USA
! +1 (617) 983-0276
! randy@wheaties.ai.mit.edu
! 
! Will work on most GNU software.
! Installation, handholding, trouble shooting, extensions, teaching,
! Gcc, Gdb, and GNU-emacs ports.
! 
! Rates: Upward from 40.00/hour depending on my expertise in the area of the 
! job.
! 
! Experience: 4 years of intensive experience with Unix and C including
! system hacking and modification.  Experience in porting GNU-emacs (to
! SGI Iris 4D) and Gcc (to use Sun fpa chip; in progress).  Experience
! voluteering for the GNU project on other GNU programs (current).
! Resume available on request.
  
! Entered: 07/22/88
  ▶1f◀
! James W. Thompson  <jthomp@convex.com>
! 		   <{uiucdcs,sun,uunet,harvard,killer,usenix}!convex!jthomp>
! 1615 Villanova Ave.
! Richardson, Tx. 75081 USA
! +1 (214) 437-3156
! 
! EMACS/GDB: installation, porting, troubleshooting, hand holding.  
! Emacs elisp & C extensions and customization.
! 
! EXPERIENCE:  Have hacked many (10+) different architectures in 
! C, lisp, & Fortran.   Thurough understanding of BSD networking/NFS/RPC.
! Responsible for Convex port of GNU emacs, gdb.  8 years system 'mothering'
! experiance.  Resume available on request.
  
! Rates:  30.00/hour + travel expenses.  Free for non-profits.
  
! Entered: 9/3/88
  
--- 913,978 ----
  Entered: 07/19/88
  ▶1f◀
! Jason Venner	<jason@violet.berkeley.edu> <kadmon!jason@mtxinu.com> 
! 		<jason@ucbviolet.bitnet>
! 545 Pierce St. #2306
! Albany CA 94706 1046
! USA
! 415-525 2989
  
! The only gnu software I do not work on are the compilers and the debuggers.
! I have extensive experience with emacs (lisp and C) and C++ (via g++).
! I have some experience with X, primarily V11R3 at the C level.
! I have minimal experience with VMS.
! 
! Rates: $100/hour for jobs	< 8 hours (1 day), $70/hour for jobs
! < 5 days, $60 for long term jobs, for all rate schedules expenses extra
! Revised: 2/26/89
  ▶1f◀
! Scott Weikart	<cdp!scott@parcvax.xerox.com> (hplabs!cdp!scott)
! EMACS: user handholding, elisp programming and troubleshooting, porting
! 1944c University
! East Palo Alto, CA  94303
! (415) 322-9069
! I used ITS EMACS for 5 years and Gosling EMACS for 2 years
! I've written thousands of lines of TECO and thousands of lines of mlisp
! I've ported many programs to SysIII/SysV Unix
! Sliding scale rates, barter possible, lower rates for non-profits
  
! Entered: 1/30/86
! ▶1f◀
! Chris Welty	<weltyc@turing.cs.rpi.edu>
! RPI Computer Science Dept
! Troy, NY 12180 
! 518-276-2816
  
! Services: questions, installation, etc for all GNU programs,
! especially emacs customization.  Maintainer of the NYSERNet GNU src
! distribution site, containing all GNU programs.  Primarily knowledge of
! Berkeley UNIX systems, especially Sun, but some limited expertise for
! other systems.
! 
! Rates:  Free to NYSERNet members, others by arrangement (generally not
! money but `Stingray' type barter...:)
! 
! EMail correspondance preferred.
! 
! Entered: 2/27/89
! ▶1f◀
! Pace Willisson	<pace@eddie.mit.edu>
! Blitz Product Development Corporation
! 6 Hudson Street
! Somerville, MA 02143, USA
! (617) 628-1593
! 
! Will work on any GNU software.
! 
! Rates: $70.00/hour
! 
! Experience: BS in Computer Science from MIT.  9 years working with C, Unix and 
! Lisp Machines including compilation systems, networks, device drivers, demand 
! paging systems, and boot programs.  Ported GDB to 80386.  Designed COFF 
! encapsulation scheme to run GNU linker output on System 5 kernels.  Author 
! of Unix "ispell".
  
+ Entered: 12/20/88
+ ▶1f◀
diff -rc2N dist-18.54/etc/TERMS dist-18.55/etc/TERMS
*** dist-18.54/etc/TERMS	Wed Apr 13 07:28:20 1988
--- dist-18.55/etc/TERMS	Thu Jul 20 00:32:47 1989
***************
*** 150,151 ****
--- 150,154 ----
      set port flow control disable
      define port flow control disable
+ 
+ On a PC, with terminal type AT386 or AT386-M, rumor has it that the termcap file 
+ that comes with the system has the `xt' capability, but should not have it.
diff -rc2N dist-18.54/etc/etags.c dist-18.55/etc/etags.c
*** dist-18.54/etc/etags.c	Thu Jun 23 08:45:37 1988
--- dist-18.55/etc/etags.c	Fri May 12 22:08:05 1989
***************
*** 1553,1557 ****
        if (p == pend)
  	{
! 	  buffer = (char *) xrealloc (buffer, linebuffer->size *= 2);
  	  p += buffer - linebuffer->buffer;
  	  pend = buffer + linebuffer->size;
--- 1553,1558 ----
        if (p == pend)
  	{
! 	  linebuffer->size *= 2;
! 	  buffer = (char *) xrealloc (buffer, linebuffer->size);
  	  p += buffer - linebuffer->buffer;
  	  pend = buffer + linebuffer->size;
diff -rc2N dist-18.54/etc/movemail.c dist-18.55/etc/movemail.c
*** dist-18.54/etc/movemail.c	Tue Feb 21 12:58:39 1989
--- dist-18.55/etc/movemail.c	Thu Jun 15 12:53:42 1989
***************
*** 47,50 ****
--- 47,56 ----
  #include <fcntl.h>
  #include <unistd.h>
+ #ifndef F_OK
+ #define F_OK 0
+ #define X_OK 1
+ #define W_OK 2
+ #define R_OK 4
+ #endif
  #endif /* USG */
  
diff -rc2N dist-18.54/etc/termcap.dat dist-18.55/etc/termcap.dat
*** dist-18.54/etc/termcap.dat	Sat Jun 18 09:15:11 1988
--- dist-18.55/etc/termcap.dat	Sat Aug 12 12:51:53 1989
***************
*** 222,227 ****
  	:ti=\E[28;0;0;28p:\
  	:te=\E[60;0;0;28p\E[28;1H\E[J:\
! 	:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E
! [8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
  	:li#28:tc=aaa-unk:
  N9|aaa|ambassador|aaa-30|ann arbor ambassador/30 lines:\
--- 222,226 ----
  	:ti=\E[28;0;0;28p:\
  	:te=\E[60;0;0;28p\E[28;1H\E[J:\
! 	:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
  	:li#28:tc=aaa-unk:
  N9|aaa|ambassador|aaa-30|ann arbor ambassador/30 lines:\
diff -rc2N dist-18.54/lisp/ChangeLog dist-18.55/lisp/ChangeLog
*** dist-18.54/lisp/ChangeLog	Wed Apr 26 16:17:52 1989
--- dist-18.55/lisp/ChangeLog	Tue Aug 15 22:43:12 1989
***************
*** 1,2 ****
--- 1,84 ----
+ Tue Aug 15 21:41:10 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+ 
+ 	* Version 18.55 released.
+ 
+ 	* files.el (basic-save-buffer): If rename of precious file fails,
+ 	don't try to delete it after new version is written.
+ 
+ Wed Aug  9 19:26:25 1989  Chris Hanson  (cph at kleph)
+ 
+ 	* xscheme.el: From the RCS change log:
+ 
+ 	(1.23) Guarantee that the process-filter's state is correctly
+ 	updated before calling any code that can possibly allow more input
+ 	to be read from the process.
+ 
+ 	(1.22) Remove filter queuing mechanism.  Rewrite filter state
+ 	machine to be iterative instead of tail-recursive.  Move all C-c
+ 	commands to control characters.
+ 
+ 	(1.21) Force control-g synchronization always.  Turns out BSD had
+ 	the same problem as hp-ux.
+ 
+ 	(1.20) Don't use second argument to `interrupt-process' and
+ 	`quit-process'.  Apparently that causes difficulties under Ultrix.
+ 
+ Thu Jul 20 02:02:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* info.el (Info-follow-reference): Handle newline and indentation
+ 	immediately after *note.
+ 
+ 	* hideif.el (hif-tokenize): Recognize `defined', not `hif-defined',
+ 	in the input.
+ 
+ Tue Jul  4 20:27:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* mailalias.el (build-mail-aliases): Accept `group' as synonym.
+ 
+ 	* nroff-mode.el (electric-nroff-mode): Arg now optional.
+ 
+ 	* man.el (insert-man-file): Handle HP's directories with .Z in
+ 	their names.
+ 
+ Sun Jun 25 12:45:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* rmail.el (rmail, rmail-insert-inbox-text): For login name,
+ 	try LOGNAME, USER, and user-login-name.
+ 	* mail-utils.el (rmail-dont-reply-to): Likewise.
+ 
+ Tue Jun 20 14:03:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* term/x-win.el: If x-sigio-bug is non-nil, don't use interrupts.
+ 
+ Thu Jun  8 12:09:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* spell.el (spell-region): Downcase misspelled word.
+ 
+ Tue Jun  6 19:58:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* chistory.el (list-command-history): Go to history buffer
+ 	before examining its text.
+ 
+ Fri Jun  2 16:04:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* rmail.el (rmail-convert-to-babyl-format): Generalize time zone fmt.
+ 	(rmail-nuke-pinhead-header): Likewise.
+ 
+ Wed May 31 18:05:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* cmacexp.el (c-macro-expand): Handle \-continuation of macros.
+ 
+ Wed May 17 14:27:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* rmail.el (rmail-nuke-pinhead-header): Accept space before
+ 	numeric time zone in From line.
+ 
+ 	* sendmail.el (sendmail-send-it): Always pass -f option.
+ 
+ Fri May 12 22:19:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* term/s4.el: Don't define M-9, M-0.
+ 	Typo in defn of M-N I.
+ 
  Wed Apr 26 16:17:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
  
diff -rc2N dist-18.54/lisp/chistory.el dist-18.55/lisp/chistory.el
*** dist-18.54/lisp/chistory.el	Fri Mar 18 18:44:00 1988
--- dist-18.55/lisp/chistory.el	Tue Jun  6 20:04:50 1989
***************
*** 103,110 ****
  	  (terpri))
  	(setq history (cdr history))))
!     (goto-char (point-min))
!     (if (eobp)
! 	(error "No command history.")
!       (Command-history-setup))))
  
  (defun Command-history-setup (&optional majormode modename keymap)
--- 103,112 ----
  	  (terpri))
  	(setq history (cdr history))))
!     (save-excursion
!       (set-buffer "*Command History*")
!       (goto-char (point-min))
!       (if (eobp)
! 	  (error "No command history.")
! 	(Command-history-setup)))))
  
  (defun Command-history-setup (&optional majormode modename keymap)
diff -rc2N dist-18.54/lisp/cmacexp.el dist-18.55/lisp/cmacexp.el
*** dist-18.54/lisp/cmacexp.el	Sun Apr 10 03:19:29 1988
--- dist-18.55/lisp/cmacexp.el	Wed May 31 18:27:07 1989
***************
*** 20,25 ****
  	(setq last-needed (point))
  	(if (re-search-backward "^[ \t]*#" nil t)
! 	    (progn (forward-line 1)
! 		   (setq last-needed (point)))))
        (write-region (point-min) last-needed tempfile nil 'nomsg)
        (process-send-string process (concat "#include \"" tempfile "\"\n"))
--- 20,30 ----
  	(setq last-needed (point))
  	(if (re-search-backward "^[ \t]*#" nil t)
! 	    (progn
! 	      ;; Skip continued lines.
! 	      (while (progn (end-of-line) (= (preceding-char) ?\\))
! 		(forward-line 1))
! 	      ;; Skip the last line of the macro definition we found.
! 	      (forward-line 1)
! 	      (setq last-needed (point)))))
        (write-region (point-min) last-needed tempfile nil 'nomsg)
        (process-send-string process (concat "#include \"" tempfile "\"\n"))
diff -rc2N dist-18.54/lisp/files.el dist-18.55/lisp/files.el
*** dist-18.54/lisp/files.el	Mon Aug  8 08:16:09 1988
--- dist-18.55/lisp/files.el	Tue Aug 15 22:31:12 1989
***************
*** 696,700 ****
  		       ;; If file is precious, rename it away before
  		       ;; overwriting it.
! 		       (let ((rename t)
  			     (file (concat buffer-file-name "#")))
  			 (condition-case ()
--- 696,700 ----
  		       ;; If file is precious, rename it away before
  		       ;; overwriting it.
! 		       (let ((rename t) nodelete
  			     (file (concat buffer-file-name "#")))
  			 (condition-case ()
***************
*** 701,705 ****
  			     (progn (rename-file buffer-file-name file t)
  				    (setq setmodes (file-modes file)))
! 			   (file-error (setq rename nil)))
  			 (unwind-protect
  			     (progn (clear-visited-file-modtime)
--- 701,705 ----
  			     (progn (rename-file buffer-file-name file t)
  				    (setq setmodes (file-modes file)))
! 			   (file-error (setq rename nil nodelete t)))
  			 (unwind-protect
  			     (progn (clear-visited-file-modtime)
***************
*** 714,721 ****
  				 (clear-visited-file-modtime))
  			     ;; Otherwise we don't need the original file,
! 			     ;; so flush it.
! 			     (condition-case ()
! 				 (delete-file file)
! 			       (error nil)))))
  		     ;; If file not writable, see if we can make it writable
  		     ;; temporarily while we write it.
--- 714,722 ----
  				 (clear-visited-file-modtime))
  			     ;; Otherwise we don't need the original file,
! 			     ;; so flush it.  Unless we already lost it.
! 			     (or nodelete
! 				 (condition-case ()
! 				     (delete-file file)
! 				   (error nil))))))
  		     ;; If file not writable, see if we can make it writable
  		     ;; temporarily while we write it.
diff -rc2N dist-18.54/lisp/hideif.el dist-18.55/lisp/hideif.el
*** dist-18.54/lisp/hideif.el	Sat Mar 19 20:17:56 1988
--- dist-18.55/lisp/hideif.el	Thu Jul 20 02:01:16 1989
***************
*** 391,395 ****
  		      ((string-equal token "&&") 'and)
  		      ((string-equal token "!")  'not)
! 		      ((string-equal token "hif-defined") 'hif-defined)
  		      ((string-equal token "(") 'lparen)
  		      ((string-equal token ")") 'rparen)
--- 391,395 ----
  		      ((string-equal token "&&") 'and)
  		      ((string-equal token "!")  'not)
! 		      ((string-equal token "defined") 'hif-defined)
  		      ((string-equal token "(") 'lparen)
  		      ((string-equal token ")") 'rparen)
diff -rc2N dist-18.54/lisp/info.el dist-18.55/lisp/info.el
*** dist-18.54/lisp/info.el	Tue Jul 26 23:44:58 1988
--- dist-18.55/lisp/info.el	Thu Jul 20 02:24:18 1989
***************
*** 392,398 ****
       (save-excursion
         (goto-char (point-min))
!        (while (re-search-forward "\\*note[ \n]*[^:]*:" nil t)
  	 (setq str (buffer-substring
! 		    (+ (match-beginning 0) 6)
  		    (1- (point))))
  	 (setq i 0)
--- 392,398 ----
       (save-excursion
         (goto-char (point-min))
!        (while (re-search-forward "\\*note[ \n\t]*\\([^:]*\\):" nil t)
  	 (setq str (buffer-substring
! 		    (match-beginning 1)
  		    (1- (point))))
  	 (setq i 0)
diff -rc2N dist-18.54/lisp/mail-utils.el dist-18.55/lisp/mail-utils.el
*** dist-18.54/lisp/mail-utils.el	Sat Sep 12 22:46:33 1987
--- dist-18.55/lisp/mail-utils.el	Sun Jun 25 13:06:09 1989
***************
*** 95,99 ****
  		        "")
  		    (concat (regexp-quote
! 			      (or (getenv "USER") (getenv "LOGNAME")))
  			    "\\>"))))
    (let ((match (concat "\\(^\\|,\\)[ \t\n]*\\([^,\n]*!\\|\\)\\("
--- 95,100 ----
  		        "")
  		    (concat (regexp-quote
! 			      (or (getenv "USER") (getenv "LOGNAME")
! 				  (user-login-name)))
  			    "\\>"))))
    (let ((match (concat "\\(^\\|,\\)[ \t\n]*\\([^,\n]*!\\|\\)\\("
diff -rc2N dist-18.54/lisp/mailalias.el dist-18.55/lisp/mailalias.el
*** dist-18.54/lisp/mailalias.el	Sat Oct 31 22:09:48 1987
--- dist-18.55/lisp/mailalias.el	Tue Jul  4 20:38:04 1989
***************
*** 107,111 ****
  	        (forward-char 1)))
  	  (goto-char (point-min))
! 	  (while (re-search-forward "^a\\(lias\\|\\)[ \t]+" nil t)
  	    (re-search-forward "[^ \t]+")
  	    (let* ((name (buffer-substring (match-beginning 0) (match-end 0)))
--- 107,112 ----
  	        (forward-char 1)))
  	  (goto-char (point-min))
! 	  (while (or (re-search-forward "^a\\(lias\\|\\)[ \t]+" nil t)
! 		     (re-search-forward "^g\\(roup\\|\\)[ \t]+" nil t))
  	    (re-search-forward "[^ \t]+")
  	    (let* ((name (buffer-substring (match-beginning 0) (match-end 0)))
diff -rc2N dist-18.54/lisp/man.el dist-18.55/lisp/man.el
*** dist-18.54/lisp/man.el	Sun May  8 15:23:13 1988
--- dist-18.55/lisp/man.el	Tue Jul  4 20:27:21 1989
***************
*** 146,151 ****
  (defun insert-man-file (name)
    ;; Insert manual file (unpacked as necessary) into buffer
!   (if (equal (substring name -2) ".Z")
!       (call-process "zcat" nil t nil name)
      (if (equal (substring name -2) ".z")
  	(call-process "pcat" nil t nil name)
--- 146,152 ----
  (defun insert-man-file (name)
    ;; Insert manual file (unpacked as necessary) into buffer
!   (if (or (equal (substring name -2) ".Z")
! 	  (string-match "/cat[0-9][a-z]?\\.Z/" name))
!       (call-process "zcat" name t nil)
      (if (equal (substring name -2) ".z")
  	(call-process "pcat" nil t nil name)
diff -rc2N dist-18.54/lisp/nroff-mode.el dist-18.55/lisp/nroff-mode.el
*** dist-18.54/lisp/nroff-mode.el	Wed Jun 22 10:33:33 1988
--- dist-18.55/lisp/nroff-mode.el	Tue Jul  4 20:32:15 1989
***************
*** 186,190 ****
        (forward-char 1))))
  
! (defun electric-nroff-mode (arg)
    "Toggle nroff-electric-newline minor mode
  Nroff-electric-newline forces emacs to check for an nroff
--- 186,190 ----
        (forward-char 1))))
  
! (defun electric-nroff-mode (&optional arg)
    "Toggle nroff-electric-newline minor mode
  Nroff-electric-newline forces emacs to check for an nroff
diff -rc2N dist-18.54/lisp/rmail.el dist-18.55/lisp/rmail.el
*** dist-18.54/lisp/rmail.el	Thu Apr  6 19:26:17 1989
--- dist-18.55/lisp/rmail.el	Sun Jun 25 12:50:22 1989
***************
*** 125,130 ****
  		     (list "~/mbox"
  			   (concat rmail-spool-directory
! 				   (if (getenv "LOGNAME")
! 				       "$LOGNAME" "$USER"))))))
        ;; Convert all or part to Babyl file if possible.
        (rmail-convert-file)
--- 125,131 ----
  		     (list "~/mbox"
  			   (concat rmail-spool-directory
! 				   (or (getenv "LOGNAME")
! 				       (getenv "USER")
! 				       (user-login-name)))))))
        ;; Convert all or part to Babyl file if possible.
        (rmail-convert-file)
***************
*** 453,458 ****
  	    ;; and the actual inbox is /usr/spool/mail/foo/foo.
  	    (if (file-directory-p file)
! 		(setq file (substitute-in-file-name
! 			     (expand-file-name "$USER" file))))))
        (if (or (file-exists-p tofile) (file-exists-p file))
  	  (message "Getting mail from %s..." file))
--- 454,461 ----
  	    ;; and the actual inbox is /usr/spool/mail/foo/foo.
  	    (if (file-directory-p file)
! 		(setq file (expand-file-name (or (getenv "LOGNAME")
! 						 (getenv "USER")
! 						 (user-login-name))
! 					     file)))))
        (if (or (file-exists-p tofile) (file-exists-p file))
  	  (message "Getting mail from %s..." file))
***************
*** 551,555 ****
  		    (concat "^[\^_]?\\("
  			    "From [^ \n]*\\(\\|\".*\"[^ \n]*\\)  ?[^ \n]* [^ \n]* *"
! 			    "[0-9]* [0-9:]* \\([A-Z]?[A-Z][A-Z]T \\|[-+][0-9][0-9][0-9][0-9] \\|\\)" ; EDT, -0500
  			    "19[0-9]* *$\\|"
  			    mmdf-delim1 "\\|"
--- 554,558 ----
  		    (concat "^[\^_]?\\("
  			    "From [^ \n]*\\(\\|\".*\"[^ \n]*\\)  ?[^ \n]* [^ \n]* *"
! 			    "[0-9]* [0-9:]*\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) " ; EDT, -0500
  			    "19[0-9]* *$\\|"
  			    mmdf-delim1 "\\|"
***************
*** 595,599 ****
  	(let ((case-fold-search nil))
  	  (if (re-search-forward
! 	       "^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\)  ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( [A-Z]?[A-Z][A-Z]T\\|[-+][0-9][0-9][0-9][0-9]\\|\\) 19\\([0-9]*\\) *\n" nil t)
  	      (replace-match
  		(concat
--- 598,602 ----
  	(let ((case-fold-search nil))
  	  (if (re-search-forward
! 	       "^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\)  ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) 19\\([0-9]*\\) *\n" nil t)
  	      (replace-match
  		(concat
diff -rc2N dist-18.54/lisp/sendmail.el dist-18.55/lisp/sendmail.el
*** dist-18.54/lisp/sendmail.el	Thu Jun  2 06:37:46 1988
--- dist-18.55/lisp/sendmail.el	Wed May 17 14:27:34 1989
***************
*** 234,240 ****
  			       nil errbuf nil
  			       "-oi" "-t")
! 			 ;; Don't say "from root" if running under su.
! 			 (and (equal (user-real-login-name) "root")
! 			      (list "-f" (user-login-name)))
  			 ;; These mean "report errors by mail"
  			 ;; and "deliver in background".
--- 234,243 ----
  			       nil errbuf nil
  			       "-oi" "-t")
! 			 ;; Always specify who from,
! 			 ;; since some systems have broken sendmails.
! 			 (list "-f" (user-login-name))
! ;;;			 ;; Don't say "from root" if running under su.
! ;;;			 (and (equal (user-real-login-name) "root")
! ;;;			      (list "-f" (user-login-name)))
  			 ;; These mean "report errors by mail"
  			 ;; and "deliver in background".
diff -rc2N dist-18.54/lisp/spell.el dist-18.55/lisp/spell.el
*** dist-18.54/lisp/spell.el	Wed Dec 28 23:22:42 1988
--- dist-18.55/lisp/spell.el	Thu Jun  8 12:09:05 1989
***************
*** 95,100 ****
  	 (set-buffer buf)
  	 (goto-char (point-min))
! 	 (setq word (buffer-substring (point)
! 				      (progn (end-of-line) (point))))
  	 (forward-char 1)
  	 (delete-region (point-min) (point))
--- 95,101 ----
  	 (set-buffer buf)
  	 (goto-char (point-min))
! 	 (setq word (downcase
! 		     (buffer-substring (point)
! 				       (progn (end-of-line) (point)))))
  	 (forward-char 1)
  	 (delete-region (point-min) (point))
diff -rc2N dist-18.54/lisp/term/s4.el dist-18.55/lisp/term/s4.el
*** dist-18.54/lisp/term/s4.el	Sat Jul 18 21:05:00 1987
--- dist-18.55/lisp/term/s4.el	Fri May 12 22:19:26 1989
***************
*** 130,136 ****
  ;; Now do terminal-specific mappings of keys with no standard-keycap equivalent
  
! (define-key esc-map "9" 'beginning-of-buffer)		;'Begin'
! (define-key esc-map "0" 'end-of-buffer)			;'End'
! (define-key META-N-map "I" 'narrow-region)		;'Select'
  (define-key META-O-map "k" 'save-buffers-kill-emacs)	;'Exit'
  (define-key META-O-map "o" 'save-buffer)		;'Save'
--- 130,136 ----
  ;; Now do terminal-specific mappings of keys with no standard-keycap equivalent
  
! ;;;(define-key esc-map "9" 'beginning-of-buffer)		;'Begin'
! ;;;(define-key esc-map "0" 'end-of-buffer)			;'End'
! (define-key META-N-map "I" 'narrow-to-region)		;'Select'
  (define-key META-O-map "k" 'save-buffers-kill-emacs)	;'Exit'
  (define-key META-O-map "o" 'save-buffer)		;'Save'
diff -rc2N dist-18.54/lisp/term/x-win.el dist-18.55/lisp/term/x-win.el
*** dist-18.54/lisp/term/x-win.el	Thu Aug 11 22:19:46 1988
--- dist-18.55/lisp/term/x-win.el	Tue Jun 20 14:03:45 1989
***************
*** 22,25 ****
--- 22,28 ----
    "*Window system version number now in use.")
  
+ (defvar x-sigio-bug nil
+   "Non-NIL means don't use interrupts for input when using X.")
+ 
  (defvar x-processed-defaults nil
    "Non-NIL means that user's X defaults have already been processed.")
***************
*** 203,206 ****
--- 206,213 ----
  	      (x-handle-switch-1 (car (car x-switches)) (cdr (car x-switches)))
  	      (setq x-switches (cdr x-switches)))))
+ 
+       ;; On certain systems, turn off use of sigio, because it's broken.
+       (if x-sigio-bug
+ 	  (set-input-mode nil nil))
  
        (put 'suspend-emacs 'disabled
diff -rc2N dist-18.54/lisp/version.el dist-18.55/lisp/version.el
*** dist-18.54/lisp/version.el	Sat Apr 15 23:55:06 1989
--- dist-18.55/lisp/version.el	Sat Jun 10 00:34:13 1989
***************
*** 22,26 ****
  ;; The following line is modified automatically
  ;; by loading inc-version.el, each time a new Emacs is dumped.
! (defconst emacs-version "18.54.0" "\
  Version numbers of this version of Emacs.")
  
--- 22,26 ----
  ;; The following line is modified automatically
  ;; by loading inc-version.el, each time a new Emacs is dumped.
! (defconst emacs-version "18.55.0" "\
  Version numbers of this version of Emacs.")
  
diff -rc2N dist-18.54/lisp/xscheme.el dist-18.55/lisp/xscheme.el
*** dist-18.54/lisp/xscheme.el	Thu Aug 11 22:38:35 1988
--- dist-18.55/lisp/xscheme.el	Fri Apr 28 18:59:40 1989
***************
*** 1,4 ****
  ;; Run Scheme under Emacs
! ;; Copyright (C) 1986, 1987 Free Software Foundation, Inc.
  
  ;; This file is part of GNU Emacs.
--- 1,4 ----
  ;; Run Scheme under Emacs
! ;; Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
  
  ;; This file is part of GNU Emacs.
***************
*** 22,26 ****
  ;;; Changes to Control-G handler require runtime version 13.85 or later
  
! ;;; $Header: xscheme.el,v 1.19 88/08/12 02:41:22 GMT cph Exp $
  
  (require 'scheme)
--- 22,26 ----
  ;;; Changes to Control-G handler require runtime version 13.85 or later
  
! ;;; $Header: xscheme.el,v 1.23 89/04/28 22:59:40 GMT cph Rel $
  
  (require 'scheme)
***************
*** 55,72 ****
  (defun xscheme-evaluation-commands (keymap)
    (define-key keymap "\e\C-x" 'xscheme-send-definition)
!   (define-key keymap "\C-x\C-e" 'xscheme-send-previous-expression)
    (define-key keymap "\eo" 'xscheme-send-buffer)
    (define-key keymap "\ez" 'xscheme-send-definition)
    (define-key keymap "\e\C-m" 'xscheme-send-previous-expression)
!   (define-key keymap "\e\C-z" 'xscheme-send-region)
!   (define-key keymap "\C-cn" 'xscheme-send-next-expression)
!   (define-key keymap "\C-cp" 'xscheme-send-previous-expression))
  
  (defun xscheme-interrupt-commands (keymap)
    (define-key keymap "\C-c\C-s" 'xscheme-select-process-buffer)
!   (define-key keymap "\C-cb" 'xscheme-send-breakpoint-interrupt)
!   (define-key keymap "\C-cg" 'xscheme-send-control-g-interrupt)
!   (define-key keymap "\C-cu" 'xscheme-send-control-u-interrupt)
!   (define-key keymap "\C-cx" 'xscheme-send-control-x-interrupt))
  
  (xscheme-evaluation-commands scheme-mode-map)
--- 55,70 ----
  (defun xscheme-evaluation-commands (keymap)
    (define-key keymap "\e\C-x" 'xscheme-send-definition)
!   (define-key keymap "\C-x\C-e" 'advertised-xscheme-send-previous-expression)
    (define-key keymap "\eo" 'xscheme-send-buffer)
    (define-key keymap "\ez" 'xscheme-send-definition)
    (define-key keymap "\e\C-m" 'xscheme-send-previous-expression)
!   (define-key keymap "\e\C-z" 'xscheme-send-region))
  
  (defun xscheme-interrupt-commands (keymap)
    (define-key keymap "\C-c\C-s" 'xscheme-select-process-buffer)
!   (define-key keymap "\C-c\C-b" 'xscheme-send-breakpoint-interrupt)
!   (define-key keymap "\C-c\C-c" 'xscheme-send-control-g-interrupt)
!   (define-key keymap "\C-c\C-u" 'xscheme-send-control-u-interrupt)
!   (define-key keymap "\C-c\C-x" 'xscheme-send-control-x-interrupt))
  
  (xscheme-evaluation-commands scheme-mode-map)
***************
*** 194,198 ****
  
  (defun scheme-interaction-mode-commands (keymap)
-   (define-key keymap "\C-j" 'advertised-xscheme-send-previous-expression)
    (define-key keymap "\C-c\C-m" 'xscheme-send-current-line)
    (define-key keymap "\C-c\C-p" 'xscheme-send-proceed)
--- 192,195 ----
***************
*** 399,403 ****
    (let ((inhibit-quit t))
      (cond ((not xscheme-control-g-synchronization-p)
! 	   (interrupt-process "scheme" t))
  	  (xscheme-control-g-disabled-p
  	   (message "Relax..."))
--- 396,400 ----
    (let ((inhibit-quit t))
      (cond ((not xscheme-control-g-synchronization-p)
! 	   (interrupt-process "scheme"))
  	  (xscheme-control-g-disabled-p
  	   (message "Relax..."))
***************
*** 405,409 ****
  	   (setq xscheme-control-g-disabled-p t)
  	   (message "Sending C-G interrupt to Scheme...")
! 	   (interrupt-process "scheme" t)
  	   (send-string "scheme" (char-to-string 0))))))
  
--- 402,406 ----
  	   (setq xscheme-control-g-disabled-p t)
  	   (message "Sending C-G interrupt to Scheme...")
! 	   (interrupt-process "scheme")
  	   (send-string "scheme" (char-to-string 0))))))
  
***************
*** 426,430 ****
    "Send a ^A type interrupt to the Scheme process."
    (interactive "cInterrupt character to send: ")
!   (quit-process "scheme" t)
    (send-string "scheme" (char-to-string char))
    (if (and mark-p xscheme-control-g-synchronization-p)
--- 423,427 ----
    "Send a ^A type interrupt to the Scheme process."
    (interactive "cInterrupt character to send: ")
!   (quit-process "scheme")
    (send-string "scheme" (char-to-string char))
    (if (and mark-p xscheme-control-g-synchronization-p)
***************
*** 445,451 ****
  reading-string         reading prompt string")
  
- (defvar xscheme-process-filter-queue '()
-   "Queue used to synchronize filter actions properly.")
- 
  (defvar xscheme-running-p nil
    "This variable, if nil, indicates that the scheme process is
--- 442,445 ----
***************
*** 452,456 ****
  waiting for input.  Otherwise, it is busy evaluating something.")
  
! (defconst xscheme-control-g-synchronization-p (eq system-type 'hpux)
    "If non-nil, insert markers in the scheme input stream to indicate when
  control-g interrupts were signalled.  Do not allow more control-g's to be
--- 446,450 ----
  waiting for input.  Otherwise, it is busy evaluating something.")
  
! (defconst xscheme-control-g-synchronization-p t
    "If non-nil, insert markers in the scheme input stream to indicate when
  control-g interrupts were signalled.  Do not allow more control-g's to be
***************
*** 480,483 ****
--- 474,478 ----
  (defvar xscheme-runlight-string nil)
  (defvar xscheme-mode-string nil)
+ (defvar xscheme-filter-input nil)
  \f


  ;;;; Basic Process Control
***************
*** 558,568 ****
  
  (defun xscheme-process-sentinel (proc reason)
!   (let ((inhibit-quit t))
!     (xscheme-process-filter-initialize (eq reason 'run))
!     (if (eq reason 'run)
! 	(xscheme-modeline-initialize)
! 	(progn
! 	 (setq scheme-mode-line-process "")
! 	 (setq xscheme-mode-string "no process"))))
    (if (and (not (memq reason '(run stop)))
  	   xscheme-signal-death-message)
--- 553,562 ----
  
  (defun xscheme-process-sentinel (proc reason)
!   (xscheme-process-filter-initialize (eq reason 'run))
!   (if (eq reason 'run)
!       (xscheme-modeline-initialize)
!       (progn
!        (setq scheme-mode-line-process "")
!        (setq xscheme-mode-string "no process")))
    (if (and (not (memq reason '(run stop)))
  	   xscheme-signal-death-message)
***************
*** 573,577 ****
  (defun xscheme-process-filter-initialize (running-p)
    (setq xscheme-process-filter-state 'idle)
-   (setq xscheme-process-filter-queue (cons '() '()))
    (setq xscheme-running-p running-p)
    (setq xscheme-control-g-disabled-p nil)
--- 567,570 ----
***************
*** 578,655 ****
    (setq xscheme-allow-output-p t)
    (setq xscheme-prompt "")
-   (setq xscheme-string-accumulator "")
-   (setq xscheme-string-receiver nil)
    (setq scheme-mode-line-process '(": " xscheme-runlight-string)))
  
  (defun xscheme-process-filter (proc string)
!   (let ((inhibit-quit t))
!     (cond ((eq xscheme-process-filter-state 'idle)
! 	   (xscheme-process-filter:idle string))
! 	  ((eq xscheme-process-filter-state 'reading-type)
! 	   (xscheme-process-filter:reading-type string))
! 	  ((eq xscheme-process-filter-state 'reading-string)
! 	   (xscheme-process-filter:reading-string string))
! 	  (t (error "Scheme process filter -- bad state")))))
! 
! (defun xscheme-process-filter:idle (string)
!   (setq xscheme-process-filter-state 'idle)
!   (let ((start (string-match "\e" string)))
!     (if start
! 	(progn (xscheme-process-filter:idle-1 (substring string 0 start))
! 	       (xscheme-process-filter:reading-type
! 		(substring string (1+ start))))
! 	(progn (xscheme-process-filter:idle-1 string)
! 	       (xscheme-process-filter:finish)))))
! \f


! (defun xscheme-process-filter:idle-1 (string)
!   (while (string-match "\\(\007\\|\f\\)" string)
!     (let ((start (match-beginning 0))
! 	  (end (match-end 0)))
!       (xscheme-process-filter-output (substring string 0 start))
!       (if (= ?\f (aref string start))
! 	  (progn (xscheme-guarantee-newlines 1)
! 		 (xscheme-process-filter-output ?\f))
! 	  (beep))
!       (setq string (substring string (1+ start)))))
!   (xscheme-process-filter-output string))
! 
! (defun xscheme-process-filter:reading-type (string)
!   (let ((len (length string)))
!     (if (= 0 len)
! 	(progn (setq xscheme-process-filter-state 'reading-type)
! 	       (xscheme-process-filter:finish))
! 	(xscheme-process-filter-dispatch (aref string 0)
! 					 (substring string 1 len)))))
! 
! (defun xscheme-process-filter:reading-string (string)
!   (let ((start (string-match "\e" string)))
!     (if start
! 	(progn (xscheme-process-filter:enqueue
! 		(list xscheme-string-receiver
! 		      (concat xscheme-string-accumulator
! 			      (substring string 0 start))))
! 	       (setq xscheme-string-accumulator "")
! 	       (setq xscheme-string-receiver nil)
! 	       (xscheme-process-filter:idle
! 		(substring string (1+ start) (length string))))
! 	(progn (setq xscheme-string-accumulator
! 		     (concat xscheme-string-accumulator string))
! 	       (setq xscheme-process-filter-state 'reading-string)
! 	       (xscheme-process-filter:finish)))))
! 
! (defun xscheme-process-filter:enqueue (action)
!   (let ((next (cons action '())))
!     (if (cdr xscheme-process-filter-queue)
! 	(setcdr (cdr xscheme-process-filter-queue) next)
! 	(setcar xscheme-process-filter-queue next))
!     (setcdr xscheme-process-filter-queue next)))
! 
! (defun xscheme-process-filter:finish ()
!   (while (car xscheme-process-filter-queue)
!     (let ((next (car xscheme-process-filter-queue)))
!       (setcar xscheme-process-filter-queue (cdr next))
!       (if (not (cdr next))
! 	  (setcdr xscheme-process-filter-queue '()))
!       (apply (car (car next)) (cdr (car next))))))
  \f


  ;;;; Process Filter Output
--- 571,620 ----
    (setq xscheme-allow-output-p t)
    (setq xscheme-prompt "")
    (setq scheme-mode-line-process '(": " xscheme-runlight-string)))
  
  (defun xscheme-process-filter (proc string)
!   (let ((xscheme-filter-input string))
!     (while xscheme-filter-input
!       (cond ((eq xscheme-process-filter-state 'idle)
! 	     (let ((start (string-match "\e" xscheme-filter-input)))
! 	       (if start
! 		   (progn
! 		     (xscheme-process-filter-output
! 		      (substring xscheme-filter-input 0 start))
! 		     (setq xscheme-filter-input
! 			   (substring xscheme-filter-input (1+ start)))
! 		     (setq xscheme-process-filter-state 'reading-type))
! 		   (let ((string xscheme-filter-input))
! 		     (setq xscheme-filter-input nil)
! 		     (xscheme-process-filter-output string)))))
! 	    ((eq xscheme-process-filter-state 'reading-type)
! 	     (if (zerop (length xscheme-filter-input))
! 		 (setq xscheme-filter-input nil)
! 		 (let ((char (aref xscheme-filter-input 0)))
! 		   (setq xscheme-filter-input
! 			 (substring xscheme-filter-input 1))
! 		   (let ((entry (assoc char xscheme-process-filter-alist)))
! 		     (if entry
! 			 (funcall (nth 2 entry) (nth 1 entry))
! 			 (progn
! 			   (xscheme-process-filter-output ?\e char)
! 			   (setq xscheme-process-filter-state 'idle)))))))
! 	    ((eq xscheme-process-filter-state 'reading-string)
! 	     (let ((start (string-match "\e" xscheme-filter-input)))
! 	       (if start
! 		   (let ((string
! 			  (concat xscheme-string-accumulator
! 				  (substring xscheme-filter-input 0 start))))
! 		     (setq xscheme-filter-input
! 			   (substring xscheme-filter-input (1+ start)))
! 		     (setq xscheme-process-filter-state 'idle)
! 		     (funcall xscheme-string-receiver string))
! 		   (progn
! 		     (setq xscheme-string-accumulator
! 			   (concat xscheme-string-accumulator
! 				   xscheme-filter-input))
! 		     (setq xscheme-filter-input nil)))))
! 	    (t
! 	     (error "Scheme process filter -- bad state"))))))
  \f


  ;;;; Process Filter Output
***************
*** 656,671 ****
  
  (defun xscheme-process-filter-output (&rest args)
-   (if (not (and args
- 		(null (cdr args))
- 		(stringp (car args))
- 		(string-equal "" (car args))))
-       (xscheme-process-filter:enqueue
-        (cons 'xscheme-process-filter-output-1 args))))
- 
- (defun xscheme-process-filter-output-1 (&rest args)
    (if xscheme-allow-output-p
!       (save-excursion
! 	(xscheme-goto-output-point)
! 	(apply 'insert-before-markers args))))
  
  (defun xscheme-guarantee-newlines (n)
--- 621,640 ----
  
  (defun xscheme-process-filter-output (&rest args)
    (if xscheme-allow-output-p
!       (let ((string (apply 'concat args)))
! 	(save-excursion
! 	  (xscheme-goto-output-point)
! 	  (while (string-match "\\(\007\\|\f\\)" string)
! 	    (let ((start (match-beginning 0))
! 		  (end (match-end 0)))
! 	      (insert-before-markers (substring string 0 start))
! 	      (if (= ?\f (aref string start))
! 		  (progn
! 		    (if (not (bolp))
! 			(insert-before-markers ?\n))
! 		    (insert-before-markers ?\f))
! 		  (beep))
! 	      (setq string (substring string (1+ start)))))
! 	  (insert-before-markers string)))))
  
  (defun xscheme-guarantee-newlines (n)
***************
*** 755,773 ****
  the remaining input.")
  \f


! (defun xscheme-process-filter-dispatch (char string)
!   (let ((entry (assoc char xscheme-process-filter-alist)))
!     (if entry
! 	(funcall (nth 2 entry) (nth 1 entry) string)
! 	(progn
! 	  (xscheme-process-filter-output ?\e char)
! 	  (xscheme-process-filter:idle string)))))
! 
! (defun xscheme-process-filter:simple-action (action string)
!   (xscheme-process-filter:enqueue (list action))
!   (xscheme-process-filter:idle string))
  
! (defun xscheme-process-filter:string-action (action string)
    (setq xscheme-string-receiver action)
!   (xscheme-process-filter:reading-string string))
  
  (defconst xscheme-runlight:running "run"
--- 724,735 ----
  the remaining input.")
  \f


! (defun xscheme-process-filter:simple-action (action)
!   (setq xscheme-process-filter-state 'idle)
!   (funcall action))
  
! (defun xscheme-process-filter:string-action (action)
    (setq xscheme-string-receiver action)
!   (setq xscheme-string-accumulator "")
!   (setq xscheme-process-filter-state 'reading-string))
  
  (defconst xscheme-runlight:running "run"
***************
*** 827,831 ****
  	(message "%s" message-string)))
    (xscheme-guarantee-newlines 1)
!   (xscheme-process-filter-output-1 output-string))
  
  (defun xscheme-set-prompt-variable (string)
--- 789,793 ----
  	(message "%s" message-string)))
    (xscheme-guarantee-newlines 1)
!   (xscheme-process-filter-output output-string))
  
  (defun xscheme-set-prompt-variable (string)
diff -rc2N dist-18.54/man/texinfo.tex dist-18.55/man/texinfo.tex
*** dist-18.54/man/texinfo.tex	Thu Aug 18 17:07:43 1988
--- dist-18.55/man/texinfo.tex	Tue Jul  4 21:49:43 1989
***************
*** 1,100 ****
  %% TeX macros to handle texinfo files
  
! %   Copyright (C) 1985, 1986, 1988 Richard M. Stallman
  
! %		       NO WARRANTY
  
- %  BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY
- %NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW.  EXCEPT
- %WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE FOUNDATION, INC,
- %RICHARD M. STALLMAN AND/OR OTHER PARTIES PROVIDE THIS PROGRAM "AS IS"
- %WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- %BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- %FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY
- %AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE
- %DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
- %CORRECTION.
- 
- % IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL RICHARD M.
- %STALLMAN, THE FREE SOFTWARE FOUNDATION, INC., AND/OR ANY OTHER PARTY
- %WHO MAY MODIFY AND REDISTRIBUTE THIS PROGRAM AS PERMITTED BELOW, BE
- %LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR
- %OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
- %USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
- %DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR
- %A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) THIS
- %PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
- %DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
- 
- %		GENERAL PUBLIC LICENSE TO COPY
- 
- %  1. You may copy and distribute verbatim copies of this source file
- %as you receive it, in any medium, provided that you conspicuously
- %and appropriately publish on each copy a valid copyright notice
- %"Copyright (C) 1986 Richard M. Stallman"; and include
- %following the copyright notice a verbatim copy of the above disclaimer
- %of warranty and of this License.
- 
- %  2. You may modify your copy or copies of this source file or
- %any portion of it, and copy and distribute such modifications under
- %the terms of Paragraph 1 above, provided that you also do the following:
- 
- %    a) cause the modified files to carry prominent notices stating
- %    that you changed the files and the date of any change; and
- 
- %    b) cause the whole of any work that you distribute or publish,
- %    that in whole or in part contains or is a derivative of this
- %    program or any part thereof, to be licensed at no charge to all
- %    third parties on terms identical to those contained in this
- %    License Agreement (except that you may choose to grant more extensive
- %    warranty protection to some or all third parties, at your option).
- 
- %    c) You may charge a distribution fee for the physical act of
- %    transferring a copy, and you may at your option offer warranty
- %    protection in exchange for a fee.
- 
- %Mere aggregation of another unrelated program with this program (or its
- %derivative) on a volume of a storage or distribution medium does not bring
- %the other program under the scope of these terms.
- 
- %  3. You may copy and distribute this program (or a portion or derivative
- %of it, under Paragraph 2) in object code or executable form under the terms
- %of Paragraphs 1 and 2 above provided that you also do one of the following:
- 
- %    a) accompany it with the complete corresponding machine-readable
- %    source code, which must be distributed under the terms of
- %    Paragraphs 1 and 2 above; or,
- 
- %    b) accompany it with a written offer, valid for at least three
- %    years, to give any third party free (except for a nominal
- %    shipping charge) a complete machine-readable copy of the
- %    corresponding source code, to be distributed under the terms of
- %    Paragraphs 1 and 2 above; or,
- 
- %    c) accompany it with the information you received as to where the
- %    corresponding source code may be obtained.  (This alternative is
- %    allowed only for noncommercial distribution and only if you
- %    received the program in object code or executable form alone.)
- 
- %For an executable file, complete source code means all the source code for
- %all modules it contains; but, as a special exception, it need not include
- %source code for modules which are standard libraries that accompany the
- %operating system on which the executable file runs.
- 
- %  4. You may not copy, sublicense, distribute or transfer this program
- %except as expressly provided under this License Agreement.  Any attempt
- %otherwise to copy, sublicense, distribute or transfer this program is void and
- %your rights to use the program under this License agreement shall be
- %automatically terminated.  However, parties who have received computer
- %software programs from you with this License Agreement will not have
- %their licenses terminated so long as such parties remain in full compliance.
- 
- %  5. If you wish to incorporate parts of this program into other free
- %programs whose distribution conditions are different, write to the Free
- %Software Foundation at 675 Mass Ave, Cambridge, MA 02139.  We have not yet
- %worked out a simple rule that can be stated here, but we will often permit
- %this.  We will be guided by the two goals of preserving the free status of
- %all derivatives of our free software and of promoting the sharing and reuse of
- %software.
  
  %In other words, you are welcome to use, share and improve this program.
--- 1,20 ----
  %% TeX macros to handle texinfo files
  
! %   Copyright (C) 1985, 1986, 1988 Free Software Foundation, Inc.
  
! %GNU CC is free software; you can redistribute it and/or modify
! %it under the terms of the GNU General Public License as published by
! %the Free Software Foundation; either version 1, or (at your option)
! %any later version.
! 
! %GNU CC is distributed in the hope that it will be useful,
! %but WITHOUT ANY WARRANTY; without even the implied warranty of
! %MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! %GNU General Public License for more details.
! 
! %You should have received a copy of the GNU General Public License
! %along with GNU CC; see the file COPYING.  If not, write to
! %the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  
  
  %In other words, you are welcome to use, share and improve this program.
***************
*** 102,106 ****
  %what you give them.   Help stamp out software-hoarding!
  
! \def\texinfoversion{1.13}
  \message{Loading texinfo package [Version \texinfoversion]:}
  \message{}
--- 22,26 ----
  %what you give them.   Help stamp out software-hoarding!
  
! \def\texinfoversion{1.26}
  \message{Loading texinfo package [Version \texinfoversion]:}
  \message{}
***************
*** 372,387 ****
  \let\c=\comment
  
! \long\def\ignore #1\end ignore{}
  
- \outer\def\ifset{\parsearg\ifsetxxx}
- 
- \def\ifsetxxx #1#2\end ifset{%
- \expandafter\ifx\csname IF#1\endcsname\relax \else #2\fi}
- 
- \outer\def\ifclear{\parsearg\ifclearxxx}
- 
- \def\ifclearxxx #1#2\end ifclear{%
- \expandafter\ifx\csname IF#1\endcsname\relax #2\fi}
- 
  % Some texinfo constructs that are trivial in tex
  
--- 292,345 ----
  \let\c=\comment
  
! % Prevent errors for section commands.
! % Used in @ignore and in failing conditionals.
! \def\ignoresections{%
! \let\chapter=\relax
! \let\unnumbered=\relax
! \let\unnumberedsec=\relax
! \let\unnumberedsection=\relax
! \let\unnumberedsubsec=\relax
! \let\unnumberedsubsection=\relax
! \let\unnumberedsubsubsec=\relax
! \let\unnumberedsubsubsection=\relax
! \let\section=\relax
! \let\subsec=\relax
! \let\subsubsec=\relax
! \let\subsection=\relax
! \let\subsubsection=\relax
! \let\appendix=\relax
! \let\appendixsec=\relax
! \let\appendixsection=\relax
! \let\appendixsubsec=\relax
! \let\appendixsubsection=\relax
! \let\appendixsubsubsec=\relax
! \let\appendixsubsubsection=\relax
! }
! 
! \def\ignore{\begingroup\ignoresections\ignorexxx}
! \long\def\ignorexxx #1\end ignore{\endgroup}
! 
! % Conditionals to test whether a flag is set.
! 
! \outer\def\ifset{\begingroup\ignoresections\parsearg\ifsetxxx}
! 
! \def\ifsetxxx #1{\endgroup
! \expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\ifsetfail
! \else \let\temp=\relax \fi
! \temp}
! \def\Eifset{}
! \def\ifsetfail{\begingroup\ignoresections\ifsetfailxxx}
! \long\def\ifsetfailxxx #1\end ifset{\endgroup}
! 
! \outer\def\ifclear{\begingroup\ignoresections\parsearg\ifclearxxx}
! 
! \def\ifclearxxx #1{\endgroup
! \expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\relax
! \else \let\temp=\ifclearfail \fi
! \temp}
! \def\Eifclear{}
! \def\ifclearfail{\begingroup\ignoresections\ifclearfailxxx}
! \long\def\ifclearfailxxx #1\end ifclear{\endgroup}
  
  % Some texinfo constructs that are trivial in tex
  
***************
*** 388,392 ****
  \def\iftex{}
  \def\Eiftex{}
! \long\def\ifinfo #1\end ifinfo{}
  \long\def\menu #1\end menu{}
  \def\asis#1{#1}
--- 346,351 ----
  \def\iftex{}
  \def\Eiftex{}
! \def\ifinfo{\begingroup\ignoresections\ifinfoxxx}
! \long\def\ifinfoxxx #1\end ifinfo{\endgroup}
  \long\def\menu #1\end menu{}
  \def\asis#1{#1}
***************
*** 406,411 ****
  
  \let\refill=\relax
  
! \let\setfilename=\comment
  
  \def\inforef #1{\inforefzzz #1,,,,**}
--- 365,381 ----
  
  \let\refill=\relax
+   
+ % @setfilename is done at the beginning of every texinfo file.
+ % So open here the files we need to have open while reading the input.
+ % This makes it possible to make a .fmt file for texinfo.
+ \def\setfilename{%
+    \readauxfile
+    \opencontents
+    \openindices
+    \fixbackslash  % Turn off hack to swallow `\input texinfo'.
+    \comment % Ignore the actual filename.
+ }
  
! \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
  
  \def\inforef #1{\inforefzzz #1,,,,**}
***************
*** 420,424 ****
  \font\tenrm=cmr10 scaled \magstephalf
  \font\tentt=cmtt10 scaled \magstephalf
! \font\tenbf=cmb10 scaled \magstephalf
  \font\tenit=cmti10 scaled \magstephalf
  \font\tensl=cmsl10 scaled \magstephalf
--- 390,397 ----
  \font\tenrm=cmr10 scaled \magstephalf
  \font\tentt=cmtt10 scaled \magstephalf
! % Instead of cmb10, you many want to use cmbx10.
! % cmbx10 is a prettier font on its own, but cmb10
! % looks better when embedded in a line with cmr10.
! \font\tenbf=cmb10 scaled \magstephalf 
  \font\tenit=cmti10 scaled \magstephalf
  \font\tensl=cmsl10 scaled \magstephalf
***************
*** 455,467 ****
  \let\secbf=\secrm
  
! \font\ssecrm=cmbx10 scaled \magstep1
! \font\ssecit=cmti10 scaled \magstep1
! \font\ssecsl=cmsl10 scaled \magstep1
! \font\ssectt=cmtt10 scaled \magstep1
! \font\ssecsf=cmss10 scaled \magstep1
  \let\ssecbf=\ssecrm
  
  \def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf%
! \let\sc=\tensc\let\sf=\tensf}
  \def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf}
  \def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf}
--- 428,447 ----
  \let\secbf=\secrm
  
! % \font\ssecrm=cmbx10 scaled \magstep1    % This size an fontlooked bad.
! % \font\ssecit=cmti10 scaled \magstep1    % The letters were too crowded.
! % \font\ssecsl=cmsl10 scaled \magstep1
! % \font\ssectt=cmtt10 scaled \magstep1
! % \font\ssecsf=cmss10 scaled \magstep1
! 
! \font\ssecrm=cmb10 at 13pt	% Note the use of cmb rather than cmbx.
! \font\ssecit=cmti10 at 13pt	% Also, the size is a little larger than
! \font\ssecsl=cmsl10 at 13pt	% being scaled magstep1.
! \font\ssectt=cmtt10 at 13pt
! \font\ssecsf=cmss10 at 13pt
! 
  \let\ssecbf=\ssecrm
  
  \def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf%
! \let\smallcaps=\tensc\let\sf=\tensf}
  \def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf}
  \def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf}
***************
*** 470,473 ****
--- 450,456 ----
  \newcount\fontdepth \fontdepth=0
  
+ % Font for table of contents.
+ \font\truesecrm=cmr12
+ 
  %% Add scribe-like font environments, plus @l for inline lisp (usually sans
  %% serif) and @ii for TeX italic
***************
*** 482,490 ****
  \let\strong=\b
  
! \def\t#1{{\tt \rawbackslash #1}\null}
  \let\ttfont = \t
  \let\kbd=\t
  \let\code=\t
! \def\samp #1{`{\tt \rawbackslash #1}'\null}
  \def\key #1{{\tt \uppercase{#1}}\null}
  \def\ctrl #1{{\tt \rawbackslash \hat}#1}
--- 465,473 ----
  \let\strong=\b
  
! \def\t#1{{\tt \rawbackslash \frenchspacing #1}\null}
  \let\ttfont = \t
  \let\kbd=\t
  \let\code=\t
! \def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
  \def\key #1{{\tt \uppercase{#1}}\null}
  \def\ctrl #1{{\tt \rawbackslash \hat}#1}
***************
*** 492,509 ****
  \let\file=\samp
  
! \def\l#1{{\li #1}\null}
  
! \def\r#1{{\rm #1}}
! \def\s#1{{\sc #1}}
! \def\ii#1{{\it #1}}
  
  \def\titlefont#1{{\titlerm #1}}
  
- \def\titlepage{\begingroup \parindent=0pt \hbox{}%
- \let\oldpage=\page
- \def\page{\oldpage \hbox{}}}
- 
- \def\Etitlepage{\endgroup\page\HEADINGSon}
- 
  % Make altmode in file print out right
  
--- 475,486 ----
  \let\file=\samp
  
! \def\l#1{{\li #1}\null}		% 
  
! \def\r#1{{\rm #1}}		% roman font
! \def\sc#1{{\\smallcaps #1}}	% smallcaps font
! \def\ii#1{{\it #1}}		% italic font
  
  \def\titlefont#1{{\titlerm #1}}
  
  % Make altmode in file print out right
  
***************
*** 512,515 ****
--- 489,543 ----
  \message{page headings,}
  
+ \newskip\titlepagetopglue \titlepagetopglue = 1.5in
+ \newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+ 
+ % First the title page.  Must do @settitle before @titlepage.
+ \font\titlerm = cmbx12 scaled \magstep2
+ \def\titlefont#1{{\titlerm #1}}
+ 
+ \newtoks\realeverypar
+ \newif\ifseenauthor
+ 
+ \def\titlepage{\begingroup \parindent=0pt \textfonts
+    \font\subtitlerm = cmr10 scaled \magstephalf
+    \def\subtitlefont{\subtitlerm \normalbaselineskip = 12pt \normalbaselines}%
+    %
+    \font\authorrm = cmbx12 scaled \magstep1
+    \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
+    %
+    % The first subtitle should have some space before it, but not the
+    % others.  They all should be ragged left.
+ % ??? This code turned off because (1) it is wrong for all old title
+ % pages, and (2) it makes an extra group which never is ended.
+ %   \begingroup \realeverypar = {\leftskip = 2in plus 3em minus 1em
+ %                    \parfillskip = 0pt}%
+ %   \everypar = {\vglue \baselineskip \the\realeverypar
+ %                \everypar={\the\realeverypar}}%
+    %
+    % Now you can print the title using @title.
+    \def\title{\parsearg\titlezzz}%
+    \def\titlezzz##1{\leftline{\titlefont{##1}
+ 		    \vskip4pt \hrule height 4pt \vskip4pt}%
+    \vglue\titlepagetopglue
+    %
+    % Now you can put text using @subtitle.
+    \def\subtitle{\parsearg\subtitlezzz}%
+    \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
+    %
+    % @author should come last, but may come many times.
+    \def\author{\parsearg\authorzzz}%
+    \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
+       {\authorfont \leftline{##1}}}%
+    %  
+    % Most title ``pages'' are actually two pages long, with space
+    % at the top of the second.  We don't want the ragged left on the second.
+    \let\oldpage = \page
+ %   \def\page{\vskip4pt \hrule height 2pt \vskip\titlepagebottomglue
+ %      \oldpage \endgroup\hrule height0pt\relax}%
+    \def\page{\oldpage \hbox{}}}
+ }
+ 
+ \def\Etitlepage{\endgroup\page\HEADINGSon}
+ 
  %%% Set up page headings and footings.
  
***************
*** 570,575 ****
  }% unbind the catcode of @.
  
! % @headings on   turns them on.
! % @headings off  turns them off.
  % By default, they are off.
  
--- 598,605 ----
  }% unbind the catcode of @.
  
! % @headings double	turns headings on for double-sided printing.
! % @headings single	turns headings on for single-sided printing.
! % @headings off		turns them off.
! % @headings on		same as @headings double, retained for compatibility.
  % By default, they are off.
  
***************
*** 580,590 ****
  \global\oddheadline={\hfil} \global\oddfootline={\hfil}}
  \HEADINGSoff
! % When we turn headings on, set the page number to 1,
! % Put current file name in lower left corner,
! % Put chapter name on inside top of right hand pages, document
  % title on inside top of left hand pages, and page numbers on outside top
  % edge of all pages.
! \def\HEADINGSon{
! \pagealignmacro
  \global\pageno=1
  \global\evenfootline={\hfil}
--- 610,620 ----
  \global\oddheadline={\hfil} \global\oddfootline={\hfil}}
  \HEADINGSoff
! % When we turn headings on, set the page number to 1.
! % For double-sided printing, put current file name in lower left corner,
! % chapter name on inside top of right hand pages, document
  % title on inside top of left hand pages, and page numbers on outside top
  % edge of all pages.
! \def\HEADINGSdouble{
! %\pagealignmacro
  \global\pageno=1
  \global\evenfootline={\hfil}
***************
*** 593,596 ****
--- 623,637 ----
  \global\oddheadline={\line{\thischapter\hfil\folio}}
  }
+ % For single-sided printing, chapter title goes across top left of page,
+ % page number on top right.
+ \def\HEADINGSsingle{
+ %\pagealignmacro
+ \global\pageno=1
+ \global\evenfootline={\hfil}
+ \global\oddfootline={\hfil}
+ \global\evenheadline={\line{\thischapter\hfil\folio}}
+ \global\oddheadline={\line{\thischapter\hfil\folio}}
+ }
+ \def\HEADINGSon{\HEADINGSdouble}
  
  % Subroutines used in generating headings
***************
*** 642,648 ****
  \def\internalBkitemx{\par \parsearg\kitemzzz}
  
! \def\kitemzzz #1{\dosubind {kw}{#1}{for {\bf \lastfunction}}\itemzzz {#1}}
  
! \def\xitemzzz #1{\dosubind {kw}{#1}{for {\bf \xitemsubtopic}}\itemzzz {#1}}
  
  \def\itemzzz #1{\begingroup %
--- 683,689 ----
  \def\internalBkitemx{\par \parsearg\kitemzzz}
  
! \def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}\itemzzz {#1}}
  
! \def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}\itemzzz {#1}}
  
  \def\itemzzz #1{\begingroup %
***************
*** 683,687 ****
  
  \def\dontindex #1{}
! \def\fnitemindex #1{\doind {fn}{#1}}%
  
  {\obeyspaces %
--- 724,728 ----
  
  \def\dontindex #1{}
! \def\fnitemindex #1{\doind {fn}{\code{#1}}}%
  
  {\obeyspaces %
***************
*** 778,787 ****
  \def\defindex{\parsearg\newindex}
  
  % @synindex foo bar    makes index foo feed into index bar.
  % Do this instead of @defindex foo if you don't want it as a separate index.
  \def\synindex #1 #2 {%
! \expandafter \xdef \csname#1index\endcsname {\noexpand\csname#2index\endcsname}%
! \expandafter \chardef \csname#1indfile\endcsname %
! = \csname#2indfile\endcsname}
  
  % Define \doindex, the driver for all \fooindex macros.
--- 819,846 ----
  \def\defindex{\parsearg\newindex}
  
+ % Define @defcodeindex, like @defindex except put all entries in @code.
+ 
+ \def\newcodeindex #1{
+ \expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+ \openout \csname#1indfile\endcsname \jobname.#1	% Open the file
+ \expandafter\xdef\csname#1index\endcsname{%	% Define \xxxindex
+ \noexpand\docodeindex {#1}}
+ }
+ 
+ \def\defcodeindex{\parsearg\newcodeindex}
+ 
  % @synindex foo bar    makes index foo feed into index bar.
  % Do this instead of @defindex foo if you don't want it as a separate index.
  \def\synindex #1 #2 {%
! \expandafter\xdef\csname#1index\endcsname{%	% Define \xxxindex
! \noexpand\doindex {#2}}%
! }
! 
! % @syncodeindex foo bar   similar, but put all entries made for index foo
! % inside @code.
! \def\syncodeindex #1 #2 {%
! \expandafter\xdef\csname#1index\endcsname{%	% Define \xxxindex
! \noexpand\docodeindex {#2}}%
! }
  
  % Define \doindex, the driver for all \fooindex macros.
***************
*** 798,801 ****
--- 857,864 ----
  \def\singleindexer #1{\doind{\indexname}{#1}}
  
+ % like the previous two, but they put @code around the argument.
+ \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+ \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+ 
  \def\indexdummies{%
  \def\bf{\realbackslash bf }%
***************
*** 806,809 ****
--- 869,883 ----
  }
  
+ % \indexnofonts no-ops all font-change commands.
+ % This is used when outputting the strings to sort the index by.
+ \def\indexdummyfont#1{#1}
+ \def\indexnofonts{%
+ \let\code=\indexdummyfont
+ \let\samp=\indexdummyfont
+ \let\kbd=\indexdummyfont
+ \let\key=\indexdummyfont
+ \let\var=\indexdummyfont
+ }
+ 
  % To define \realbackslash, we must make \ not be an escape.
  % We must first make another character (@) an escape
***************
*** 822,828 ****
  \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
  % so it will be output as is; and it will print as backslash in the indx.
  \edef\temp{%
  \write \csname#1indfile\endcsname{%
! \realbackslash entry {#2}{\folio}{#2}}}%
  \temp }%
  \penalty\count10}}
--- 896,910 ----
  \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
  % so it will be output as is; and it will print as backslash in the indx.
+ %
+ % Now process the index-string once, with all font commands turned off,
+ % to get the string to sort the index by.
+ {\indexnofonts
+ \xdef\temp1{#2}%
+ }%
+ % Now produce the complete index entry.  We process the index-string again,
+ % this time with font commands expanded, to get what to print in the index.
  \edef\temp{%
  \write \csname#1indfile\endcsname{%
! \realbackslash entry {\temp1}{\folio}{#2}}}%
  \temp }%
  \penalty\count10}}
***************
*** 834,840 ****
  {\let\folio=0%
  \def\rawbackslashxx{\indexbackslash}%
  \edef\temp{%
  \write \csname#1indfile\endcsname{%
! \realbackslash entry {#2 #3}{\folio}{#2}{#3}}}%
  \temp }%
  \penalty\count10}}
--- 916,930 ----
  {\let\folio=0%
  \def\rawbackslashxx{\indexbackslash}%
+ %
+ % Now process the index-string once, with all font commands turned off,
+ % to get the string to sort the index by.
+ {\indexnofonts
+ \xdef\temp1{#2 #3}%
+ }%
+ % Now produce the complete index entry.  We process the index-string again,
+ % this time with font commands expanded, to get what to print in the index.
  \edef\temp{%
  \write \csname#1indfile\endcsname{%
! \realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
  \temp }%
  \penalty\count10}}
***************
*** 908,912 ****
  {\parfillskip=0in \parskip=0in \parindent=0in
  \hangindent=1in \hangafter=1%
! \noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll #2\par
  }}
  
--- 998,1002 ----
  {\parfillskip=0in \parskip=0in \parindent=0in
  \hangindent=1in \hangafter=1%
! \noindent\hbox{#1}\dotfill #2\par
  }}
  
***************
*** 918,922 ****
  {\parfillskip=0in \parskip=0in
  \hangindent =1in \hangafter=1
! \noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par
  }}
  
--- 1008,1012 ----
  {\parfillskip=0in \parskip=0in
  \hangindent =1in \hangafter=1
! \noindent\hskip\secondaryindent\hbox{#1}\dotfill #2\par
  }}
  
***************
*** 967,971 ****
  
  \newwrite \contentsfile
! \openout \contentsfile = \jobname.toc
  
  % Each @chapter defines this as the name of the chapter.
--- 1057,1062 ----
  
  \newwrite \contentsfile
! % This is called from \setfilename.
! \def\opencontents{\openout \contentsfile = \jobname.toc}
  
  % Each @chapter defines this as the name of the chapter.
***************
*** 984,987 ****
--- 1075,1079 ----
  \gdef\thissection{#1}\gdef\thischapter{#1}%
  \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
  \escapechar=`\\%
***************
*** 995,998 ****
--- 1087,1092 ----
  \chapmacro {#1}{Appendix \appendixletter}%
  \gdef\thischapter{#1}\gdef\thissection{#1}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash chapentry {#1}{Appendix \appendixletter}{\noexpand\folio}}}%
  \escapechar=`\\%
***************
*** 1006,1009 ****
--- 1100,1105 ----
  \unnumbchapmacro {#1}%
  \gdef\thischapter{#1}\gdef\thissection{#1}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
  \escapechar=`\\%
***************
*** 1016,1019 ****
--- 1112,1117 ----
  \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
  \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash secentry %
  {#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
***************
*** 1029,1032 ****
--- 1127,1132 ----
  \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
  \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash secentry %
  {#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
***************
*** 1040,1045 ****
  \def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \edef\temp{{\realbackslash unnumbsecentry %
! {#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
--- 1140,1146 ----
  \def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \let\rawbackslash=\relax%
! \let\frenchspacing=\relax%
! \edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
***************
*** 1052,1055 ****
--- 1153,1158 ----
  \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
  \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash subsecentry %
  {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
***************
*** 1064,1067 ****
--- 1167,1172 ----
  \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
  \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash subsecentry %
  {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
***************
*** 1075,1080 ****
  \def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \edef\temp{{\realbackslash unnumbsubsecentry %
! {#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
--- 1180,1186 ----
  \def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \let\rawbackslash=\relax%
! \let\frenchspacing=\relax%
! \edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
***************
*** 1087,1090 ****
--- 1193,1198 ----
  \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
  \subsubsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+ \let\rawbackslash=\relax%
+ \let\frenchspacing=\relax%
  \edef\temp{{\realbackslash subsubsecentry %
  {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
***************
*** 1099,1104 ****
  \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
  \subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
! \edef\temp{{\realbackslash subsubsecentry %
! {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
  \escapechar=`\\%
  \write \contentsfile \temp %
--- 1207,1214 ----
  \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
  \subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
! \let\rawbackslash=\relax%
! \let\frenchspacing=\relax%
! \edef\temp{{\realbackslash subsubsecentry{#1}%
! {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
  \escapechar=`\\%
  \write \contentsfile \temp %
***************
*** 1110,1133 ****
  \def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \edef\temp{{\realbackslash unnumbsubsubsecentry %
! {#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
  \unnumbnoderef %
! \penalty 10000 %
! }
  
  % Define @majorheading, @heading and @subheading
  
! \outer\def\majorheading #1{%
  {\advance\chapheadingskip by 10pt \chapbreak }%
! {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
  
! \outer\def\chapheading #1{\chapbreak %
! {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
  
! \let\heading=\secheadingi
! \let\subheading=\subsecheadingi
! \let\subsubheading=\subsubsecheadingi
  
  % These macros generate a chapter, section, etc. heading only
--- 1220,1258 ----
  \def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
  \plainsecheading {#1}\gdef\thissection{#1}%
! \let\rawbackslash=\relax%
! \let\frenchspacing=\relax%
! \edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
  \escapechar=`\\%
  \write \contentsfile \temp %
  \unnumbnoderef %
! \penalty 10000 %
! }
! 
! % These are variants which are not "outer", so they can appear in @ifinfo.
! \def\infounnumbered{\parsearg\unnumberedzzz}
! \def\infounnumberedsec{\parsearg\unnumberedseczzz}
! \def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
! \def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
! 
! \def\infoappendix{\parsearg\appendixzzz}
! \def\infoappendixsec{\parsearg\appendixseczzz}
! \def\infoappendixsubsec{\parsearg\appendixsubseczzz}
! \def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
! 
! \def\infochapter{\parsearg\chapterzzz}
! \def\infosection{\parsearg\sectionzzz}
! \def\infosubsection{\parsearg\subsectionzzz}
! \def\infosubsubsection{\parsearg\subsubsectionzzz}
  
  % Define @majorheading, @heading and @subheading
  
! \def\majorheading #1{%
  {\advance\chapheadingskip by 10pt \chapbreak }%
! {\chapfonts \line{\rm #1\hfill}}\bigskip \par\penalty 200}
  
! \def\chapheading #1{\chapbreak %
! {\chapfonts \line{\rm #1\hfill}}\bigskip \par\penalty 200}
  
! \def\heading{\parsearg\secheadingi}
  
  % These macros generate a chapter, section, etc. heading only
***************
*** 1157,1165 ****
  \def\CHAPPAGon{
  \global\let\pchapsepmacro=\chappager
! \global\let\pagealignmacro=\chappager}
  
  \def\CHAPPAGodd{
  \global\let\pchapsepmacro=\chapoddpage
! \global\let\pagealignmacro=\chapoddpage}
  
  \CHAPPAGon
--- 1282,1292 ----
  \def\CHAPPAGon{
  \global\let\pchapsepmacro=\chappager
! \global\let\pagealignmacro=\chappager
! \global\def\HEADINGSon{\HEADINGSsingle}}
  
  \def\CHAPPAGodd{
  \global\let\pchapsepmacro=\chapoddpage
! \global\let\pagealignmacro=\chapoddpage
! \global\def\HEADINGSon{\HEADINGSdouble}}
  
  \CHAPPAGon
***************
*** 1171,1175 ****
  \def\chfplain #1#2{%
  \pchapsepmacro %
! {\chapfonts \line{\chaprm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 %
  }
  
--- 1298,1302 ----
  \def\chfplain #1#2{%
  \pchapsepmacro %
! {\chapfonts \line{\rm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 %
  }
  
***************
*** 1176,1180 ****
  \def\unnchfplain #1{%
  \pchapsepmacro %
! {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
  }
  \CHAPFplain % The default
--- 1303,1307 ----
  \def\unnchfplain #1{%
  \pchapsepmacro %
! {\chapfonts \line{\rm #1\hfill}}\bigskip \par\penalty 10000 %
  }
  \CHAPFplain % The default
***************
*** 1181,1185 ****
  
  \def\unnchfopen #1{%
! \chapoddpage {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
  }
  
--- 1308,1312 ----
  
  \def\unnchfopen #1{%
! \chapoddpage {\chapfonts \line{\rm #1\hfill}}\bigskip \par\penalty 10000 %
  }
  
***************
*** 1201,1204 ****
--- 1328,1335 ----
  \def\secheadingbreak{\dobreak \secheadingskip {-1000}}
  
+ 
+ % Section fonts are the base font at magstep2, which produces
+ % a size a bit more than 14 points in the default situation.	
+ 
  \def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
  \def\plainsecheading #1{\secheadingi {#1}}
***************
*** 1205,1269 ****
  \def\secheadingi #1{{\advance \secheadingskip by \parskip %
  \secheadingbreak}%
! {\secfonts \line{\secrm #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
  
  \def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip %
  \subsecheadingbreak}%
! {\secfonts \line{\secrm#2.#3.#4\enspace #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
  
! \def\subsubsecfonts{\subsecfonts} % Maybe this should change
! 
  \def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip %
  \subsecheadingbreak}%
! {\secfonts \line{\secrm#2.#3.#4.#5\enspace #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
  
  \message{toc printing,}
  
! \def\Dotsbox{\hbox to 1em{\hss.\hss}} % Used by index macros
  
! \def\finishcontents{%
! \ifnum\pageno>0 %
! \pagealignmacro %
! \immediate\closeout \contentsfile%
! \pageno=-1		% Request roman numbered pages
! \fi}
  
  \outer\def\contents{%
! \finishcontents %
! \unnumbchapmacro{Table of Contents}
! \def\thischapter{Table of Contents}
! {\catcode`\\=0
! \catcode`\{=1		% Set up to handle contents files properly
! \catcode`\}=2
! \catcode`\@=11
! \input \jobname.toc
  }
- \vfill \eject}
  
  \outer\def\summarycontents{%
! \finishcontents %
! \unnumbchapmacro{Summary Table of Contents}
! \def\thischapter{Summary Table of Contents}
! {\catcode`\\=0
! \catcode`\{=1		% Set up to handle contents files properly
! \catcode`\}=2
! \catcode`\@=11
! \def\smallbreak{}
! \def\secentry ##1##2##3##4{}
! \def\subsecentry ##1##2##3##4##5{}
! \def\subsubsecentry ##1##2##3##4##5##6{}
! \def\unnumbsecentry ##1##2{}
! \def\unnumbsubsecentry ##1##2{}
! \def\unnumbsubsubsecentry ##1##2{}
! \let\medbreak=\smallbreak
! \input \jobname.toc
  }
! \vfill \eject}
! 
! \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
  
! % These macros generate individual entries in the table of contents
  % The first argument is the chapter or section name.
  % The last argument is the page number.
--- 1336,1409 ----
  \def\secheadingi #1{{\advance \secheadingskip by \parskip %
  \secheadingbreak}%
! {\secfonts \line{\rm #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
  
+ 
+ % Subsection fonts are the base font at magstep1, 
+ % which produces a size of 12 points.
+ 
  \def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip %
  \subsecheadingbreak}%
! {\subsecfonts \line{\rm#2.#3.#4\enspace #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
  
! \def\subsubsecfonts{\subsecfonts} % Maybe this should change:
! 				  % Perhaps make sssec fonts scaled
! 				  % magstep half
  \def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip %
  \subsecheadingbreak}%
! {\subsubsecfonts \line{\rm#2.#3.#4.#5\enspace #1\hfill}}%
  \ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
  
+ 
  \message{toc printing,}
  
! % Finish up the main text and prepare to read what we've written
! % to \contentsfile.
  
! \def\startcontents#1{%
!    \ifnum \pageno>0
!       \pagealignmacro
!       \immediate\closeout \contentsfile
!       \pageno = -1		% Request roman numbered pages.
!    \fi
!    \unnumbchapmacro{#1}\def\thischapter{#1}%
!    \begingroup   		% Set up to handle contents files properly.
!       \catcode`\\=0  \catcode`\{=1  \catcode`\}=2  \catcode`\@=11
!       \raggedbottom             % Worry more about breakpoints than the bottom.
!       \advance\hsize by -1in    % Don't use the full line length.
! }
  
+   
+ % Normal (long) toc.
  \outer\def\contents{%
!    \startcontents{Table of Contents}%
!       \input \jobname.toc
!    \endgroup
!    \vfill \eject
  }
  
+ % And just the chapters.
  \outer\def\summarycontents{%
!    \startcontents{Short Contents}%
!       %
!       \let\chapentry = \shortchapentry
!       \let\unnumbchapentry = \shortunnumberedentry
!       % We want a true roman here for the page numbers.
!       \secfonts \let\rm = \truesecrm \rm
!       \advance\baselineskip by 1pt % Open it up a little.
!       \def\secentry ##1##2##3##4{}
!       \def\unnumbsecentry ##1##2{}
!       \def\subsecentry ##1##2##3##4##5{}
!       \def\unnumbsubsecentry ##1##2{}
!       \def\subsubsecentry ##1##2##3##4##5##6{}
!       \def\unnumbsubsubsecentry ##1##2{}
!       \input \jobname.toc
!    \endgroup
!    \vfill \eject
  }
! \let\shortcontents = \summarycontents
  
! % These macros generate individual entries in the table of contents.
  % The first argument is the chapter or section name.
  % The last argument is the page number.
***************
*** 1270,1308 ****
  % The arguments in between are the chapter number, section number, ...
  
! \def\chapentry #1#2#3{%
! \medbreak
! \line{#2.\space#1\leaders\hbox to 1em{\hss.\hss}\hfill #3}
  }
  
! \def\unnumbchapentry #1#2{%
! \medbreak
! \line{#1\leaders\Dotsbox\hfill #2}
! }
! 
! \def\secentry #1#2#3#4{%
! \line{\enspace\enspace#2.#3\space#1\leaders\Dotsbox\hfill#4}
! }
! 
! \def\unnumbsecentry #1#2{%
! \line{\enspace\enspace#1\leaders\Dotsbox\hfill #2}
! }
! 
! \def\subsecentry #1#2#3#4#5{%
! \line{\enspace\enspace\enspace\enspace
! #2.#3.#4\space#1\leaders\Dotsbox\hfill #5}
! }
! 
! \def\unnumbsubsecentry #1#2{%
! \line{\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
! }
! 
! \def\subsubsecentry #1#2#3#4#5#6{%
! \line{\enspace\enspace\enspace\enspace\enspace\enspace
! #2.#3.#4.#5\space#1\leaders\Dotsbox\hfill #6}
! }
! 
! \def\unnumbsubsubsecentry #1#2{%
! \line{\enspace\enspace\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
! }
  
  \message{environments,}
--- 1410,1474 ----
  % The arguments in between are the chapter number, section number, ...
  
! % Chapter-level things, for both the long and short contents.
! \def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
! \def\shortchapentry#1#2#3{%
!    \line{{#2\labelspace #1}\dotfill\doshortpageno{#3}}%
  }
  
! \def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
! \def\shortunnumberedentry#1#2{%
!    \line{#1\dotfill\doshortpageno{#2}}%
! }
! 
! % Sections.
! \def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
! \def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
! 
! % Subsections.
! \def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
! \def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
! 
! % And subsubsections.
! \def\subsubsecentry#1#2#3#4#5#6{\dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
! \def\unnumbsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
! 
! 
! % This parameter controls the indentation of the various levels.
! \newdimen\tocindent \tocindent = 3pc
! 
! % Now for the actual typesetting. In all these, #1 is the text and #2 is the 
! % page number.
! %
! % If the toc has to be broken over pages, we would want to be at chapters 
! % if at all possible; hence the \penalty.
! \def\dochapentry#1#2{%
!    \penalty-300 \vskip\baselineskip
!    \line{\chapentryfonts #1\dotfill \dopageno{#2}}%
!    \nobreak\vskip .25\baselineskip
! }
! 
! \def\dosecentry#1#2{%
!    \line{\secentryfonts \hskip\tocindent #1\dotfill \dopageno{#2}}%
! }
! 
! \def\dosubsecentry#1#2{%
!    \line{\subsecentryfonts \hskip2\tocindent #1\dotfill \dopageno{#2}}%
! }
! 
! \def\dosubsubsecentry#1#2{%
!    \line{\subsubsecentryfonts \hskip3\tocindent #1\dotfill \dopageno{#2}}%
! }
! 
! % Space between chapter (or whatever) number and the title.
! \def\labelspace{\hskip1em \relax}
! 
! \def\dopageno#1{{\rm #1}}
! \def\doshortpageno#1{{\rm #1}}
! 
! \def\chapentryfonts{\secfonts \let\rm = \sf \sf}
! \def\secentryfonts{\textfonts}
! \let\subsecentryfonts = \textfonts
! \let\subsubsecentryfonts = \textfonts
! 
  
  \message{environments,}
***************
*** 1370,1374 ****
  \let\par=\lisppar
  \def\Elisp{\endgroup\afterenvbreak}%
! \parskip=0pt \advance \rightskip by \lispnarrowing 
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
--- 1536,1540 ----
  \let\par=\lisppar
  \def\Elisp{\endgroup\afterenvbreak}%
! \parskip=0pt
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
***************
*** 1399,1403 ****
  \let\par=\lisppar
  \def\Esmalllisp{\endgroup\afterenvbreak}%
! \parskip=0pt \advance \rightskip by \lispnarrowing 
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
--- 1565,1569 ----
  \let\par=\lisppar
  \def\Esmalllisp{\endgroup\afterenvbreak}%
! \parskip=0pt
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
***************
*** 1418,1422 ****
  \let\par=\lisppar
  \def\Edisplay{\endgroup\afterenvbreak}%
! \parskip=0pt \advance \rightskip by \lispnarrowing 
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
--- 1584,1588 ----
  \let\par=\lisppar
  \def\Edisplay{\endgroup\afterenvbreak}%
! \parskip=0pt
  \advance \leftskip by \lispnarrowing
  \parindent=0pt
***************
*** 1567,1570 ****
--- 1733,1746 ----
  \begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
  
+ \def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
+ \medbreak %
+ % Define the end token that this defining construct specifies
+ % so that it will exit this group.
+ \def#1{\endgraf\endgroup\medbreak}%
+ \def#2##1 ##2 {\def#4{##1}%
+ \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
+ \parindent=0in \leftskip=\defbodyindent %
+ \begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
+ 
  % Split up #2 at the first space token.
  % call #1 with two arguments:
***************
*** 1598,1602 ****
  \def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
  
! \def\deffnheader #1#2#3{\doind {fn}{#2}%
  \begingroup\defname {#2}{#1}\defunargs{#3}\endgroup}
  
--- 1774,1778 ----
  \def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
  
! \def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
  \begingroup\defname {#2}{#1}\defunargs{#3}\endgroup}
  
***************
*** 1605,1609 ****
  \def\defun{\defparsebody\Edefun\defunx\defunheader}
  
! \def\defunheader #1#2{\doind {fn}{#1}% Make entry in function index
  \begingroup\defname {#1}{Function}%
  \defunargs {#2}\endgroup %
--- 1781,1785 ----
  \def\defun{\defparsebody\Edefun\defunx\defunheader}
  
! \def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
  \begingroup\defname {#1}{Function}%
  \defunargs {#2}\endgroup %
***************
*** 1614,1618 ****
  \def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
  
! \def\defmacheader #1#2{\doind {fn}{#1}% Make entry in function index
  \begingroup\defname {#1}{Macro}%
  \defunargs {#2}\endgroup %
--- 1790,1794 ----
  \def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
  
! \def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
  \begingroup\defname {#1}{Macro}%
  \defunargs {#2}\endgroup %
***************
*** 1623,1627 ****
  \def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
  
! \def\defspecheader #1#2{\doind {fn}{#1}% Make entry in function index
  \begingroup\defname {#1}{Special form}%
  \defunargs {#2}\endgroup %
--- 1799,1803 ----
  \def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
  
! \def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
  \begingroup\defname {#1}{Special form}%
  \defunargs {#2}\endgroup %
***************
*** 1641,1647 ****
  
  \def\defop #1 {\def\defoptype{#1}%
! \defmethparsebody\Edefop\defopx\defopheader}
  
! \def\defopheader #1#2#3{\dosubind {fn}{#2}{on #1}% Make entry in function index
  \begingroup\defname {#2}{\defoptype{} on #1}%
  \defunargs {#3}\endgroup %
--- 1817,1823 ----
  
  \def\defop #1 {\def\defoptype{#1}%
! \defopparsebody\Edefop\defopx\defopheader\defoptype}
  
! \def\defopheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
  \begingroup\defname {#2}{\defoptype{} on #1}%
  \defunargs {#3}\endgroup %
***************
*** 1652,1656 ****
  \def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
  
! \def\defmethodheader #1#2#3{\dosubind {fn}{#2}{on #1}% entry in function index
  \begingroup\defname {#2}{Operation on #1}%
  \defunargs {#3}\endgroup %
--- 1828,1832 ----
  \def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
  
! \def\defmethodheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% entry in function index
  \begingroup\defname {#2}{Operation on #1}%
  \defunargs {#3}\endgroup %
***************
*** 1660,1667 ****
  
  \def\defcv #1 {\def\defcvtype{#1}%
! \defmethparsebody\Edefcv\defcvx\defcvheader}
  
  \def\defcvarheader #1#2#3{%
! \dosubind {vr}{#2}{of #1}% Make entry in var index
  \begingroup\defname {#2}{\defcvtype of #1}%
  \defvarargs {#3}\endgroup %
--- 1836,1843 ----
  
  \def\defcv #1 {\def\defcvtype{#1}%
! \defopparsebody\Edefcv\defcvx\defcvheader\defcvtype}
  
  \def\defcvarheader #1#2#3{%
! \dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
  \begingroup\defname {#2}{\defcvtype of #1}%
  \defvarargs {#3}\endgroup %
***************
*** 1673,1677 ****
  
  \def\defivarheader #1#2#3{%
! \dosubind {vr}{#2}{of #1}% Make entry in var index
  \begingroup\defname {#2}{Instance variable of #1}%
  \defvarargs {#3}\endgroup %
--- 1849,1853 ----
  
  \def\defivarheader #1#2#3{%
! \dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
  \begingroup\defname {#2}{Instance variable of #1}%
  \defvarargs {#3}\endgroup %
***************
*** 1699,1703 ****
  \def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader}
  
! \def\defvrheader #1#2#3{\doind {vr}{#2}%
  \begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
  
--- 1875,1879 ----
  \def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader}
  
! \def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
  \begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
  
***************
*** 1706,1710 ****
  \def\defvar{\defparsebody\Edefvar\defvarx\defvarheader}
  
! \def\defvarheader #1#2{\doind {vr}{#1}% Make entry in var index
  \begingroup\defname {#1}{Variable}%
  \defvarargs {#2}\endgroup %
--- 1882,1886 ----
  \def\defvar{\defparsebody\Edefvar\defvarx\defvarheader}
  
! \def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
  \begingroup\defname {#1}{Variable}%
  \defvarargs {#2}\endgroup %
***************
*** 1715,1719 ****
  \def\defopt{\defparsebody\Edefopt\defoptx\defoptheader}
  
! \def\defoptheader #1#2{\doind {vr}{#1}% Make entry in var index
  \begingroup\defname {#1}{User Option}%
  \defvarargs {#2}\endgroup %
--- 1891,1895 ----
  \def\defopt{\defparsebody\Edefopt\defoptx\defoptheader}
  
! \def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
  \begingroup\defname {#1}{User Option}%
  \defvarargs {#2}\endgroup %
***************
*** 1736,1740 ****
  \def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader}
  
! \def\deftpheader #1#2#3{\doind {tp}{#2}%
  \begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
  
--- 1912,1916 ----
  \def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader}
  
! \def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
  \begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
  
***************
*** 1819,1823 ****
  {\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
  
! {
  \catcode `\^^@=\other
  \catcode `\▶01◀=\other
--- 1995,2000 ----
  {\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
  
! \def\readauxfile{%
! \begingroup
  \catcode `\^^@=\other
  \catcode `\▶01◀=\other
***************
*** 1862,1866 ****
  \catcode `\#=\other
  \catcode `\&=\other
- 
  % the aux file uses ' as the escape.
  % Turn off \ as an escape so we do not lose on
--- 2039,2042 ----
***************
*** 1869,1873 ****
  % Reference to such entries still does not work the way one would wish,
  % but at least they do not bomb out when the aux file is read in.
- 
  \catcode `\{=1 \catcode `\}=2
  \catcode `\%=\other
--- 2045,2048 ----
***************
*** 1874,1886 ****
  \catcode `\'=0
  \catcode `\\=\other
! 
! 'openin 1 'jobname.aux
! 'ifeof 1 'else 'closein 1 'input 'jobname.aux
! 'fi
! }
! 
  % Open the new aux file.  Tex will close it automatically at exit.
- 
  \openout \auxfile=\jobname.aux
  
  % Footnotes.
--- 2049,2059 ----
  \catcode `\'=0
  \catcode `\\=\other
! \openin 1 \jobname.aux
! \ifeof 1 \else \closein 1 \input \jobname.aux
! \fi
  % Open the new aux file.  Tex will close it automatically at exit.
  \openout \auxfile=\jobname.aux
+ \endgroup}
+ 
  
  % Footnotes.
***************
*** 1912,1921 ****
  \message{and turning on texinfo input format.}
  
! \newindex{cp}
! \newindex{fn}
! \newindex{vr}
! \newindex{tp}
! \newindex{ky}
! \newindex{pg}
  
  % Set some numeric style parameters, for 8.5 x 11 format.
--- 2085,2096 ----
  \message{and turning on texinfo input format.}
  
! \def\openindices{%
!    \newindex{cp}%
!    \newcodeindex{fn}%
!    \newcodeindex{vr}%
!    \newcodeindex{tp}%
!    \newcodeindex{ky}%
!    \newcodeindex{pg}%
! }
  
  % Set some numeric style parameters, for 8.5 x 11 format.
***************
*** 1994,2004 ****
  \escapechar=`\@
  
  %% These look ok in all fonts, so just make them not special.  The @rm below
  %% makes sure that the current font starts out as the newly loaded cmr10
! \catcode`\$=\other \catcode`\%=\other \catcode`\&=\other \catcode`\#=\other
! 
! \catcode 17=0   @c Define control-q
! \catcode`\\=\active
! @let\=@normalbackslash
  
  @textfonts
--- 2169,2191 ----
  \escapechar=`\@
  
+ @c \catcode 17=0   @c Define control-q
+ \catcode`\\=\active
+ 
+ % If a .fmt file is being used, we don't want the `\input texinfo' to show up.
+ % That is what \eatinput is for; after that, the `\' should revert to printing 
+ % a backslash.
+ %
+ @gdef@eatinput input texinfo{@fixbackslash}
+ @global@let\ = @eatinput
+ 
+ % On the other hand, perhaps the file did not have a `\input texinfo'. Then
+ % the first `\{ in the file would cause an error. This macro tries to fix 
+ % that, assuming it is called before the first `\' could plausibly occur.
+ % 
+ @gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi}
+ 
  %% These look ok in all fonts, so just make them not special.  The @rm below
  %% makes sure that the current font starts out as the newly loaded cmr10
! @catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other
  
  @textfonts
diff -rc2N dist-18.54/oldXMenu/Makefile dist-18.55/oldXMenu/Makefile
*** dist-18.54/oldXMenu/Makefile	Mon Feb 29 17:34:56 1988
--- dist-18.55/oldXMenu/Makefile	Thu Aug 10 23:53:31 1989
***************
*** 1,17 ****
- #
- # Warning: the cpp used on this machine replaces
- # all newlines and multiple tabs/spaces in a macro
- # expansion with a single space.  Imake tries to
- # compensate for this, but is not always
- # successful.
- #
- 
- #
- # This makefile is automatically generated by imake... do not modify
- # or you may lose your changes when imake generates makefiles again.
- # Ignore this message if you are not using imake.
- #
  
-             TOP = ./../..
               AS = as
               CC = cc
--- 1,3 ----
***************
*** 18,24 ****
              CPP = /lib/cpp
               LD = ld
!            LINT = lint
!         INSTALL = install
!            TAGS = ctags
               RM = rm -f
               MV = mv
--- 4,8 ----
              CPP = /lib/cpp
               LD = ld
!            TAGS = etags
               RM = rm -f
               MV = mv
***************
*** 32,101 ****
      STD_DEFINES =
      CDEBUGFLAGS = -O
-         DESTDIR =
- 
-         PATHSEP = /
-          DEPEND = $(DEPENDSRC)/makedepend
-           IMAKE = $(IMAKESRC)/imake
-             RGB = $(RGBSRC)/rgb
-          CFLAGS = $(CDEBUGFLAGS) $(INCLUDES) $(STD_DEFINES) $(DEFINES)
-       LINTFLAGS = $(LINTOPTS) $(INCLUDES) $(STD_DEFINES) $(DEFINES) -DLINT
-         LDFLAGS = $(CDEBUGFLAGS) $(SYS_LIBRARIES) $(SYSAUX_LIBRARIES)
-    INSTUIDFLAGS = -m 4755
-    INSTLIBFLAGS = -m 0664
-    INSTINCFLAGS = -m 0444
-    INSTMANFLAGS = -m 0444
-    INSTAPPFLAGS = -m 0444
- 
-       USRLIBDIR = $(DESTDIR)/usr/lib
-          BINDIR = $(DESTDIR)/usr/bin/X11
-          LIBDIR = $(USRLIBDIR)/X11
-      LINTLIBDIR = $(USRLIBDIR)/lint
-          INCDIR = $(DESTDIR)/usr/include/X11
-         FONTDIR = $(LIBDIR)/fonts
-          UWMDIR = $(LIBDIR)/uwm
-          MANDIR = $(DESTDIR)/usr/man/mann
-     XAPPLOADDIR = $(LIBDIR)/app-defaults
-          ADMDIR = $(DESTDIR)/usr/adm
- 
-       CLIENTSRC = $(TOP)/clients
-         DEMOSRC = $(TOP)/demos
-          LIBSRC = $(TOP)/lib
-         FONTSRC = $(TOP)/fonts
-      INCLUDESRC = $(TOP)/X11
-       SERVERSRC = $(TOP)/server
-         UTILSRC = $(TOP)/util
-      EXAMPLESRC = $(TOP)/examples
-      CONTRIBSRC = $(TOP)/contrib
-          DOCSRC = $(TOP)/doc
-       DEPENDSRC = $(UTILSRC)/makedepend
-        IMAKESRC = $(UTILSRC)/imake
-        IRULESRC = $(UTILSRC)/imake.includes
-          RGBSRC = $(UTILSRC)/rgb
-         XLIBSRC = $(LIBSRC)/X
-      TOOLKITSRC = $(LIBSRC)/Xt
-      AWIDGETSRC = $(LIBSRC)/Xaw
-      OLDXLIBSRC = $(LIBSRC)/oldX
-    EXTENSIONSRC = $(TOP)/extensions
-         XMANSRC = $(DOCSRC)/Xlib/Xman
-    EXTENSIONLIB = $(EXTENSIONSRC)/lib/libXext.a
-            XLIB = $(XLIBSRC)/libX11.a
-         OLDXLIB = $(OLDXLIBSRC)/liboldX.a
-        XTOOLLIB = $(TOOLKITSRC)/libXt.a
-          XAWLIB = $(AWIDGETSRC)/libXaw.a
-        LINTXLIB = $(XLIBSRC)/llib-lX11.ln
-       LINTXTOOL = $(TOOLKITSRC)/llib-lXt.ln
-         LINTXAW = $(AWIDGETSRC)/llib-lXaw.ln
-        INCLUDES = -I$(TOP)
-       MACROFILE = Sun.macros
-       IMAKE_CMD = $(NEWTOP)$(IMAKE) -TImake.tmpl \
- 			-I$(NEWTOP)$(IRULESRC) \
- 			-s Makefile
           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a \
  			tags TAGS make.log
  
-         HEADERS = XMenu.h
-        LINTLIBS = ../lib/X/llib-lX.ln
-    INSTALLFLAGS = $(INSTINCFLAGS)
- 
  SRCS =  Activate.c \
  	AddPane.c \
--- 16,22 ----
***************
*** 157,216 ****
  	$(RANLIB) $@
  
- lintlib:: llib-lXMenu11.ln
- 
- llib-lXMenu11.ln: $(SRCS)
- 	$(RM) $@
- 	$(LINT) $(LINTLIBFLAG)XMenu11 $(LINTFLAGS) $(SRCS)
- 
- install:: libXMenu11.a
- 	$(INSTALL) -c $(INSTLIBFLAGS) libXMenu11.a $(USRLIBDIR)
- 	$(RANLIB) $(USRLIBDIR)/libXMenu11.a
- 
- install:: llib-lXMenu11.ln
- 	$(INSTALL) -c $(INSTLIBFLAGS) llib-lXMenu11.ln $(LINTLIBDIR)
- 
- install:: $(HEADERS)
- 	@case '${MFLAGS}' in *[i]*) set +e;; esac; \
- 	for i in $(HEADERS); do \
- 	(set -x; $(INSTALL) -c $(INSTALLFLAGS) $$i $(INCDIR)); \
- 	done
- 
- depend:: $(DEPEND)
- 
- depend::
- 	$(DEPEND) -s "# DO NOT DELETE" $(CFLAGS) $(SRCS)
- 
- $(DEPEND):
- 	@echo "making $(DEPENDSRC)"; \
- 	cd $(DEPENDSRC); $(MAKE)
- 
- lint:
- 	$(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
- lint1:
- 	$(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
- 
  clean::
  	$(RM_CMD) \#*
- 
- Makefile:: $(IMAKE)
- 
- Makefile:: Imakefile \
- 	$(IRULESRC)/Imake.tmpl \
- 	$(IRULESRC)/Imake.rules \
- 	$(IRULESRC)/$(MACROFILE)
- 	-$(RM) Makefile.bak; $(MV) Makefile Makefile.bak
- 	$(IMAKE_CMD) -DTOPDIR=$(TOP)
- 
- $(IMAKE):
- 	@echo "making $(IMAKESRC)"; \
- 	cd $(IMAKESRC); $(MAKE)
- 
  tags::
! 	$(TAGS) -w *.[ch]
! 	$(TAGS) -xw *.[ch] > TAGS
! 
! install::
! 	@echo "install done"
! 
! Makefiles::
! 
--- 78,83 ----
  	$(RANLIB) $@
  
  clean::
  	$(RM_CMD) \#*
  tags::
! 	$(TAGS) -t *.[ch]
diff -rc2N dist-18.54/src/.gdbinit dist-18.55/src/.gdbinit
*** dist-18.54/src/.gdbinit	Sun Sep 21 15:08:14 1986
--- dist-18.55/src/.gdbinit	Wed Dec 31 19:00:00 1969
***************
*** 1,5 ****
- unset-e TTYLOC
- unset-e EDITOR
- unset-e VISUAL
- unset-e MORE
- unset-e SHLVL
--- 0 ----
diff -rc2N dist-18.54/src/ChangeLog dist-18.55/src/ChangeLog
*** dist-18.54/src/ChangeLog	Wed Apr 26 16:18:30 1989
--- dist-18.55/src/ChangeLog	Fri Aug 18 18:02:45 1989
***************
*** 1,2 ****
--- 1,179 ----
+ Fri Aug 18 17:00:47 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+ 
+ 	* Version 18.55 released.
+ 
+ 	* vmsfns.c: Define PRV$V_... syms if prvdef.h does not.
+ 
+ Sun Aug 13 14:50:28 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+ 
+ 	* xfns.c (Fx_proc_mouse_event, Fx_get_mouse_event):
+ 	Set new var Vx_mouse_abs_pos, for sake of xmenu.c.
+ 	(syms_of_xfns): Make this a Lisp variable.
+ 
+ 	* x11fns.c (Fx_get_mouse_event): Fix like Fx_proc_mouse_event.
+ 	(syms_of_xfns): Initialize the variable.
+ 
+ Fri Aug 11 21:24:19 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+ 
+ 	* dispnew.c: Handle BROKEN_FIONREAD as in other files.
+ 
+ 	* x11fns.c (Fx_proc_mouse_event): Set Vx_mouse_abs_pos right.
+ 	* xmenu.c (XEmacsMenu): Use that rather than XQueryPointer
+ 	to decide where to put the menu.
+ 
+ Sun Aug  6 17:57:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* process.c [HPUX, !NOMULTIPLEJOBS, !WAITTYPE]:
+ 	Treat this case like BSD, regarding sys/wait.h.
+ 
+ 	* m-hp9000s300.h: Don't include sys/wait.h if NOT_C_CODE.
+ 	If we do include it, also define WRETCODE.
+ 	* alloca.s: Define NOT_C_CODE.
+ 
+ Sat Aug  5 16:25:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* m-ibmps2-aix.h (HAVE_CLOSEDIR): Define this.
+ 	* sysdep.c (closedir): Don't define if HAVE_CLOSEDIR.
+ 
+ 	* m-hp9000s300.h: Include sys/wait.h and define WAITTYPE, 
+ 	unless NO_SHORTNAMES.
+ 
+ 	* process.c [BSD]: If O_NDELAY missing in file.h, include fcntl.h.
+ 
+ Wed Aug  2 20:31:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* m-ibmrt-aix.h (LIBS_MACHINE): Delete X libraries--redundant.
+ 
+ 	* x11term.c [AIX]: Include sys/time.h as well as time.h.
+ 
+ 	* search.c (Freplace_match): Bug in substituting \N if match was empty.
+ 
+ Wed Jul 26 01:41:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* sysdep.c (wait_for_termination): Treat HPUX version 6 like BSD.
+ 
+ 	* process.c: If NEED_BSDTTY, include bsdtty.h.
+ 	If WAITTYPE already defined, don't include wait.h
+ 	and don't alter the related macros.
+ 	(child_sig): On HPUX, if have WNOHANG, loop around as on BSD.
+ 	(create_process): On HPUX, frob the signal mask as on BSD.
+ 
+ 	* m-intel386.h (LOAD_AVE_*): Expect different type and encoding.
+ 
+ Thu Jul 20 00:53:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* sysdep.c: Don't include sioctl.h on mips.
+ 
+ 	* buffer.c  (Flist_buffers): Pass prefix as arg.
+ 
+ 	* editfns.c (Finsert_char): Insert at most 256 chars at a whack.
+ 
+ 	* x11term.c (internal_socket_read): Pass 0 as fifth arg
+ 	to XLookupString.
+ 
+ 	* keyboard.c (command_loop_1): Finalize keyboard macro storage
+ 	only when there is no prefix argument.
+ 
+ 	* callproc.c (Fcall_process) [USG,HAVE_PTYS]:
+ 	With these parameters, do setpgrp here.
+ 	(child_setup): Instead of here.
+ 	Note that process.c already did setpgrp before calling
+ 	child_setup, with these parameters.
+ 
+ 	* m-ibmps2-aix.h: New file.
+ 	* m-ibmrt-aix.h: Define AIX.
+ 	* sysdep.c: Change IBMRTAIX to AIX in certain conditionals.
+ 	(Those pertaining to the hf library or system calls.)
+ 
+ Tue Jul  4 21:00:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* fileio.c (Finsert_file_contents): Check for negative file length.
+ 
+ Fri Jun 23 15:48:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* Makefile (clean, distclean): Delete libXMenu11.a.
+ 
+ Thu Jun 22 18:51:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* m-mips.h (LIBS_MACHINE): Don't define if BSD.
+ 	* keyboard.c (force_input_signal): New function: raise SIGIO and force
+ 	read_socket_hook to be called.
+ 	* xmenu.c (Fx_popup_menu): Call that after menu disappears.
+ 
+ Fri Jun 16 22:17:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* ymakefile: New var OLDXMENU for filename of libXMenu.a.
+ 	Put it in LIBX, not XOBJ.  Make temacs depend on it.
+ 
+ Thu Jun 15 20:15:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* ymakefile [HAVE_X11, HAVE_X_MENU]: Assume Xmenu came with Emacs
+ 	and must be built.
+ 
+ 	* xmenu.c: Load "../oldXMenu/XMenu.h" instead of <X11/XMenu.h>.
+ 
+ 	* x11term.c (xfixscreen): Really act only every 100th time.
+ 
+ Thu Jun  8 12:54:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* m-pmax.h: New file.
+ 
+ Wed Jun  7 13:54:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* alloca.s [hp9000s300]: Increase MAXREG for fpregs.
+ 
+ 	* sysdep.c (init_sys_modes, reset_sys_modes): Take TIOCGLTC code
+ 	outside of HAVE_TERMIO conditionals.
+ 
+ 	* m-hp9000s300.h: Undefine NOMULTIPLEJOBS.
+ 	Define NEED_BSDTTY if not NOMULTIPLEJOBS.
+ 
+ 	* crt0.c [hp9000s300]: Set flag_fpa.  Define float_loc.
+ 
+ 	* m-hp9000s800.h: Define NEED_BSDTTY here.
+ 	* s-hpux.h: Not here.
+ 
+ Tue Jun  6 19:25:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* s-hpux.h: Define NEED_BSDTTY.
+ 
+ Tue May 30 18:45:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* x11fns.c (x_set_cursor_colors): Don't let the background match
+ 	the mouse.
+ 	* x11term.c (XFlipColor): Change mous_color earlier.
+ 
+ Tue May 23 22:18:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* search.c (skip_chars): Dumb error checking for \.
+ 
+ Sun May 21 00:43:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* callproc.c (child_setup): Undo previous change.
+ 	setpgrp is needed on USG.
+ 
+ 	* xmenu.c (Fx_popup_menu): Prevent sigio int during XQueryPointer.
+ 
+ Mon May 15 21:59:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* editfns.c (Fsubst_char_in_region): If NOUNDO, do increment tick,
+ 	but maybe also increment save-tick.
+ 
+ Sat May 13 14:17:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* sysdep.c (init_sys_modes) [IBMRTAIX]: Typo; had s for sg.
+ 
+ Fri May 12 22:09:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* s-usg5-3.h: Define HAVE_SYSVIPC.
+ 
+ 	* m-7300.h: Undefine SHORTNAMES.
+ 
+ Mon May  1 02:10:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+ 
+ 	* x11term.c [USG]: Use sys/time.h, not time.h, if IRIS_4D.
+ 
+ 	* sysdep.c [USG]: Don't include sioctl.h if IRIS_4D.
+ 
  Wed Apr 26 16:14:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
  
***************
*** 5038,5042 ****
  Local Variables:
  mode: indented-text
- eval: (auto-fill-mode 1)
  left-margin: 8
  fill-column: 74
--- 5215,5218 ----
diff -rc2N dist-18.54/src/Makefile dist-18.55/src/Makefile
*** dist-18.54/src/Makefile	Wed Aug 17 10:34:20 1988
--- dist-18.55/src/Makefile	Mon Aug  7 21:12:47 1989
***************
*** 11,18 ****
  #Do not use it on development directories!
  distclean:
! 	-rm -f paths.h config.h emacs-* temacs xemacs xmakefile core *~ \#* *.o
  
  clean:
! 	-rm -f temacs xemacs xmakefile core \#* *.o
  
  xemacs: xmakefile doxemacs
--- 11,19 ----
  #Do not use it on development directories!
  distclean:
! 	-rm -f paths.h config.h emacs-* temacs xemacs xmakefile core \
!    *~ \#* *.o libXMenu11.a log*
  
  clean:
! 	-rm -f temacs xemacs xmakefile core \#* *.o libXMenu11.a
  
  xemacs: xmakefile doxemacs
diff -rc2N dist-18.54/src/VMSBUILD dist-18.55/src/VMSBUILD
*** dist-18.54/src/VMSBUILD	Fri Dec 18 09:39:43 1987
--- dist-18.55/src/VMSBUILD	Sun Jun  4 15:35:10 1989
***************
*** 27,30 ****
--- 27,34 ----
   `ccom.com'.
  
+  If you compile with optimization, note that in compiler version
+  3.0 there is a bug affecting inline functions.  So you must specify
+  /OPTIMIZE=NOINLINE when compiling `dispnew.c'.
+ 
  Compilation will give you lots of warnings about symbols longer than 30
   characters.  You must just ignore them.  Alternatively, you can
diff -rc2N dist-18.54/src/alloca.s dist-18.55/src/alloca.s
*** dist-18.54/src/alloca.s	Fri Jul 15 03:16:04 1988
--- dist-18.55/src/alloca.s	Sun Aug  6 17:56:37 1989
***************
*** 26,29 ****
--- 26,30 ----
     on all 68000 systems.  */
  
+ #define NOT_C_CODE
  #include "config.h"
  
***************
*** 80,84 ****
  	text
  	set	PROBE,-128	# safety for C frame temporaries
! 	set	MAXREG,10	# d2-d7, a2-a5 may have been saved
  	global	_alloca
  _alloca:
--- 81,85 ----
  	text
  	set	PROBE,-128	# safety for C frame temporaries
! 	set	MAXREG,22	# d2-d7, a2-a5, fp2-fp7 may have been saved
  	global	_alloca
  _alloca:
diff -rc2N dist-18.54/src/buffer.c dist-18.55/src/buffer.c
*** dist-18.54/src/buffer.c	Mon Aug 15 23:07:19 1988
--- dist-18.55/src/buffer.c	Thu Jul 20 18:36:02 1989
***************
*** 1026,1030 ****
  }
  
! DEFUN ("list-buffers", Flist_buffers, Slist_buffers, 0, 1, "",
    "Display a list of names of existing buffers.\n\
  Inserts it in buffer *Buffer List* and displays that.\n\
--- 1026,1030 ----
  }
  
! DEFUN ("list-buffers", Flist_buffers, Slist_buffers, 0, 1, "P",
    "Display a list of names of existing buffers.\n\
  Inserts it in buffer *Buffer List* and displays that.\n\
diff -rc2N dist-18.54/src/callproc.c dist-18.55/src/callproc.c
*** dist-18.54/src/callproc.c	Thu Apr  6 12:21:14 1989
--- dist-18.55/src/callproc.c	Thu Jul 20 01:15:50 1989
***************
*** 198,201 ****
--- 198,206 ----
  	if (fd[0] >= 0)
  	  close (fd[0]);
+ #ifdef USG
+ #ifdef HAVE_PTYS
+ 	setpgrp ();
+ #endif
+ #endif
  	child_setup (filefd, fd1, fd1, new_argv, env);
        }
***************
*** 374,381 ****
    close (err);
  
! #ifndef USG
    setpgrp (pid, pid);
-   setpgrp_of_tty (pid);
  #endif /* USG */
  
  #ifdef vipc
--- 379,390 ----
    close (err);
  
! #ifdef USG
! #ifndef HAVE_PTYS
!   setpgrp ();			/* No arguments but equivalent in this case */
! #endif
! #else
    setpgrp (pid, pid);
  #endif /* USG */
+   setpgrp_of_tty (pid);
  
  #ifdef vipc
diff -rc2N dist-18.54/src/crt0.c dist-18.55/src/crt0.c
*** dist-18.54/src/crt0.c	Wed Aug 31 02:48:46 1988
--- dist-18.55/src/crt0.c	Thu Jul 20 01:49:35 1989
***************
*** 146,152 ****
      Similarly, note that the address of _start() should be the start
      of text space.   Fred Fish, UniSoft Systems Inc.  */
!  
  int data_start = 0;
!    
  #ifdef NEED_ERRNO
  int errno;
--- 146,152 ----
      Similarly, note that the address of _start() should be the start
      of text space.   Fred Fish, UniSoft Systems Inc.  */
! 
  int data_start = 0;
! 
  #ifdef NEED_ERRNO
  int errno;
***************
*** 153,157 ****
  #endif
  
! #ifndef DONT_NEED_ENVIRON 
  char **environ;
  #endif
--- 153,157 ----
  #endif
  
! #ifndef DONT_NEED_ENVIRON
  char **environ;
  #endif
***************
*** 342,346 ****
  
  #ifdef m68000
!   
  #ifdef ISI68K
  /* Added by ESM Sun May 24 12:44:02 1987 to get new ISI library to work */
--- 342,346 ----
  
  #ifdef m68000
! 
  #ifdef ISI68K
  /* Added by ESM Sun May 24 12:44:02 1987 to get new ISI library to work */
***************
*** 442,446 ****
  	asm("	comm	float_soft,4");
  /* float_soft is allocated in this way because C would
!    put an underscore character in its name otherwise. */ 
  
  #else /* new hp assembler */
--- 442,446 ----
  	asm("	comm	float_soft,4");
  /* float_soft is allocated in this way because C would
!    put an underscore character in its name otherwise. */
  
  #else /* new hp assembler */
***************
*** 447,450 ****
--- 447,454 ----
  
  	asm("	text");
+         asm("   global  float_loc");
+         asm("   set     float_loc,0xFFFFB000");
+  	asm("	global	fpa_loc");
+ 	asm("	set	fpa_loc,0xfff08000");
  	asm("	global	__start");
  	asm("	global	_exit");
***************
*** 456,465 ****
  	asm("	mov.w	%d1,flag_68881");
  #ifndef HPUX_68010
! 	asm("	beq.b	skip_float"); 
! 	asm("	fmov.l	&0x7480,%fpcr");
  #endif /* HPUX_68010 */
  	asm("skip_float:");
  	asm("	subx.w	%d1,%d1");
  	asm("	mov.w	%d1,flag_68010");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");
--- 460,475 ----
  	asm("	mov.w	%d1,flag_68881");
  #ifndef HPUX_68010
! 	asm("	beq.b	skip_float");
! 	asm("	fmov.l	&0x7400,%fpcr");
! /*	asm("	fmov.l	&0x7480,%fpcr"); */
  #endif /* HPUX_68010 */
  	asm("skip_float:");
+ 	asm("	mov.l	%a0,%d0");
+ 	asm("	add.l	%d0,%d0");
  	asm("	subx.w	%d1,%d1");
  	asm("	mov.w	%d1,flag_68010");
+ 	asm("	add.l	%d0,%d0");
+ 	asm("	subx.w	%d1,%d1");
+ 	asm("	mov.w	%d1,flag_fpa");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");
***************
*** 493,497 ****
  	asm("	comm	flag_68881, 4");
  	asm("	comm	flag_68010, 4");
! 	
  #endif /* new hp assembler */
  #endif /* hp9000s300 */
--- 503,508 ----
  	asm("	comm	flag_68881, 4");
  	asm("	comm	flag_68010, 4");
! 	asm("	comm	flag_fpa, 4");
! 
  #endif /* new hp assembler */
  #endif /* hp9000s300 */
***************
*** 520,524 ****
  /* allocate stack frame to do some work. */
  	asm("	subea	16w,b2");
! /* initialize signal catching for UTX/32 1.2; this is 
     necessary to make restart from saved image work. */
  	asm("	movea	sigcatch,r1");
--- 531,535 ----
  /* allocate stack frame to do some work. */
  	asm("	subea	16w,b2");
! /* initialize signal catching for UTX/32 1.2; this is
     necessary to make restart from saved image work. */
  	asm("	movea	sigcatch,r1");
***************
*** 560,564 ****
  {
    register int r;
!   
    errno = 0;
    environ = *(&environ + 8);
--- 571,575 ----
  {
    register int r;
! 
    errno = 0;
    environ = *(&environ + 8);
***************
*** 570,574 ****
  #endif /* elxsi */
  
!   
  #ifdef sparc
  asm (".global __start");
--- 581,585 ----
  #endif /* elxsi */
  
! 
  #ifdef sparc
  asm (".global __start");
diff -rc2N dist-18.54/src/dispnew.c dist-18.55/src/dispnew.c
*** dist-18.54/src/dispnew.c	Wed Jan 11 16:28:56 1989
--- dist-18.55/src/dispnew.c	Sat Aug 12 12:30:37 1989
***************
*** 45,48 ****
--- 45,54 ----
  #endif /* not HAVE_TERMIO */
  
+ /* Allow m- file to inhibit use of FIONREAD.  */
+ #ifdef BROKEN_FIONREAD
+ #undef FIONREAD
+ #undef SIGIO
+ #endif
+ 
  #undef NULL
  
diff -rc2N dist-18.54/src/editfns.c dist-18.55/src/editfns.c
*** dist-18.54/src/editfns.c	Wed Dec 28 23:58:35 1988
--- dist-18.55/src/editfns.c	Fri Jul 21 14:21:32 1989
***************
*** 533,537 ****
  
    n = XINT (count);
!   if (n < 0)
      return Qnil;
    strlen = max (n, 256);
--- 533,537 ----
  
    n = XINT (count);
!   if (n <= 0)
      return Qnil;
    strlen = max (n, 256);
***************
*** 660,664 ****
    modify_region (pos, stop);
    if (! NULL (noundo))
!     bf_modified--;
  
    while (pos < stop)
--- 660,669 ----
    modify_region (pos, stop);
    if (! NULL (noundo))
!     {
!       if (bf_modified - 1 == bf_cur->save_modified)
! 	bf_cur->save_modified++;
!       if (bf_modified - 1 == bf_cur->auto_save_modified)
! 	bf_cur->auto_save_modified++;
!     }
  
    while (pos < stop)
diff -rc2N dist-18.54/src/fileio.c dist-18.55/src/fileio.c
*** dist-18.54/src/fileio.c	Thu Apr  6 21:42:12 1989
--- dist-18.55/src/fileio.c	Tue Jul  4 21:00:25 1989
***************
*** 1504,1507 ****
--- 1504,1511 ----
    record_unwind_protect (close_file_unwind, make_number (fd));
  
+   /* Supposedly happens on VMS.  */
+   if (st.st_size < 0)
+     error ("File size is negative");
+ 
    if (NULL (visit))
      prepare_to_modify_buffer ();
diff -rc2N dist-18.54/src/keyboard.c dist-18.55/src/keyboard.c
*** dist-18.54/src/keyboard.c	Fri Mar 31 17:51:29 1989
--- dist-18.55/src/keyboard.c	Thu Jul 20 01:32:59 1989
***************
*** 212,215 ****
--- 212,219 ----
  static void get_input_pending ();
  
+ /* Non-zero tells input_available_signal to call read_socket_hook
+    even if FIONREAD returns zero.  */
+ static int force_input;
+ 
  static char KeyBuf[40];		/* Buffer for keys from get_char () */
  static int NextK;		/* Next index into KeyBuf */
***************
*** 501,505 ****
      {
        /* Install chars successfully executed in kbd macro */
!       if (defining_kbd_macro)
  	finalize_kbd_macro_chars ();
  
--- 505,509 ----
      {
        /* Install chars successfully executed in kbd macro */
!       if (defining_kbd_macro && NULL (Vprefix_arg))
  	finalize_kbd_macro_chars ();
  
***************
*** 978,981 ****
--- 982,994 ----
  }
  \f


+ /* Force an attempt to read input regardless of what FIONREAD says.  */
+ 
+ force_input_read ()
+ {
+   force_input = 1;
+   detect_input_pending ();
+   force_input = 0;
+ }
+ 
  /* Store into *addr the number of terminal input chars available.
     Equivalent to ioctl (0, FIONREAD, addr) but works
***************
*** 995,1009 ****
    *addr = kbd_count | !NULL (Vquit_flag);
    /* If input is being read as it arrives, and we have none, there is none.  */
!   if (*addr > 0 || (interrupt_input && ! interrupts_deferred))
      return;
  #ifdef FIONREAD
!   /* If we can count the input without reading it, do so.  */
!   if (ioctl (0, FIONREAD, addr) < 0)
!     *addr = 0;
!   if (*addr == 0 || read_socket_hook == 0)
!     return;
!   /* If the input consists of window-events, not all of them
!      are necessarily kbd chars.  So process all the input
!      and see how many kbd chars we got.  */
  #endif
  #ifdef SIGIO
--- 1008,1025 ----
    *addr = kbd_count | !NULL (Vquit_flag);
    /* If input is being read as it arrives, and we have none, there is none.  */
!   if (*addr > 0 || (interrupt_input && ! interrupts_deferred && ! force_input))
      return;
  #ifdef FIONREAD
!   if (! force_input)
!     {
!       /* If we can count the input without reading it, do so.  */
!       if (ioctl (0, FIONREAD, addr) < 0)
! 	*addr = 0;
!       if (*addr == 0 || read_socket_hook == 0)
! 	return;
!       /* If the input consists of window-events, not all of them
! 	 are necessarily kbd chars.  So process all the input
! 	 and see how many kbd chars we got.  */
!     }
  #endif
  #ifdef SIGIO
***************
*** 1050,1057 ****
      abort ();
  
!   if (nread == 0)
!     get_input_pending (&nread);
!   if (nread == 0)
!     return;
    if (nread > sizeof buf)
      nread = sizeof buf;
--- 1066,1076 ----
      abort ();
  
!   if (! force_input)
!     {
!       if (nread == 0)
! 	get_input_pending (&nread);
!       if (nread == 0)
! 	return;
!     }
    if (nread > sizeof buf)
      nread = sizeof buf;
***************
*** 1848,1851 ****
--- 1867,1871 ----
    kbd_ptr = kbd_buffer;
    input_pending = 0;
+   force_input = 0;
    if (!noninteractive)
      {
diff -rc2N dist-18.54/src/m-7300.h dist-18.55/src/m-7300.h
*** dist-18.54/src/m-7300.h	Fri Aug 12 14:41:16 1988
--- dist-18.55/src/m-7300.h	Fri May 12 22:09:22 1989
***************
*** 23,27 ****
  /* This machine does not have flexnames.  Yuk */
  
! # define SHORTNAMES
  
  
--- 23,27 ----
  /* This machine does not have flexnames.  Yuk */
  
! /* # define SHORTNAMES */
  
  
diff -rc2N dist-18.54/src/m-hp9000s300.h dist-18.55/src/m-hp9000s300.h
*** dist-18.54/src/m-hp9000s300.h	Fri Jun 10 08:09:19 1988
--- dist-18.55/src/m-hp9000s300.h	Sun Aug  6 17:59:17 1989
***************
*** 97,103 ****
  /* #define VIRT_ADDR_VARIES */
  
! /* This series of hp machine does not have job control.  */
  
! #define NOMULTIPLEJOBS
  
  /* The symbol in the kernel where the load average is found
--- 97,103 ----
  /* #define VIRT_ADDR_VARIES */
  
! /* Define NOMULTIPLEJOBS on versions of HPUX before 6.5.  */
  
! /* #define NOMULTIPLEJOBS */
  
  /* The symbol in the kernel where the load average is found
***************
*** 166,168 ****
--- 166,182 ----
  #define C_SWITCH_MACHINE -Wc,-Nd4000,-Ns3000
  #endif
+ #endif
+ 
+ /* Define NEED_BSDTTY if you have such. */
+ 
+ #ifndef NOMULTIPLEJOBS
+ #define NEED_BSDTTY
+ #endif
+ 
+ #ifndef NOT_C_CODE
+ #ifndef NO_SHORTNAMES
+ #include <sys/wait.h>
+ #define WAITTYPE int
+ #endif
+ #define WRETCODE(w) (((w) >> 8) & 0377)
  #endif
diff -rc2N dist-18.54/src/m-hp9000s800.h dist-18.55/src/m-hp9000s800.h
*** dist-18.54/src/m-hp9000s800.h	Sat Apr  9 01:54:52 1988
--- dist-18.55/src/m-hp9000s800.h	Wed Jun  7 13:54:14 1989
***************
*** 181,182 ****
--- 181,185 ----
  #define index strchr
  #define rindex strrchr
+ 
+ /* Include the file bsdtty.h, since job control exists.  */
+ #define NEED_BSDTTY
diff -rc2N dist-18.54/src/m-ibmps2-aix.h dist-18.55/src/m-ibmps2-aix.h
*** dist-18.54/src/m-ibmps2-aix.h	Wed Dec 31 19:00:00 1969
--- dist-18.55/src/m-ibmps2-aix.h	Sat Aug  5 16:24:38 1989
***************
*** 0 ****
--- 1,160 ----
+ /* m- file for ibm ps/2 aix386.
+    Copyright (C) 1989 Free Software Foundation, Inc.
+ 
+ This file is part of GNU Emacs.
+ 
+ GNU Emacs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY.  No author or distributor
+ accepts responsibility to anyone for the consequences of using it
+ or for whether it serves any particular purpose or works at all,
+ unless he says so in writing.  Refer to the GNU Emacs General Public
+ License for full details.
+ 
+ Everyone is granted permission to copy, modify and redistribute
+ GNU Emacs, but only under the conditions described in the
+ GNU Emacs General Public License.   A copy of this license is
+ supposed to have been given to you along with GNU Emacs so you
+ can know your rights and responsibilities.  It should be in a
+ file named COPYING.  Among other things, the copyright notice
+ and this notice must be preserved on all copies.  */
+ 
+ 
+ /* The following three symbols give information on
+  the size of various data types.  */
+ 
+ #define SHORTBITS 16		/* Number of bits in a short */
+ 
+ #define INTBITS 32		/* Number of bits in an int */
+ 
+ #define LONGBITS 32		/* Number of bits in a long */
+ 
+ /* i386 is not big-endian: lowest numbered byte is least significant. */
+ 
+ /* #undef BIG_ENDIAN */
+ 
+ /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
+  * group of arguments and treat it as an array of the arguments.  */
+ 
+ /* #define NO_ARG_ARRAY */
+ 
+ /* Define WORD_MACHINE if addresses and such have
+  * to be corrected before they can be used as byte counts.  */
+ 
+ /* #define WORD_MACHINE */
+ 
+ /* Define how to take a char and sign-extend into an int.
+    On machines where char is signed, this is a no-op.  */
+ 
+ #define SIGN_EXTEND_CHAR(c) (c)
+ 
+ /* Now define a symbol for the cpu type, if your compiler
+    does not define it automatically:
+    Ones defined so far include vax, m68000, ns16000, pyramid,
+    orion, tahoe, APOLLO and many others */
+ 
+ #define INTEL386
+ #define aix386
+ #undef  SYSTEM_TYPE
+ #define SYSTEM_TYPE "ibm-aix-386"
+ 
+ /* Use type int rather than a union, to represent Lisp_Object */
+ 
+ #define NO_UNION_TYPE
+ 
+ /* crt0.c, if it is used, should use the i386-bsd style of entry.
+    with no extra dummy args.  On USG and XENIX,
+    NO_REMAP says this isn't used. */
+ 
+ #define CRT0_DUMMIES bogus_fp,
+ 
+ /* crt0.c should define a symbol `start' and do .globl with a dot.  */
+ 
+ #define DOT_GLOBAL_START
+ 
+ /* USG systems do not actually support the load average,
+ so disable it for them.  */
+ 
+ /* Define CANNOT_DUMP on machines where unexec does not work.
+    Then the function dump-emacs will not be defined
+    and temacs will do (load "loadup") automatically unless told otherwise.  */
+ 
+ /* #define CANNOT_DUMP */
+ 
+ /* Define VIRT_ADDR_VARIES if the virtual addresses of
+    pure and impure space as loaded can vary, and even their
+    relative order cannot be relied on.
+ 
+    Otherwise Emacs assumes that text space precedes data space,
+    numerically.  */
+ 
+ /* #define VIRT_ADDR_VARIES */
+ 
+ /* Define addresses, macros, change some setup for dump */
+ 
+ #define NO_REMAP
+ #undef static
+   /* Since NO_REMAP, problem with statics doesn't exist */
+ 
+ #define TEXT_START 0x00400000
+ #define TEXT_END 0
+ #define DATA_START 0x00800000
+ #define DATA_END 0
+ 
+ /* The data segment in this machine always starts at address 0x00800000.
+    An address of data cannot be stored correctly in a Lisp object;
+    we always lose the high bits.  We must tell XPNTR to add them back.  */
+ 
+ #define DATA_SEG_BITS 0x00800000
+ 
+ #if 0 /* I refuse to promulgate a recommendation that would make
+          users unable to debug - RMS.  */
+ /* delete the following line to foil optimization, enable debugging */
+ #define C_DEBUG_SWITCH -O
+ #endif
+ 
+ #define BSTRING
+ #define HAVE_DUP2
+ #define HAVE_GETTIMEOFDAY
+ #define HAVE_SELECT
+ #define HAVE_TIMEVAL
+ #define HAVE_VFORK
+ 
+ /*
+  * 	Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
+  *	library functions.  Almost, but not quite the same as
+  *	the 4.2 functions
+  */
+ #define SYSV_SYSTEM_DIR
+ #define HAVE_CLOSEDIR  /* This system, unlike ordinary SYSV, has closedir.  */
+ 
+ /*
+  *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+  *      The 4.2 opendir, etc., library functions.
+  */
+ #undef  NONSYSTEM_DIR_LIBRARY
+ 
+ /* But don't use utimes() -- it causes SIGSEGV!  Use utime() instead. */
+ #define USE_UTIME
+ 
+ /* AIX defines FIONREAD, but it does not work.  */
+ #define BROKEN_FIONREAD
+ 
+ /* Define C_ALLOCA if this machine does not support a true alloca
+    and the one written in C should be used instead.
+    Define HAVE_ALLOCA to say that the system provides a properly
+    working alloca function and it should be used.
+    Define neither one if an assembler-language alloca
+    in the file alloca.s should be used.  */
+ 
+ #ifdef __GNUC__
+ #define HAVE_ALLOCA
+ #define alloca(n) __builtin_alloca(n)
+ #define LIBS_MACHINE /usr/local/lib/gcc-gnulib -lbsd -lrts
+ #else
+ #define C_ALLOCA
+ #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
+ #define LIBS_MACHINE -lbsd -lrts
+ #endif
+ 
+ #define OBJECTS_MACHINE hftctl.o
+ #define LD_SWITCH_MACHINE -T0x00400000 -K -e start
diff -rc2N dist-18.54/src/m-ibmrt-aix.h dist-18.55/src/m-ibmrt-aix.h
*** dist-18.54/src/m-ibmrt-aix.h	Fri Feb 17 01:47:57 1989
--- dist-18.55/src/m-ibmrt-aix.h	Thu Aug  3 03:02:04 1989
***************
*** 49,52 ****
--- 49,56 ----
  #define IBMRTAIX
  
+ #ifndef AIX
+ #define AIX
+ #endif
+ 
  /* Use type int rather than a union, to represent Lisp_Object */
  /* This is desirable for most machines.  */
***************
*** 125,130 ****
  /* On AIX 2.2.1, use these definitions instead
  #define C_SWITCH_MACHINE -I/usr/include -Nn2000
! #define LIBS_MACHINE -lX -lrts
  #define LIBX10_MACHINE -lrts
  */
  
--- 129,135 ----
  /* On AIX 2.2.1, use these definitions instead
  #define C_SWITCH_MACHINE -I/usr/include -Nn2000
! #define LIBS_MACHINE -lrts
  #define LIBX10_MACHINE -lrts
+ #define LIBX11_MACHINE -lrts
  */
  
***************
*** 132,137 ****
  /* need to duplicate -lsock -lbsd -lrts so refs in libX can be resolved   */
  /* order of lib specs in ymakefile should probably be changed.            */
! #define LIBS_MACHINE -lXMenu -lX -lsock -lbsd -lrts
  #define LIBX10_MACHINE -lsock -lbsd -lrts
  
  #define OBJECTS_MACHINE hftctl.o
--- 137,143 ----
  /* need to duplicate -lsock -lbsd -lrts so refs in libX can be resolved   */
  /* order of lib specs in ymakefile should probably be changed.            */
! #define LIBS_MACHINE -lsock -lbsd -lrts
  #define LIBX10_MACHINE -lsock -lbsd -lrts
+ #define LIBX11_MACHINE -lsock -lbsd -lrts
  
  #define OBJECTS_MACHINE hftctl.o
diff -rc2N dist-18.54/src/m-intel386.h dist-18.55/src/m-intel386.h
*** dist-18.54/src/m-intel386.h	Wed Mar 23 21:56:11 1988
--- dist-18.55/src/m-intel386.h	Wed Jul 26 01:40:58 1989
***************
*** 74,83 ****
  #ifdef XENIX
  /* Data type of load average, as read out of kmem.  */
! #define LOAD_AVE_TYPE long
  
  /* Convert that into an integer that is 100 for a load average of 1.0  */
! #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
    
! #define FSCALE 400000.0         /* determined by experimentation...  */
  #endif
  
--- 74,83 ----
  #ifdef XENIX
  /* Data type of load average, as read out of kmem.  */
! #define LOAD_AVE_TYPE short
  
  /* Convert that into an integer that is 100 for a load average of 1.0  */
! #define LOAD_AVE_CVT(x) (((double) (x)) * 100.0 / FSCALE)
    
! #define FSCALE 256.0         /* determined by experimentation...  */
  #endif
  
diff -rc2N dist-18.54/src/m-mips.h dist-18.55/src/m-mips.h
*** dist-18.54/src/m-mips.h	Mon Apr 24 01:50:51 1989
--- dist-18.55/src/m-mips.h	Thu Jun 22 19:35:10 1989
***************
*** 124,128 ****
  #ifdef BSD
  
! #define LIBS_MACHINE -lmld
  #define LD_SWITCH_MACHINE -D 800000
  #define LIBS_DEBUG
--- 124,130 ----
  #ifdef BSD
  
! /* Supposedly the dec machine doesn't have this library.
!    #define LIBS_MACHINE -lmld  */
! 
  #define LD_SWITCH_MACHINE -D 800000
  #define LIBS_DEBUG
diff -rc2N dist-18.54/src/m-pmax.h dist-18.55/src/m-pmax.h
*** dist-18.54/src/m-pmax.h	Wed Dec 31 19:00:00 1969
--- dist-18.55/src/m-pmax.h	Thu Jun  8 12:53:55 1989
***************
*** 0 ****
--- 1,3 ----
+ #include "m-mips.h"
+ #undef LIBS_MACHINE
+ #undef BIG_ENDIAN
diff -rc2N dist-18.54/src/process.c dist-18.55/src/process.c
*** dist-18.54/src/process.c	Tue Apr 18 13:00:19 1989
--- dist-18.55/src/process.c	Sun Aug  6 18:01:31 1989
***************
*** 42,45 ****
--- 42,48 ----
  #if defined(BSD) || defined(STRIDE)
  #include <sys/ioctl.h>
+ #if !defined (O_NDELAY) && defined (HAVE_PTYS)
+ #include <fcntl.h>
+ #endif /* HAVE_PTYS and no O_NDELAY */
  #endif /* BSD or STRIDE */
  #ifdef USG
***************
*** 48,51 ****
--- 51,58 ----
  #endif /* USG */
  
+ #ifdef NEED_BSDTTY
+ #include <sys/bsdtty.h>
+ #endif
+ 
  #ifdef IRIS
  #include <sys/sysmacros.h>	/* for "minor" */
***************
*** 106,110 ****
     But on vanilla-ish USG systems there is not.  */
  
! #if !defined (BSD) && !defined (UNIPLUS) && !defined (STRIDE)
  #define WAITTYPE int
  #define WIFSTOPPED(w) ((w&0377) == 0177)
--- 113,118 ----
     But on vanilla-ish USG systems there is not.  */
  
! #ifndef WAITTYPE
! #if !defined (BSD) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS))
  #define WAITTYPE int
  #define WIFSTOPPED(w) ((w&0377) == 0177)
***************
*** 131,134 ****
--- 139,143 ----
  #endif
  #endif /* BSD or UNIPLUS or STRIDE */
+ #endif /* no WAITTYPE */
  
  extern errno;
***************
*** 982,985 ****
--- 991,997 ----
    sighold (SIGCHLD);
  #else /* not BSD4_1 */
+ #ifdef HPUX
+   sigsetmask (1 << (SIGCHLD - 1));
+ #endif /* HPUX */
  #if defined (BSD) || defined (UNIPLUS)
    sigsetmask (1 << (SIGCHLD - 1));
***************
*** 1077,1080 ****
--- 1089,1095 ----
    sigrelse (SIGCHLD);
  #else /* not BSD4_1 */
+ #ifdef HPUX
+   sigsetmask (0);
+ #endif /* HPUX */
  #if defined (BSD) || defined (UNIPLUS)
    sigsetmask (0);
***************
*** 2009,2013 ****
  
    if (XSYMBOL (tail) == XSYMBOL (Qnil))
! #ifdef USG
      goto ignore;
  #else
--- 2024,2028 ----
  
    if (XSYMBOL (tail) == XSYMBOL (Qnil))
! #if defined (USG) && ! (defined (HPUX) && defined (WNOHANG))
      goto ignore;
  #else
***************
*** 2035,2045 ****
        XFASTINT (p->reason) = WTERMSIG (w);
      }
! #ifndef USG
    goto loop;
  #else
   ignore:
    signal (signo, child_sig);
    errno = old_errno;
! #endif /* not USG */
  }
  \f


--- 2050,2062 ----
        XFASTINT (p->reason) = WTERMSIG (w);
      }
! #if !defined (USG) || (defined (HPUX) && defined (WNOHANG))
    goto loop;
  #else
   ignore:
+ #ifdef USG
    signal (signo, child_sig);
+ #endif
    errno = old_errno;
! #endif /* not USG, or HPUX with WNOHANG */
  }
  \f


diff -rc2N dist-18.54/src/s-usg5-3.h dist-18.55/src/s-usg5-3.h
*** dist-18.54/src/s-usg5-3.h	Sun Jul 24 18:12:26 1988
--- dist-18.55/src/s-usg5-3.h	Fri May 12 22:14:09 1989
***************
*** 142,145 ****
--- 142,149 ----
  
  #define LDAV_SYMBOL "avenrun"
+ 
+ /* Define this if system V IPC is available.  */
+ 
+ #define HAVE_SYSVIPC
  \f


  /* Special hacks needed to make Emacs run on this system.  */
diff -rc2N dist-18.54/src/search.c dist-18.55/src/search.c
*** dist-18.54/src/search.c	Wed Dec 28 23:47:27 1988
--- dist-18.55/src/search.c	Thu Aug  3 02:05:06 1989
***************
*** 331,335 ****
      {
        c = *p++;
!       if (*p == '\\')
          {
  	  if (p == pend) break;
--- 331,335 ----
      {
        c = *p++;
!       if (c == '\\')
          {
  	  if (p == pend) break;
***************
*** 1035,1042 ****
  		place (search_regs.start[0],
  		       search_regs.end[0]);
! 	      else if (c >= '1' && c <= RE_NREGS + '0' &&
! 		       search_regs.start[c - '0'] >= 1)
! 		place (search_regs.start[c - '0'],
! 		       search_regs.end[c - '0']);
  	      else
  		insert_char (c);
--- 1035,1044 ----
  		place (search_regs.start[0],
  		       search_regs.end[0]);
! 	      else if (c >= '1' && c <= RE_NREGS + '0')
! 		{
! 		  if (search_regs.start[c - '0'] >= 1)
! 		    place (search_regs.start[c - '0'],
! 			   search_regs.end[c - '0']);
! 		}
  	      else
  		insert_char (c);
diff -rc2N dist-18.54/src/sysdep.c dist-18.55/src/sysdep.c
*** dist-18.54/src/sysdep.c	Mon Apr 24 01:26:35 1989
--- dist-18.55/src/sysdep.c	Mon Aug  7 21:50:43 1989
***************
*** 146,151 ****
--- 146,158 ----
  #include <string.h>
  #ifdef TIOCGWINSZ
+ #ifndef IRIS_4D
+ #ifndef mips
+ /* Some USG systems with TIOCGWINSZ need this file; some don't have it.
+    We don't know how to distinguish them.
+    If this #include gets an error, just delete it.  */
  #include <sys/sioctl.h>
  #endif
+ #endif
+ #endif
  #ifdef HAVE_TIMEVAL
  #ifdef HPUX
***************
*** 333,337 ****
      {
  #ifdef subprocesses
! #ifdef BSD
        /* Note that kill returns -1 even if the process is just a zombie now.
  	 But inevitably a SIGCHLD interrupt should be generated
--- 340,344 ----
      {
  #ifdef subprocesses
! #if defined(BSD) || (defined(HPUX) && !defined(HPUX_5))
        /* Note that kill returns -1 even if the process is just a zombie now.
  	 But inevitably a SIGCHLD interrupt should be generated
***************
*** 366,370 ****
  	sigpause (0);
  #endif /* not BSD4_1 */
! #else /* not BSD */
  #ifdef UNIPLUS
        if (0 > kill (pid, 0))
--- 373,377 ----
  	sigpause (0);
  #endif /* not BSD4_1 */
! #else /* not BSD, and not HPUX version >= 6 */
  #ifdef UNIPLUS
        if (0 > kill (pid, 0))
***************
*** 376,380 ****
        pause ();
  #endif /* not UNIPLUS */
! #endif /* not BSD */
  #else /* not subprocesses */
  #ifndef BSD4_1
--- 383,387 ----
        pause ();
  #endif /* not UNIPLUS */
! #endif /* not BSD, and not HPUX version >= 6 */
  #else /* not subprocesses */
  #ifndef BSD4_1
***************
*** 446,450 ****
  #endif HPUX
  #ifdef IBMRTAIX
! /* AIX enhanced edit looses NULs, so disable it */
    s.c_line = 0;
    s.c_iflag &= ~ASCEDIT;
--- 453,457 ----
  #endif HPUX
  #ifdef IBMRTAIX
! /* AIX enhanced edit loses NULs, so disable it */
    s.c_line = 0;
    s.c_iflag &= ~ASCEDIT;
***************
*** 792,797 ****
  	 This really serves a purpose only if running in an XTERM window
  	 or via TELNET or the like, but does no harm elsewhere.  */
!       s.c_iflag &= ~IGNBRK;
!       s.c_iflag &= ~BRKINT;
  #endif
  #else /* if not HAVE_TERMIO */
--- 799,804 ----
  	 This really serves a purpose only if running in an XTERM window
  	 or via TELNET or the like, but does no harm elsewhere.  */
!       sg.c_iflag &= ~IGNBRK;
!       sg.c_iflag &= ~BRKINT;
  #endif
  #else /* if not HAVE_TERMIO */
***************
*** 826,830 ****
  #endif
  
! #ifdef IBMRTAIX
        hft_init ();
  #endif
--- 833,837 ----
  #endif
  
! #ifdef AIX
        hft_init ();
  #endif
***************
*** 846,853 ****
  	   so as to turn off local flow control for user coming over
  	   network on 4.2; in this case, only t_stopc and t_startc really matter.  */
- #ifndef HAVE_TERMIO
  #ifdef TIOCGLTC
        ioctl (0, TIOCGLTC, &old_ltchars);
  #endif /* TIOCGLTC */
  #ifdef TIOCGETC
        ioctl (0, TIOCGETC, &old_tchars);
--- 853,860 ----
  	   so as to turn off local flow control for user coming over
  	   network on 4.2; in this case, only t_stopc and t_startc really matter.  */
  #ifdef TIOCGLTC
        ioctl (0, TIOCGLTC, &old_ltchars);
  #endif /* TIOCGLTC */
+ #ifndef HAVE_TERMIO
  #ifdef TIOCGETC
        ioctl (0, TIOCGETC, &old_tchars);
***************
*** 876,883 ****
        ioctl (0, TIOCLSET, &lmode);
  #endif /* TIOCGETC */
  #ifdef TIOCGLTC
        ioctl (0, TIOCSLTC, &new_ltchars);
  #endif /* TIOCGLTC */
- #endif /* not HAVE_TERMIO */
  
  #ifdef BSD4_1
--- 883,890 ----
        ioctl (0, TIOCLSET, &lmode);
  #endif /* TIOCGETC */
+ #endif /* not HAVE_TERMIO */
  #ifdef TIOCGLTC
        ioctl (0, TIOCSLTC, &new_ltchars);
  #endif /* TIOCGLTC */
  
  #ifdef BSD4_1
***************
*** 1001,1008 ****
  #endif
  #endif
- #ifndef HAVE_TERMIO
  #ifdef TIOCGLTC
    ioctl (0, TIOCSLTC, &old_ltchars);
  #endif /* TIOCGLTC */
  #ifdef TIOCGETC
    ioctl (0, TIOCSETC, &old_tchars);
--- 1008,1015 ----
  #endif
  #endif
  #ifdef TIOCGLTC
    ioctl (0, TIOCSLTC, &old_ltchars);
  #endif /* TIOCGLTC */
+ #ifndef HAVE_TERMIO
  #ifdef TIOCGETC
    ioctl (0, TIOCSETC, &old_tchars);
***************
*** 1031,1035 ****
  #endif /* not VMS */
  
! #ifdef IBMRTAIX
    hft_reset ();
  #endif
--- 1038,1042 ----
  #endif /* not VMS */
  
! #ifdef AIX
    hft_reset ();
  #endif
***************
*** 2226,2229 ****
--- 2233,2237 ----
  #include <dirent.h>
  
+ #ifndef HAVE_CLOSEDIR
  int
  closedir (dirp)
***************
*** 2234,2237 ****
--- 2242,2246 ----
    free ((char *) dirp);
  }
+ #endif /* not HAVE_CLOSEDIR */
  
  #endif /* SYSV_SYSTEM_DIR */
***************
*** 3511,3515 ****
  #endif /* VMS */
  \f


! #ifdef IBMRTAIX
  
  /* Get files for keyboard remapping */
--- 3520,3524 ----
  #endif /* VMS */
  \f


! #ifdef AIX
  
  /* Get files for keyboard remapping */
***************
*** 3572,3574 ****
  }
  
! #endif IBMRTAIX
--- 3581,3583 ----
  }
  
! #endif /* AIX */
diff -rc2N dist-18.54/src/vmsfns.c dist-18.55/src/vmsfns.c
*** dist-18.54/src/vmsfns.c	Mon Aug 15 23:05:28 1988
--- dist-18.55/src/vmsfns.c	Fri Aug 18 18:01:47 1989
***************
*** 85,88 ****
--- 85,137 ----
  #define	MSGSIZE	160		/* Maximum size for mailbox operations */
  
+ #ifndef PRV$V_ACNT
+ 
+ /* these defines added as hack for VMS 5.1-1.   SJones, 8-17-89 */
+ /* this is _really_ nasty and needs to be changed ASAP - should see about
+    using the union defined in SYS$LIBRARY:PRVDEF.H under v5 */
+ 
+ #define PRV$V_ACNT	0x09
+ #define PRV$V_ALLSPOOL  0x04
+ #define PRV$V_ALTPRI	0x0D
+ #define PRV$V_BUGCHK    0x17
+ #define PRV$V_BYPASS    0x1D
+ #define PRV$V_CMEXEC    0x01
+ #define PRV$V_CMKRNL    0x00
+ #define PRV$V_DETACH    0x05
+ #define PRV$V_DIAGNOSE  0x06
+ #define PRV$V_DOWNGRADE 0x21
+ #define PRV$V_EXQUOTA   0x13
+ #define PRV$V_GROUP     0x08
+ #define PRV$V_GRPNAM    0x03
+ #define PRV$V_GRPPRV 	0x22
+ #define PRV$V_LOG_IO    0x07
+ #define PRV$V_MOUNT     0x11
+ #define PRV$V_NETMBX    0x14
+ #define PRV$V_NOACNT    0x09
+ #define PRV$V_OPER      0x12
+ #define PRV$V_PFNMAP    0x1A
+ #define PRV$V_PHY_IO    0x16
+ #define PRV$V_PRMCEB    0x0A
+ #define PRV$V_PRMGBL    0x18
+ #define PRV$V_PRMJNL 	0x25
+ #define PRV$V_PRMMBX    0x0B
+ #define PRV$V_PSWAPM    0x0C
+ #define PRV$V_READALL 	0x23
+ #define PRV$V_SECURITY 	0x26
+ #define PRV$V_SETPRI    0x0D
+ #define PRV$V_SETPRV    0x0E
+ #define PRV$V_SHARE 	0x1F
+ #define PRV$V_SHMEM     0x1B
+ #define PRV$V_SYSGBL    0x19
+ #define PRV$V_SYSLCK	0x1E
+ #define PRV$V_SYSNAM    0x02
+ #define PRV$V_SYSPRV    0x1C
+ #define PRV$V_TMPJNL 	0x24
+ #define PRV$V_TMPMBX    0x0F
+ #define PRV$V_UPGRADE 	0x20
+ #define PRV$V_VOLPRO    0x15
+ #define PRV$V_WORLD     0x10
+ #endif
+ 
  /* IO status block for mailbox operations.  */
  struct mbx_iosb
diff -rc2N dist-18.54/src/x11fns.c dist-18.55/src/x11fns.c
*** dist-18.54/src/x11fns.c	Fri Feb 24 06:36:01 1989
--- dist-18.55/src/x11fns.c	Sun Aug 13 15:54:21 1989
***************
*** 342,348 ****
    XColor forec, backc;
  
    if (XXisColor && mous_color
        && XParseColor (XXdisplay, XXColorMap, mous_color, &forec)
!       && XParseColor (XXdisplay, XXColorMap, back_color, &backc))
      {
        XRecolorCursor (XXdisplay, EmacsCursor, &forec, &backc);
--- 342,363 ----
    XColor forec, backc;
  
+   char	 *useback;
+ 
+   /* USEBACK is the background color, but on monochrome screens
+      changed if necessary not to match the mouse.  */
+ 
+   useback = back_color;
+ 
+   if (!XXisColor && !strcmp (mous_color, back_color))
+     {
+       if (strcmp (back_color, "white"))
+ 	useback = "white";
+       else
+ 	useback = "black";
+     }
+ 
    if (XXisColor && mous_color
        && XParseColor (XXdisplay, XXColorMap, mous_color, &forec)
!       && XParseColor (XXdisplay, XXColorMap, useback, &backc))
      {
        XRecolorCursor (XXdisplay, EmacsCursor, &forec, &backc);
***************
*** 560,565 ****
  				XXfonth)));
  		Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
! /*		XSET (tempx, Lisp_Int, event.xbutton.x+XXxoffset);
! 		XSET (tempy, Lisp_Int, event.xbutton.y+XXyoffset);*/
  		Vx_mouse_abs_pos = Fcons (tempx, Fcons (tempy, Qnil));
  		Vx_mouse_item = make_number (com_letter);
--- 575,580 ----
  				XXfonth)));
  		Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
! 		XSET (tempx, Lisp_Int, event.xbutton.x_root);
! 		XSET (tempy, Lisp_Int, event.xbutton.y_root);
  		Vx_mouse_abs_pos = Fcons (tempx, Fcons (tempy, Qnil));
  		Vx_mouse_item = make_number (com_letter);
***************
*** 618,623 ****
  				XXfonth)));
  		Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
! /*		XSET (tempx, Lisp_Int, event.xbutton.x+XXxoffset);
! 		XSET (tempy, Lisp_Int, event.xbutton.y+XXyoffset);*/
  		Vx_mouse_abs_pos = Fcond (tempx, Fcons (tempy, Qnil));
  		return Fcons (com_letter, Fcons (Vx_mouse_pos, Qnil));
--- 633,638 ----
  				XXfonth)));
  		Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
! 		XSET (tempx, Lisp_Int, event.xbutton.x_root);
! 		XSET (tempy, Lisp_Int, event.xbutton.y_root);
  		Vx_mouse_abs_pos = Fcond (tempx, Fcons (tempy, Qnil));
  		return Fcons (com_letter, Fcons (Vx_mouse_pos, Qnil));
***************
*** 845,848 ****
--- 860,864 ----
    DEFVAR_LISP ("x-mouse-abs-pos", &Vx_mouse_abs_pos,
  	       "Current x-y position of mouse relative to root window.");
+   Vx_mouse_abs_pos = Qnil;
  
    defsubr (&Sx_set_bell);
diff -rc2N dist-18.54/src/x11term.c dist-18.55/src/x11term.c
*** dist-18.54/src/x11term.c	Thu Apr  6 13:45:19 1989
--- dist-18.55/src/x11term.c	Wed Aug  2 22:56:42 1989
***************
*** 72,76 ****
--- 72,80 ----
  
  #ifdef USG
+ #ifdef IRIS_4D
+ #include <sys/time.h>
+ #else
  #include <time.h>
+ #endif
  #else
  #include <sys/time.h>
***************
*** 77,80 ****
--- 81,88 ----
  #endif
  
+ #ifdef AIX
+ #include <sys/time.h>   /* In addition to time.h.  */
+ #endif
+ 
  #include <fcntl.h>
  #include <stdio.h>
***************
*** 1322,1326 ****
        nbytes = XLookupString (&event,
  			      mapping_buf, 20, &keysym,
! 			      &status);
        /* Someday this will be unnecessary as we will
  	 be able to use XRebindKeysym so XLookupString
--- 1330,1334 ----
        nbytes = XLookupString (&event,
  			      mapping_buf, 20, &keysym,
! 			      0);
        /* Someday this will be unnecessary as we will
  	 be able to use XRebindKeysym so XLookupString
***************
*** 1410,1429 ****
  xfixscreen ()
  {
  	BLOCK_INPUT_DECLARE ();
  
! 	/* Yes, this is really what I mean -- Check to see if we've
! 	 * lost our connection */
! 	
! 	BLOCK_INPUT ();
! 	XSetErrorHandler(0);
! 	XSetIOErrorHandler(0);
! 	XNoOp (XXdisplay);
! 	XFlush (XXdisplay);
! 	XSetErrorHandler(handler);
! 	XSetIOErrorHandler(handler);
! 	if (!InUpdate && !CursorExists)
! 		CursorToggle ();
  
! 	UNBLOCK_INPUT ();
  }
  	
--- 1418,1445 ----
  xfixscreen ()
  {
+ 	static int server_ping_timer;
  	BLOCK_INPUT_DECLARE ();
  
! 	if (server_ping_timer > 0)
! 	  server_ping_timer--;
! 	else
! 	  {
! 	    server_ping_timer = 100;
! 
! 	    /* Yes, this is really what I mean -- Check to see if we've
! 	     * lost our connection */
! 
! 	    BLOCK_INPUT ();
! 	    XSetErrorHandler(0);
! 	    XSetIOErrorHandler(0);
! 	    XNoOp (XXdisplay);
! 	    XFlush (XXdisplay);
! 	    XSetErrorHandler(handler);
! 	    XSetIOErrorHandler(handler);
! 	    if (!InUpdate && !CursorExists)
! 		    CursorToggle ();
  
! 	    UNBLOCK_INPUT ();
! 	  }
  }
  	
***************
*** 2007,2010 ****
--- 2023,2031 ----
  	XXgc_rev = XXgc_temp;
  
+ 	if (!strcmp (mous_color, "white"))
+ 	  mous_color = "black";
+ 	else if (!strcmp (mous_color, "black"))
+ 	  mous_color = "white";
+ 
  	x_set_cursor_colors ();
  
***************
*** 2020,2028 ****
  		}
  	XSetState (XXdisplay, XXgc_curs, back, curs, GXinvert, AllPlanes);
- 
- 	if (!strcmp (mous_color, "white"))
- 	  mous_color = "black";
- 	else if (!strcmp (mous_color, "black"))
- 	  mous_color = "white";
  
  	CursorToggle ();
--- 2041,2044 ----
diff -rc2N dist-18.54/src/xfns.c dist-18.55/src/xfns.c
*** dist-18.54/src/xfns.c	Wed Aug 10 00:28:09 1988
--- dist-18.55/src/xfns.c	Sun Aug 13 15:53:07 1989
***************
*** 90,94 ****
  Lisp_Object Vxterm;
  
! Lisp_Object Vx_mouse_pos;
  
  Lisp_Object Vx_mouse_item;
--- 90,94 ----
  Lisp_Object Vxterm;
  
! Lisp_Object Vx_mouse_pos, Vx_mouse_abs_pos;
  
  Lisp_Object Vx_mouse_item;
***************
*** 657,660 ****
--- 657,663 ----
        XSET (tempy, Lisp_Int, min (screen_height-1, max (0, (xrep.y - XXInternalBorder)/fontinfo->height)));
        Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
+       XSET (tempx, Lisp_Int, xrep.x + XXxoffset);
+       XSET (tempy, Lisp_Int, xrep.y + XXyoffset);
+       Vx_mouse_abs_pos = Fcons (tempx, Fcons (tempy, Qnil));
        Vx_mouse_item = make_number (com_letter);
        Mouse_Cmd = get_keyelt (access_keymap (MouseMap, com_letter));
***************
*** 666,669 ****
--- 669,673 ----
  #endif
  	  Vx_mouse_pos = Qnil;
+ 	  Vx_mouse_abs_pos = Qnil;
  	}
        else
***************
*** 710,713 ****
--- 714,720 ----
        XSET (tempy, Lisp_Int, min (screen_height, max (0, (xrep.y - XXInternalBorder)/fontinfo->height)));
        Vx_mouse_pos = Fcons (tempx, Fcons (tempy, Qnil));
+       XSET (tempx, Lisp_Int, xrep.x + XXxoffset);
+       XSET (tempy, Lisp_Int, xrep.y + XXyoffset);
+       Vx_mouse_abs_pos = Fcons (tempx, Fcons (tempy, Qnil));
        return Fcons (com_letter, Fcons (Vx_mouse_pos, Qnil));
      }
***************
*** 1351,1354 ****
--- 1358,1364 ----
       "Current x-y position of mouse by row, column as specified by font.");
    Vx_mouse_pos = Qnil;
+   DEFVAR_LISP ("x-mouse-abs-pos", &Vx_mouse_abs_pos,
+      "Current x-y position of mouse by row, column in pixels, wrt root window.");
+   Vx_mouse_abs_pos = Qnil;
  
    defsubr (&Sx_pop_up_window);
diff -rc2N dist-18.54/src/xmenu.c dist-18.55/src/xmenu.c
*** dist-18.54/src/xmenu.c	Thu Apr  6 21:36:11 1989
--- dist-18.55/src/xmenu.c	Fri Aug 11 22:24:01 1989
***************
*** 60,64 ****
  
  #ifdef X11
! #include <X11/XMenu.h>
  #define X11ONLY(arg) arg,
  #else
--- 60,64 ----
  
  #ifdef X11
! #include "../oldXMenu/XMenu.h"
  #define X11ONLY(arg) arg,
  #else
***************
*** 67,70 ****
--- 67,72 ----
  #endif
  
+ #include "termopts.h"
+ 
  #define min(x,y) (((x) < (y)) ? (x) : (y))
  #define max(x,y) (((x) > (y)) ? (x) : (y))
***************
*** 131,134 ****
--- 133,137 ----
    Window root_window, wjunk;
    int ijunk;
+   extern Lisp_Object Vx_mouse_abs_pos;
  #endif
    BLOCK_INPUT_DECLARE ();
***************
*** 136,142 ****
    check_xterm();
  #ifdef X11
    root_window = RootWindow (XXdisplay, DefaultScreen(XXdisplay));
!   XQueryPointer (XXdisplay, root_window, &wjunk, &wjunk, &XMenu_xpos,
! 		 &XMenu_ypos, &ijunk, &ijunk, &ijunk);
  #else
    XMenu_xpos = fontinfo->width * XINT(Fcar(arg));
--- 139,155 ----
    check_xterm();
  #ifdef X11
+ #if 0
+   if (interrupt_input)
+     unrequest_sigio ();
+ #endif
+   BLOCK_INPUT ();
    root_window = RootWindow (XXdisplay, DefaultScreen(XXdisplay));
!   UNBLOCK_INPUT ();
!   XMenu_xpos = Fcar (Vx_mouse_abs_pos);
!   XMenu_ypos = Fcar (Fcdr (Vx_mouse_abs_pos));
! #if 0
!   if (interrupt_input)
!     request_sigio ();
! #endif
  #else
    XMenu_xpos = fontinfo->width * XINT(Fcar(arg));
***************
*** 173,176 ****
--- 186,190 ----
  #endif
    UNBLOCK_INPUT ();
+   force_input_read ();
    /** fprintf(stderr,"selection = %x\n",selection);  **/
    if (selection != NUL)
diff -rc2N dist-18.54/src/ymakefile dist-18.55/src/ymakefile
*** dist-18.54/src/ymakefile	Wed Apr 19 20:26:15 1989
--- dist-18.55/src/ymakefile	Fri Jun 16 22:17:09 1989
***************
*** 26,29 ****
--- 26,30 ----
  shortnamesdir = ../shortnames/
  cppdir = ../cpp/
+ oldXMenudir = ../oldXMenu/
  
  #define NO_SHORTNAMES
***************
*** 173,178 ****
  #ifdef HAVE_X11
  #ifdef HAVE_X_MENU
  XOBJ = x11term.o x11fns.o xmenu.o
! LIBX = -lXMenu -loldX -lX11 LIBX11_MACHINE LIBX11_SYSTEM
  #else
  XOBJ = x11term.o x11fns.o
--- 174,180 ----
  #ifdef HAVE_X11
  #ifdef HAVE_X_MENU
+ OLDXMENU = libXMenu11.a
  XOBJ = x11term.o x11fns.o xmenu.o
! LIBX = $(OLDXMENU) -loldX -lX11 LIBX11_MACHINE LIBX11_SYSTEM
  #else
  XOBJ = x11term.o x11fns.o
***************
*** 296,300 ****
  #endif
  
! temacs: MAKE_PARALLEL $(LOCALCPP) $(SHORT) $(STARTFILES) ${obj} ${otherobj} OBJECTS_SYSTEM OBJECTS_MACHINE
  	$(LD) ${STARTFLAGS} ${LDFLAGS} -o temacs ${STARTFILES} ${obj} ${otherobj} OBJECTS_SYSTEM OBJECTS_MACHINE ${LIBES}
  
--- 298,302 ----
  #endif
  
! temacs: MAKE_PARALLEL $(LOCALCPP) $(SHORT) $(STARTFILES) $(OLDXMENU) ${obj} ${otherobj} OBJECTS_SYSTEM OBJECTS_MACHINE
  	$(LD) ${STARTFLAGS} ${LDFLAGS} -o temacs ${STARTFILES} ${obj} ${otherobj} OBJECTS_SYSTEM OBJECTS_MACHINE ${LIBES}
  
***************
*** 322,325 ****
--- 324,337 ----
  	cd ${shortnamesdir}; make ${MFLAGS}
  #endif /* SHORTNAMES */
+ 
+ #ifdef HAVE_X_WINDOWS
+ #ifdef HAVE_X_MENU
+ #ifdef HAVE_X11
+ $(OLDXMENU):
+ 	cd ${oldXMenudir}; make ${MFLAGS}
+ 	ln ${oldXMenudir}libXMenu11.a $(OLDXMENU)
+ #endif /* HAVE_X11 */
+ #endif /* HAVE_X_MENU */
+ #endif /* HAVE_X_WINDOWS */
  
  paths.h: paths.h-dist