Commits

cvs  committed 8d2a9b5

Import from CVS: tag r19-15prefinal

  • Participants
  • Parent commits 23cafc5
  • Tags r19-15prefinal

Comments (0)

Files changed (100)

 (3) By hand.  Do
     cat info/xemacs* | more "+/^File: xemacs.info,  Node: Bugs,"
 
+
+Part II of the XEmacs FAQ, available in a manner similar to the above,
+or via the world wide web, contains extensive information on how to
+track down and report bugs.
+
+	http://www.xemacs.org/faq/

File CHANGES-beta

 							-*- indented-text -*-
+to 19.15
+-- W3-3.0.74
+-- Documentation updates
+-- miscellaneous bug fixes
+-- cc-mode-4.388
+-- Custom-1.67
+-- Gnus-5.4.37
+
 to 19.15 beta104
 -- EFS fixes courtesy of Michael Sperber
 -- time.el-1.6
+-*- mode:outline; minor-mode:outl-mouse -*-
 This file describes various problems that have been encountered
 in compiling, installing and running XEmacs.
 
 
 This problem will not happen if the m-...h file for your type
 of machine defines NO_UNION_TYPE.  That is the recommended setting now.
+
+* On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed 
+  on another machine, or after newer SGI IRIX patches have been installed.
+
+The xemacs binary must be executed with the same "libc.so" file which was used 
+when the xemacs binary was dumped.  Some SGI IRIX patches updates this file.
+Make sure that all machines using the xemacs binary are using the same
+set of IRIX patches.  If xemacs core dumps after a patch upgrade then you 
+will have to redump it from temacs.
 report bugs.  (The file `BUGS' in this directory explains how you can
 find and read that section using the Info files that come with
 XEmacs.)  See `etc/MAILINGLISTS' for more information on mailing lists
-relating to XEmacs and other GNU products.
+relating to XEmacs and other GNU products.  You should also read part
+II of the XEmacs FAQ, the latest version of which is available on the
+World Wide Web at:
+	http://www.xemacs.org/faq/
 
 The file `configure' is a shell script to acclimate XEmacs to the
 oddities of your processor and operating system.  It will create a
 native_sound_lib=''
 # make normal error-checking be the default in alpha and beta versions, so
 # that bugs get noticed.  Change this for released versions.
-error_check_default='yes'
+error_check_default='no'
 error_check_extents=$error_check_default
 error_check_typecheck=$error_check_default
 error_check_bufpos=$error_check_default
 Debugging options:
 
 --debug			Compile with support for debugging XEmacs.
-			(Causes code-size increase but no loss of speed.)
+			(Causes code-size increase and little loss of speed.)
 --error-checking=TYPE[,TYPE]...
 			Compile with internal error-checking added.
 			Causes noticeable loss of speed.  Valid types

File configure.in

 native_sound_lib=''
 # make normal error-checking be the default in alpha and beta versions, so
 # that bugs get noticed.  Change this for released versions.
-error_check_default='yes'
+error_check_default='no'
 error_check_extents=$error_check_default
 error_check_typecheck=$error_check_default
 error_check_bufpos=$error_check_default
 Debugging options:
 
 --debug			Compile with support for debugging XEmacs.
-			(Causes code-size increase but no loss of speed.)
+			(Causes code-size increase and little loss of speed.)
 --error-checking=TYPE[,TYPE]...
 			Compile with internal error-checking added.
 			Causes noticeable loss of speed.  Valid types

File etc/BETA

-				-*- 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>.
-
-
-** Beta Release Schedule
-========================
-
-The URL ftp://ftp.xemacs.org/pub/beta/README always contains the best
-estimate of when the next beta XEmacs will be released.  For weekend
-betas the release time is generally in the vicinity of 2PM to 5PM US
-Pacific Time (Universal Time minus 8 hours).  For weekday betas, the
-release time is generally in the vicinity of 8PM to Midnight US
-Pacific Time on the listed day.
-
-While 19.15 and 20.x are in parallel development, a simultaneous
-release day implies a release of 20.x first, followed a few hours
-later by 19.15.
-
-Betas are nominally a week apart, scheduled on every Saturday.
-Midweek releases are made when a serious enough problem warrants it.
-
-
-** 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.
 								-*- text -*-
 
-	   XEmacs availability information.  Last Modified: 10-feb-96.
+	   XEmacs availability information.  Last Modified: 25-Mar-1997.
 
 XEmacs is available via anonymous FTP from ftp.xemacs.org (128.174.252.16)
 in the directory /pub/xemacs/.
 ftp.xemacs.org is the primary distribution point, but you may find
 copies of it at other sites as well.  Some sites to try include:
 
-	ftp.ai.mit.edu:/pub/xemacs/
-	ftp.uu.net:/systems/gnu/xemacs/
-	ftp.sunet.se:/pub/gnu/xemacs/
-	ftp.cenatls.cena.dgac.fr:/pub/Emacs/xemacs/
-	liasun3.epfl.ch:/pub/gnu/xemacs/
-	ftp.th-darmstadt.de:/pub/editors/xemacs/
-	audrey.levels.unisa.edu.au:/xemacs/
-	sunsite.auc.dk:/pub/emacs/xemacs/
-	sunsite.doc.ic.ac.uk:/gnu/xemacs/
-	uiarchive.cso.uiuc.edu:/pub/packages/xemacs/
-	ftp.technion.ac.il:/pub/unsupported/gnu/xemacs/
-	thphys.irb.hr:/pub/xemacs/
+	ftp://ftp.ai.mit.edu:/pub/xemacs/
+	ftp://ftp-digital.cern.ch:/pub/beta/xemacs-20.0/
+	ftp://ftp.uu.net:/systems/gnu/xemacs/
+	ftp://ftp.sunet.se:/pub/gnu/xemacs/
+	ftp://tp.cenatls.cena.dgac.fr:/pub/Emacs/xemacs/
+	ftp://ftp.th-darmstadt.de:/pub/editors/xemacs/
+	ftp://sunsite.doc.ic.ac.uk:/gnu/xemacs/
+	ftp://ftp.ibp.fr:/pub/emacs/xemacs/
+	ftp://uiarchive.cso.uiuc.edu:/pub/packages/xemacs/
+	ftp://ftp.technion.ac.il:/pub/unsupported/gnu/xemacs/
+	ftp://thphys.irb.hr:/pub/xemacs/
+	ftp://sunsite.cnlab-switch.ch/mirror/xemacs/
+	ftp://ftp.unicamp.br:/pub/xemacs/r20.0/
+	ftp://ftp.usyd.edu.au:/pub/Xemacs/
+	ftp://ftp.lab.kdd.co.jp/xemacs/
+	ftp://SunSITE.sut.ac.jp/pub/archives/xemacs/
 
 The most up-to-date list of distribution sites can always be found on
 the XEmacs WWW page, http://www.xemacs.org/.  Try to pick a site

File etc/w3/stylesheet

 
        p  { display: block }
  pre,xmp  { display: block; white-space: pre; }
-blockquote{ display: block; margin-left: 5; margin-right: 5; }
+blockquote{ display: block; margin-left: 5em; margin-right: 5em; }
 
 /*
 ** How to draw form elements.
       dir { display: block;     }
      menu { display: block;     }
        dt { font-weight: bold; display: list-item }
-       dd { display: list-item; margin-left: 5; }
-       li { display: list-item; margin-left: 5; }
+       dd { display: list-item; margin-left: 5em; }
+       li { display: list-item; margin-left: 5em; }
     ul li { list-style: circle; }
     ol li { list-style: decimal; }
 

File etc/xemacs-white.xpm

Removed
Old image

File etc/xemacs.xpm

Old
Old image
New
New image
 
 Some packages are fairly large; those have been given their own	directories:
 
+	auctex		A package for editing TeX documents.
+
 	bytecomp	The XEmacs-lisp compiler.
 
 	calendar	A calendar and appointment manager.
 
+	cl		Common Lisp compatibility code.
+
 	comint		General code for interacting with inferior processes,
 			like shell buffers and lisp interpreters.
 
-	dired		The directory editor.
+	custom		User environment customization code.
 
 	edebug		A source-level debugger for Elisp.
 
 	ediff		A comprehensive visual interface to diff and patch.
 
+	efs		The directory editor, remote FTP frontend.
+
 	electric	The "electric" commands; these implement temporary
 			windows for help, list-buffers, etc.
 
 	eterm		A merge of the comint shell mode with an
 			ANSI-compatible terminal-emulator.
 
-	gnus		An NNTP-based newsreader; version 3.14.
+	gnus		A network news and mail reader.
 
 	hm--html-menus	Menu interface to html-mode.
 
 	ilisp		A comint-based package for interacting with inferior
 			lisp processes.
 
+	iso		ISO Latin language support.
+
+	mailcrypt	Package for dealing with PGP encrypted messages.
+
+	mel		MIME encoding library (part of the Tools for MIME).
+
 	mh-e		An interface to the MH-E mail handling system.
 
+	mu		Message Utilities library (part of the Tools for
+			MIME).
+
+	ns		NeXTStep support.
+
 	oobr		An Object-Oriented class browser.
 
 	pcl-cvs		An interface to the Concurrent Version System.
 
+	psgml		General purpose SGML editing support with extra
+			support for editing HTML.
+
 	rmail		A BABYL-format mail reader.
 
 	sunpro		Additional code for interfacing with SunPro products.
 
+	tl		Tiny Library (Part of the Tools for MIME).
+
+	tm		Tools for MIME.  MIME support for emacs lisp based
+			news and mail readers.
+
 	tooltalk	An inteface to the ToolTalk communication protocol.
 
 	viper		A full-featured VI emulator.

File lisp/custom/ChangeLog

+Mon Mar 24 18:36:15 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 1.67 released.
+
+Mon Mar 24 18:19:05 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* cus-edit.el (custom-save-all): Added autoload.
+
+	* Version 1.66 released.
+
+Mon Mar 24 18:09:04 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* wid-edit.el (widget-default-delete): Added workaround for bug
+	with empty `:format'.
+
+Thu Mar 20 12:33:59 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* custom.texi (The Init File): Explain that `custom-file' is not
+	automatically loaded.
+
 Tue Mar 18 14:42:31 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
 
 	* Version 1.65 released.

File lisp/custom/cus-edit.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
   (custom-mode)
   (widget-insert "This is a customization buffer.
 Push RET or click mouse-2 on the word ")
+  ;; (put-text-property 1 2 'start-open nil)
   (widget-create 'info-link 
 		 :tag "help"
 		 :help-echo "Read the online help."
       (unless (eolp)
 	(princ "\n")))))
 
+;;;###autoload
 (defun custom-save-all ()
   "Save all customizations in `custom-file'."
   (custom-save-variables)

File lisp/custom/cus-face.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:

File lisp/custom/custom.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:

File lisp/custom/wid-browse.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:

File lisp/custom/wid-edit.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
 	(inhibit-read-only t)
 	after-change-functions)
     (widget-apply widget :value-delete)
-    (delete-region from to)
+    (when (< from to)
+      ;; Kludge: this doesn't need to be true for empty formats.
+      (delete-region from to))
     (set-marker from nil)
     (set-marker to nil)))
 
 	    (setq children (cdr children)))
 	  (setcdr children (cons child (cdr children)))))))
   (widget-setup)
-  (widget-apply widget :notify widget))
+ widget (widget-apply widget :notify widget))
 
 (defun widget-editable-list-delete-at (widget child)
   ;; Delete child from list of children.

File lisp/custom/widget-example.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 (require 'widget)

File lisp/custom/widget.el

 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
-;; Version: 1.65
+;; Version: 1.67
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:

File lisp/efs/efs-cu.el

 		       (user-login-name))))
 	(efs-set-user host user)))))
 
+;;;###autoload
 (defun efs-ftp-path (path)
   "Parse PATH according to efs-path-regexp.
 Returns a list (HOST USER PATH), or nil if PATH does not match the format."

File lisp/efs/efs.el

 
 ;;; Getting directory listings.
 
-(defun efs-directory-files (directory &optional full match nosort)
+(defun efs-directory-files (directory &optional full match nosort &rest ignored-for-now)
   ;; Returns directory-files for remote directories.
   ;; NOSORT is a V19 arg.
   (let* ((directory (expand-file-name directory))

File lisp/gnus/ChangeLog

+Mon Mar 24 16:57:26 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+	* gnus.el: Gnus v5.4.37 is released.
+
+Mon Mar 24 01:16:15 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+	* gnus-xmas.el (gnus-xmas-redefine): Use it.
+
+	* gnus-xmas.el (gnus-xmas-summary-set-display-table): New function.
+
+	* gnus-sum.el (gnus-summary-mode): Use it.
+
+	* gnus-sum.el (gnus-summary-set-display-table): New function.
+
+Mon Mar 24 16:27:46 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-util.el (gnus-buffer-live-p): Reinstated.
+
 Mon Mar 24 01:24:27 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 	* gnus.el: Gnus v5.4.36 is released.

File lisp/gnus/gnus-async.el

 
 (defun gnus-async-prefetch-next (group article summary)
   "Possibly prefetch several articles starting with the article after ARTICLE."
-  (when (and (buffer-live-p summary)
+  (when (and (gnus-buffer-live-p summary)
 	     gnus-asynchronous
 	     (gnus-group-asynchronous-p group))
     (save-excursion
 
 (defun gnus-async-prefetch-article (group article summary &optional next)
   "Possibly prefetch several articles starting with ARTICLE."
-  (if (not (buffer-live-p summary))
+  (if (not (gnus-buffer-live-p summary))
       (gnus-async-with-semaphore
        (setq gnus-async-fetch-list nil))
     (when (and gnus-asynchronous
       (let ((do-fetch next)
 	    (do-message t)) ;(eq major-mode 'gnus-summary-mode)))
 	(when (and (gnus-group-asynchronous-p group)
-		   (buffer-live-p summary)
+		   (gnus-buffer-live-p summary)
 		   (or (not next)
 		       gnus-async-fetch-list))
 	  (gnus-async-with-semaphore
 		      ,mark (set-marker (make-marker) (point-max))
 		      ,group ,article)
 		gnus-async-article-alist)))
-       (if (not (buffer-live-p ,summary))
+       (if (not (gnus-buffer-live-p ,summary))
 	   (gnus-async-with-semaphore
 	    (setq gnus-async-fetch-list nil))
 	 (gnus-async-prefetch-article ,group ,next ,summary t)))))

File lisp/gnus/gnus-salt.el

 
 (defun gnus-pick-setup-message ()
   "Make Message do the right thing on exit."
-  (when (and (buffer-live-p gnus-summary-buffer)
+  (when (and (gnus-buffer-live-p gnus-summary-buffer)
 	     (save-excursion
 	       (set-buffer gnus-summary-buffer)
 	       gnus-pick-mode))

File lisp/gnus/gnus-score.el

   "Add SCORE to all followups to the article in the current buffer."
   (interactive "P")
   (setq score (gnus-score-default score))
-  (when (buffer-live-p gnus-summary-buffer)
+  (when (gnus-buffer-live-p gnus-summary-buffer)
     (save-excursion
       (save-restriction
 	(message-narrow-to-headers)
   "Add SCORE to all later articles in the thread the current buffer is part of."
   (interactive "P")
   (setq score (gnus-score-default score))
-  (when (buffer-live-p gnus-summary-buffer)
+  (when (gnus-buffer-live-p gnus-summary-buffer)
     (save-excursion
       (save-restriction
 	(goto-char (point-min))

File lisp/gnus/gnus-sum.el

 
 (defvar gnus-scores-exclude-files nil)
 
-(defvar gnus-summary-display-table
-  ;; Change the display table.	Odd characters have a tendency to mess
-  ;; up nicely formatted displays - we make all possible glyphs
-  ;; display only a single character.
-
-  ;; We start from the standard display table, if any.
-  (let ((table (or (copy-sequence standard-display-table)
-		   (make-display-table)))
-	;; Nix out all the control chars...
-	(i 32))
-    (while (>= (setq i (1- i)) 0)
-      (aset table i [??]))
-    ;; ... but not newline and cr, of course.  (cr is necessary for the
-    ;; selective display).
-    (aset table ?\n nil)
-    (aset table ?\r nil)
-    ;; We nix out any glyphs over 126 that are not set already.
-    (let ((i 256))
-      (while (>= (setq i (1- i)) 127)
-	;; Only modify if the entry is nil.
-	(or (aref table i)
-	    (aset table i [??]))))
-    table)
-  "Display table used in summary mode buffers.")
-
 (defvar gnus-original-article nil)
 (defvar gnus-article-internal-prepare-hook nil)
 (defvar gnus-newsgroup-process-stack nil)
   (setq truncate-lines t)
   (setq selective-display t)
   (setq selective-display-ellipses t)	;Display `...'
-  (setq buffer-display-table gnus-summary-display-table)
+  (gnus-summary-set-display-table)
   (gnus-set-default-directory)
   (setq gnus-newsgroup-name group)
   (make-local-variable 'gnus-summary-line-format)
   (mouse-set-point e)
   (gnus-summary-next-page nil t))
 
+(defun gnus-summary-set-display-table ()
+  ;; Change the display table.  Odd characters have a tendency to mess
+  ;; up nicely formatted displays - we make all possible glyphs
+  ;; display only a single character.
+
+  ;; We start from the standard display table, if any.
+  (let ((table (or (copy-sequence standard-display-table)
+		   (make-display-table)))
+	;; Nix out all the control chars...
+	(i 32))
+    (while (>= (setq i (1- i)) 0)
+      (aset table i [??]))
+    ;; ... but not newline and cr, of course.  (cr is necessary for the
+    ;; selective display).
+    (aset table ?\n nil)
+    (aset table ?\r nil)
+    ;; We nix out any glyphs over 126 that are not set already.
+    (let ((i 256))
+      (while (>= (setq i (1- i)) 127)
+	;; Only modify if the entry is nil.
+	(or (aref table i)
+	    (aset table i [??]))))
+    (setq buffer-display-table table)))
+
 (defun gnus-summary-setup-buffer (group)
   "Initialize summary buffer."
   (let ((buffer (concat "*Summary " group "*")))
 	(setq gnus-reffed-article-number reffed)
 	(setq gnus-current-score-file score-file)
 	;; The article buffer also has local variables.
-	(when (buffer-live-p gnus-article-buffer)
+	(when (gnus-buffer-live-p gnus-article-buffer)
 	  (set-buffer gnus-article-buffer)
 	  (setq gnus-summary-buffer summary))))))
 
              ;; The `gnus-summary-buffer' variable may point
              ;; to the old summary buffer when using a single
              ;; article buffer.
-             (unless (buffer-live-p gnus-summary-buffer)
+             (unless (gnus-buffer-live-p gnus-summary-buffer)
                (set-buffer gnus-group-buffer))
              (set-buffer gnus-summary-buffer)
              (gnus-set-global-variables))))

File lisp/gnus/gnus-util.el

     (let ((ids (inline (gnus-split-references references))))
       (car (last ids (or n 1))))))
 
+(defsubst gnus-buffer-live-p (buffer)
+  "Say whether BUFFER is alive or not."
+  (and buffer
+       (get-buffer buffer)
+       (buffer-name (get-buffer buffer))))
+
 (defun gnus-horizontal-recenter ()
   "Recenter the current buffer horizontally."
   (if (< (current-column) (/ (window-width) 2))

File lisp/gnus/gnus-xmas.el

 	  (gnus-horizontal-recenter)
 	  (select-window selected))))))
 
+(defun gnus-xmas-summary-set-display-table ()
+  ;; Setup the display table -- like gnus-summary-setup-display-table,
+  ;; but done in an XEmacsish way.
+  (let ((table (make-display-table))
+	;; Nix out all the control chars...
+	(i 32))
+    (while (>= (setq i (1- i)) 0)
+      (aset table i [??]))
+    ;; ... but not newline and cr, of course.  (cr is necessary for the
+    ;; selective display).
+    (aset table ?\n nil)
+    (aset table ?\r nil)
+    ;; We nix out any glyphs over 126 that are not set already.
+    (let ((i 256))
+      (while (>= (setq i (1- i)) 127)
+	;; Only modify if the entry is nil.
+	(or (aref table i)
+	    (aset table i [??]))))
+    (add-spec-to-specifier current-display-table table (current-buffer) nil)))
+
 (defun gnus-xmas-add-hook (hook function &optional append local)
   (add-hook hook function))
 
 
 (defun gnus-xmas-redefine ()
   "Redefine lots of Gnus functions for XEmacs."
-  (fset 'gnus-summary-make-display-table 'ignore)
+  (fset 'gnus-summary-set-display-table 'gnus-xmas-summary-set-display-table)
   (fset 'gnus-visual-turn-off-edit-menu 'identity)
   (fset 'gnus-summary-recenter 'gnus-xmas-summary-recenter)
   (fset 'gnus-extent-start-open 'gnus-xmas-extent-start-open)

File lisp/gnus/gnus.el

   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.36"
+(defconst gnus-version-number "5.4.37"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)

File lisp/gnus/nnfolder.el

        (let ((bufs nnfolder-buffer-alist))
 	 (save-excursion
 	   (while bufs
-	     (if (not (buffer-live-p (nth 1 (car bufs))))
+	     (if (not (gnus-buffer-live-p (nth 1 (car bufs))))
 		 (setq nnfolder-buffer-alist
 		       (delq (car bufs) nnfolder-buffer-alist))
 	       (set-buffer (nth 1 (car bufs)))
   (when (and server
 	     (not (nnfolder-server-opened server)))
     (nnfolder-open-server server))
-  (unless (buffer-live-p nnfolder-current-buffer)
+  (unless (gnus-buffer-live-p nnfolder-current-buffer)
     (setq nnfolder-current-buffer nil
 	  nnfolder-current-group nil))
   ;; Change group.
 	;; is live, verify that nobody else has touched the file since last
 	;; time.
 	(when (and nnfolder-current-buffer
-		   (not (buffer-live-p nnfolder-current-buffer)))
+		   (not (gnus-buffer-live-p nnfolder-current-buffer)))
 	  (setq nnfolder-buffer-alist (delq inf nnfolder-buffer-alist)
 		nnfolder-current-buffer nil))
 
 (defun nnfolder-possibly-change-folder (group)
   (let ((inf (assoc group nnfolder-buffer-alist)))
     (if (and inf
-	     (buffer-live-p (cadr inf)))
+	     (gnus-buffer-live-p (cadr inf)))
 	(set-buffer (cadr inf))
       (when inf
 	(setq nnfolder-buffer-alist (delq inf nnfolder-buffer-alist)))

File lisp/gnus/nnheader.el

 (defun nnheader-init-server-buffer ()
   "Initialize the Gnus-backend communication buffer."
   (save-excursion
-    (unless (buffer-live-p nntp-server-buffer)
+    (unless (gnus-buffer-live-p nntp-server-buffer)
       (setq nntp-server-buffer (get-buffer-create " *nntpd*")))
     (set-buffer nntp-server-buffer)
     (buffer-disable-undo (current-buffer))

File lisp/gnus/nnmail.el

 
 (defun nnmail-cache-insert (id)
   (when nnmail-treat-duplicates
-    (unless (buffer-live-p nnmail-cache-buffer)
+    (unless (gnus-buffer-live-p nnmail-cache-buffer)
       (nnmail-cache-open))
     (save-excursion
       (set-buffer nnmail-cache-buffer)

File lisp/gnus/nntp.el

   "Say whether a connection to SERVER has been opened."
   (and (nnoo-current-server-p 'nntp server)
        nntp-server-buffer
-       (buffer-live-p nntp-server-buffer)
+       (gnus-buffer-live-p nntp-server-buffer)
        (nntp-find-connection nntp-server-buffer)))
 
 (deffoo nntp-open-server (server &optional defs connectionless)

File lisp/gnus/nnweb.el

 
 (deffoo nnweb-close-group (group &optional server)
   (nnweb-possibly-change-server group server)
-  (when (buffer-live-p nnweb-buffer)
+  (when (gnus-buffer-live-p nnweb-buffer)
     (save-excursion
       (set-buffer nnweb-buffer)
       (set-buffer-modified-p nil)
 
 (deffoo nnweb-close-server (&optional server)
   (when (and (nnweb-server-opened server)
-	     (buffer-live-p nnweb-buffer))
+	     (gnus-buffer-live-p nnweb-buffer))
     (save-excursion
       (set-buffer nnweb-buffer)
       (set-buffer-modified-p nil)
 
 (defun nnweb-init (server)
   "Initialize buffers and such."
-  (unless (buffer-live-p nnweb-buffer)
+  (unless (gnus-buffer-live-p nnweb-buffer)
     (setq nnweb-buffer
 	  (save-excursion
 	    (nnheader-set-temp-buffer
       t)))
 
 (defun nnweb-callback (buffer callback)
-  (when (buffer-live-p url-working-buffer)
+  (when (gnus-buffer-live-p url-working-buffer)
     (save-excursion
       (set-buffer url-working-buffer)
       (funcall (nnweb-definition 'article))

File lisp/modes/cc-mode.el

 ;;          1987 Dave Detlefs and Stewart Clamen
 ;;          1985 Richard M. Stallman
 ;; Created: a long, long, time ago. adapted from the original c-mode.el
-;; Version:         4.387
-;; Last Modified:   1997/03/21 20:25:33
+;; Version:         4.388
+;; Last Modified:   1997/03/25 03:19:17
 ;; Keywords: c languages oop
 
 ;; NOTE: Read the commentary below for the right way to submit bug reports!
 		(if (looking-at "typedef[^_]")
 		    (progn (forward-sexp 1)
 			   (c-forward-syntactic-ws indent-point)))
-		(setq placeholder (c-point 'bol))
+		(setq placeholder (c-point 'boi))
 		(and (or (looking-at "enum[ \t\n]+")
 			 (= char-before-ip ?=))
 		     (save-excursion
 
 ;; defuns for submitting bug reports
 
-(defconst c-version "4.387"
+(defconst c-version "4.388"
   "CC Mode version number.")
 (defconst c-mode-help-address
   "bug-gnu-emacs@prep.ai.mit.edu, cc-mode-help@python.org"

File lisp/modes/view-less.el

   "Non-nil when view-mode is active.  Call `view-mode' to toggle.")
 (make-variable-buffer-local 'view-minor-mode)
 
+;;;###autoload
 (defvar view-minor-mode-map
   (let ((map (make-keymap)))
     (set-keymap-name map 'view-minor-mode-map)
 
 (add-minor-mode 'view-minor-mode " View" view-minor-mode-map)
 
+;;;###autoload
 (defvar view-mode-map
   (let ((map (copy-keymap view-minor-mode-map)))
     (set-keymap-name map 'view-mode-map)

File lisp/packages/apropos.el

 	  (apropos-print-doc 'describe-variable 2
 			     "Variable" do-keys)
 	  (apropos-print-doc 'apropos-describe-plist 3
-			     "Plist" nil))))
-    (when temp-buffer-shrink-to-fit
-      (shrink-window-if-larger-than-buffer (get-buffer-window "*Apropos*"))))
+			     "Plist" nil)))))
   (prog1 apropos-accumulator
     (setq apropos-accumulator ())))	; permit gc
 

File lisp/packages/hyper-apropos.el

 			    ;; movement
 			    (define-key map " "     'scroll-up)
 			    (define-key map "b"     'scroll-down)
+			    (define-key map [delete] 'scroll-down)
+			    (define-key map [backspace] 'scroll-down)
 			    (define-key map "/"     'isearch-forward)
 			    (define-key map "?"     'isearch-backward)
 			    ;; follow links
 		       ;; slightly different scrolling...
 		       (define-key map " "     'hypropos-scroll-up)
 		       (define-key map "b"     'hypropos-scroll-down)
+		       (define-key map [delete] 'hypropos-scroll-down)
+		       (define-key map [backspace] 'hypropos-scroll-down)
 		       ;; act on the current line...
 		       (define-key map "w"     'hypropos-where-is)
 		       (define-key map "i"     'hypropos-invoke-fn)

File lisp/packages/terminal.el

 		 (progn (goto-char (point-max))
 			(recenter -1)))))))
 
-(defvar te-stty-string "stty -nl new dec echo"
-  "Command string (to be interpreted by \"sh\") which sets the modes
-of the virtual terminal to be appropriate for interactive use.")
+(defvar te-stty-string "stty -nl erase '^?' kill '^u' intr '^c' echo pass8"
+  "Shell command to set terminal modes for terminal emulator.")
+;; This used to have `new' in it, but that loses outside BSD
+;; and it's apparently not needed in BSD.
 
 (defvar explicit-shell-file-name nil
   "*If non-nil, is file name to use for explicitly requested inferior shell.")

File lisp/prim/about.el

 ;    (or got-error (message nil)))
 ;  )
 
+(defvar about-xref-alist
+  '((w3-xemacs   . "http://www.xemacs.org/")
+    (w3-jamie    . "http://www.netscape.com/people/jwz/")
+    (w3-baw      . "http://www.python.org/~bwarsaw/")
+    (w3-python   . "http://www.python.org/ftp/emacs/")
+    (w3-infodock . "http://www.infodock.com")
+    (w3-kyle     . "http://www.wonderworks.com/kyle/")
+    (w3-larsi    . "http://www.ifi.uio.no/~larsi/")
+    (w3-hrvoje   . "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/")
+    ;; add more here
+    )
+  "Mappings between xref symbols and URLs")
+
 (defun about-xemacs-xref ()
   (interactive "@")
   (let* ((e (or current-mouse-event last-input-event))
 	(setq prev-page 'about)
       ;; Kill the sub-buffers when going back to the top, so that we
       ;; don't hold pointers to the bitmaps longer than necessary.
-      (if (not (eq xref 'w3-jamie))
+      (if (not (assq xref about-xref-alist))
 	  (progn
 	    (kill-buffer (current-buffer))
 	    (setq prev-page 'others))))
       (about-xemacs))
      ((eq xref 'info)
       (info))
-     ((or (eq xref 'w3-xemacs) (eq xref 'w3-jamie))
+     ((assq xref about-xref-alist)
       (funcall browse-url-browser-function
-	       (if (eq xref 'w3-xemacs)
-		   "http://www.xemacs.org/"
-		 "http://www.netscape.com/people/jwz/")))
+	       (cdr (assq xref about-xref-alist))))
      ((eq xref 'kill-buffer)
       (kill-buffer (current-buffer)))
      ((eq xref 'news)
 			       ((eq xref 'others) "About Everyone")
 			       ((eq xref 'features) "New XEmacs Features")
 			       ((eq xref 'history) "XEmacs History")
+			       (t (error "Can't follow xref: %s" xref))
 			       )))
       (delete-other-windows)
       (buffer-disable-undo (current-buffer))
 	  (about-face "Barry Warsaw" 'bold)
 	  (insert " <bwarsaw@python.org>
 
-	Author of cc-mode for C++, C, and Objective-C editing, and
-	Supercite for mail and news citing.  Also various and sundry other
-	Emacs utilities, fixes, enhancements and kludgery as whimsy,
-	boredom, and ToT dictate (but not necessarily in that order).
-
-	See \"http://www.python.org/~bwarsaw\".
+	Author of CC Mode, for C, C++, Objective-C, and Java editing,
+	and Supercite for mail and news citing.  Also various and
+	sundry other Emacs packages, utilities, fixes, enhancements
+	and kludgery as whimsy, boredom, and ToT dictate (but not
+	necessarily in that order).  See also:\n
+                ")
+	  (about-xref "http://www.python.org/~bwarsaw/" 'w3-baw
+		      "Visit Barry's WWW page")
+	  (insert "\n	and:
+                ")
+	  (about-xref "http://www.python.org/ftp/emacs/" 'w3-python
+		      "Visit the CC Mode distribution")
+	  (insert "\n\n
 
 	Daddy
 	� 1994 Warsaw
-	========
+	=============
 	Drive me Daddy, drive me quick
 	Push my pedal, shift my stick
 	Fill me up with golden gas
 	framework for software engineers.  It runs atop XEmacs and is
 	available from his firm, InfoDock Associates, which offers custom
         development and support packages for corporate users of XEmacs,
-        GNU Emacs and InfoDock.  See \"http://www.infodock.com\".
+        GNU Emacs and InfoDock.  See ")
+	  (about-xref "http://www.infodock.com" 'w3-infodock
+		      "Visit the Infodock WWW page")
+	  (insert "
 	His interests include user interfaces, information management,
 	CASE tools, communications and enterprise integration.")
 
 	uses the standard UNIX mailbox format for its folders;
 	thus, you can use VM concurrently with other UNIX mail
 	readers such as Berkeley Mail and ELM.
-	See \"http://www.wonderworks.com/kyle/\".")
-
-	  (insert "\n\n\tClick ")
+	See ")
+	  (about-xref "http://www.wonderworks.com/kyle/" 'w3-kyle
+		      "Visit Kyle's WWW page")
+	  (insert ". \n\n\tClick ")
 	  (about-xref "here" prev-page "Return to previous page")
 	  (insert " to go back to the previous page.\n")
 	  )
 	currently plumbing away at his majors work at the Institute of
 	Physics, working on an SCI project connected with CASCADE and
 	CERN and stuff.
-	See \"http://www.ifi.uio.no/~larsi/\".")
+	See ")
+	  (about-xref "http://www.ifi.uio.no/~larsi/" 'w3-larsi
+		      "Visit Lars' WWW page")
 
-	  (insert "\n\n\tClick ")
+	  (insert ". \n\n\tClick ")
 	  (about-xref "here" prev-page "Return to previous page")
 	  (insert " to go back to the previous page.\n")
 	  )
 	  and back-seat contributor for several of it's major packages.
 
 	") (about-xref "Barry Warsaw" 'baw "Find out more about Barry Warsaw") (insert " <bwarsaw@python.org>
-	  Author of cc-mode for C++, C, and Objective-C editing, and
-	  Supercite for mail and news citing.  Also various and sundry other
-	  Emacs utilities, fixes, enhancements and kludgery as whimsy,
-	  boredom, and ToT dictate (but not necessarily in that order).
+	  Author of CC Mode for C, C++, Objective-C and Java editing,
+	  and Supercite for mail and news citing.  Also various and
+	  sundry other Emacs packages, utilities, fixes, enhancements
+	  and kludgery as whimsy, boredom, and ToT dictate (but not
+	  necessarily in that order).  See also:
+                ")
+	  (about-xref "http://www.python.org/~bwarsaw/" 'w3-baw
+		      "Visit Barry's WWW page")
+	  (insert "\n	  and:
+                ")
+	  (about-xref "http://www.python.org/ftp/emacs/" 'w3-python
+		      "Visit Barry's Emacs Goodies page")
+	  (insert "
 
 	") (about-xref "Andy Piper" 'piper "Find out more about Andy Piper") (insert " <andyp@parallax.co.uk>
 	  Created the prototype for the toolbars.  Has been the first to make
 	  framework for software engineers.  It runs atop XEmacs and is
 	  available from his firm, InfoDock Associates, which offers custom
           development and support packages for corporate users of XEmacs,
-          GNU Emacs and InfoDock.  See \"http://www.infodock.com\".
+          GNU Emacs and InfoDock.  See ")
+	(about-xref "http://www.infodock.com" 'w3-infodock
+		    "Visit the Infodock WWW page")
+	(insert ".
 	  His interests include user interfaces, information management,
  	  CASE tools, communications and enterprise integration.
 
 	  uses the standard UNIX mailbox format for its folders;
 	  thus, you can use VM concurrently with other UNIX mail
 	  readers such as Berkeley Mail and ELM.
-	  See \"http://www.wonderworks.com/kyle/\".
+	  See ")
+	(about-xref "http://www.wonderworks.com/kyle/" 'w3-kyle
+		    "Visit Kyle's WWW page")
+	(insert ".
 
 	") (about-xref "Lars Magne Ingebrigtsen" 'larsi "Find out more about Lars Magne Ingebrigtsen") (insert " <larsi@ifi.uio.no>
 	  Author of Gnus the Usenet news and Mail reading package in
 	  currently plumbing away at his majors work at the Institute of
 	  Physics, working on an SCI project connected with CASCADE and
 	  CERN and stuff.
-	  See \"http://www.ifi.uio.no/~larsi/\"
+	  See ")
+	(about-xref "http://www.ifi.uio.no/~larsi/" 'w3-larsi
+		    "Visit Lars' WWW page")
+	(insert ".
 
 	") (about-xref "Jens Lautenbacher" 'jens "Find out more about Jens Lautenbacher") (insert " <jens@lemcbed.lem.uni-karlsruhe.de>
-	I'm currently working at the University of Karlsruhe, Germany
-	on getting my diploma thesis on Supersymmetry (uuh, that's
-	physics) done.  After that (and all the remaining exams) I'm
-	looking forward to make a living out of my hobbies --
-	computers (and graphics). But because I have no deadline for
-	the exams and XEmacs betas are released at a high rate this
-	may take some time...
+	  I'm currently working at the University of Karlsruhe, Germany
+	  on getting my diploma thesis on Supersymmetry (uuh, that's
+	  physics) done.  After that (and all the remaining exams) I'm
+	  looking forward to make a living out of my hobbies --
+	  computers (and graphics). But because I have no deadline for
+	  the exams and XEmacs betas are released at a high rate this
+	  may take some time...
 
 	Darrell Kindred <Darrell.Kindred@cmu.edu>
 	  Unofficial maintainer of the xemacs-beta list of extant
 	  In his free time he is helping develop free software (especially
 	  XEmacs, as well as GNU software) and is writing his own -- he has
 	  written a small network mirroring utility Wget, see
-	  \"ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/\".
+	  ")
+	(about-xref "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/"
+		    'w3-hrvoje "Visit Hrvoje's Wget distribution")
+	(insert "
 
 	In addition to those just mentioned, the following people have
 	spent a great deal of effort providing feedback, testing beta

File lisp/prim/auto-autoloads.el

 
 ;;;***
 
-;;;### (autoloads (custom-make-dependencies custom-menu-update custom-buffer-create customize-apropos customize-customized customize-face customize-variable customize) "cus-edit" "custom/cus-edit.el")
+;;;### (autoloads (custom-make-dependencies custom-menu-update custom-save-all custom-buffer-create customize-apropos customize-customized customize-face customize-variable customize) "cus-edit" "custom/cus-edit.el")
 
 (autoload 'customize "cus-edit" "\
 Customize SYMBOL, which must be a customization group." t nil)
 SYMBOL is a customization option, and WIDGET is a widget for editing
 that option." nil nil)
 
+(autoload 'custom-save-all "cus-edit" "\
+Save all customizations in `custom-file'." nil nil)
+
 (autoload 'custom-menu-update "cus-edit" "\
 Update customize menu." t nil)
 
 
 ;;;***
 
-;;;### (autoloads nil "efs-cu" "efs/efs-cu.el")
+;;;### (autoloads (efs-ftp-path) "efs-cu" "efs/efs-cu.el")
 
 (defvar efs-path-root-regexp "^/[^/:]+:" "\
 Regexp to match the `/user@host:' root of an efs full path.")
 
+(autoload 'efs-ftp-path "efs-cu" "\
+Parse PATH according to efs-path-regexp.
+Returns a list (HOST USER PATH), or nil if PATH does not match the format." nil nil)
+
 ;;;***
 
 ;;;### (autoloads (remote-path-file-handler-function) "efs-dump" "efs/efs-dump.el")
 ;;;### (autoloads (ksh-mode) "ksh-mode" "modes/ksh-mode.el")
 
 (autoload 'ksh-mode "ksh-mode" "\
-ksh-mode $Revision: 1.18 $ - Major mode for editing (Bourne, Korn or Bourne again)
+ksh-mode $Revision: 1.19 $ - Major mode for editing (Bourne, Korn or Bourne again)
 shell scripts.
 Special key bindings and commands:
 \\{ksh-mode-map}
 
 (autoload 'vhdl-mode "vhdl-mode" "\
 Major mode for editing VHDL code.
-vhdl-mode $Revision: 1.18 $
+vhdl-mode $Revision: 1.19 $
 To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a
 vhdl-mode buffer.  This automatically sets up a mail buffer with version
 information already added.  You just need to add a description of the
 
 ;;;### (autoloads (auto-view-mode view-major-mode view-mode view-minor-mode view-buffer-other-window view-file-other-window view-buffer view-file) "view-less" "modes/view-less.el")
 
+(defvar view-minor-mode-map (let ((map (make-keymap))) (set-keymap-name map 'view-minor-mode-map) (suppress-keymap map) (define-key map "-" 'negative-argument) (define-key map " " 'scroll-up) (define-key map "f" 'scroll-up) (define-key map "" 'scroll-down) (define-key map "b" 'scroll-down) (define-key map 'backspace 'scroll-down) (define-key map "
+
+(defvar view-mode-map (let ((map (copy-keymap view-minor-mode-map))) (set-keymap-name map 'view-mode-map) map))
+
 (autoload 'view-file "view-less" "\
 Find FILE, enter view mode.  With prefix arg OTHER-P, use other window." t nil)
 

File lisp/prim/files.el

       (error "Apparently circular symlink path"))))
 
 ;; Suggested by Michael Kifer <kifer@CS.SunySB.EDU>
-(defun file-remote-p (file)
-  "Test whether file resides on the local system.
-The special value 'unknown is returned if no remote file access package
-has been loaded."
-  (cond ((featurep 'ange-ftp) (ange-ftp-ftp-path file-name))
-        (t (require 'efs)
-	   (efs-ftp-path file-name))))
+(defun file-remote-p (file-name)
+  "Test whether FILE-NAME is looked for on a remote system."
+  (cond ((not allow-remote-paths) nil)
+	((featurep 'ange-ftp) (ange-ftp-ftp-path file-name))
+	(t (efs-ftp-path file-name))))
 
 ;; Written in C in FSF
 (defun insert-file-contents (filename &optional visit beg end replace)

File lisp/prim/frame.el

 (defvar temp-buffer-shrink-to-fit t
   "*When non-nil resize temporary output buffers to minimize blank lines.")
 
+(defvar temp-buffer-max-height .5
+  "*Proportion of frame to use for temp windows.")
+
 (defun show-temp-buffer-in-current-frame (buffer)
   "For use as the value of temp-buffer-show-function:
 always displays the buffer in the current frame, regardless of the behavior
       (set-window-start window 1) ; obeys narrowing
       (set-window-point window 1)
       (when temp-buffer-shrink-to-fit
-	(shrink-window-if-larger-than-buffer window))
+        (let* ((temp-window-size (round (* temp-buffer-max-height
+                                           (frame-height (window-frame window)))))
+               (size (window-displayed-height window)))
+          (when (< size temp-window-size)
+            (enlarge-window (- temp-window-size size) nil window)))
+        (shrink-window-if-larger-than-buffer window))
       nil)))
 
 (setq pre-display-buffer-function 'get-frame-for-buffer)

File lisp/prim/help.el

 This just displays the buffer in another window, rather than selecting
 the window.")
 
-(defvar help-window-max-height .5
-  "*Proportion of frame to use for help windows.")
 ;; Use this function for displaying help when C-h something is pressed
 ;; or in similar situations.  Do *not* use it when you are displaying
 ;; a help message and then prompting for input in the minibuffer --
                       (substitute-command-keys "Type \\[delete-other-windows] to remove help window, \\[scroll-other-window] to scroll the help.")))
                     (t
                      (message
-                      (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))
-	      (when temp-buffer-shrink-to-fit
-		(let* ((help-window-size (round (* help-window-max-height
-					    (frame-height (window-frame helpwin)))))
-		       (size (window-displayed-height helpwin)))
-		  (if (< size help-window-size)
-		      (enlarge-window (- help-window-size size) nil helpwin)))
-		(shrink-window-if-larger-than-buffer helpwin))))))))
+                      (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))))))))
 
 (defun describe-key (key)
   "Display documentation of the function invoked by KEY.

File lisp/prim/isearch-mode.el

 ;; good way to fix it, though.  -hniksic
 (defun isearch-mode-help ()
   (interactive "_")
-  (describe-function 'isearch-forward)
+  (let ((w (selected-window)))
+    (describe-function 'isearch-forward)
+    (select-window w))
   (isearch-update))
 
 

File lisp/prim/lisp.el

 		     (setq list (cdr list)))
 		   (setq list (nreverse new))))
 	     (with-output-to-temp-buffer "*Completions*"
-	       (display-completion-list list))
-	     (when temp-buffer-shrink-to-fit
-	       (shrink-window-if-larger-than-buffer
-		(get-buffer-window "*Completions*"))))
+	       (display-completion-list list)))
 	   (message "Making completion list...%s" "done")))))
 
 ;;; lisp.el ends here

File lisp/prim/startup.el

       (goto-char (point-min))
       (when (re-search-forward " \\[Lucid\\]" nil t)
 	(delete-region (match-beginning 0) (match-end 0)))
-      (when (re-search-forward "[^(].*-.*-" nil t)
+      (when (re-search-forward "[^(][^)]*-[^)]*-" nil t)
 	(delete-region (1+ (match-beginning 0)) (match-end 0))
 	(insert "("))
       (goto-char (point-max))

File lisp/tm/tm-play.el

 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/9/26 (separated from tm-view.el)
-;; Version: $Id: tm-play.el,v 1.7 1997/03/22 05:29:24 steve Exp $
+;; Version: $Id: tm-play.el,v 1.8 1997/03/26 04:34:05 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia
 
 ;; This file is part of tm (Tools for MIME).
 ;;; @ rot13-47
 ;;;
 
-(require 'view)
+(unless (boundp 'view-mode-map)
+  (require 'view))
 
 (defconst mime-view-text/plain-mode-map (copy-keymap view-mode-map))
 (define-key mime-view-text/plain-mode-map

File lisp/version.el

 (defconst emacs-version "19.15" "\
 Version numbers of this version of Emacs.")
 
-(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta104)")))
+(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid")))
 
 (defconst emacs-major-version
   (progn (or (string-match "^[0-9]+" emacs-version)

File lisp/w3/ChangeLog

+Tue Mar 25 16:06:28 1997  William M. Perry  <wmperry@aventail.com>
+
+* Emacs-W3 3.0.74 released
+
+Tue Mar 25 15:31:56 1997  Greg Stark <gsstark@great-white>
+
+* url-cookie.el (url-cookie-handle-set-cookie): don't deal with #!%@ed
+  microsoft web site cookies - they break good, clean, wholesome sites
+  like yahoo's stock pages.
+
+* ssl.el (ssl-program-arguments): Make sure everything gets turned into a
+  string, not an integer.
+  (open-ssl-stream): use a pipe instead of a pty if possible (why?)
+
+* w3-display.el (w3-display-node): Added back in <keygen> support
+
+* w3.el (w3-notify-when-ready): protect against bad buffer switching
+  (minibuffer as active window lossage, etc)
+
+* w3-toolbar.el (w3-toolbar-make-buttons): Don't warn about toolbar
+  directory on Emacsen that can't do toolbars!
+
+* Emacs-W3 3.0.73 released
+
+* w3-display.el (w3-get-face-info): Allow passing in a second argument
+  that means 'check this attribute of the html tag if you don't find
+  something in the stylesheet'.  This automatically enables <font color>
+  and <table|td|tr bgcolor>.
+
+Tue Mar 25 06:45:02 1997  T. V. Raman <raman@Adobe.COM>
+
+* w3-forms.el (w3-form-keymap): patch to avoid lossage with emacspeak &
+  using terminal.el
+
+Tue Mar 25 06:45:02 1997  William M. Perry  <wmperry@aventail.com>
+
+* ssl.el (ssl-program-arguments): Removed -quiet switch, since it requires
+  patches to s_client
+
+Mon Mar 24 10:56:11 1997  William M. Perry  <wmperry@aventail.com>
+
+* Emacs-W3 3.0.72 released
+
+* w3-display.el (w3-display-node): Better handling of body and html style
+  attributes in XEmacs
+
+* w3.el (w3-mode): Removed call to kill-all-local-variables, as it
+  nukes buffer-local faces as well.
+
+* css.el (css-expand-length): Don't choke and use the wrong damn thing to
+  base percentages off of on percentage heights (ie: font-size: 80%)
+
+Mon Mar 24 07:12:52 1997  Gerry S Hayes <sumner@CMU.EDU>
+
+* url-gw.el (url-open-telnet): Fixed stupid typo into-to-string ->
+  int-to-string
+  (url-open-rlogin): Ditto.
+
+Sun Mar 23 09:43:24 1997  William M. Perry  <wmperry@aventail.com>
+
+* w3-display.el (w3-table-ascii-border-chars): Use a '+' in the ascii art
+  version of table borders.
+
+Sat Mar 22 00:45:34 1997  William M. Perry  <wmperry@aventail.com>
+
+* w3-menu.el (w3-use-menus): Customized this variable
+
+* w3-display.el (w3-display-node): Don't run multiline text area's default
+  value through w3-normalize-spaces
+
+Thu Mar 20 23:44:50 1997  Greg Stark  <gsstark@mit.edu>
+
+* w3-cus.el (w3-use-terminal-characters): New variable
+  (w3-use-terminal-characters-on-tty): New variable
+  (w3-use-terminal-glyphs): New variable
+  (w3-horizontal-rule-char): Make setting it to nil allow use of graphic
+  characters (also means people can avoid using graphic charactes for
+  horizontal rules if they wish)
+* w3-display.el (w3-handle-image): clean up whitespace in alt tags
+  (w3-table-glyph-border-chars): New variable
+  (w3-table-graphic-border-chars): New variable
+  (w3-terminal-properties): New variable
+  (w3-insert-terminal-char): New inline function
+  (w3-horizontal-rule-char): New inline function 
+  (w3-setup-terminal-chars): Set up all of these and make using graphic
+  characters work on XEmacs using text properties (and optionally use text
+  properties on FSF Emacs too). 
+  (w3-table-hack-borders): Remove, obsoleted by w3-setup-terminal-chars
+  (w3-table-unhack-borders): don't have to fiddle with
+  w3-horizontal-rule-char any more.
+  (w3-display-table): Use w3-insert-terminal-char
+  (w3-size-of-tree):  Use w3-horizontal-rule-char
+  (w3-display-node):  Use w3-horizontal-rule-char, w3-insert-terminal-char,
+  uhm, i'm not sure if it was correct to remove the handle-content
+* w3-forms.el (w3-fixup-eol-faces): try to remove mouse-face from end-of-lines as
+  well, uhm, this doesn't seem to work though. 
+  (w3-form-determine-size): add keygen 
+  (w3-form-encode-helper): add keygen support for the day when the ssl code
+  itself is released. 
+* w3-widget.el (widget-image-value-create): use 'item widgets instead of
+  'push-button widgets and specify the format ourselves so we don't get
+  widget.el's arbitrary formatting.
+* w3.el (w3-do-setup): call w3-setup-terminal-chars to make nice tables and
+  horizontal rules the default at least under X.
+* mm.el added x-x509-ca-cert and x-x509-user-cert viewers but the tests
+  will fail so no one should should see this change until i release the
+  functions.
+	
+Fri Mar 21 18:52:31 1997  William M. Perry  <wmperry@aventail.com>
+
+* css.el (css-expand-length): Better support for percentage values in
+  lengths
+
+Thu Mar 20 06:22:29 1997  Istvan Marko <istvan@cmdmail.amd.com>
+
+* Added slot for no_proxy settings under the preferences panel
+
 Thu Mar 20 06:22:29 1997  William M. Perry  <wmperry@aventail.com>
 
+* Emacs-W3 3.0.71 released
+
 * w3-parse.el:Added more transitions for error handling of raw 'td' or
   'th' outside of a 'tr' in tablebody.
 

File lisp/w3/Makefile

 	url-nfs.el url-file.el url-cookie.el url-parse.el url-irc.el	\
 	url-gopher.el url-http.el url-mail.el url-misc.el url-news.el	\
 	url-vars.el url-auth.el mm.el md5.el url-gw.el ssl.el base64.el	\
-	url.el socks.el url-cache.el
+	url.el socks.el url-cache.el url-ns.el
 
 CUSTOMSOURCES = # widget.el widget-edit.el
 CUSTOMOBJECTS = $(CUSTOMSOURCES:.el=.elc)
 xemacs-w3:	docomp.el $(OBJECTS)
 	@echo Build of w3 complete...
 
-xemacs-w3: docomp.el $(OBJECTS)
-	@echo Build of w3 complete...
-
 all:	w3.info w3
 
 install: all

File lisp/w3/css.el

 ;;; css.el -- Cascading Style Sheet parser
 ;; Author: wmperry
-;; Created: 1997/03/14 22:02:39
-;; Version: 1.30
+;; Created: 1997/03/25 03:35:09
+;; Version: 1.33
 ;; Keywords: 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     [font-style       t              symbol]
     [font-variant     t              symbol]
     [font-weight      t              weight]
-    [font-size        t              length]
+    [font-size        t              height]
     [font             nil            font]
 
     ;; Color and background properties, Section 5.3
       (setq classes (sort classes 'string-lessp))
       (cons tag classes)))
    ((string-match "^#" tag)		; id selector
-    (cons '*document tag))
+    (cons '*document (list tag)))
    (t
     (cons (intern (downcase tag)) t)
     )
     (if size
 	(push (cons 'font-size (css-expand-length size)) retval))
     (if height
-	(push (cons 'line-height (css-expand-length height)) retval))
+	(push (cons 'line-height (css-expand-length height t)) retval))
     (if family
 	(push (cons 'font-family (css-expand-value 'string-list family)) retval))
     retval))
 
-(defun css-expand-length (spec)
+(if (not (fboundp 'frame-char-height))
+    (defun frame-char-height (&optional frame)
+      "Height in pixels of a line in the font in frame FRAME.
+If FRAME is omitted, the selected frame is used.
+For a terminal frame, the value is always 1."
+      (font-height (face-font 'default frame))))
+
+(defun css-expand-length (spec &optional height)
   (cond
    ((not (stringp spec)) spec)
    ((string-equal spec "auto") nil)
    ((string-match "\\([+-]?\\([0-9]+\\|[0-9]*\\.[0-9]+\\)\\)%" spec)	; A percentage
-    nil)
+    (setq spec (/ (string-to-int (match-string 1 spec)) 100.0))
+    (if height
+	(round (* (frame-char-height) spec))
+      (max 0 (round (* (frame-width) spec)))))
    ((string-match "\\([+-]?\\([0-9]+\\|[0-9]*\\.[0-9]+\\)\\)e[mx]" spec) ; Character based
     (max 0 (round (string-to-number (match-string 1 spec)))))
    (t
       (case type
 	(length				; CSS, Section 6.1
 	 (setq value (css-expand-length value)))
+	(height
+	 (setq value (css-expand-length value t)))
 	(percentage			; CSS, Section 6.2
 	 (setq value (/ (string-to-number value)
 			(if (fboundp 'float) (float 100) 1))))
 	  ((string-match (css-symbol-list-as-regexp normal bold bolder lighter)
 			 value)
 	   (setq value (intern (downcase (concat ":" value)))))
-	  (t setq value (intern ":bold"))))
-
+	  (t (setq value (intern ":bold")))))
 	;; The rest of these deal with how we handle things internally
 	((symbol integer)		; Read it in
 	 (setq value (read (downcase value))))

File lisp/w3/custom-check

     HOME=`(cd ; pwd)`
 fi
 
-if [ -n "$WIDGETDIR" ]; then
-    echo "WIDGETDIR environment variable set, good good" 
-    exit 0
-fi
-
-WITH=`${EMACS} -batch -l ${HOME}/.emacs -eval '(princ (locate-library "custom"))' | cut -f3- |xargs dirname`
-WITHOUT=`${EMACS} -batch -eval '(princ (locate-library "custom"))' | cut -f3- |xargs dirname`
+WITH=`   ${EMACS} -batch -l ${HOME}/.emacs             -eval '(princ (file-truename (locate-library "custom")))'`
+WITHOUT=`${EMACS} -batch -q -no-site-file -l docomp.el -eval '(princ (file-truename (locate-library "custom")))'`
 
 if [ "${WITH}" = "${WITHOUT}" ]; then
     exit 0

File lisp/w3/mm.el

 		      )
      )
     ("application" . (
+		      ("x-x509-ca-cert" . (("viewer" . ssl-view-site-cert)
+					   ("test" . (fboundp 'ssl-view-site-cert))
+					   ("type" . "application/x-x509-ca-cert")))
+		      ("x-x509-user-cert" . (("viewer" . ssl-view-user-cert)
+					     ("test" . (fboundp 'ssl-view-user-cert))
+					     ("type" . "application/x-x509-user-cert")))
 		      ("octet-stream" . (("viewer" . mm-save-binary-file)
 					 ("type" ."application/octet-stream")))
 		      ("dvi"        . (("viewer" . "open %s")

File lisp/w3/ssl.el

 ;;; ssl.el,v --- ssl functions for emacsen without them builtin
 ;; Author: wmperry
-;; Created: 1997/03/15 00:29:34
-;; Version: 1.11
+;; Created: 1997/03/26 00:04:40
+;; Version: 1.13
 ;; Keywords: comm
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   :type 'string)
 
 (defcustom ssl-program-arguments
-  '("-quiet"
+  '(;;"-quiet"
     "-host" host
     "-port" service
-    "-verify" ssl-certificate-verification-depth
+    "-verify" (int-to-string ssl-certificate-verification-depth)
     "-CApath" ssl-certificate-directory
     )
   "*Arguments that should be passed to the program `ssl-program-name'.
 Fourth arg SERVICE is name of the service desired, or an integer
 specifying a port number to connect to."
   (if (integerp service) (setq service (int-to-string service)))
-  (let* ((process-connection-type t)
+  (let* ((process-connection-type nil)
 	 (port service)
 	 (proc (eval
 		(`

File lisp/w3/url-cookie.el

 ;;; url-cookie.el --- Netscape Cookie support
 ;; Author: wmperry
-;; Created: 1997/03/19 00:42:23
-;; Version: 1.14
+;; Created: 1997/03/26 00:06:01
+;; Version: 1.15
 ;; Keywords: comm, data, processes, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       (let ((cur nil))
 	(while rest
 	  (setq cur (pop rest))
-	  ;; Oh gross, this is for microsoft & netscape.
-	  ;; Fuck them fuck them fuchk them fuck them.
-	  (if (string-match "^\\([^=]+\\)=\\(.*\\)" (cdr cur))
-	      (setq rest (cons (cons (match-string 1 (cdr cur))
-				     (match-string 2 (cdr cur))) rest)
-		    cur (cons (car cur) "")))
 	  (url-cookie-store (car cur) (cdr cur)
 			    expires domain path secure))))
      (t

File lisp/w3/url-gw.el

 ;;; url-gw.el --- Gateway munging for URL loading
 ;; Author: wmperry
-;; Created: 1997/02/10 01:00:01
-;; Version: 1.5
+;; Created: 1997/03/24 15:13:19
+;; Version: 1.6
 ;; Keywords: comm, data, processes
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (defun url-open-rlogin (name buffer host service)
   "Open a connection using rsh."
   (if (not (stringp service))
-      (setq service (into-to-string service)))
+      (setq service (int-to-string service)))
   (let ((proc (if url-gateway-rlogin-user-name
 		  (start-process
 		   name buffer "rsh"
 ;; Stolen from red gnus nntp.el
 (defun url-open-telnet (name buffer host service)
   (if (not (stringp service))
-      (setq service (into-to-string service)))
+      (setq service (int-to-string service)))
   (save-excursion
     (set-buffer (get-buffer-create buffer))
     (erase-buffer)

File lisp/w3/url-misc.el

 ;;; url-misc.el --- Misc Uniform Resource Locator retrieval code
 ;; Author: wmperry
-;; Created: 1997/02/19 00:52:07
-;; Version: 1.12
+;; Created: 1997/03/24 23:59:37
+;; Version: 1.13
 ;; Keywords: comm, data, processes
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (require 'url-parse)
 (autoload 'Info-goto-node "info" "" t)
 
+(defun url-netrek (url)
+  ;; Start a netrek client
+  (if (get-buffer url-working-buffer)
+      (kill-buffer url-working-buffer))
+  (let ((data (url-generic-parse-url url)))
+    (error
+     "I should launch netrek on: %s %s" (url-host data) (url-port data))))
+
 (defun url-info (url)
   ;; Fetch an info node
   (if (get-buffer url-working-buffer)

File lisp/w3/url-ns.el

+;;; url-ns.el --- Various netscape-ish functions for proxy definitions
+;; Author: wmperry
+;; Created: 1997/03/24 20:16:16
+;; Version: 1.1
+;; Keywords: comm, data, processes, hypermedia
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; Copyright (c) 1997 Free Software Foundation, Inc.
+;;;
+;;; This file is not part of GNU Emacs, but the same permissions apply.
+;;;
+;;; 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.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defun isPlainHostName (host)
+  (string-match "\\." host))
+
+(defun dnsDomainIs (host dom)
+  (setq host (url-gateway-nslookup-host host))
+  (string-match (concat (regexp-quote dom) "$") host))
+
+(defun dnsResolve (host)
+  (url-gateway-nslookup-host host))
+
+(defun isResolvable (host)
+  (if (string-match "^[0-9.]+$" host)
+      t
+    (not (string= host (url-gateway-nslookup-host host)))))
+
+(defun isInNet (ip net mask)
+  (let ((netc (split-string ip "\\."))
+	(ipc  (split-string net "\\."))
+	(maskc (split-string mask "\\.")))
+    (if (or (/= (length netc) (length ipc))
+	    (/= (length ipc) (length maskc)))
+	nil
+      (setq netc (mapcar 'string-to-int netc)
+	    ipc (mapcar 'string-to-int ipc)
+	    maskc (mapcar 'string-to-int maskc))
+      (and
+       (= (logand (nth 0 netc) (nth 0 maskc))
+	  (logand (nth 0 ipc)  (nth 0 maskc)))
+       (= (logand (nth 1 netc) (nth 1 maskc))
+	  (logand (nth 1 ipc)  (nth 1 maskc)))
+       (= (logand (nth 2 netc) (nth 2 maskc))
+	  (logand (nth 2 ipc)  (nth 2 maskc)))