Anonymous avatar Anonymous committed b9518fe

Import from CVS: tag r20-0b31

Comments (0)

Files changed (120)

 							-*- indented-text -*-
+to 20.0 beta31
+
+-- EDT/TPU modes synched from GNU Emacs, should actually work for the first
+   first time.
+-- Lots of files synched with GNU Emacs 19.34.
+-- Apropos mode enhancements.
+-- locate-library is now silent when called non-interactively.
+-- Non aggressive keyboard focus throwing is supported.
+-- Various enhancements from Lars Magne Ingebrigtsen.
+-- smtpmail.el added from GNU Emacs 19.34.
+-- man.el & man-xref.el added from GNU Emacs 19.35.
+-- crisp/brief emulation courtesy of Gary D. Foster.
+-- id-select.el courtesy of Bob Weiner.
+-- pretty-print.el courtesy of Guido Bosch
+-- vhdl-mode.el Version 2.73 courtesy of Rod Whitby.
+
 to 20.0 beta30
 
 -- Syntax entry specification "e" has been removed.
+Tue Dec 10 18:33:19 1996  Rod Whitby  <rwhitby@asc.sps.mot.com>
+
+	* info/vhdl-mode.info: New file.
+
+	* info/dir (Packages): Add vhdl-mode documentation.
+
+Tue Dec 10 18:27:02 1996  Martin Buchholz  <mrb@Eng.Sun.COM>
+
+	* configure: Make shared/dynamic flags work much more logically.
+
+Tue Dec 10 09:17:22 1996  David Worenklein  <dcw@gcm.com>
+
+	* configure.in (machine): Patch to make newly renamed shared
+	link include files work.
+
+Sat Dec  7 16:28:10 1996  Martin Buchholz  <mrb@Eng.Sun.COM>
+
+	* configure.in: Configure for POSIX getcwd if available.
+
+Thu Dec  5 20:42:35 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* etc/edt-user.doc (File): New file from Emacs 19.34.
+
+Thu Dec  5 11:56:05 1996  Joseph J Nuspl <nuspl@nvwls.cc.purdue.edu>
+
+	* configure.in (LIBS): Fix typo in dialog box test.
+
+

Installation

-Configured for `i586-unknown-linux2.0.26'.
-
-  Where should the build process find the source code?    /usr/local/xemacs/xemacs-20.0-b30
-  What installation prefix should install use?            /usr/local
-  What operating system and machine description files should XEmacs use?
-        `s/linux.h' and `m/intel386.h'
-  What compiler should XEmacs be built with?              gcc -g -O4 -malign-loops=2 -malign-jumps=2
-  Should XEmacs use the GNU version of malloc?            yes
-  Should XEmacs use the relocating allocator for buffers? yes
-  What window system should XEmacs use?                   x11
-  Where do we find X Windows header files?                /usr/X11R6/include
-  Where do we find X Windows libraries?                   /usr/X11R6/lib
-  Compiling in support for XAUTH.
-  Compiling in support for XPM.
-  Compiling in support for X-Face headers.
-  Compiling in support for GIF image conversion.
-  Compiling in support for JPEG image conversion.
-  Compiling in native sound support.
-  Compiling in support for Berkeley DB.
-  Compiling in support for GNU DBM.
-  Compiling in Mule (multi-lingual) support.
-  Compiling in support for OffiX.
-  Using the Lucid menubar.
-  Using the Lucid scrollbar.
-  Using the Athena dialog boxes.
-  Compiling in extra code for debugging.
-  Compiling in code for checking XEmacs memory usage.
 
     case "${canonical}" in
       *-hp-hpux7*     )  opsys=hpux      ;;
-      *-hp-hpux8shr*  )  opsys=hpux8shr  ;;
       *-hp-hpux8*     )  opsys=hpux8     ;;
-      *-hp-hpux9shr*  )  opsys=hpux9shr  ;;
       *-hp-hpux9*     )  opsys=hpux9     ;;
-      *-hp-hpux10shr* )  opsys=hpux10shr ;;
       *-hp-hpux10*    )  opsys=hpux10    ;;
       * )
         case "`uname -r`" in
         esac
       ;;
     esac
+
+    case "${canonical}" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac
   ;;
 
   hppa-*-nextstep* ) machine=hp800 opsys=nextstep ;;
     
     case "${canonical}" in
       ## The Sun386 didn't get past 4.0.
-      i[3-9]86-*-sunos4	   ) opsys=sunos4-0      ;;
-      *-sunos4shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-0shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-1shr*	   ) opsys=sunos4-1shr   ;;
-      *-sunos4-1-2shr*	   ) opsys=sunos4-1-2shr ;;
-      *-sunos4-1-[3-9]shr* ) opsys=sunos4-1-3shr ;;
+      i[3-9]86-*-sunos4*   ) opsys=sunos4-0      ;;
       *-sunos4.0*	   ) opsys=sunos4-0      ;;
       *-sunos4.1.2*        ) opsys=sunos4-1-2    ;;
       *-sunos4.1.[3-9]*	   ) opsys=sunos4-1-3    ;;
       *			   ) opsys=bsd4-2	 ;;
     esac
 
+    case "${canonical}" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac
+
     ## Watch out for a compiler that is guaranteed not to work.
     case "${canonical}" in
       *-solaris* ) test "$CC" = "/usr/ucb/cc" && unset CC ;;
 
 if test "${dynamic}" = "yes" ; then
   case "${opsys}" in
-    hpux8 | hpux9 | hpux10 | sunos4-0 | sunos4-1 | sunos4-1-2 | sunos4-1-3 | sco5 ) 
-    opsys="${opsys}-shr" ;;
+    hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;;
   esac
 elif test "${dynamic}" = "no" ; then
   case "${opsys}" in
-    sol2 | sol2-3 | sol2-4 | decosf1-3 | decosf3-1 | decosf3-2 | linux )
-    opsys="${opsys}-static" ;;
+    sol2* | decosf1-3 | decosf3-* | linux ) opsys="${opsys}-static" ;;
   esac
 fi
 
   esac
 fi
 
-if test "${opsys}" = "hpux9shr"; then
+if test "${opsys}" = "hpux-9shr"; then
   case "${x_libraries}" in
     *X11R4* ) opsysfile="s/hpux9shxr4.h" ;;
   esac
 
     case "${canonical}" in
       *-hp-hpux7*     )  opsys=hpux      ;;
-      *-hp-hpux8shr*  )  opsys=hpux8shr  ;;
+      *-hp-hpux8shr*  )  opsys=hpux8-shr  ;;
       *-hp-hpux8*     )  opsys=hpux8     ;;
-      *-hp-hpux9shr*  )  opsys=hpux9shr  ;;
+      *-hp-hpux9shr*  )  opsys=hpux9-shr  ;;
       *-hp-hpux9*     )  opsys=hpux9     ;;
-      *-hp-hpux10shr* )  opsys=hpux10shr ;;
+      *-hp-hpux10shr* )  opsys=hpux10-shr ;;
       *-hp-hpux10*    )  opsys=hpux10    ;;
       * )
         case "`uname -r`" in
 
 test "${with_menubars}"   != "no"    && AC_DEFINE(HAVE_MENUBARS)
 test "${with_scrollbars}" != "no"    && AC_DEFINE(HAVE_SCROLLBARS)
-test "${with_scrollbars}" != "no"    && AC_DEFINE(HAVE_DIALOGS)
+test "${with_dialogs}"    != "no"    && AC_DEFINE(HAVE_DIALOGS)
 
 test "${with_menubars}"   = "lucid"  && AC_DEFINE(LWLIB_MENUBARS_LUCID)
 test "${with_menubars}"   = "motif"  && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
 # # On HPUX 9.01, -lm does not contain logb, so check for sqrt.
 # A C_CHECK_LIB(m, sqrt)
 
-AC_HAVE_FUNCS(acosh asinh atanh cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getwd logb lrand48 matherr mkdir mktime perror poll random realpath rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask strcasecmp strerror tzset utimes waitpid)
+AC_HAVE_FUNCS(acosh asinh atanh cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random realpath rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask strcasecmp strerror tzset utimes waitpid)
 
 # Check for mmap.
 found_mmap=true
+File:  edt-user.doc  ---  EDT Emulation User Instructions
+
+                                For GNU Emacs 19
+
+Copyright (C) 1986, 1992, 1994, 1995 Free Software Foundation, Inc.
+
+Author: Kevin Gallagher <kgallagh@spd.dsccc.com>
+Maintainer: Kevin Gallagher <kgallagh@spd.dsccc.com>
+Keywords: emulations
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 2, or (at your option)
+any later version.
+
+GNU Emacs 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 Emacs; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+
+============================================================================
+
+I.    OVERVIEW:
+
+This version of the EDT emulation package for GNU Emacs is a substantially
+enhanced version of the original.  A large part of the original can still be
+found here, of course, but much of it has been modified and quite a bit is
+new.  Many of the ideas found here are borrowed from others.  In particular,
+some of the code found here was drawn from an earlier re-write of the EDT
+package done at DSC in 1989 by Matthew Frohman.
+   
+Send bug fixes, suggestions for enhancements, and corrections to this
+documentation to Kevin Gallagher (kgallagh@spd.dsccc.com).
+
+The EDT emulation consists of the following files:
+
+edt-user.doc          - User instructions (which you are reading now)
+edt.el                - EDT Emulation Functions and Default Configuration
+edt-lk201.el          - Support for DEC LK-201 Keyboards
+edt-vt100.el          - Support for DEC VT-100 (and above) terminals
+edt-mapper.el         - Support for Keyboards used under X Windows
+edt-pc.el             - Support for the PC AT Keyboard under MS-DOS
+
+Several goals were kept in mind when making this version:
+     
+        1.  Emulate EDT Keypad Mode commands closely so that current
+            EDT users will find that it easy and comfortable to use
+            GNU Emacs with a small learning curve;
+   
+        2.  Make it easy for a user to customize EDT emulation key
+            bindings without knowing much about Emacs Lisp;
+
+        3.  Make it easy to switch between the original EDT default bindings
+            and the user's customized bindings, without having to exit Emacs.
+
+        4.  Provide support for some TPU/EVE functions not supported in
+            EDT. 
+
+        5.  Provide an easy way to restore ALL original Emacs key bindings,
+            just as they existed before the EDT emulation was first invoked.
+   
+        6.  Support GNU Emacs 19.  (Support for GNU Emacs 18 has been dropped.
+            Also, although there is some code designed to support Xemacs 19
+            (formerly Lucid Emacs), this is not fully implemented at this
+            time. 
+
+        7.  When running under X, support highlighting of marked text.
+
+        8.  Handle terminal configuration under X interactively when the
+            emulation is invoked for the first time.
+
+        9.  Support a PC AT keyboard under MS-DOS.
+
+II.   TERMINALS/KEYBOARDS SUPPORTED:
+
+Keyboards used under X Windows are supported via the edt-mapper function.  The
+first time you invoke the emulation under X, the edt-mapper function is run
+automatically and the user is prompted to identify which keys the emulation is
+to use for the standard keypad and function keys EDT expects (e.g., PF1, PF2,
+etc.).  This configuration is saved to disk read each time the emulation is
+invoked.
+
+In character oriented connections not running a window manager, the following
+terminals/keyboards are supported.  (1) DEC VT-100 series and higher.  This
+includes well behaved VT clones and emulators.  If you are using a VT series
+terminal, be sure that the term environment variable is set properly before
+invoking emacs. (2) PC AT keyboard under MS-DOS.
+
+Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those
+notes apply to you.
+
+
+III.  STARTING THE EDT EMULATION:
+
+Start up GNU Emacs and enter "M-x edt-emulation-on" to begin the emulation.
+After initialization is complete, the following message will appear below the
+status line informing you that the emulation has been enabled:
+
+                         Default EDT keymap active
+
+You can have the EDT Emulation start up automatically, each time you initiate
+a GNU Emacs session, by adding the following line to your .emacs file:
+
+                  (setq term-setup-hook 'edt-emulation-on)
+
+A reference sheet is included (later on) listing the default EDT Emulation key
+bindings.  This sheet is also accessible on line from within Emacs by pressing
+PF2, GOLD H, or HELP (when in the EDT Default Mode).
+
+It is easy to customize key bindings in the EDT Emulation.  (See CUSTOMIZING
+section, below.)  Customizations are placed in a file called edt-user.el.  (A
+sample edt-user.el file can be found in the CUSTOMIZING section.)  If
+edt-user.el is found in your GNU Emacs load path during EDT Emulation
+initialization, then the following message will appear below the status line
+indicating that the emulation has been enabled, enhanced by your own
+customizations:
+
+                       User EDT custom keymap active
+
+Once enabled, it is easy to switch back and forth between your customized EDT
+Emulation key bindings and the default EDT Emulation key bindings.  It is also
+easy to turn off the emulation.  Doing so completely restores the original key
+bindings in effect just prior to invoking the emulation.
+
+Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU
+Emacs key bindings are retained by the EDT emulation by default.  If you are a
+diehard EDT user you may not like this.  The CUSTOMIZING section explains how
+to change this default.
+
+
+IV.   SPECIAL NOTES FOR SOME PLATFORMS:
+
+  Sun Workstations running X:
+
+     Some earlier Sun keyboards do not have arrow keys separate from the
+     keypad keys.  It is difficult to emulate the full EDT keypad and still
+     retain use of the arrow keys on such keyboards.  
+
+     The Sun Type 5 keyboard, however, does have separate arrow keys.  This
+     makes it a candidate for setting up a reasonable EDT keypad emulation.
+     Unfortunately, Sun's default X keynames for the keypad keys don't permit
+     GNU Emacs to interpret the keypad 2, 4, 6, and 8 keys as something other
+     than arrow keys, nor use all the top row of keys for PF1 thru PF4 keys.
+     Here's the contents of an .xmodmaprc file which corrects this problem for
+     Sun Type 5 keyboards:
+
+         ! File:  .xmodmaprc
+         !
+         ! Set up Sun Type 5 keypad for use with the GNU Emacs EDT Emulation
+         !
+         keycode  53 = KP_Divide
+         keycode  54 = KP_Multiply
+         keycode  57 = KP_Decimal
+         keycode  75 = KP_7
+         keycode  76 = KP_8
+         keycode  77 = KP_9
+         keycode  78 = KP_Subtract
+         keycode  97 = KP_Enter
+         keycode  98 = KP_4
+         keycode  99 = KP_5
+         keycode 100 = KP_6
+         keycode 101 = KP_0
+         keycode 105 = F24
+         keycode 119 = KP_1
+         keycode 120 = KP_2
+         keycode 121 = KP_3
+         keycode 132 = KP_Add
+
+     Feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad keys
+     will now be configurable for the emulation of an LK-201 keypad (less the
+     comma key).  The line
+
+         keycode 105 = F24
+
+     modifies the NumLock key to be the F24 key which can then be configured
+     to behave as the PF1 key.  In doing so, you will no longer have a NumLock
+     key.  If you are using other software under X which requires a NumLock
+     key, then examine your keyboard and look for one you don't use and
+     redefine it to be the NumLock key.  (See the man page on xmodmap for for
+     further help on how to do this.)
+
+  PC users running MS-DOS:
+
+     By default, F1 is configured to emulate the PF1 (GOLD) key.  But NumLock
+     can be used instead if you load a freeware TSR distributed with
+     MS-Kermit, call gold.com.  It is distributed in a file called gold22.zip
+     and comes with the source code as well as a loadable binary image. 
+     (See edt-pc.el for more information.)
+
+  PC users running Linux:
+
+     The default X server configuration of three keys PC AT keyboard keys
+     needs to be modified to permit the PC keyboard to emulate an LK-201
+     keyboard properly.  Here's the contents of an .xmodmaprc file which makes
+     these changes for your:
+
+         ! File:  .xmodmaprc
+         !
+         ! Set up PC keypad under Linux for the GNU Emacs EDT Emulation 
+         !
+         keycode  22 = BackSpace
+         keycode  77 = F12
+         keycode  96 = Num_Lock
+
+     Feed the file to the xmodmap command and all the PC keypad keys will now
+     be configurable for the emulation of an LK-201 keypad (less the comma
+     key), the standard keyboard supplied with DEC terminals VT-200 and above.
+     This file switches the role of the F12 and NumLock keys.  It also
+     modifies the definition of the Delete key above the arrow keys so that it
+     can be assigned a keybinding independently of the the BackSpace key.
+
+     NOTE: It is necessary to have NumLock ON for the PC keypad to emulate the
+     LK-201 keypad properly.
+
+
+V.    HOW DOES THIS EDT EMULATION DIFFER FROM REAL EDT?:
+
+In general, you will find that this emulation of EDT replicates most, but not
+all, of EDT's most used Keypad Mode editing functions and behavior.  It is not
+perfect, but most EDT users who have tried the emulation agree that it is
+quite good enough to make it easy for die-hard EDT users to move over to using
+GNU Emacs.  
+
+Here's a list of the most important differences between EDT and this GNU Emacs
+EDT Emulation.  The list is short but you must be aware of these differences
+if you are to use the EDT Emulation effectively.
+
+1.  Entering repeat counts works a little differently than in EDT.
+
+    EDT allows users to enter a repeat count before entering a command that
+    accepts repeat counts.  For example, when in EDT, pressing these three
+    keys in sequence, GOLD 5 KP1, will move the cursor in the current
+    direction 5 words.
+
+    Emacs provides two ways to enter repeat counts, though neither involves
+    using the GOLD key.  In Emacs, repeat counts can be entered by using the 
+    ESC key.  For example, pressing these keys in sequence, ESC 1 0 KP1, will
+    move the cursor in the current direction 10 words. 
+
+    Emacs provides another command called universal-argument that can do the
+    same thing, plus a few other things.  Normally, Emacs has this bound to
+    C-u.  
+
+2.  The EDT SUBS command, bound to GOLD ENTER, is NOT supported.  The built-in
+    Emacs query-replace command has been bound to GOLD ENTER, instead.  It is
+    much more convenient to use than SUBS.
+
+3.  EDT's line mode commands and nokeypad mode commands are NOT supported
+    (with one important exception; see item 8 in the Highlights section
+    below).  Although, at first, this may seem like a big omission, the set of
+    built-in Emacs commands provides a much richer set of capabilities which
+    more than make up for this omission.
+
+    To enter Emacs commands not bound to keys, you can press GOLD KP7 or the
+    DO key.  Emacs will display it's own command prompt called Meta-x (M-x).
+    You can also invoke this prompt the normal Emacs way by entering ESC x.
+
+4.  Selected text is highlighted ONLY when running under X Windows.  Gnu Emacs
+    19 does not support highlighting of text on VT series terminals, at this
+    time. 
+
+5.  Just like TPU/EVE, The ENTER key is NOT used to terminate input when the
+    editor prompts you for input.  The RETURN key is used, instead.  (KP4 and
+    KP5 do terminate input for the FIND command, just like in EDT, however.)
+
+
+
+
+VI.   SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
+      ORIGINAL GNU EMACS EDT EMULATION:
+
+1.  The EDT define key command is supported (edt-define-key) and is bound to
+    C-k in the default EDT mode when EDT control sequence bindings are enabled
+    or one of the sample edt-user.el customization files is used.  The TPU/EVE
+    learn command is supported but not bound to a key in the default EDT mode
+    but is bound in the sample edt-user.el files.
+
+    Unlike the TPU/EVE learn command, which uses one key to begin the learn
+    sequence, C-l, and another command to remember the sequence, C-r, this
+    version of the learn command (edt-learn) serves as a toggle to both begin
+    and to remember the learn sequence.
+
+    Many users who change the meaning of a key with the define key and the
+    learn commands, would like to be able to restore the original key binding
+    without having to quit and restart emacs.  So a restore key command is
+    provided to do just that.  When invoked, it prompts you to press the key
+    to which you wish the last replaced key definition restored.  It is bound
+    to GOLD C-k in the default EDT mode when EDT control sequence bindings are
+    enabled or one of the sample edt-user.el customization files is used.
+
+2.  Direction support is fully supported.  It is no longer accomplished by
+    re-defining keys each time the direction is changed.  Thus, commands
+    sensitive to the current direction setting may be bound easily to any key.
+
+3.  All original emacs bindings are fully restored when EDT emulation is
+    turned off.
+
+4.  User custom EDT bindings are kept separate from the default EDT bindings.
+    One can toggle back and forth between the custom EDT bindings and default
+    EDT bindings.
+
+5.  The Emacs functions in edt.el attempt to emulate, where practical, the
+    exact behavior of the corresponding EDT keypad mode commands.  In a few
+    cases, the emulation is not exact, but we hope you will agree it is close
+    enough.  In a very few cases, we chose to use the Emacs way of handling
+    things.  As mentioned earlier, we do not emulate the EDT SUBS command.
+    Instead, we chose to use the Emacs query-replace function, which we find
+    to be easier to use.
+
+6.  Emacs uses the regexp assigned to page-delimiter to determine what marks a
+    page break.  This is normally "^\f", which causes the edt-page command to
+    ignore form feeds not located at the beginning of a line.  To emulate the
+    EDT PAGE command exactly, page-delimiter is set to "\f" when EDT emulation
+    is turned on, and restored to "^\f" when EDT emulation is turned off.
+    But, since some users prefer the Emacs definition of a page break, or may
+    wish to preserve a customized definition of page break, one can override
+    the EDT definition by placing
+
+            (setq edt-keep-current-page-delimiter t)
+
+    in your .emacs file.
+
+7.  The EDT definition of a section of a terminal window is hardwired to be 16
+    lines of its one-and-only 24-line window (the EDT SECT command bound to
+    KP8).  That's two-thirds of the window at a time.  Since Emacs, like
+    TPU/EVE, can handle multiple windows of sizes of other than 24 lines, the
+    definition of section used here has been modified to two-thirds of the
+    current window.  (There is also an edt-scroll-window function which you
+    may prefer over the SECT emulation.)
+
+8.  Cursor movement and deletion involving word entities is identical to EDT.
+    This, above all else, gives the die-hard EDT user a sense of being at
+    home.  Also, an emulation of EDT's SET ENTITY WORD command is provided,
+    for those users who like to customize movement by a word at a time to
+    their own liking.
+
+9.  EDT's FIND and FNDNXT are supported.
+
+10. EDT's APPEND and REPLACE commands are supported.
+
+11. CHNGCASE is supported.  It works on individual characters or selected
+    text, if SELECT is active.  In addition, two new commands are provided:
+    edt-lowercase and edt-uppercase.  They work on individual WORDS or
+    selected text, if SELECT is active.
+
+12. Form feed and tab insert commands are supported.
+
+13. A new command, edt-duplicate-word, is provided.  If you experiment with
+    it, you might find it to be surprisingly useful and may wonder how you
+    ever got along without it!  It is assigned to C-j in the sample
+    edt-user.el customization files.
+
+14. TPU/EVE's Rectangular Cut and Paste functions (originally from the EVE-Plus
+    package) are supported.  But unlike the TPU/EVE versions, these here
+    support both insert and overwrite modes.  The seven rectangular functions
+    are bound to F7, F8, GOLD-F8, F9, GOLD-F9, F10, and GOLD-F10 in the
+    default EDT mode.
+
+15. The original EDT emulation package set up many default regular and GOLD
+    bindings.  We tried to preserve most (but not all!) of these, so users of
+    the original emulation package will feel more at home.  
+
+    Nevertheless, there are still many GOLD key sequences which are not bound
+    to any functions.  These are prime candidates to use for your own 
+    customizations.  
+    
+    Also, there are several commands in edt.el not bound to any key.  So, you
+    will find it worthwhile to look through edt.el for functions you may wish
+    to add to your personal customized bindings.
+
+16. The VT200/VT300 series terminals steal the function keys F1 to F5 for
+    their own use.  These do not generate signals which are sent to the host.
+    So, edt.el does not assign any default bindings to F1 through F5.
+
+    In addition, our VT220 terminals generate an interrupt when the F6 key is
+    pressed (^C or ^Y, can't remember which) and not the character sequence
+    documented in the manual.  So, binding emacs commands to F6 will not work
+    if your terminal behaves the same way.
+
+17. The VT220 terminal has no ESC, BS, nor LF keys, as does a VT100.  So the
+    default EDT bindings adopt the standard DEC convention of having the F11,
+    F12, and F13 keys, on a VT200 series (and above) terminal, assigned to the
+    same EDT functions that are bound to ESC, BS, and LF on a VT100 terminal.
+
+18. Each user, through the use of a private edt-user.el file, can customize,
+    very easily, personal EDT emulation bindings.
+
+19. The EDT SELECT and RESET functions are supported.  However, unlike EDT,
+    pressing RESET to cancel text selection does NOT reset the existing
+    setting of the current direction.
+
+    We also provide a TPU/EVE like version of the single SELECT/RESET
+    function, called edt-toggle-select, which makes the EDT SELECT function
+    into a toggle on/off switch.  That is, if selection is ON, pressing SELECT
+    again turns selection off (cancels selection).  This function is used in
+    the sample edt-user.el customization files.
+
+
+VII.  CUSTOMIZING:
+
+Most EDT users, at one time or another, make some custom key bindings, or
+use someone else's custom key bindings, which they come to depend upon just as
+if they were built-in bindings.  This EDT Emulation for GNU Emacs is designed
+to make it easy to customize bindings.
+
+If you wish to customize the EDT Emulation to use some of your own key
+bindings, you need to make a private version of edt-user.el in your own
+private lisp directory.  There are two sample files edt-user.el1 and
+edt-user.el2 for you to use as templates and for ideas.  Look at
+edt-user.el1 first.  Unless you will be using two or more very different
+types of terminals on the same system, you need not look at edt-user.el2.
+
+First, you need to have your own private lisp directory, say ~/lisp, and
+you should add it to the GNU Emacs load path.
+
+NOTE:  A few sites have different load-path requirements, so the above
+       directions may need some modification if your site has such special
+       needs. 
+
+
+Creating your own edt-user.el file:
+
+A sample edt-user.el file is attached to the end of this user documentation.
+You should use it as a guide to learn how you can customize EDT emulation
+bindings to your own liking.  Names used to identify the set of LK-201
+keypad and function keys are:
+
+Keypad Keys:   
+                PF1 PF2 PF3 PF4
+                KP7 KP8 KP9 KP-
+                KP4 KP5 KP6 KP,
+                KP1 KP2 KP3 
+                KP0     KPP KPE
+
+Arrow Keys:
+                LEFT RIGHT DOWN UP
+
+Function Keys:
+                F1 F2 F3 F4 F5  F6 F7 F8 F9 F10  F11 F12 F13 F14
+                HELP DO  F17 F18 F19 F20
+
+                FIND   INSERT   REMOVE 
+                SELECT PREVIOUS NEXT
+
+Note:
+                Many VT-200 terminals, and above, steal function keys F1 thru
+                F5 for terminal setup control and don't send anything to the
+                host if pressed.  So customizing bindings to these keys may
+                not work for you.
+
+There are three basic functions that do the EDT emulation bindings:
+edt-bind-standard-key, edt-bind-gold-key, and edt-bind-function-key.
+
+The first two are for binding functions to keys which are standard across most
+keyboards.  This makes them keyboard independent, making it possible to define
+these key bindings for all terminals in the file edt.el.
+
+The first, edt-bind-standard-key, is used typically to bind emacs commands to
+control keys, although some people use it to bind commands to other keys, as
+well.  (For example, some people use it to bind the VT200 seldom used
+back-tick key (`) to the function "ESC-prefix" so it will behave like an ESC
+key.)  The second function, edt-bind-gold-key, is used to bind emacs commands
+to gold key sequences involving alpha-numeric keys, special character keys,
+and control keys.
+
+The third function, edt-bind-function-key, is terminal dependent and is
+defined in a terminal specific file (see edt-vt100.el for example).  It is
+used to bind emacs commands to function keys, to keypad keys, and to gold
+sequences of those keys.
+
+WARNING: Each of the three functions, edt-bind-function-key,
+         edt-bind-gold-key, and edt-bind-standard-key, has an optional
+         last argument.  The optional argument should NOT be used in
+         edt-user.el!  When the optional argument is missing, each
+         function knows to make the key binding part of the user's EDT
+         custom bindings, which is what you want to do in edt-user.el!
+
+         The EDT default bindings are set up in edt.el by calling these
+         same functions with the optional last argument set to "t".  So, if
+         you decide to copy such function calls from edt.el to edt-user.el
+         for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
+         OF EACH PARAMETER LIST!
+
+
+SPECIFYING WORD ENTITIES:
+
+The variable edt-word-entities is used to emulate EDT's SET ENTITY WORD
+command.  It contains a list of characters to be treated as words in
+themselves.  If the user does not define edt-word-entities in his/her .emacs
+file, then it is set up with the EDT default containing only TAB.
+
+The characters are stored in the list by their numerical values, not as
+strings.  Emacs supports several ways to specify the numerical value of a
+character.  One method is to use the question mark: ?A means the numerical
+value for A, ?/ means the numerical value for /, and so on.  Several
+unprintable characters have special representations:
+
+            ?\b  specifies  BS, C-h
+            ?\t  specifies  TAB, C-i
+            ?\n  specifies  LFD, C-j
+            ?\v  specifies  VTAB, C-k
+            ?\f  specifies  FF, C-l
+            ?\r  specifies  CR, C-m
+            ?\e  specifies  ESC, C-[
+            ?\\  specifies  \
+
+Here are some examples:
+
+     (setq edt-word-entities '(?\t ?- ?/)) ;; Specifies TAB, - , and /
+     (setq edt-word-entities '(?\t)        ;; Specifies TAB, the default
+
+You can also specify characters by their decimal ascii values:
+
+     (setq edt-word-entities '(9 45 47))   ;; Specifies TAB, - , and /
+
+
+ENABLING EDT CONTROL KEY SEQUENCE BINDINGS:
+
+Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU
+Emacs key bindings are retained by default.  Some diehard EDT users may not
+like this.  So, if the variable edt-use-EDT-control-key-bindings is set to
+true in a user's .emacs file, then the default EDT Emulation mode will enable
+most of the original EDT control key sequence bindings.  If you wish to do
+this, add the following line to your .emacs file:
+
+        (setq edt-use-EDT-control-key-bindings t)
+
+
+                              DEFAULT EDT Keypad
+
+   F7: Copy Rectangle             +----------+----------+----------+----------+
+   F8: Cut Rect Overstrike        |Prev Line |Next Line |Bkwd Char |Frwd Char |
+ G-F8: Paste Rect Overstrike      |   (UP)   |  (DOWN)  |  (LEFT)  | (RIGHT)  |
+   F9: Cut Rect Insert            |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
+ G-F9: Paste Rect Insert          +----------+----------+----------+----------+
+  F10: Cut Rectangle
+G-F10: Paste Rectangle
+  F11: ESC                       
+  F12: Begining of Line           +----------+----------+----------+----------+
+G-F12: Delete Other Windows       |   GOLD   |   HELP   |  FNDNXT  |  DEL L   |
+  F13: Delete to Begin of Word    |   (PF1)  |   (PF2)  |   (PF3)  |  (PF4)   |
+ HELP: Keypad Help                |Mark Wisel|Desc Funct|   FIND   |  UND L   |
+   DO: Execute extended command   +----------+----------+----------+----------+
+                                  |   PAGE   |   SECT   |  APPEND  |  DEL W   |
+  C-g: Keyboard Quit              |    (7)   |    (8)   |    (9)   |   (-)    |
+G-C-g: Keyboard Quit              |Ex Ext Cmd|Fill Regio| REPLACE  |  UND W   |
+  C-h: Beginning of Line          +----------+----------+----------+----------+
+G-C-h: Emacs Help                 |  ADVANCE |  BACKUP  |   CUT    |  DEL C   |
+  C-i: Tab Insert                 |    (4)   |    (5)   |    (6)   |   (,)    |
+  C-j: Delete to Begin of Word    |   BOTTOM |    TOP   |   Yank   |  UND C   |
+  C-k: Define Key                 +----------+----------+----------+----------+
+G-C-k: Restore Key                |   WORD   |    EOL   |   CHAR   |   Next   |
+  C-l: Form Feed Insert           |    (1)   |    (2)   |    (3)   |  Window  |
+  C-n: Set Screen Width 80        | CHNGCASE |  DEL EOL |Quoted Ins|          !
+  C-r: Isearch Backward           +---------------------+----------+  (ENTER) |
+  C-s: Isearch Forward            |         LINE        |  SELECT  |          !
+  C-t: Display the Time           |         (0)         |    (.)   |   Query  |
+  C-u: Delete to Begin of Line    |      Open Line      |  RESET   |  Replace |
+  C-v: Redraw Display             +---------------------+----------+----------+
+  C-w: Set Screen Width 132       
+  C-z: Suspend Emacs                    +----------+----------+----------+
+G-C-\: Split Window                     |  FNDNXT  |   Yank   |   CUT    |
+                                        |  (FIND)  | (INSERT) | (REMOVE) |
+  G-b: Buffer Menu                      |   FIND   |          |   COPY   |
+  G-c: Compile                          +----------+----------+----------+
+  G-d: Delete Window                    |SELECT/RES|SECT BACKW|SECT FORWA|
+  G-e: Exit                             | (SELECT) |(PREVIOUS)|  (NEXT)  |
+  G-f: Find File                        |          |          |          |
+  G-g: Find File Other Window           +----------+----------+----------+
+  G-h: Keypad Help
+  G-i: Insert File
+  G-k: Toggle Capitalization Word
+  G-l: Lowercase Word or Region
+  G-m: Save Some Buffers
+  G-n: Next Error
+  G-o: Switch to Next Window
+  G-q: Quit
+  G-r: Revert File
+  G-s: Save Buffer
+  G-u: Uppercase Word or Region
+  G-v: Find File Other Window
+  G-w: Write file
+  G-y: EDT Emulation OFF
+  G-z: Switch to User EDT Key Bindings
+  G-1: Delete Other Windows
+  G-2: Split Window
+  G-%: Go to Percentage
+  G- : Undo  (GOLD Spacebar)
+  G-=: Go to Line
+  G-`: What line
+
+;;; File:  edt-user.el   ---  Sample User Customizations for the Enhanced 
+;;;                             EDT Keypad Mode Emulation 
+;;;                             
+;;;                          For GNU Emacs 19
+;;;
+;; Copyright (C) 1986, 1992, 1993 Free Software Foundation, Inc.
+
+;; Author: Kevin Gallagher <kgallagh@spd.dsccc.com>
+;; Maintainer: Kevin Gallagher <kgallagh@spd.dsccc.com>
+;; Keywords: emulations
+
+;; GNU Emacs 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 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs 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 Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; This file contains GNU Emacs User Custom EDT bindings and functions.  In
+;; this example file, there is no special test for the type of terminal being
+;; used.  The assumption is that all key bindings here apply to all terminals
+;; that may be used.  (In fact, it was written by an individual who uses only
+;; VT series terminals when logging into a VAX.)
+;;
+;; WARNING: Each of the three functions, edt-bind-function-key,
+;;          edt-bind-gold-key, and edt-bind-standard-key, has an optional
+;;          last argument.  The optional argument should NOT be used in
+;;          edt-user.el!  When the optional argument is missing, each
+;;          function knows to make the key binding part of the user's EDT
+;;          custom bindings, which is what you want to do in edt-user.el!
+;;
+;;          The EDT default bindings are set up in edt.el by calling these
+;;          same functions with the optional last argument set to "t".  So, if
+;;          you decide to copy such function calls from edt.el to edt-user.el
+;;          for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
+;;          OF EACH PARAMETER LIST!
+;;
+
+;;; Usage:
+
+;;  See edt-user.doc in the emacs etc directory.
+
+;; ====================================================================
+
+;;;;
+;;;; Setup user custom EDT key bindings.
+;;;;
+
+(defun edt-setup-user-bindings ()
+  "Assigns user custom EDT Emulation keyboard bindings."
+
+  ;; PF1 (GOLD), PF2, PF3, PF4
+  ;;
+  ;; This file MUST contain a binding of PF1 to edt-user-gold-map.  So
+  ;; DON'T CHANGE OR DELETE THE REGULAR KEY BINDING OF PF1 BELOW!
+  ;; (However, you may change the GOLD-PF1 binding, if you wish.)
+  (edt-bind-function-key "PF1" 'edt-user-gold-map 'edt-mark-section-wisely)
+  (edt-bind-function-key "PF2" 'query-replace 'other-window)
+  (edt-bind-function-key "PF4" 'edt-delete-entire-line 'edt-undelete-line)
+
+  ;; EDT Keypad Keys
+  (edt-bind-function-key "KP1" 'edt-word-forward 'edt-change-case)
+  (edt-bind-function-key "KP3" 'edt-word-backward 'edt-copy)
+  (edt-bind-function-key "KP6" 'edt-cut-or-copy 'yank)
+  (edt-bind-function-key "KP8" 'edt-scroll-window 'fill-paragraph)
+  (edt-bind-function-key "KP9" 'open-line 'edt-eliminate-all-tabs)
+  (edt-bind-function-key "KPP" 
+			 'edt-toggle-select 'edt-line-to-middle-of-window)
+  (edt-bind-function-key "KPE" 'edt-change-direction 'overwrite-mode)
+
+  ;; GOLD bindings for regular keys.
+  (edt-bind-gold-key "a" 'edt-append)
+  (edt-bind-gold-key "A" 'edt-append)
+  (edt-bind-gold-key "h" 'edt-electric-user-keypad-help)
+  (edt-bind-gold-key "H" 'edt-electric-user-keypad-help)
+
+  ;; Control bindings for regular keys.
+  ;;; Leave binding of C-c as original prefix key.
+  (edt-bind-standard-key "\C-j" 'edt-duplicate-word)
+  (edt-bind-standard-key "\C-k" 'edt-define-key)
+  (edt-bind-gold-key  "\C-k" 'edt-restore-key)
+  (edt-bind-standard-key "\C-l" 'edt-learn)
+  ;;; Leave binding of C-m to newline.
+  (edt-bind-standard-key "\C-n" 'edt-set-screen-width-80)
+  (edt-bind-standard-key "\C-o" 'open-line)
+  (edt-bind-standard-key "\C-p" 'fill-paragraph)
+  ;;; Leave binding of C-r to isearch-backward.
+  ;;; Leave binding of C-s to isearch-forward.
+  (edt-bind-standard-key "\C-t" 'edt-display-the-time)
+  (edt-bind-standard-key "\C-v" 'redraw-display)
+  (edt-bind-standard-key "\C-w" 'edt-set-screen-width-132)
+  ;;; Leave binding of C-x as original prefix key.
+)
+
+;;;
+;;; LK-201 KEYBOARD USER EDT KEYPAD HELP
+;;;
+
+(defun edt-user-keypad-help ()
+  "
+                                USER EDT Keypad Active
+
+                                  +----------+----------+----------+----------+
+   F7: Copy Rectangle             |Prev Line |Next Line |Bkwd Char |Frwd Char |
+   F8: Cut Rect Overstrike        |   (UP)   |  (DOWN)  |  (LEFT)  | (RIGHT)  |
+ G-F8: Paste Rect Overstrike      |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
+   F9: Cut Rect Insert            +----------+----------+----------+----------+
+ G-F9: Paste Rect Insert         
+  F10: Cut Rectangle
+G-F10: Paste Rectangle
+  F11: ESC                        +----------+----------+----------+----------+
+  F12: Begining of Line           |   GOLD   |Query Repl|  FNDNXT  |Del Ent L |
+G-F12: Delete Other Windows       |   (PF1)  |   (PF2)  |   (PF3)  |   (PF4)  |
+  F13: Delete to Begin of Word    |Mark Wisel|Other Wind|   FIND   |  UND L   |
+ HELP: Keypad Help                +----------+----------+----------+----------+
+   DO: Execute extended command   |   PAGE   |Scroll Win|Open Line |  DEL W   |
+                                  |    (7)   |    (8)   |    (9)   |   (-)    |
+  C-a: Beginning of Line          |Ex Ext Cmd|Fill Parag|Elim Tabs |  UND W   |
+  C-b: Switch to Buffer           +----------+----------+----------+----------+
+  C-d: Delete Character           |  ADVANCE |  BACKUP  | CUT/COPY |  DEL C   |
+  C-e: End of Line                |    (4)   |    (5)   |    (6)   |   (,)    |
+  C-f: Forward Character          |   BOTTOM |    TOP   |   Yank   |  UND C   |
+  C-g: Keyboard Quit              +----------+----------+----------+----------+
+G-C-g: Keyboard Quit              | Fwd Word |    EOL   | Bwd Word |  Change  |
+  C-h: Electric Emacs Help        |    (1)   |    (2)   |    (3)   | Direction|
+G-C-h: Emacs Help                 | CHNGCASE |  DEL EOL |   COPY   |          |
+  C-i: Indent for Tab             +---------------------+----------+  (ENTER) |
+  C-j: Duplicate Word             |         LINE        |SELECT/RES|          |
+  C-k: Define Key                 |         (0)         |    (.)   |  Toggle  |
+G-C-k: Restore Key                |      Open Line      |Center Lin|Insrt/Over|
+  C-l: Learn                      +---------------------+----------+----------+
+  C-n: Set Screen Width 80       
+  C-o: Open Line                       +----------+----------+----------+
+  C-p: Fill Paragraph                  |  FNDNXT  |   Yank   |    CUT   |
+  C-q: Quoted Insert                   |  (FIND)) | (INSERT) | (REMOVE) |
+  C-r: Isearch Backward                |   FIND   |          |   COPY   |
+  C-s: Isearch Forward                 +----------+----------+----------+
+  C-t: Display the Time                |SELECT/RES|SECT BACKW|SECT FORWA|
+  C-u: Universal Argument              | (SELECT) |(PREVIOUS)|  (NEXT)  |
+  C-v: Redraw Display                  |          |          |          |
+  C-w: Set Screen Width 132            +----------+----------+----------+
+  C-z: Suspend Emacs
+G-C-\\: Split Window
+
+  G-a: Append to Kill Buffer
+  G-b: Buffer Menu
+  G-c: Compile
+  G-d: Delete Window
+  G-e: Exit
+  G-f: Find File
+  G-g: Find File Other Window
+  G-h: Keypad Help
+  G-i: Insert File
+  G-k: Toggle Capitalization Word
+  G-l: Lowercase Word or Region
+  G-m: Save Some Buffers
+  G-n: Next Error
+  G-o: Switch Windows
+  G-q: Quit
+  G-r: Revert File
+  G-s: Save Buffer
+  G-u: Uppercase Word or Region
+  G-v: Find File Other Window
+  G-w: Write file
+  G-y: EDT Emulation OFF
+  G-z: Switch to Default EDT Key Bindings
+  G-2: Split Window
+  G-%: Go to Percentage
+  G- : Undo  (GOLD Spacebar)
+  G-=: Go to Line
+  G-`: What line"
+
+  (interactive)
+  (describe-function 'edt-user-keypad-help))
 * Texinfo::	With one source file, make either a printed manual (through
 		TeX) or an Info file (through texinfo).
 * Viper::	A VI Plan for Emacs Rescue and a venomous VI PERil.
+* Vhdl-mode::	A major mode for editing VHDL files.
 * VM::		View Mail, a replacement for Rmail.
 * W3::		A browser for the World Wide Web global hypertext system.
 * tm_en::	Tools for Mime (English version)

lib-src/ChangeLog

+Thu Dec  5 15:41:53 1996  Martin Buchholz  <mrb@Eng.Sun.COM>
+
+	* update-elc.sh: Corrections to protect against too smart /bin/sh'es.
+

lib-src/update-elc.sh

 done
 
 if test ! -d lisp/. ; then
-  echo "$0: Can't find the `lisp' directory."
+  echo "$0: Can't find the \`lisp' directory."
   exit 1
 fi
 
 
 # Only use Mule XEmacs to compile Mule-specific elisp dirs
 echo "Checking for Mule support..."
-# You cannot just use 'test -n' here because it will fail on a null
-# return value (null != null string)
-mule_check=`$REAL -batch -no-site-file \
- -eval "(when (featurep 'mule) (message \"yes\"))" 2>&1`
-if [ -z "$mule_check" ]; then
+lisp_prog='(when (featurep (quote mule)) (message "yes"))'
+if test -z `$REAL -batch -no-site-file -eval "$lisp_prog" 2>&1` ; then
   ignore_dirs="$ignore_dirs mule"
 fi
 

lib-src/update-elc.sh-STEVE

+#!/bin/sh
+# update-elc.sh --- recompile all missing or out-or-date .elc files
+
+# Author:	Jamie Zawinski, Ben Wing, Martin Buchholz
+# Maintainer:	Martin Buchholz
+# Keywords:	recompile .el .elc
+
+### Commentary:
+##  Recompile all .elc files that need recompilation.  Requires a
+##  working version of 'xemacs'.  Correctly handles the case where the
+##  .elc files are missing; thus you can execute 'rm lisp/*/*.elc'
+##  before running this script.  Run this from the parent of the
+##  `lisp' directory, or another nearby directory.
+
+set -eu
+
+# Try to find the lisp directory in several places.
+# (Sun workspaces have an `editor' directory)
+for dir in  .  ..  ../..  editor  ../editor  ; do
+  if test -d $dir ; then cd $dir ; break ; fi
+done
+
+if test ! -d lisp/. ; then
+  echo "$0: Can't find the \`lisp' directory."
+  exit 1
+fi
+
+
+EMACS=${XEMACS:-./src/xemacs}; export EMACS
+REAL=`cd \`dirname $EMACS\` ; pwd | sed 's:^/tmp_mnt::'`/`basename $EMACS`
+echo "Recompiling in `pwd|sed 's:^/tmp_mnt::'`"
+echo "    with $REAL..."
+
+
+# $els  is a list of all .el  files
+# $elcs is a list of all .elc files
+els=/tmp/rcl1.$$ ; elcs=/tmp/rcl2.$$
+rm -f $els $elcs
+trap "rm -f $els $elcs" 0 1 2 3 15
+find lisp/. -name SCCS -prune -o -name '*.el'  -print                    | sort > $els
+find lisp/. -name SCCS -prune -o -name '*.elc' -print | sed 's/elc$/el/' | sort > $elcs
+
+
+echo "Deleting .elc files without .el files..."
+comm -13 $els $elcs | sed -e '\!/vm.el!d' -e '\!/w3.el!d' -e 's/el$/elc/' | \
+ while read file ; do echo rm "$file" ; rm "$file" ; done
+echo "Deleting .elc files without .el files... Done"
+
+
+# Compute patterns to ignore when searching for files
+ignore_dirs="egg its quail"	# ### Not ported yet...
+
+# Only use Mule XEmacs to compile Mule-specific elisp dirs
+echo "Checking for Mule support..."
+# You cannot just use 'test -n' here because it will fail on a null
+# return value (null != null string)
+mule_check=`$REAL -batch -no-site-file \
+ -eval \(when\ \(featurep\ \'mule\)\ \(message\ \"yes\"\)\) 2>&1`
+if [ -z "$mule_check" ]; then
+  ignore_dirs="$ignore_dirs mule"
+fi
+
+# first recompile the byte-compiler, so that the other compiles take place
+# with the latest version (assuming we're compiling the lisp dir of the emacs
+# we're running, which might not be the case, but often is.)
+echo "Checking the byte compiler... "
+$REAL -batch -q -no-site-file -f batch-byte-recompile-directory lisp/bytecomp
+
+# Prepare for byte-compiling directories with directory-specific instructions
+make_special_commands=''
+make_special () {
+  dir="$1"; shift;
+  ignore_dirs="$ignore_dirs $dir"
+  make_special_commands="$make_special_commands \
+echo \"Compiling in lisp/$dir\"; \
+(cd \"lisp/$dir\"; \
+${MAKE:-make} EMACS=$REAL ${1+$*}); \
+echo \"lisp/$dir done.\";"
+}
+
+make_special vm
+make_special ediff elc
+make_special viper elc
+make_special gnus  some
+make_special w3
+make_special url		# really part of w3
+make_special hyperbole elc
+make_special oobr HYPB_ELC= elc
+make_special eos -k		# not stricly necessary...
+make_special ilisp compile -f Makefile
+
+ignore_pattern=''
+for dir in $ignore_dirs ; do
+  ignore_pattern="${ignore_pattern}/\\/$dir\\//d
+/\\/$dir\$/d
+"
+done
+
+# Other special-case filenames that don't get byte-compiled
+ignore_pattern="$ignore_pattern"'
+\!/,!d
+\!/edebug/edebug-test.el$!d
+\!/emulators/edt.el$!d
+\!/energize/energize-load.el$!d
+\!/energize/write-file.el$!d
+\!/paths.el$!d
+\!/prim/loadup.el$!d
+\!/prim/loadup-el.el$!d
+\!/prim/update-elc.el$!d
+\!/site-start.el$!d
+\!/site-load.el$!d
+\!/site-init.el$!d
+\!/version.el$!d
+\!/sunpro/sunpro-load.el$!d
+'
+
+echo "Compiling files without .elc..."
+NUMTOCOMPILE=20			# compile this many files with each invocation
+comm -23 $els $elcs | sed "$ignore_pattern" | \
+ xargs -t -n$NUMTOCOMPILE $REAL -batch -q -no-site-file -f batch-byte-compile
+echo "Compiling files without .elc... Done"
+
+
+echo "Compiling files with out-of-date .elc..."
+find lisp/. -name SCCS -prune -o -type d -print | sed "$ignore_pattern" | \
+ xargs -t $REAL -batch -q -no-site-file -f batch-byte-recompile-directory
+echo "Compiling files with out-of-date .elc... Done"
+
+
+eval "$make_special_commands"
+Tue Dec 10 18:30:01 1996  Rod Whitby  <rwhitby@asc.sps.mot.com>
+
+	* modes/vhdl-mode.el: New File.
+
+Tue Dec 10 17:59:35 1996  Shane Holder  <holder@rsn.hp.com>
+
+	* utils/bench.el: New file.  Utility for benchmarking emacs
+	performance.
+
+Tue Dec 10 10:11:55 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* electric/ebuff-menu.el (electric-buffer-menu-mode-map): Correct
+	bad 19.34 synch patch.
+	
+	* utils/pretty-print.el: New File.
+
+Sun Dec  8 13:59:40 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/files-nomule.el: Documentation corrections.
+
+	* prim/files.el: Synch to 19.15/Emacs 19.34.
+
+Sat Dec  7 18:48:34 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* packages/hexl.el (hexl-mode-map): Corrected obsolescent key
+	names introduced in 19.15-b2.
+
+Fri Dec  6 20:17:47 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* games/yow.el: Sync to GNU Emacs 19.34.
+
+	* games/studly.el: Documentation fixes.
+
+	* games/spook.el: Sync to GNU Emacs 19.34.
+
+	* games/mpuz.el: Sync to GNU Emacs 19.34.
+
+	* games/life.el: Sync to GNU Emacs 19.34.
+
+	* games/hanoi.el: Sync to GNU Emacs 19.34.
+
+	* games/flame.el: Documentation fixes.
+
+	* games/dunnet.el: Sync to GNU Emacs 19.34.
+
+	* games/doctor.el: Sync to GNU Emacs 19.34.
+
+	* games/dissociate.el: Sync to GNU Emacs 19.34.
+
+	* games/cookie1.el: Sync to GNU Emacs 19.34.
+
+	* games/conx.el: Documentation fixes.
+
+	* games/blackbox.el: Sync to GNU Emacs 19.34.
+
+	* games/NeXTify.el: Documentation fixes.
+
+	* packages/man.el: New file/replacement from Emacs 19.34.
+
+	* packages/man-xref.el: New file from Emacs 19.35.
+
+	* utils/smtpmail.el: New file from Emacs 19.34.
+
+Fri Dec  6 09:28:04 1996  MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+	* prim/startup.el (set-default-load-path): Set default-load-path
+	dynamically since file-detect.el is dumped with XEmacs.
+
+Thu Dec  5 20:37:32 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* emulators/tpu-mapper.el: Total replacement with version in GNU
+	Emacs 19.34.
+
+	* emulators/tpu-extras.el: Total replacement with version in GNU
+	Emacs 19.34.
+
+	* emulators/tpu-edt.el: Total replacement with version in GNU Emacs
+	19.34.
+
+	* comint/history.el: Documentation fixes.
+
+	* comint/gdb.el: Documentation fixes.
+
+	* comint/dbx.el: Documentation fixes.
+
+	* comint/background.el: Documentation fixes.
+
+	* rmail/rmail-xemacs.el: Documentation fixes.
+
+	* rmail/rmail-kill.el: Documentation fixes.
+
+	* emulators/ws-mode.el: Synch up to Emacs 19.34.
+
+	* emulators/teco.el: Documentation cleanup.
+
+	* emulators/mlsupport.el: Synch up to Emacs 19.34.
+
+	* emulators/mlconvert.el: Synch up to Emacs 19.34.
+
+	* emulators/edt-vt100.el: New file from Emacs 19.34.
+
+	* emulators/edt-pc.el: New file from Emacs 19.34.
+
+	* emulators/edt-mapper.el: New file from Emacs 19.34.
+
+	* emulators/edt-lk201.el: New file from Emacs 19.34.
+
+	* emulators/edt.el: Synched up to Emacs 19.34.
+
+Thu Dec  5 12:09:19 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* prim/replace.el (match-string): Use a function instead of a
+ 	macro to be compatible with .elc files compiled under Emacs.
+
+Thu Dec  5 09:50:12 1996  Bob Weiner <weiner@infodock.com>
+
+	* utils/id-select.el: New file -- Version 1.4.3.
+
+Thu Dec  5 09:17:53 1996  Gary D. Foster  <Gary.Foster@corp.sun.com>
+
+	* emulators/crisp.el: New file.
+
+	* emulators/scroll-lock.el: New file.
+
+Thu Dec  5 00:15:59 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/help.el: A callable library-type function should not
+ 	contain an unprotected print statement.  This change implements my
+ 	version of Erik Naggum's statement about locate-library being less
+ 	chatty in Emacs 19.35.
+
+Wed Dec  4 22:00:49 1996  Steven L Baur  <steve@altair.xemacs.org>
+
+	* utils/flow-ctrl.el: Synch up to Emacs 19.34.
+
+	* utils/forms.el: Synch up to Emacs 19.34.
+
+	* packages/column.el: Allow column numbers to start at one.
+
+	* prim/userlock.el: Synch up to Emacs 19.34.
+
+	* prim/paragraphs.el: Synch up to Emacs 19.34.
+
+	* prim/page.el: Synch up to Emacs 19.34.
+
+	* prim/options.el: Synch up to Emacs 19.34.
+
+	* prim/novice.el: Synch up to Emacs 19.34.
+
+	* prim/rect.el: Sync up to Emacs 19.34.
+
+	* prim/reposition.el: Synch up to Emacs 19.34.
+
+	* prim/replace.el: Synch up to Emacs 19.34.
+
+	* prim/register.el: Synch up to Emacs 19.34.
+
+	* prim/indent.el: Synch up to Emacs 19.34.
+
+	* prim/subr.el: Synch up to Emacs 19.34.
+
+	* prim/simple.el: Synch up to Emacs 19.34.
+
+	* prim/debug.el: Synch up to Emacs 19.34.
+
+	* edebug/cl-specs.el: Comment formatting changes.
+
+	* edebug/cl-read.el: Protect advisement of eval-region from being
+ 	evaluated more than once.
+
+	Comment formatting changes.
+	
+	* edebug/advise-eval-region.el: New File.  Separate out advise for
+	eval-region so it is only evaluated once.
+
+	* packages/icomplete.el: Fix a bug in locating command bound to key.
+
+	icomplete-exhibit needs to be called in the setup-hook.
+
+	* packages/apropos.el: Correct a typo in button binding. 
+
+	Fixes the bug where if apropos-label-face is actually defined as
+ 	face, apropos bombs with an error
+
+	Do a (provide 'apropos), like all packages should.
+
+	Provides an apropos-mode-hook for Apropos Mode buffers (otherwise
+ 	customization is unnecessarily painful).
+
+	Redefines the default faces for the various apropos faces so they
+ 	come out in color by default (defaults are based on various
+ 	standard font-lock faces).
+	
+	* version.el: Bumped up to b31.
+	
+

lisp/comint/background.el

 ;; Keywords: processes
 
 ;; This file is part of XEmacs.
-;; 
+
 ;; XEmacs 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 2 of the License, or
 ;; (at your option) any later version.
-;; 
+
 ;; XEmacs 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 XEmacs; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
 
 ;; - Adapted to use comint and cleaned up somewhat. Olin Shivers 5/90
 ;; - Background failed to set the process buffer's working directory
 ;;   arg to shell-command --> BUFFER-NAME arg to background) from
 ;;   FSF 19.30.  Ben Wing
 
+;;; Code:
+
 (provide 'background)
 (require 'comint)
 
 		       (if at-end (goto-char (point-max))))
 		     (set-buffer-modified-p nil)))))
       (store-match-data ms))))
+
+;;; background.el ends here

lisp/comint/dbx.el

 ;;; dbx.el --- run dbx under Emacs
+
 ;; Copyright (C) 1988 Free Software Foundation, Inc.
-;; Main author Masanobu UMEDA (umerin@flab.fujitsu.junet)
+
+;; Author: Masanobu UMEDA (umerin@flab.fujitsu.junet)
 ;; Keywords: c, unix, tools, debugging
 
 ;; This file is part of XEmacs.
 ;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING.  If not, write to the 
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Code:
 
 (require 'comint)
 
 		(1+ (count-lines 1 (point))))))
     (process-send-string dbx-process
 			 (concat "stop at \"" file-name "\":" line "\n"))))
+
+(provide 'dbx)
+
+;;; dbx.el ends here

lisp/comint/gdb.el

 ;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING.  If not, write to the 
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
 
 ;; Description of GDB interface:
 
 ;; gdb-display-frame is invoked automatically when a filename-and-line-number
 ;; appears in the output.
 
+;;; Code:
+
 (require 'comint)
 (require 'shell)
 
     (gdb-clear)))
 
 (provide 'gdb)
+
+;;; gdb.el ends here

lisp/comint/history.el

+;;; history.el --- Generic history stuff
+
 ;; Copyright (C) 1989 Free Software Foundation, Inc.
 
 ;; This file is part of XEmacs.
 ;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING.  If not, write to the 
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
 
 ;; suggested generic history stuff  -- tale
 
 
 ;; ToDo: history-isearch
 
+;;; Code:
+
 (provide 'history)
 
 (defvar history-last-search ""
 	  (insert menu)
 	  (display-buffer buffer))
       (with-output-to-temp-buffer buffer (princ menu)))))
+
+;;; history.el ends here

lisp/edebug/advise-eval-region.el

+;;; advise-eval-region.el --- Wrap advice around eval-region
+;; Copyright (C) 1996 Miranova Systems, Inc.
+
+;; Original-Author: Unknown
+;; Adapted-By: Steven L Baur <steve@miranova.com>
+;; Keywords: extensions lisp
+
+;; This file is part of XEmacs.
+
+;; XEmacs 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 2, or (at your option)
+;; any later version.
+
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF.
+
+;;; Commentary:
+
+;; This file splits out advice to eval-region formerly done in cl-read.el.
+;; Due to the way cl-read.el reads itself in twice during bytecompilation,
+;; and the fact that functions shouldn't be advised twice, I split this out
+;; into its own file.
+
+;;; Code:
+
+(require 'advice)
+
+;; Advise the redefined eval-region
+(defadvice eval-region (around cl-read activate)
+  "Use the reader::read instead of the original read if cl-read-active."
+  (with-elisp-eval-region (not cl-read-active)
+    ad-do-it))
+
+(provide 'advise-eval-region)
+
+;;; advise-eval-region.el ends here

lisp/edebug/cl-read.el

 ;; 
 ;; Copyright (C) 1993 by Guido Bosch <Guido.Bosch@loria.fr>
 
-;; This file is written in GNU Emacs Lisp, but not (yet) part of GNU Emacs.
+;; This file is part of XEmacs
 
-;; The software contained in this file 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 2, or (at your option) any later version.
+;; XEmacs 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 2, or (at your option)
+;; any later version.
 
-;; GNU Emacs 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.
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
 
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;; 
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
 ;; Please send bugs and comments to the author.
 ;;
 ;; <DISCLAIMER>
 ; Change History
 ; 
 ; $Log: cl-read.el,v $
-; Revision 1.1.1.1  1996/12/18 22:43:07  steve
-; XEmacs 20.0 -- Beta 30
+; Revision 1.1.1.2  1996/12/18 22:51:45  steve
+; XEmacs 20.0 -- Beta 31
 ;
 ; Revision 1.19  94/03/21  19:59:24  liberte
 ; Add invalid-cl-read-syntax error symbol.
 ;
 ;
 
-;; 
+;;; Code:
+
 (require 'cl)
+;; Thou shalt evaluate a defadvice only once, or thou shalt surely lose. -sb
+(require 'advise-eval-region)
 
+;; load before compiling
+;; This is ugly, but apparently the only way to do it :-(  -sb
 (provide 'cl-read)
-;; load before compiling
 (require 'cl-read)
 
 ;; bootstrapping with cl-packages
   (prin1 (car values) t))
 
 (require 'eval-reg "eval-reg")
-(require 'advice)
+; (require 'advice)
 
 
 ;; installing/uninstalling the cl reader
 (cl-reader-install)
 (cl-reader-uninstall)
 
-;; Advise the redefined eval-region
-(defadvice eval-region (around cl-read activate)
-  "Use the reader::read instead of the original read if cl-read-active."
-  (with-elisp-eval-region (not cl-read-active)
-    (ad-do-it)))
-;;(ad-unadvise 'eval-region)
-
-
 (add-hook 'emacs-lisp-mode-hook 'cl-reader-autoinstall-function)
 
 '(defvar read-syntax)
 
 
 (run-hooks 'cl-read-load-hooks)
-;; end cl-read.el
+
+;; cl-read.el ends here

lisp/edebug/cl-specs.el

 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Keywords: lisp, tools, maint
 
-;; LCD Archive Entry:
-;; cl-specs.el|Daniel LaLiberte|liberte@cs.uiuc.edu
-;; |Edebug specs for cl.el
-;; |$Date: 1996/12/18 22:43:07 $|$Revision: 1.1.1.1 $|~/modes/cl-specs.el|
+;; This file is part of XEmacs.
 
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
+;; XEmacs 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 2, or (at your option)
 ;; any later version.
 
-;; GNU Emacs is distributed in the hope that it will be useful,
+;; XEmacs 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 Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
 
-;;;; Commentary:
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
+;; LCD Archive Entry:
+;; cl-specs.el|Daniel LaLiberte|liberte@cs.uiuc.edu
+;; |Edebug specs for cl.el
+;; |$Date: 1996/12/18 22:51:45 $|$Revision: 1.1.1.2 $|~/modes/cl-specs.el|
 
 ;; These specs are to be used with edebug.el version 3.3 or later and
 ;; cl.el version 2.03 or later, by Dave Gillespie <daveg@synaptics.com>.
 
-;; This file need not be byte-compiled, but it shouldnt hurt.
+;; This file need not be byte-compiled, but it shouldn't hurt.
+
+;;; Code:
 
 (provide 'cl-specs)
 ;; Do the above provide before the following require.
 (def-edebug-spec loop-d-type-spec
   (&or (loop-d-type-spec . [&or nil loop-d-type-spec]) cl-type-spec))
 
+;; cl-specs.el ends here

lisp/edebug/cust-print.el

 ;; Adapted-By: ESR
 ;; Keywords: extensions
 
+;; This file is part of XEmacs.
+
+;; XEmacs 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 2, or (at your option)
+;; any later version.
+
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
 ;; LCD Archive Entry:
 ;; cust-print|Daniel LaLiberte|liberte@cs.uiuc.edu
 ;; |Handle print-level, print-circle and more.
-;; |$Date: 1996/12/18 22:43:07 $|$Revision: 1.1.1.1 $|
+;; |$Date: 1996/12/18 22:51:45 $|$Revision: 1.1.1.2 $|
 
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs 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 Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; ===============================
-;;; $Header: /afs/informatik.uni-tuebingen.de/local/web/xemacs/xemacs-cvs/XEmacs/xemacs/lisp/edebug/Attic/cust-print.el,v 1.1.1.1 1996/12/18 22:43:07 steve Exp $
-;;; $Log: cust-print.el,v $
-;;; Revision 1.1.1.1  1996/12/18 22:43:07  steve
-;;; XEmacs 20.0 -- Beta 30
-;;;
-;;; Revision 1.4  1994/03/23  20:34:29  liberte
-;;; * Change "emacs" to "original" - I just can't decide. 
-;;;
-;;; Revision 1.3  1994/02/21  21:25:36  liberte
-;;; * Make custom-prin1-to-string more robust when errors occur.
-;;; * Change "internal" to "emacs".
-;;;
-;;; Revision 1.2  1993/11/22  22:36:36  liberte
-;;; * Simplified and generalized printer customization.
-;;;     custom-printers is an alist of (PREDICATE . PRINTER) pairs
-;;;     for any data types.  The PRINTER function should print to
-;;;     `standard-output'  add-custom-printer and delete-custom-printer
-;;;     change custom-printers.
-;;;
-;;; * Installation function now called install-custom-print.  The
-;;;     old name is still around for now.
-;;;
-;;; * New macro with-custom-print (added earlier) - executes like
-;;;     progn but with custom-print activated temporarily.
-;;;
-;;; * Cleaned up comments for replacements of standardard printers.
-;;;
-;;; * Changed custom-prin1-to-string to use a temporary buffer.
-;;;
-;;; * Internal symbols are prefixed with CP::.
-;;;
-;;; * Option custom-print-vectors (added earlier) - controls whether
-;;;     vectors should be printed according to print-length and
-;;;     print-length.  Emacs doesnt do this, but cust-print would
-;;;     otherwise do it only if custom printing is required.
-;;;
-;;; * Uninterned symbols are treated as non-read-equivalent.
-;;;
+;; ===============================
+;; $Header: /afs/informatik.uni-tuebingen.de/local/web/xemacs/xemacs-cvs/XEmacs/xemacs/lisp/edebug/Attic/cust-print.el,v 1.1.1.2 1996/12/18 22:51:45 steve Exp $
+;; $Log: cust-print.el,v $
+;; Revision 1.1.1.2  1996/12/18 22:51:45  steve
+;; XEmacs 20.0 -- Beta 31
+;;
+;; Revision 1.4  1994/03/23  20:34:29  liberte
+;; * Change "emacs" to "original" - I just can't decide. 
+;;
+;; Revision 1.3  1994/02/21  21:25:36  liberte
+;; * Make custom-prin1-to-string more robust when errors occur.
+;; * Change "internal" to "emacs".
+;;
+;; Revision 1.2  1993/11/22  22:36:36  liberte
+;; * Simplified and generalized printer customization.
+;;     custom-printers is an alist of (PREDICATE . PRINTER) pairs
+;;     for any data types.  The PRINTER function should print to
+;;     `standard-output'  add-custom-printer and delete-custom-printer
+;;     change custom-printers.
+;;
+;; * Installation function now called install-custom-print.  The
+;;     old name is still around for now.
+;;
+;; * New macro with-custom-print (added earlier) - executes like
+;;     progn but with custom-print activated temporarily.
+;;
+;; * Cleaned up comments for replacements of standardard printers.
+;;
+;; * Changed custom-prin1-to-string to use a temporary buffer.
+;;
+;; * Internal symbols are prefixed with CP::.
+;;
+;; * Option custom-print-vectors (added earlier) - controls whether
+;;     vectors should be printed according to print-length and
+;;     print-length.  Emacs doesnt do this, but cust-print would
+;;     otherwise do it only if custom printing is required.
+;;
+;; * Uninterned symbols are treated as non-read-equivalent.
+;;
 
 
 ;;; Commentary:

lisp/edebug/edebug-cl-read.el

-;; edebug-cl-read.el  - Edebug reader macros for use with cl-read.
+;;; edebug-cl-read.el --- Edebug reader macros for use with cl-read.
 
 ;; Copyright (C) 1993 Daniel LaLiberte
 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Keywords: lisp, tools, maint
 
+;; This file is part of XEmacs.
+
+;; XEmacs 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 2, or (at your option)
+;; any later version.
+
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
 ;; LCD Archive Entry:
 ;; edebug-cl-read.el|Daniel LaLiberte|liberte@cs.uiuc.edu
 ;; |Edebug reader macros for cl-read.el
-;; |$Date: 1996/12/18 22:43:07 $|$Revision: 1.1.1.1 $|~/modes/edebug-cl-read.el|
-
-;; This file is not yet part of GNU Emacs.
-
-;; GNU Emacs 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 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs 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 Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;;; Commentary:
+;; |$Date: 1996/12/18 22:51:45 $|$Revision: 1.1.1.2 $|~/modes/edebug-cl-read.el|
 
 ;; If you use cl-read.el and want to use edebug with any code
 ;; in a file written with CL read syntax, then you need to use this
 ;; Need to mangle all local variable names that might be visible to
 ;; eval, e.g. stream, char.  Alternatively, packages could hide them.
 
+;;; Code:
+
 (require 'cl)
 ;; For byte compiling cl-read is needed.
 ;; But edebug-cl-read should not even be loaded unless cl-read already is.

lisp/edebug/edebug.el

 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Keywords: lisp, tools, maint
 
+;; This file is part of XEmacs.
+
+;; XEmacs 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 2, or (at your option)
+;; any later version.
+
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
 ;; LCD Archive Entry:
 ;; edebug|Daniel LaLiberte|liberte@cs.uiuc.edu
 ;; |A source level debugger for Emacs Lisp.
-;; |$Date: 1996/12/18 22:43:07 $|$Revision: 1.1.1.1 $|~/modes/edebug.el|
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs 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 Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;;; Commentary:
-
-;;; This minor mode allows programmers to step through Emacs Lisp
-;;; source code while executing functions.  You can also set
-;;; breakpoints, trace (stopping at each expression), evaluate
-;;; expressions as if outside Edebug, reevaluate and display a list of
-;;; expressions, trap errors normally caught by debug, and display a
-;;; debug style backtrace.
-
-;;;; Installation
-;;; =============
-
-;;; Put edebug.el in some directory in your load-path and
-;;; byte-compile it.  Also read the beginning of edebug-epoch.el, 
-;;; cl-specs.el, and edebug-cl-read.el if they apply to you.
-
-;;; Unless you are using Emacs 19 which is already set up to use Edebug,
-;;; put the following forms in your .emacs file.
-;;; (define-key emacs-lisp-mode-map "\C-xx" 'edebug-eval-top-level-form)
-;;; (autoload 'edebug-eval-top-level-form "edebug")
-
-;;; If you wish to change the default edebug global command prefix, change:
-;;; (setq edebug-global-prefix "\C-xX")
-
-;;; Other options, are described in the manual.
-
-;;; In previous versions of Edebug, users were directed to set
-;;; `debugger' to `edebug-debug'.  This is no longer necessary
-;;; since Edebug automatically sets it whenever Edebug is active.
-
-;;;; Minimal Instructions
-;;; =====================
-
-;;; First evaluate a defun with C-xx, then run the function.  Step
-;;; through the code with SPC, mark breakpoints with b, go until a
-;;; breakpoint is reached with g, and quit execution with q.  Use the
-;;; "?" command in edebug to describe other commands.  See edebug.tex
-;;; or the Emacs 19 Lisp Reference Manual for more instructions.
-
-;;; Send me your enhancements, ideas, bugs, or fixes.
-;;; For bugs, you can call edebug-submit-bug-report if you have reporter.el.
-;;; There is an edebug mailing list if you want to keep up
-;;; with the latest developments. Requests to: edebug-request@cs.uiuc.edu
-
-;;; Daniel LaLiberte   217-398-4114
-;;; University of Illinois, Urbana-Champaign
-;;; Department of Computer Science
-;;; 1304 W Springfield
-;;; Urbana, IL  61801
-
-;;; uiucdcs!liberte
-;;; liberte@cs.uiuc.edu
-
-;;; ===============================
-;;; For the early revision history, see edebug-history.
+;; |$Date: 1996/12/18 22:51:47 $|$Revision: 1.1.1.2 $|~/modes/edebug.el|
+
+;; This minor mode allows programmers to step through Emacs Lisp
+;; source code while executing functions.  You can also set
+;; breakpoints, trace (stopping at each expression), evaluate
+;; expressions as if outside Edebug, reevaluate and display a list of
+;; expressions, trap errors normally caught by debug, and display a
+;; debug style backtrace.
+
+;; Installation
+;; =============
+
+;; Put edebug.el in some directory in your load-path and
+;; byte-compile it.  Also read the beginning of edebug-epoch.el, 
+;; cl-specs.el, and edebug-cl-read.el if they apply to you.
+
+;; Unless you are using Emacs 19 which is already set up to use Edebug,
+;; put the following forms in your .emacs file.
+;; (define-key emacs-lisp-mode-map "\C-xx" 'edebug-eval-top-level-form)
+;; (autoload 'edebug-eval-top-level-form "edebug")
+
+;; If you wish to change the default edebug global command prefix, change:
+;; (setq edebug-global-prefix "\C-xX")
+
+;; Other options, are described in the manual.
+
+;; In previous versions of Edebug, users were directed to set
+;; `debugger' to `edebug-debug'.  This is no longer necessary
+;; since Edebug automatically sets it whenever Edebug is active.
+
+;; Minimal Instructions
+;; =====================
+
+;; First evaluate a defun with C-xx, then run the function.  Step
+;; through the code with SPC, mark breakpoints with b, go until a
+;; breakpoint is reached with g, and quit execution with q.  Use the
+;; "?" command in edebug to describe other commands.  See edebug.tex
+;; or the Emacs 19 Lisp Reference Manual for more instructions.
+
+;; Send me your enhancements, ideas, bugs, or fixes.
+;; For bugs, you can call edebug-submit-bug-report if you have reporter.el.
+;; There is an edebug mailing list if you want to keep up
+;; with the latest developments. Requests to: edebug-request@cs.uiuc.edu
+
+;; Daniel LaLiberte   217-398-4114
+;; University of Illinois, Urbana-Champaign
+;; Department of Computer Science
+;; 1304 W Springfield
+;; Urbana, IL  61801
+
+;; uiucdcs!liberte
+;; liberte@cs.uiuc.edu
+
+;; ===============================
+;; For the early revision history, see edebug-history.
+
+;;; Code:
 
 (defconst edebug-version
-  (let ((raw-version "$Revision: 1.1.1.1 $"))
+  (let ((raw-version "$Revision: 1.1.1.2 $"))
     (substring raw-version (string-match "[0-9.]*" raw-version)
 	       (match-end 0))))
      
   (or (fboundp 'defalias) (fset 'defalias 'fset)))
 
 
-;;;; Bug reporting
-;;; ==============
+;; Bug reporting
+;; ==============
 
 (defconst edebug-maintainer-address "liberte@cs.uiuc.edu")
 
 	       ))))
 
 
-;;;; Options
-;;; ===============================
+;; Options
+;; ===============================