Anonymous avatar Anonymous committed 360340f

Import from CVS: tag r20-1b6

Comments (0)

Files changed (318)

 							-*- indented-text -*-
+to 20.1 beta6
+-- filladapt.el-2.09 courtesy of Kyle Jones
+-- itimer.el-1.03
+-- more work on sit-for, etc. courtesy of David Moore
+-- describe-beta command added, etc/BETA, C-h B
+-- updates to hyper-apropos.el courtesy of Christoph Wedler
+-- texinfo manual updated to 2.23
+-- texinfo.tex update to 3.9
+-- Gnus-5.4.23
+-- tm-7.105.1
+-- W3-3.0.65
+-- Custom-1.59
+-- AUCTeX-9.7l
+-- VM-6.19
+-- Build fixes from Martin Buchholz
+-- More work on Linux libc-5/libc-6 portability, it works out of the box now?
+-- more frame visibility patches courtesy of Jan Vroonhof
+-- Synch to MULE patches courtesy of MORIOKA Tomohiko
+-- graphical updates to time.el
+-- gnuattach fixes courtesy of Hunter Kelly
+-- dynamic PURESIZE fixes
+-- miscellaneous bug fixes
+
 to 20.1 beta5
 -- bug fix to gnus-mime.el
 -- custom-1.50
+Sat Mar  8 15:19:33 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* XEmacs-20.1-b6 is released.
+	* XEmacs-19.15-b98 is released.
+
+Wed Mar  5 18:55:36 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* Makefile.in (install-arch-indep): Offer to compress lisp sources.
+	(gzip-el): New targe for compressed installed lisp sources.
+
+Tue Mar  4 23:28:37 1997  Martin Buchholz  <mrb@eng.sun.com>
+
+	* lib-src/update-elc.sh: VM is compiled after the byte-compiler,
+	but before anything else.  More flexible about finding an xemacs
+	to use for byte-compilation (default src/xemacs).  Other minor fixes.
+
 Mon Mar  3 23:57:56 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* XEmacs 20.1-b5 is released.
 	  ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
 	  chmod 0644 ${mandir}/$${page}${manext} ; \
 	done
+	@echo "If you would like to save approximately 15M of disk space, do"
+	@echo "make gzip-el"
+	@echo "or you may run "
+	@echo lib-src/gzip-el.sh lispdir " from the command line."
+	@echo "Where lispdir is where the lisp files were installed, i.e.,"
+	@echo "${lispdir}"
+
+gzip-el:
+	lib-src/gzip-el.sh ${lispdir}
 
 MAKEPATH=./lib-src/make-path
 ### Build all the directories we're going to install XEmacs in.	Since
       *-linux* )		opsys=linux ;;
       *-sco3.2v4* )		opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
       *-bsd386* | *-bsdi1* )	opsys=bsd386 ;;
+      *-bsdi3* )		opsys=bsdos2-1 ;;
       *-bsdi2.1* )		opsys=bsdos2-1 ;;
       *-bsdi2* )		opsys=bsdos2 ;;
       *-sco3.2v5* )		opsys=sco5 ; 
       *-linux* )		opsys=linux ;;
       *-sco3.2v4* )		opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
       *-bsd386* | *-bsdi1* )	opsys=bsd386 ;;
+      *-bsdi3* )		opsys=bsdos2-1 ;;
       *-bsdi2.1* )		opsys=bsdos2-1 ;;
       *-bsdi2* )		opsys=bsdos2 ;;
       *-sco3.2v5* )		opsys=sco5 ; 
+				-*- mode:outline; minor-mode:outl-mouse -*-
+
+* Introduction
+==============
+
+You are running an experimental version of XEmacs.  Please do not
+report problems with Beta XEmacs to comp.emacs.xemacs.  Report them to
+xemacs-beta@xemacs.org.
+
+** XEmacs Beta Mailing List
+===========================
+
+*** Subscribing
+---------------
+
+If you are not subscribed to the XEmacs beta list you should be.  Send
+an email message with a subject of `subscribe' (without the quotes) to
+xemacs-beta-request@xemacs.org and follow the directions.  You do not
+have to fill out the survey if you don't want to.
+
+*** Unsubscribing
+-----------------
+
+To unsubscribe from the list send an email message with a subject of
+`unsubscribe' (without the quotes) to xemacs-beta-request@xemacs.org.
+
+*** Administrivia
+-----------------
+
+The XEmacs beta list is managed by the SmartList mailing list package,
+and the usual SmartList commands work.  Do not send mailing list
+requests to the main address (xemacs-beta@xemacs.org), always send
+them to xemacs-beta-request@xemacs.org.  If you have problems with the
+list itself, they should be brought to the attention of the Mailing
+List manager Chuck Thompson <cthomp@xemacs.org>.
+
+
+** Reporting Problems
+=====================
+
+The best way to get problems fixed in XEmacs is to submit good problem
+reports.  Since this is beta software problems are certain to exist.
+Please read through all of part II of the XEmacs FAQ for an overview
+of problem reporting.  Other items which are most important are:
+
+1.  Do not submit C stack backtraces without line numbers.  Since it
+    is possible to compile optimized with debug information with GCC
+    it is never a good idea to compile XEmacs without the -g flag.
+    XEmacs runs on a variety of platforms, and often it is not
+    possible to recreate problems which afflict a specific platform.
+    The line numbers in the C stack backtrace help isolate where the
+    problem is actually occurring.
+ 
+2.  Attempt to recreate the problem starting with an invocation of
+    XEmacs with `xemacs -q -no-site-file'.  Quite often problems are
+    due to package interdependencies, and the like.  An actual bug in
+    XEmacs should be reproducible in a default configuration without
+    loading any special packages (or the one or two specific packages
+    that cause the bug to appear).
+
+3.  A picture can be worth a thousand words.  When reporting an
+    unusual display, it is generally best to capture the problem in a
+    screen dump and include that with the problem report.  The easiest
+    way to get a screen dump is to use the xv program and its grab
+    function.  Save the image as a GIF to keep bandwidth requirements
+    down without loss of information.  MIME is the preferred method
+    for making the image attachments.
+
+* Compiling Beta XEmacs
+=======================
+
+** Building an XEmacs from patches
+==================================
+
+All beta releases of XEmacs are included with patches from the
+previous version in an attempt to keep bandwidth requirements down.
+Patches should be applied with the GNU patch program in something like
+the following.  Let's say you're upgrading XEmacs 20.4-beta10 to
+XEmacs 20.4-beta11 and you have a full unmodified XEmacs 20.4-beta10
+source tree to work with.  Cd to the top level directory and issue the
+shell command:
+
+$ gunzip -c /tmp/xemacs-20.4-b10-20.4-b11.patch.gz | patch -p1
+
+After patching check to see that no patches were missed by doing
+$ find . -name \*.rej -print
+
+Any rejections should be treated as serious problems to be resolved
+before starting compilation.
+
+After seeing that there were no rejections, issue the command
+
+$ make all-elc
+
+and go play minesweep for awhile on an older XEmacs while the binary
+is rebuilt.
+
+** Building an XEmacs from a full distribution
+==============================================
+
+Locate a convenient place where you have at least 100MB of free space
+and issue the command
+
+$ gunzip -c /tmp/xemacs-20.4-b11.tar.gz | tar xvf -
+
+(or the simpler `tar zxvf /tmp/xemacs-20.4-b11.tar.gz' if you use GNU
+tar).
+
+cd to the top level directory and issue an appropriate configure
+command.  The maintainer uses the following at the time of this
+writing:
+
+./configure --with-offix --with-mule=yes --with-dialogs=athena3d \
+	--cflags="-m486 -g -O4 -fno-strength-reduce -malign-loops=2 \
+	-malign-jumps=2 -malign-functions=2" --with-sound=no \
+	--with-xface=yes --error-checking=all --debug=yes \
+	--with-scrollbars=athena3d \
+	--with-canna=yes --with-wnn=yes --wnn-includes=/usr/X11R6/include/wnn
+
+Save the output from configure that looks something like:
+Configured for `i586-unknown-linux2.0.28'.
+
+  Where should the build process find the source code?    /usr/src/xemacs-20.0
+  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 -m486 -g -O4 -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=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 support for PNG image conversion.
+  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 Athena-3d scrollbar.
+  Using the Athena-3d dialog boxes.
+
+Then type make and you should have a working XEmacs.
+
+After you have verified that you have a functional editor, fire up
+your favorite mail program and send a build report to
+xemacs-beta@xemacs.org.  The build report should include
+
+1. Your hardware configuration (OS version, etc.)
+
+2. Version numbers of software in use (X11 version, system library
+   versions if appropriate, graphics library versions if appropriate).
+   If you're on a system like Linux, include all the version numbers
+   you can because chances are it makes a difference.
+
+3. The options given to configure
+
+4. The configuration report illustrated above
+
+5. Any other unusual items you feel should be brought to the attention
+   of the developers.
 ! Emacs.leftToolBarWidth:		0
 ! Emacs.rightToolBarWidth:		0
 
-*topToolBarShadowColor:			Gray90
-*bottomToolBarShadowColor:		Gray40
+!*topToolBarShadowColor:			Gray90
+!*bottomToolBarShadowColor:		Gray40
 *backgroundToolBarColor:		Gray75
 *toolBarShadowThickness:		2
 

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1E1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"```a````a",
+"```a````a",
+"``a````a`",
+"``a````a`",
+"`````````",
+"`a````a``",
+"`a````a``",
+"a````a```",
+"a````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CA1E1C",
+/* pixels */
+"`````````",
+"`````````",
+"````````a",
+"````````a",
+"```````a`",
+"```````a`",
+"`````````",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"`````````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"a c #CB1D1C",
+"` s None c None",
+/* pixels */
+"`````````",
+"````aaaaa",
+"````````a",
+"````````a",
+"```````a`",
+"```````a`",
+"``aaaaa``",
+"`a```````",
+"`a```````",
+"a````````",
+"a````````",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1D1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"````````a",
+"````````a",
+"```````a`",
+"```````a`",
+"``aaaaa``",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CA1E1C",
+/* pixels */
+"`````````",
+"`````````",
+"```a````a",
+"```a````a",
+"``a````a`",
+"``a````a`",
+"``aaaaa``",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"`````````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1D1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"```a`````",
+"```a`````",
+"``a``````",
+"``a``````",
+"``aaaaa``",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1E1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"```a`````",
+"```a`````",
+"``a``````",
+"``a``````",
+"``aaaaa``",
+"`a````a``",
+"`a````a``",
+"a````a```",
+"a````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1E1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"````````a",
+"````````a",
+"```````a`",
+"```````a`",
+"`````````",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"`````````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1E1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"```a````a",
+"```a````a",
+"``a````a`",
+"``a````a`",
+"``aaaaa``",
+"`a````a``",
+"`a````a``",
+"a````a```",
+"a````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CB1E1C",
+/* pixels */
+"`````````",
+"````aaaaa",
+"```a````a",
+"```a````a",
+"``a````a`",
+"``a````a`",
+"``aaaaa``",
+"``````a``",
+"``````a``",
+"`````a```",
+"`````a```",
+"aaaaa````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"4 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CA1E1C",
+/* pixels */
+"````",
+"``aa",
+"``aa",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"9 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CA1E1C",
+/* pixels */
+"`````````",
+"`````````",
+"`````````",
+"`````````",
+"````a````",
+"````a````",
+"`````````",
+"```a`````",
+"```a`````",
+"`````````",
+"`````````",
+"`````````",
+"`````````"
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 1 1",
+/* colors */
+"  s None c None",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 2 1",
+/* colors */
+"  s None c None",
+"a c #2AD244",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+" aaaaaaaaa",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 2 1",
+/* colors */
+"  s None c None",
+"a c #2AD244",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"  aaaaaaaa",
+"          ",
+" aaaaaaaaa",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 3 1",
+/* colors */
+"  s None c None",
+"a c #2AD244",
+"b c #DEE614",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"   bbbbbbb",
+"          ",
+"  aaaaaaaa",
+"          ",
+" aaaaaaaaa",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 3 1",
+/* colors */
+"  s None c None",
+"a c #2AD244",
+"b c #DEE614",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"          ",
+"          ",
+"    bbbbbb",
+"          ",
+"   bbbbbbb",
+"          ",
+"  aaaaaaaa",
+"          ",
+" aaaaaaaaa",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 4 1",
+/* colors */
+"  s None c None",
+"` c #FE0204",
+"b c #2AD244",
+"c c #DEE614",
+/* pixels */
+"          ",
+"          ",
+"          ",
+"     `````",
+"          ",
+"    cccccc",
+"          ",
+"   ccccccc",
+"          ",
+"  bbbbbbbb",
+"          ",
+" bbbbbbbbb",
+"          "
+};
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"10 13 4 1",
+/* colors */
+"  s None c None",
+"` c #FE0204",
+"b c #2AD244",
+"c c #DEE614",
+/* pixels */
+"          ",
+"      ````",
+"          ",
+"     `````",
+"          ",
+"    cccccc",
+"          ",
+"   ccccccc",
+"          ",
+"  bbbbbbbb",
+"          ",
+" bbbbbbbbb",
+"          "
+};
Add a comment to this file

etc/time/letter.xpm

Old
Old image
New
New image
 /* XPM */
 static char * jmail_xpm[] = {
 "18 13 4 1",
-" 	s None	c None",
+" 	s None c None",
 ".	c gray85",
 "X	c yellow",
 "o	c black",
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"4 13 2 1",
+/* colors */
+"` s None c None",
+"a c #CA1E1C",
+/* pixels */
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"````",
+"aa``",
+"aa``",
+"````"
+};

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

Binary file added.

lib-src/ChangeLog

+Wed Mar  5 18:07:57 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* gzip-el.sh: New file.  Courtesy of Jeff Miller and Hrvoje Niksic.
+
+	* update-elc.sh (els): Remove out of date .elcs before building.
+
+Tue Mar  4 18:45:10 1997  Martin Buchholz  <mrb@eng.sun.com>
+
+	* update-elc.sh (els): No more special treatment for vm.elc.
+
 Wed Feb 26 18:17:59 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* make-docfile.c (next_extra_elc): New function.

lib-src/gnuclient.c

 static char cwd[MAXPATHLEN+2];	/* current working directory when calculated */
 static char *cp = NULL;		/* ptr into valid bit of cwd above */
 
+#ifdef GNUATTACH
+#include <signal.h>
+
+static pid_t emacs_pid;			/* Process id for emacs process */
+
+void tell_emacs_to_resume(int sig)
+{
+    char buffer[GSERV_BUFSZ+1];
+    int s;					/* socket / msqid to server */
+    int connect_type;           			/* CONN_UNIX, CONN_INTERNET, or
+						 * CONN_IPC */
+
+  /* Why is SYSV so retarded? */
+  /* We want emacs to realize that we are resuming */
+    signal(SIGCONT, tell_emacs_to_resume); 
+
+    connect_type = make_connection (NULL, (u_short) 0, &s);
+
+    sprintf(buffer,"(server-eval '(resume-pid-console %d))", getpid());
+    send_string(s, buffer);
+  
+#ifdef SYSV_IPC
+  if (connect_type == (int) CONN_IPC)
+    disconnect_from_ipc_server (s, msgp, FALSE);
+#else /* !SYSV_IPC */
+  if (connect_type != (int) CONN_IPC)
+    disconnect_from_server (s, FALSE);
+#endif /* !SYSV_IPC */
+}
+
+void pass_signal_to_emacs(int sig)
+{
+  if (kill(emacs_pid, sig) == -1) {
+    fprintf(stderr, "gnuattach: Could not pass signal to emacs process\n");
+    exit(1);
+  }
+}
+
+void initialize_signals()
+{
+  /* Set up signal handler to pass relevant signals to emacs process */
+  signal(SIGHUP, pass_signal_to_emacs);
+  signal(SIGQUIT, pass_signal_to_emacs);
+  signal(SIGILL, pass_signal_to_emacs);
+  signal(SIGTRAP, pass_signal_to_emacs);
+  signal(SIGSEGV, pass_signal_to_emacs);
+  signal(SIGPIPE, pass_signal_to_emacs);
+  signal(SIGTERM, pass_signal_to_emacs);
+#ifdef SIGBUS
+  signal(SIGBUS, pass_signal_to_emacs);
+#endif
+#ifdef SIGIOT
+  signal(SIGIOT, pass_signal_to_emacs);
+#endif
+
+  /* We want emacs to realize that we are resuming */
+  signal(SIGCONT, tell_emacs_to_resume);
+}
+
+#endif /* GNUATTACH */
+
 
 /*
   get_current_working_directory -- return the cwd.
 main (int argc, char *argv[])
 {
   int starting_line = 1;			/* line to start editing at */
-  char command[MAXPATHLEN+50];			/* emacs command buffer */
+  char command[MAXPATHLEN+50];		/* emacs command buffer */
   char fullpath[MAXPATHLEN+1];			/* full pathname to file */
 #ifndef GNUATTACH
   int qflg = 0;					/* quick edit, don't wait for 
 #endif /* SYSV_IPC */
 #ifdef GNUATTACH
   char *tty;
+  char buffer[GSERV_BUFSZ+1];		/* buffer to read pid */
 #endif
 
 #ifdef INTERNET_DOMAIN_SOCKETS
   while ((c = getopt (argc, argv,
 
 #ifdef INTERNET_DOMAIN_SOCKETS
-# ifdef GNUATTACH
-		      "h:p:r"
-# else
 		      "h:p:r:q"
-# endif
 #else /* !INTERNET_DOMAIN_SOCKETS */
 # ifdef GNUATTACH
 		      ""
     {
       fprintf (stderr,
 #ifdef INTERNET_DOMAIN_SOCKETS
-# ifdef GNUATTACH
-	       "usage: %s [-h hostname] [-p port] [-r pathname] "
-	       "[[+line] path] ...\n",
-# else
 	       "usage: %s [-q] [-h hostname] [-p port] [-r pathname] "
 	       "[[+line] path] ...\n",
-# endif
 #else /* !INTERNET_DOMAIN_SOCKETS */
 # ifdef GNUATTACH
 	       "usage: %s [[+line] path] ...\n",
       fprintf (stderr, "%s: Not connected to a tty", progname);
       exit (1);
     }
-#endif
 
-#ifdef INTERNET_DOMAIN_SOCKETS
+  /* This next stuff added in an attempt to make handling of
+     the tty do the right thing when dealing with signals.
+     Idea is to pass all the appropriate signals to the emacs process
+     */
+
+  connect_type = make_connection (NULL, (u_short) 0, &s);
+
+  send_string(s,"(server-eval '(emacs-pid))");
+  send_string(s,EOT_STR);
+  
+  if (read_line(s,buffer) == 0) {
+    fprintf(stderr, "%s: Could not establish emacs procces id\n",progname);
+    exit(1);
+  }
+  /* don't do disconnect_from_server becasue we have already read data,
+     and disconnect doesn't do anything else
+   */
+#ifdef SYSV_IPC
+  if (connect_type == (int) CONN_IPC)
+    disconnect_from_ipc_server (s, msgp, FALSE);
+#endif /* !SYSV_IPC */
+
+  emacs_pid = (pid_t)atol(buffer);
+  initialize_signals();
+      
+#endif /*GNUATTACH */ 
+
+#if defined(INTERNET_DOMAIN_SOCKETS) && !defined(GNUATTACH)
   connect_type = make_connection (hostarg, portarg, &s);
 #else
   connect_type = make_connection (NULL, (u_short) 0, &s);
       fprintf (stderr, "%s: unknown terminal type\n", progname);
       exit (1);
     }
-  sprintf (command, "(server-tty-edit-files \"%s\" \"%s\" '(", tty, ptr);
+  sprintf (command, "(server-tty-edit-files \"%s\" \"%s\" %d '(", 
+	   tty, ptr, getpid());
   send_string (s, command);
 #else
   if (qflg)

lib-src/gnuserv.c

     fprintf(stderr,"%s: garbage after result\n",progname);
     exit(1);
   }
-  close(s);
+  /* send the newline */
+  buf[1] = '\0';
+  send_string(s,buf);
+  close(s); 
 
 } /* handle_response */
 #endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */

lib-src/gnuslib.c

 static char rcsid [] = "!Header: gnuslib.c,v 2.4 95/02/16 11:57:37 arup alpha !";
 #endif
 
+#include <errno.h>
 #include "gnuserv.h"
 
 #ifdef SYSV_IPC
   }; /* while */ 
 #endif
 } /* send_string */
+
+/*
+  read_line -- read a \n terminated line from a socket
+*/
+int read_line(s,dest)
+     int s;
+     char *dest;
+{
+  char *index = NULL;
+  int length;
+  int offset=0;
+  char buffer[GSERV_BUFSZ+1];
+
+  while ((length=read(s,buffer+offset,1)>0) && buffer[offset]!='\n'
+	 && buffer[offset] != EOT_CHR) {
+    offset += length;
+    if (offset >= GSERV_BUFSZ) 
+      break;
+  }
+  buffer[offset] = '\0';
+  strcpy(dest,buffer);
+  return 1;
+} /* read_line */
 #endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */
 
 
     add_newline = (buffer[length-1] != '\n');
   }; /* while */
 #else
-  while ((length = read(s,buffer,GSERV_BUFSZ)) > 0) {
-    buffer[length] = '\0';
-    if (echo) {
-      fputs(buffer,stdout);
-      add_newline = (buffer[length-1] != '\n');
+  while ((length = read(s,buffer,GSERV_BUFSZ)) > 0 ||
+      (length == -1 && errno == EINTR)) {
+    if (length) {
+      buffer[length] = '\0';
+      if (echo) {
+	fputs(buffer,stdout);
+	add_newline = (buffer[length-1] != '\n');
+      }; /* if */
     }; /* if */
   }; /* while */
 #endif

lib-src/gzip-el.sh

+#! /bin/sh
+### gzip-el.sh --- compress superfluous installed source lisp
+
+# Author:	Jeff Miller <jmiller@bay1.bayserve.net>
+# Author:	Hrvoje Niksic <hniksic@srce.hr>
+# Maintainer:	Steve Baur <steve@altair.xemacs.org>
+# Created:	13 Feb 1997
+# Version:	1.0
+# Keywords:	internal
+
+
+#
+#
+echo Compressing .el files in "$1"...
+
+find "$1" -type f -name "*.el" -print |
+	while read file; do
+		[ -s "${file}c" ] && echo "$file" && gzip -f9 "$file"
+	done
+
+echo Compressing .el files in "$1"...done.

lib-src/update-elc.sh

 #!/bin/sh
-# update-elc.sh --- recompile all missing or out-or-date .elc files
+# update-elc.sh --- recompile all missing or out-of-date .elc files
 
 # Author:	Jamie Zawinski, Ben Wing, Martin Buchholz
 # Maintainer:	Martin Buchholz
-# Keywords:	recompile .el .elc
+# Keywords:	recompile byte-compile .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'
+##  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.
+##  "lisp" directory, or another nearby directory.
 
-set -eu
+set -e
 
 # Try to find the lisp directory in several places.
-# (Sun workspaces have an `editor' directory)
+# (Sun workspaces have an "editor" directory)
 for dir in  .  ..  ../..  editor  ../editor  ; do
-  if test -d $dir ; then cd $dir ; break ; fi
+  if test -d $dir/lisp/. ; then cd $dir ; break ; fi
 done
 
 if test ! -d lisp/. ; then
-  echo "$0: Cannot find the \`lisp' directory."
+  echo "$0: Cannot find the \"lisp\" directory."
   exit 1
 fi
 
+# Determine xemacs executable to use for compilation.
+if test -n "$XEMACS" ; then
+  EMACS="$XEMACS"
+elif test -x ./src/xemacs ; then
+  EMACS="./src/xemacs"
+elif test -x "$EMACS" ; then
+  :
+else
+  EMACS=xemacs
+fi
+case "$EMACS" in
+  */* ) : ;; # Pathname specified
+  *) # Need to find executable on PATH
+     for dir in `echo $PATH | sed 's/:/ /g'` ; do
+       if test -x "dir/xemacs" ; then
+	 EMACS="$dir/$EMACS"
+	 break
+       fi
+     done ;;
+esac
+# Canonicalize
+EMACS=`cd \`dirname $EMACS\` ; pwd | sed 's:^/tmp_mnt::'`/`basename $EMACS`
+export EMACS
 
-EMACS=${XEMACS:-./src/xemacs}; export EMACS
-REAL=`cd \`dirname $EMACS\` ; pwd | sed 's:^/tmp_mnt::'`/`basename $EMACS`
-BYTECOMP="$REAL -batch -q -no-site-file -l bytecomp"
 echo "Recompiling in `pwd|sed 's:^/tmp_mnt::'`"
-echo "    with $REAL..."
+echo "    with $EMACS..."
 
 prune_vc="( -name SCCS -o -name RCS -o -name CVS ) -prune -o"
 
+$EMACS -batch -q -no-site-file -l cleantree -f batch-remove-old-elc lisp
+
 # $els  is a list of all .el  files
 # $elcs is a list of all .elc files
-els=/tmp/rcl1.$$ ; elcs=/tmp/rcl2.$$
+els=/tmp/update-elc-1.$$ elcs=/tmp/update-elc-2.$$
 rm -f $els $elcs
 trap "rm -f $els $elcs" 0 1 2 3 15
 find lisp/. $prune_vc -name '*.el'  -print                    | sort > $els
 
 
 echo "Deleting .elc files without .el files..."
-comm -13 $els $elcs | sed -e '\!/vm.el!d' -e '\!/w3.el!d' -e 's/el$/elc/' | \
+comm -13 $els $elcs | sed -e '\!/vm.el!d' -e 's/el$/elc/' | \
  while read file ; do echo rm "$file" ; rm "$file" ; done
 echo "Deleting .elc files without .el files... Done"
 
 # Only use Mule XEmacs to compile Mule-specific elisp dirs
 echo "Checking for Mule support..."
 lisp_prog='(princ (featurep (quote mule)))'
-mule_p="`$REAL -batch -no-site-file -eval \"$lisp_prog\"`"
+mule_p="`$EMACS -batch -no-site-file -eval \"$lisp_prog\"`"
 if test "$mule_p" = nil ; then
   echo No
   ignore_dirs="$ignore_dirs mule"
 # 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..."
+BYTECOMP="$EMACS -batch -q -no-site-file -l bytecomp"
 $BYTECOMP -f batch-byte-recompile-directory lisp/bytecomp
 
+# Byte-compile VM first, because other packages depend on it,
+# but it depends on nothing (Kyle is like that).
+ignore_dirs="$ignore_dirs vm"
+echo "Compiling in lisp/vm";
+(cd lisp/vm && ${MAKE:-make} EMACS=$EMACS)
+echo "lisp/vm done."
+
 # Prepare for byte-compiling directories with directory-specific instructions
 make_special_commands=''
 make_special () {
   ignore_dirs="$ignore_dirs $dir"
   make_special_commands="$make_special_commands \
 echo \"Compiling in lisp/$dir\"; \
-(cd \"lisp/$dir\"; \
-${MAKE:-make} EMACS=$REAL ${1+$*}); \
+(cd \"lisp/$dir\" && ${MAKE:-make} EMACS=$EMACS ${1+$*}); \
 echo \"lisp/$dir done.\";"
 }
 
-make_special vm
-make_special efs
+#make_special vm
 #make_special ediff elc
 #make_special viper elc
+make_special efs
 make_special gnus  some
 make_special w3
 make_special hyperbole elc
  xargs -t $BYTECOMP -f batch-byte-recompile-directory
 echo "Compiling files with out-of-date .elc... Done"
 
-
 eval "$make_special_commands"
+Sat Mar  8 11:20:47 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* x11/x-faces.el (*try-oblique-before-italic-fonts*): New user
+	variable.  Allow trying oblique fonts ahead of italic fonts (from
+	Raymond Toy).
+	(x-make-font-italic): Use it.
+
+	* prim/obsolete.el (window-system): Make it compatible not
+	obsolete.
+
+Fri Oct 11 14:21:05 1996  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+	* hyper-apropos.el (hypropos-get-doc): Put font names etc in
+	parentheses if instantiation uses fallback.
+	(hypropos-face-history): New variable.
+	(hyper-describe-face): New function.
+	(hyper-where-is): New command.
+	(hypropos-read-function-symbol): New function.
+	(hyper-describe-key): New command.
+	(hyper-describe-key-briefly): New command.
+	(hypropos-read-variable-symbol): New function.
+	(hyper-set-variable): New command.
+	(hypropos-set-variable): Changed to work with buffer-locals.
+
+Fri Jul 19 12:01:51 1996  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+	* hyper-apropos.el: Massive changes--the original knew nothing
+ 	about buffer-locals and local-bindings.
+	(hypropos-shrink-window): New user option.
+	(hypropos-ref-buffer): New variable.
+	(hypropos-regexp-history): New variable.
+	(hyper-apropos): Better interactive version.
+	(hypropos-grok-variables): Omit OBSOLETE stuff.
+	(hyper-describe-variable): Additional ARG, better interactive
+ 	version.
+	(hyper-describe-function): Ditto.
+	(hypropos-last-help): Without prefix arg, just display buffer.
+	(hypropos-insert-face): New function.
+	(hypropos-insert-keybinding): New function.
+	(hypropos-get-doc): Additional ARG, display documentation for
+ 	faces, complete change.
+	(hypropos-this-symbol): Using better regexp.
+
+Fri Mar  7 10:44:48 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* x11/x-menubar.el (default-menubar): Reorganize again undoing
+	previous change.  Customize submenu moved to top of options menu.
+	Edit faces restored to edit-faces and renamed to Browse faces.
+	
+Thu Mar  6 08:43:27 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* x11/x-menubar.el (options-menu): New variable.
+	(default-menubar): Use it.
+
+	* prim/about.el (view-less): Explicit require.
+
+Wed Mar  5 18:03:02 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/cleantree.el: New file based on suggestion by David Moore,
+	and derived from Gnus nnml code.
+
+Tue Mar  4 01:19:37 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+	* edebug/edebug.el (edebug-compute-previous-result): Don't treat
+ 	numbers as chars.
+
+Wed Mar  5 10:11:55 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/startup.el (splash-hack-version-string): New function to
+	narrow the output of (emacs-version) for the splash screen.
+	(splash-frame-present): Use it.
+
+Tue Mar  4 19:52:10 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* packages/supercite.el (sc-name-filter-alist): (Idea from Bob
+	Weiner).  Update to handle names like Michael Sperber
+	[Mr. Preprocessor].
+
+Mon Mar  3 17:50:04 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* prim/faces.el (init-face-from-resources): New variable.
+	(init-face-from-resources): Use it.
+	(init-device-faces): Use it.
+	(init-frame-faces): Use it.
+	(make-empty-face): New function.
+
+	* x11/x-faces.el (x-init-face-from-resources): Made second
+	argument optional, and added a third argument.
+	(make-face-x-resource-internal): New alias.
+
 Mon Mar  3 14:45:16 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* prim/loadup.el: Remove custom.elc.
 
 	* modes/m4-mode.el: Changed m4-program to point to /usr/bin/m4.
 
-Sun Jan 12 18:49:30 1997   $B<i2,(B $BCNI'(B/MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+Sun Jan 12 18:49:30 1997   ~~ ~~/MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 	* mule/mule-misc.el: `-columns' -> `-width' and define `-columns'
 	alias
 
 	* utils/smtpmail.el: New file from Emacs 19.34.
 
-Fri Dec  6 09:28:04 1996  $B<i2,(B $BCNI'(B/MORIOKA Tomohiko <morioka@jaist.ac.jp>
+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.

lisp/auctex/ChangeLog

+Tue Mar 04 11:29:23 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 9.7l released.
+
+Tue Mar  4 11:27:43 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Makefile (some): Don't use `style/*.elc'.
+
+Thu Feb 27 11:02:24 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* tex.el (TeX-electric-macro): Default to space after dot.
+
 Wed Feb 26 23:15:27 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
 
 	* Version 9.7k released.

lisp/auctex/Makefile

 # Makefile - for the AUC TeX distribution.
 #
 # Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-# Version: 9.7k
+# Version: 9.7l
 #
 # Edit the makefile, type `make', and follow the instructions.
 
 ##  BELOW THIS LINE ON YOUR OWN RISK!
 ##----------------------------------------------------------------------
 
+.SUFFIXES: .el .elc .texi 
+
 SHELL = /bin/sh
 
 FTPDIR = /home/ftp/pub/Staff/Per.Abrahamsen/auctex
 lisp:
 	$(ELC) $(AUCSRC) $(STYLESRC) $(CONTRIB)
 
-some:	$(AUCELC) style/*.elc
+some:	$(AUCELC) $(STYLESRC:.el=.elc)
 
 install:	install-lisp
 

lisp/auctex/auc-old.el

 ;;; auc-old.el - Compatibility with AUC TeX 6.*
 ;;
 ;; Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-;; Version: 9.7k
+;; Version: 9.7l
 ;;
 ;; Copyright (C) 1991 Kresten Krab Thorup 
 ;; Copyright (C) 1993 Per Abrahamsen 

lisp/auctex/bib-cite.el

 ;; Version:   2.28 (22 January 97)
 ;; Keywords:  bibtex, cite, auctex, emacs, xemacs
 
-;; RCS $Id: bib-cite.el,v 1.1 1997/02/20 02:17:35 steve Exp $
+;; RCS $Id: bib-cite.el,v 1.2 1997/03/08 23:25:42 steve Exp $
 ;; Note: RCS version number does not correspond to release number.
 
 ;; Everyone is granted permission to copy, modify and redistribute this
 ;;
 ;;    For multi-file documents, you must be using auctex (so that bib-cite can
 ;;    find the master file) and all \input and \include commands must be first
-;;    on a line (not preceeded by any non-white text).
+;;    on a line (not preceded by any non-white text).
 ;;
 ;;  imenu support  (Suggested key binding: Shift-Mouse-3)  
 ;;
 ;;   - Add key def for bibtex-mode to create auc-tex's parsing file.
 ;;   - Fix bugs found by <thompson@loon.econ.wisc.edu>
 ;;     - fix bib-get-citation for options 
-;;     - fix bib-get-citation for commas preceeded citation command
+;;     - fix bib-get-citation for commas preceded citation command
 ;;     - better regexp for citations and their keys.
 ;;     - Added @string support for any entry (not just journal entries).
 ;;       (I had to disallow numbers in @string keys because of years.  

lisp/auctex/latex.el

 ;;; latex.el --- Support for LaTeX documents.
 ;; 
 ;; Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-;; Version: 9.7k
+;; Version: 9.7l
 ;; Keywords: wp
 ;; X-URL: http://sunsite.auc.dk/auctex
 

lisp/auctex/tex-buf.el

 ;;; tex-buf.el - External commands for AUC TeX.
 ;;
 ;; Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-;; Version: 9.7k
+;; Version: 9.7l
 
 ;; Copyright (C) 1991 Kresten Krab Thorup
 ;; Copyright (C) 1993, 1996 Per Abrahamsen 

lisp/auctex/tex-info.el

 ;;; tex-info.el - Support for editing TeXinfo source.
 ;;
 ;; Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-;; Version: 9.7k
+;; Version: 9.7l
 
 ;; Copyright (C) 1993, 1994, 1997 Per Abrahamsen 
 ;; 

lisp/auctex/tex-jp.el

     ;; modified by  S.Tomura 88-Jun-21
     ;;(subst-char-in-region from (point-max) ?\n ?\ )
     ;; modified by K.Handa 92-Mar-2
-    ;; Spacing is not necessary for charcters of no word-separater.
+    ;; Spacing is not necessary for characters of no word-separator.
     ;; The regexp word-across-newline is used for this check.
     (if (not (stringp word-across-newline))
 	(subst-char-in-region from (point-max) ?\n ?\ )
     ;; bug fixed by S.Tomura 88-May-25
     ;; modified by  S.Tomura 88-Jun-21
     ;; modified by K.Handa 92-Mar-2
-    ;; Spacing is not necessary for charcters of no word-separater.
+    ;; Spacing is not necessary for characters of no word-separator.
     ;; The regexp word-across-newline is used for this check.
     (if (not (stringp word-across-newline))
 	(subst-char-in-region from (point-max) ?\n ?\ )

lisp/auctex/tex.el

 ;;; tex.el --- Support for TeX documents.
 
 ;; Maintainer: Per Abrahamsen <auc-tex@sunsite.auc.dk>
-;; Version: 9.7k
+;; Version: 9.7l
 ;; Keywords: wp
 ;; X-URL: http://sunsite.auc.dk/auctex
 
 ;; These two variables are automatically updated with "make dist", so
 ;; be careful before changing anything.
 
-(defconst AUC-TeX-version "9.7k"
+(defconst AUC-TeX-version "9.7l"
   "AUC TeX version number")
 
-(defconst AUC-TeX-date "Wed Feb 26 23:15:31 MET 1997"
+(defconst AUC-TeX-date "Tue Mar  4 11:29:28 MET 1997"
   "AUC TeX release date")
 
 ;;; Buffer
 AUC TeX knows of some macros, and may query for extra arguments.
 Space will complete and exit."
   (interactive)
-  (if (memq (preceding-char) '(?\\ ?.))
-      (call-interactively 'self-insert-command)
-    (let ((minibuffer-local-completion-map TeX-electric-macro-map))
-      (call-interactively 'TeX-insert-macro))))
+  (cond ((eq (preceding-char) ?\\)
+	 (call-interactively 'self-insert-command))
+	((eq (preceding-char) ?.)
+	 (let ((TeX-default-macro " ")
+	       (minibuffer-local-completion-map TeX-electric-macro-map))
+	   (call-interactively 'TeX-insert-macro)))
+	(t
+	 (let ((minibuffer-local-completion-map TeX-electric-macro-map))
+	   (call-interactively 'TeX-insert-macro)))))
 
 (defun TeX-parse-macro (symbol args)
   "How to parse TeX macros which takes one or more arguments."

lisp/bytecomp/bytecomp-runtime.el

   warnings	  list of warnings	byte-compile-warnings
   file-format	  emacs19, emacs20	byte-compile-emacs19-compatibility
 
-The value specificed with the `warnings' option must be a list, containing
+The value specified with the `warnings' option must be a list, containing
 some subset of the following flags:
 
   free-vars	references to variables not in the current lexical scope.

lisp/calendar/appt.el

 ;;;     up so that you get a notification twenty minutes before each appt,
 ;;;     then a notification should come at 3:10 for the first appt, and at
 ;;;     3:15 for the second.  Currently, no notifications are generated for an
-;;;     appointment until all preceeding appointments have completely expired.
+;;;     appointment until all preceding appointments have completely expired.
 ;;;
 ;;;  o  If there are two appointments at the same time, all but the first are
 ;;;     ignored (not announced.)

lisp/comint/comint.el

 ;;; want them present in specific modes.
 
 (defvar comint-completion-autolist nil
-  "*If non-nil, automatically list possiblities on partial completion.
+  "*If non-nil, automatically list possibilities on partial completion.
 This mirrors the optional behavior of tcsh.")
 
 (defvar comint-completion-addsuffix t

lisp/comint/gud.el

 ;; annotation rule binding of whatever gdb sends to tell us this command
 ;; might have changed it's output.
 ;;
-;; NAME is the fucntion name.  DEMAND-PREDICATE tests if output is really needed.
+;; NAME is the function name.  DEMAND-PREDICATE tests if output is really needed.
 ;; GDB-COMMAND is a string of such.  OUTPUT-HANDLER is the function bound to the
 ;; input in the input queue (see comment about ``gdb communications'' above).
 (defmacro def-gdb-auto-update-trigger (name demand-predicate gdb-command output-handler)

lisp/comint/shell.el

   (remove-hook 'font-lock-mode-hook 'shell-font-lock-mode-hook))
 (add-hook 'font-lock-mode-hook 'shell-font-lock-mode-hook)
 
-(defvar shell-prompt-pattern-for-font-lock shell-prompt-pattern
-  "Pattern to use to font-lock the prompt.
-Defaults to `shell-prompt-pattern'.")
+(defvar shell-prompt-pattern-for-font-lock nil
+  "If non-nil, pattern to use to font-lock the prompt.
+When nil, shell-prompt-pattern will be used.  Set this to a regular
+expression if you want the font-locked pattern to be different then
+the shell's prompt pattern.")
 
 (defvar shell-font-lock-keywords
-  (list (cons 'shell-prompt-pattern-for-font-lock shell-prompt-face)
+  (list '(eval . (cons (if shell-prompt-pattern-for-font-lock
+			   shell-prompt-pattern-for-font-lock
+			 shell-prompt-pattern)
+		       shell-prompt-face))
 	'("[ \t]\\([+-][^ \t\n>]+\\)" 1 shell-option-face)
 	'("^[^ \t\n]+:.*" . shell-output-2-face)
 	'("^\\[[1-9][0-9]*\\]" . shell-output-3-face)

lisp/custom/ChangeLog

+Sat Mar 08 17:21:12 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 1.59 released.
+
+Sat Mar  8 10:16:59 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* widget.texi (editable-list): Documented new keywords.
+	(radio-button-choice): Ditto.
+	(checklist): Ditto.
+
+	* cus-edit.el (custom-face-edit-args): Deleted.
+
+	* wid-edit.el (color-item): Don't make sample a button.
+
+	* widget.el (:insert-button-args): New keyword.
+	(:delete-button-args): Ditto.
+
+	* wid-edit.el (widget-editable-list-entry-create): Use them.
+	* cus-edit.el (custom-face-value-create): Ditto.
+
+	* widget.el (:append-button-args): New keyword.
+	* wid-edit.el (widget-editable-list-format-handler): Use it.
+
+	* cus-edit.el (custom-face-edit): Add `:help-echo' to checkboxes.
+	* cus-face.el (custom-face-attributes): Add `:echo-help'.
+	* wid-edit.el (delete-button): Ditto.
+	(insert-button): Ditto.
+
+	* widget.el (:button-args): New keyword.
+	(:sibling-args): New keyword.
+	* wid-edit.el (widget-checklist-add-item): Support them.
+	(widget-radio-add-item): Ditto.
+
+	* wid-edit.el: (widget-mouse-help): Renamed from
+	`widget-ballon-help'.
+	(widget-specify-button): Support `help-echo'.
+	(widget-glyph-insert-glyph): Ditto.
+	(widget-specify-field-update): Ditto.
+	
+	* wid-edit.el: Minor spelling corrections.
+	Patch by Martin Buchholz <mrb@Eng.Sun.COM>.
+
+Fri Mar 07 21:29:07 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 1.58 released.
+
+Fri Mar  7 14:55:22 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* cus-edit.el (custom-buffer-create): Go to top of buffer after
+	creating it. 
+
+	* custom.texi (The Customization Buttons): Documented `[Done]'.
+
+Fri Mar 07 14:40:52 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 1.57 released.
+
+Fri Mar  7 10:46:48 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* cus-edit.el: Removed "Push me" from :help-echo strings.
+	* wid-edit.el: Ditto.
+
+	* wid-edit.el (widget-specify-button): Support ballon-help.
+	(widget-glyph-insert-glyph): Ditto.
+	(widget-balloon-help): New function.
+
+	* Makefile (some): New target.
+
+	* wid-edit.el: A bit of compiler warning avoidance with new target.
+
+	* cus-face.el (custom-face-attributes-set): Renamed from
+	`custom-face-attribites-set'.
+	(custom-face-display-set): Changed caller.
+	(custom-invert-face): Renamed from `reverse-face'.
+	(custom-face-attributes): Changed caller.
+
+Fri Mar  7