diff lisp/prim/about.el @ 155:43dd3413c7c7 r20-3b4

Import from CVS: tag r20-3b4
author cvs
date Mon, 13 Aug 2007 09:39:39 +0200
parents 25f70ba0133c
children 6b37e6ddd302
line wrap: on
line diff
--- a/lisp/prim/about.el	Mon Aug 13 09:38:27 2007 +0200
+++ b/lisp/prim/about.el	Mon Aug 13 09:39:39 2007 +0200
@@ -1,7 +1,10 @@
 ;;; about.el --- the About The Authors page (shameless self promotion).
-;;;
+
+;; Copyright (c) 1997 Free Software Foundation, Inc.
 
-;; Copyright (c) 1995, 1996, 1997 XEmacs Advocacy Organization.
+;; Keywords: extensions
+;; Version: 2.2
+;; Maintainer: Hrvoje Niksic <hniksic@srce.hr>
 
 ;; This file is part of XEmacs.
 
@@ -22,1387 +25,1202 @@
 
 ;;; Synched up with: Not in FSF.
 
-;;; This is kind of a kludge.  We were going to use W3 to do this, but
-;;; it's too slow to load, and HTML gives you too little control over
-;;; the layout (especially indentation and inter-paragraph spacing).
-;;; Maybe the text should have been written in limited HTML anyway,
-;;; and I should have hacked up a simple and fast parser for it, but
-;;; it's done now...
-;;;
-;;; Code: Jamie Zawinski <jwz@netscape.com>
-;;; Text: Ben Wing <wing@666.com>, Jamie Zawinski <jwz@netscape.com>
-;;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
-;;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
-;;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
-;;;		      and Chuck Thompson <cthomp@xemacs.org>
-;;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
-;;; 19.13 and 19.14 updating done by Chuck Thompson.
-;;; 19.15 and 20.0 updating done by Steve Baur and Martin Buchholz.
+;; Original code: Jamie Zawinski <jwz@netscape.com>
+;; Text: Ben Wing <wing@666.com>, Jamie Zawinski <jwz@netscape.com>
+;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
+;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
+;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
+;;		      and Chuck Thompson <cthomp@xemacs.org>
+;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
+;; 19.13 and 19.14 updating done by Chuck Thompson.
+;; 19.15 and 20.0 updating done by Steve Baur and Martin Buchholz.
+
+;; Completely rewritten for 20.3 by Hrvoje Niksic <hniksic@srce.hr>.
+;; The original had no version numbers; I numbered the rewrite as 2.0.
+
+;; Many things in this file are to gag.  Ideally, we should just use
+;; HTML (or some other extension, e.g. info) for this sort of thing.
+;; However, W3 loads too long and is too large to be dumped with
+;; XEmacs.
+
+;; If you think this is ugly now -- o boy, you should have seen it
+;; before.
+
+(require 'wid-edit)
 
-(require 'browse-url)
-(require 'view-less)
+;; People in this list have their individual links from the main page,
+;; or from the `Legion' page.  If they have an image, it should be
+;; named after the CAR of the list element (baw -> baw.xpm).
+;;
+;; If you add to this list, you'll want to update
+;; `about-maintainer-info' (and maybe `about-hackers'.
+(defvar xemacs-hackers
+  '((ajc      "Andrew Cosgriff"   "ajc@bing.wattle.id.au")
+    (baw      "Barry Warsaw"      "bwarsaw@python.org")
+    (bw       "Bob Weiner"        "weiner@altrasoft.com")
+    (cthomp   "Chuck Thompson"    "cthomp@xemacs.org")
+    (dmoore   "David Moore"       "dmoore@ucsd.edu")
+    (hniksic  "Hrvoje Niksic"     "hniksic@srce.hr")
+    (jareth   "Jareth Hein"       "jhod@po.iijnet.or.jp")
+    (jens     "Jens Lautenbacher" "jens@lemcbed.lem.uni-karlsruhe.de")
+    (jwz      "Jamie Zawinski"    "jwz@netscape.com")
+    (kyle     "Kyle Jones"        "kyle_jones@wonderworks.com")
+    (larsi    "Lars Magne Ingebrigtsen" "larsi@gnus.org")
+    (mly      "Richard Mlynarik"  "mly@adoc.xerox.com")
+    (morioka  "MORIOKA Tomohiko"  "morioka@jaist.ac.jp")
+    (mrb      "Martin Buchholz"   "mrb@sun.eng.com")
+    (piper    "Andy Piper"        "andy@parallax.co.uk")
+    (shelton  "Vin Shelton"	  "acs@acm.org")
+    (sperber  "Michael Sperber"   "sperber@informatik.uni-tuebingen.de")
+    (steve    "Steve Baur"        "steve@xemacs.org")
+    (stig     "Jonathan Stigelman" "stig@hackvan.com")
+    (thiessel "Marcus Thiessel"   "thiessel@rhrk.uni-kl.de")
+    (vladimir "Vladimir Ivanovic" "vladimir@mri.com")
+    (wing     "Ben Wing"          "wing@xemacs.org")
+    (wmperry  "William Perry"     "wmperry@aventail.com"))
+  "Alist of XEmacs hackers.")
+
+;; The CAR of alist elements is a valid argument to `about-url-link'.
+;; It is preferred to a simple string, because it makes maintenance
+;; easier.  Please add new URLs to this list.
+(defvar about-url-alist
+  '((ajc       . "http://www-personal.monash.edu.au/~ajc/")
+    (altrasoft . "http://www.altrasoft.com/")
+    (baw       . "http://www.python.org/~bwarsaw/")
+    (cc-mode   . "http://www.python.org/ftp/emacs/")
+    (dmoore    . "http://oj.egbt.org/dmoore/")
+    (jwz       . "http://www.netscape.com/people/jwz/")
+    (kyle      . "http://www.wonderworks.com/kyle/")
+    (larsi     . "http://www.ifi.uio.no/~larsi/")
+    (shelton   . "http://www.upa.org/")
+    (steve     . "http://www.miranova.com/~steve/")
+    (wget      . "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/")
+    (xemacs    . "http://www.xemacs.org/"))
+  "Some of the more important URLs.")
+
+(defvar about-left-margin 3)
 
-(defvar about-xref-map (let ((map (make-sparse-keymap)))
-			 (define-key map 'button1 'about-xemacs-xref)
-			 (define-key map 'button2 'about-xemacs-xref)
-			 (define-key map '(return) 'about-xemacs-xref)
-			 map))
+;; Insert a URL link to the buffer.
+(defun about-url-link (what &optional echo)
+  (or (stringp what)
+      (setq what (cdr (assq what about-url-alist))))
+  (assert what)
+  (let ((widget-link-prefix "") (widget-link-suffix ""))
+    (widget-create 'url-link
+		   :help-echo echo
+		   what)))
 
-;; This historically significant variable has been removed from service.
-(defvar what-are-we-calling-it-today "XEmacs")
+;; Attach a face to a string, in order to be inserted into the buffer.
+;; Make sure that the extent is duplicable, but unique.  Returns the
+;; string.
+(defun about-with-face (string face)
+  (let ((ext (make-extent 0 (length string) string)))
+    (set-extent-property ext 'duplicable t)
+    (set-extent-property ext 'unique t)
+    (set-extent-property ext 'start-open t)
+    (set-extent-property ext 'end-open t)
+    (set-extent-face ext face))
+  string)
+
+;; Switch to buffer NAME.  If it doesn't exist, make it and switch to it.
+(defun about-get-buffer (name)
+  (cond ((get-buffer name)
+	 (switch-to-buffer name)
+	 (delete-other-windows)
+	 (goto-char (point-min))
+	 name)
+	(t
+	 (switch-to-buffer name)
+	 (delete-other-windows)
+	 (buffer-disable-undo)
+	 (set-specifier left-margin-width about-left-margin (current-buffer))
+	 nil)))
 
-(defun about-face (text face)
-  (let ((p (point))
-	e)
-    (insert text)
-    (setq e (make-extent p (point)))
-    ;;(set-extent-property e 'start-open t)
-    (set-extent-face e face)
-    e))
+;; Set up the stuff needed by widget.  Allowed types are `bury' and
+;; `kill'.
+(defun about-finish-buffer (&optional type)
+  (or type (setq type 'bury))
+  (widget-insert "\n")
+  (if (eq type 'bury)
+      (widget-create 'link :help-echo "Bury buffer"
+		     :action (lambda (&rest ignore)
+			       (bury-buffer))
+		     "Remove")
+    (widget-create 'link :help-echo "Kill buffer"
+		   :action (lambda (&rest ignore)
+			     (bury-buffer))
+		   "Kill"))
+  (widget-insert " this buffer.\n")
+  (use-local-map (let ((map (make-sparse-keymap)))
+		   (set-keymap-parent map widget-keymap)
+		   map))
+  (if (eq type 'bury)
+      (progn
+	(local-set-key "q" 'bury-buffer)
+	(local-set-key "l" 'bury-buffer))
+    (let ((dispose (lambda () (interactive) (kill-buffer (current-buffer)))))
+      (local-set-key "q" dispose)
+      (local-set-key "l" dispose)))
+  (local-set-key " " 'scroll-up)
+  (local-set-key "\177" 'scroll-down)
+  (widget-setup)
+  (goto-char (point-min))
+  (toggle-read-only 1)
+  (set-buffer-modified-p nil))
 
-(defun about-xref (text xref help)
-  (let ((e (about-face text 'bold)))
-    (set-extent-property e 'keymap about-xref-map)
-    (set-extent-property e 'mouse-face 'highlight)
-    (set-extent-property e 'xref xref)
-    (set-extent-property e 'help-echo help)
-    e))
+;; Make the appropriate number of spaces.
+(defun about-center (string-or-glyph)
+  (let ((n (- (startup-center-spaces string-or-glyph) about-left-margin)))
+    (make-string (if (natnump n) n 0) ?\ )))
+
+;; Main entry page.
 
 ;;;###autoload
 (defun about-xemacs ()
+  "Describe the True Editor and its minions."
   (interactive)
-  (switch-to-buffer (get-buffer-create "About XEmacs"))
-  (delete-other-windows)
-  (buffer-disable-undo (current-buffer))
-  (widen)
-  (set (make-local-variable 'tab-width) 8)
-  (setq buffer-read-only t)
-  (view-mode nil 'kill-buffer)		;; assume the new view-less
-  (let* ((buffer-read-only nil)
-         (emacs-short-version (concat emacs-major-version "." emacs-minor-version))
-         (emacs-about-version (format "version %s; May 1997" emacs-short-version))
-	 (indent-tabs-mode t)
-	 )
-    (erase-buffer)
-    (insert "\n")
-    (indent-to (startup-center-spaces xemacs-logo))
-    (let ((e (make-extent (point) (point))))
-      (set-extent-begin-glyph e xemacs-logo))
-    (insert "\n\n")
-    (indent-to (startup-center-spaces "(formerly known as Lucid Emacs)"))
-    (insert "(formerly known as Lucid Emacs)")
-    (insert "\n\n")
-    (indent-to (startup-center-spaces emacs-about-version))
-    (about-xref emacs-about-version 'news "The latest NEWS of XEmacs")
-    (insert "\n\n")
-
-    (insert "\n\t")
-    (about-face "XEmacs" 'italic)
-    (insert " is a powerful, extensible text editor with full GUI
-	support, initially based on an early version of GNU Emacs 19 from
-	the Free Software Foundation and since kept up to date with recent
-	versions of that product.  XEmacs stems from a ")
-    (about-xref "collaboration" 'history "An XEmacs History Lesson")
-    (insert "\n\tof Lucid, Inc. with Sun Microsystems, Inc. and the University
-	of Illinois with additional support having been provided by
-	Amdahl Corporation, INS Engineering Corporation, and a huge amount of
-	volunteer effort.\n\n\t")
+  (unless (about-get-buffer "*About XEmacs*")
+    (widget-insert (about-center xemacs-logo))
+    (widget-create 'default :format "%t" :tag-glyph xemacs-logo)
+    (widget-insert "\n")
+    (let* ((emacs-short-version (concat emacs-major-version
+					"." emacs-minor-version))
+	   (emacs-about-version (format "version %s; May 1997"
+					emacs-short-version)))
+      (widget-insert (about-center emacs-about-version))
+      (widget-create 'link :help-echo "The latest NEWS of XEmacs"
+		     :action 'about-news
+		     emacs-about-version))
 
-	(insert "In most circumstances, Emacs-Lisp code written for
-	GNU Emacs versions 18 and 19 will run under XEmacs without
-	requiring any modifications, or at most will require small
-	changes to accommodate a different and usually improved
-	functional interface.\n\n\t")
-
-    (insert "XEmacs provides a great number of ")
-    (about-xref "new features" 'features "See a list of the new features.")
-    (insert " not found in GNU Emacs.
-	More details on XEmacs's functionality, including bundled packages,
- 	can be obtained through the ")
-
-    (about-xref "`info`" 'info "Look at the info pages")
-    (insert " on-line information system.
-
-	The Web page for XEmacs can be browsed, using any Web browser, at\n\t\t")
-    (about-xref "http://www.xemacs.org/" 'w3-xemacs "Go to the XEmacs World Wide Web page")
-    (insert "\n\n\tNote that w3 (XEmacs's own browser), might need customization
-	(due to firewalls) in order to work correctly.\n\n\t")
+    (widget-insert
+     "\n\n"
+     (about-with-face "XEmacs" 'italic)
+     " (formerly known as "
+     (about-with-face "Lucid Emacs" 'italic)
+     ") is a powerful, extensible text
+editor with full GUI support, initially based on an early version of\n"
+     (about-with-face "GNU Emacs 19" 'italic)
+     " from the Free Software Foundation and since kept up to
+date with recent versions of that product.  XEmacs stems from a\n")
+    (widget-create 'link :help-echo "An XEmacs history lesson"
+		   :action 'about-collaboration
+		   "collaboration")
+    (widget-insert
+     " of Lucid, Inc. with Sun Microsystems, Inc. and the
+University of Illinois with additional support having been provided by
+Amdahl Corporation, INS Engineering Corporation, and a huge amount of
+volunteer effort.
 
-    (insert "XEmacs is the result of the time and effort of many people.
-	The developers responsible for the " emacs-short-version " release are:
-
-		 * ") (about-xref "Steve Baur" 'steve "Find out more about Steve Baur") (insert "  <steve@altair.xemacs.org>
-		 * ") (about-xref "Martin Buchholz" 'mrb "Find out more about Martin Buchholz") (insert "  <mrb@xemacs.org>
-		 * ") (about-xref "Hrvoje Niksic" 'hrvoje "Find out more about Hrvoje Niksic") (insert "  <hrvoje@srce.hr>
-		 * ") (about-xref "Chuck Thompson" 'cthomp "Find out more about Chuck Thompson") (insert "  <cthomp@xemacs.org>
-		 * ") (about-xref "Ben Wing" 'wing "Find out more about Ben Wing") (insert "  <wing@xemacs.org>
+XEmacs provides a great number of ")
+    (widget-create 'link :help-echo "See a list of the new features"
+		   :action 'about-features
+		   "new features")
+    (widget-insert ".  More details on
+XEmacs's functionality, including bundled packages, can be obtained
+through the ")
+    (widget-create 'info-link :help-echo "Browse the info system"
+		   :tag "info"
+		   "(dir)")
 
-		 * ") (about-xref "And many other contributors..." 'others "Read about the legion of XEmacs hackers") (insert "
+    (widget-insert
+     " on-line information system.\n
+The XEmacs web page can be browsed, using any WWW browser at\n
+\t\t    ")
+    (about-url-link 'xemacs "Visit XEmacs WWW page")
+    (widget-insert "\n
+Note that W3 (XEmacs's own browser), might need customization (due to
+firewalls) in order to work correctly.
 
-	Chuck Thompson and Ben Wing were co-maintainers of XEmacs from 19.11 through 19.14.
-	Chuck Thompson was responsible for putting out the releases,
-	rewriting the redisplay engine and acting as keeper of the source code base.
-	Ben Wing did most of the rest of the coding, including adding the Mule support
-	and rewriting much of the internal C code.
-
-	Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10,
-	the last release actually named Lucid Emacs.
+XEmacs is the result of the time and effort of many people.  The
+developers responsible for the 20.3 release are:\n\n")
 
-	19.8 contained a great number of significant changes.
-	These included a new lisp object system, rewritten minibuffer
-	and command loop code, and a great deal of code merging with the
-	newly released GNU Emacs 19 (all done by Richard Mlynarik);
-	and also the replacement of the previous redisplay mechanism with
-	the more powerful Epoch redisplay mechanism (done by Chuck Thompson).
-
-	19.9 contained two significant feature additions from Chuck Thompson:
-	scrollbars and configure support, and one from Ben Wing, the external widget support.
-
-	19.10 contained a number of contributions from Chuck Thompson and Ben Wing.
-
-		 * ") (about-xref "Jamie Zawinski" 'jwz "Find out more about Jamie Zawinski") (insert "  <jwz@netscape.com>
-		 * ") (about-xref "Richard Mlynarik" 'mly "Find out more about Richard Mlynarik")  (insert "  <mly@adoc.xerox.com>")
-   (insert "\n\n\tClick ")
-   (about-xref "here" 'kill-buffer "Exit the About page")
-   (insert " to remove (kill) this buffer.")
-   (goto-char (point-min)))
-  )
-
-(defun about-load-mosaic (&optional who-to-load)
-  (save-excursion
-    (set-buffer (get-buffer-create "About XEmacs"))
-    (toggle-read-only 0)
+    (flet ((setup-person (who)
+	    (widget-insert "\t* ")
+	    (let* ((widget-link-prefix "") (widget-link-suffix "")
+		   (entry (assq who xemacs-hackers))
+		   (name (cadr entry))
+		   (address (caddr entry)))
+	      (widget-create 'link
+			     :help-echo (concat "Find out more about " name)
+			     :action 'about-maintainer
+			     :tag name
+			     :value who)
+	      (widget-insert (format "  <%s>\n" address)))))
+      ;; Setup persons responsible for this release.
+      (mapc 'setup-person '(steve mrb hniksic))
+      (widget-insert "\n\t* ")
+      (let ((widget-link-prefix "") (widget-link-suffix ""))
+	(widget-create 'link :help-echo "A legion of XEmacs hackers"
+		       :action 'about-hackers
+		       "And many other contributors..."))
+      (widget-insert "\n
+Chuck Thompson was Mr. XEmacs from 19.11 through 19.14.  Ben Wing was
+crucial to each of these releases.\n\n")
+      (setup-person 'cthomp)
+      (setup-person 'wing)
+      (widget-insert "
+Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the last
+release actually named Lucid Emacs.  A lot of work has been done by
+Richard Mlynarik.\n\n")
+      (setup-person 'jwz)
+      (setup-person 'mly))
+    (about-finish-buffer)))
 
-    (let ((rest (if who-to-load (list who-to-load)
-		  '(steve mrb cthomp wing stig jwz mly vladimir baw piper bw wmperry kyle larsi jens jareth morioka dmoore)))
-	  (got-error nil))
-      (while rest
-	(let* ((who (car rest))
-	       (who-xpm (expand-file-name
-			 (concat (symbol-name who)
-				 (if (memq (device-class (selected-device))
-					   '(color grayscale))
-				     ""
-				   "m")
-				 ".xpm")
-			 data-directory)))
-	  (or (file-exists-p who-xpm) (setq who-xpm (concat who-xpm ".Z")))
-	  (if (eq nil (assoc who (buffer-local-variables)))
-	      (make-local-variable who))
-	  (if (and (boundp who)
-		   (glyphp (symbol-value who)))
-	      nil
-	    (message "One moment please...")
-	    (condition-case c
-		(save-restriction
-		  (set who nil)
-		  (narrow-to-region (point) (point))
-		  (let ((coding-system-for-read 'binary))
-		    (insert-file-contents who-xpm))
-		  (if (looking-at "\037\235") ;may already be decompressed...
-		      (let ((coding-system-for-read 'binary)
-			    (coding-system-for-write 'binary))
-			(call-process-region (point-min) (point-max)
-					     "zcat" t t nil)))
-		  (set who (make-glyph
-			    (prog1 (buffer-string)
-			      (delete-region (point-min) (point-max)))))
-		  )
-	      (error
-	       (setq got-error t)
-	       (message nil)
-	       (display-error c nil)
-	       (sit-for 2)))))
-	(setq rest (cdr rest)))
-      (or got-error (message nil)))
-    (toggle-read-only 1)
-    ))
+;; View news
+(defun about-news (&rest ignore)
+  (view-emacs-news))
 
-(defun about-add-mosaic ()
-  (goto-char (point-min))
-  (about-load-mosaic)
+(defun about-collaboration (&rest ignore)
+  (unless (about-get-buffer "*About Collaboration*")
+    (let ((title "Why Another Version of Emacs"))
+      (widget-insert
+       "\n"
+       (about-center title)
+       (about-with-face title 'bold)))
+    (widget-insert
+     "\n\n"
+     (about-with-face "The Lucid, Inc. Point of View"
+		      'italic)
+     " (quite outdated)\n
+At the time of the inception of Lucid Emacs (the former name of
+XEmacs), Lucid's latest product was Energize, a C/C++ development
+environment.  Rather than invent (and force our users to learn) a new
+user interface, we chose to build part of our environment on top of
+the world's best editor, GNU Emacs.  (Though our product is
+commercial, the work we did on GNU Emacs is free software, and is
+useful in its own right.)
 
-  ;; HERE TO PLACE ADDITIONAL MUGSHOTS
-)
+We needed a version of Emacs with mouse-sensitive regions, multiple
+fonts, the ability to mark sections of a buffer as read-only, the
+ability to detect which parts of a buffer have been modified, and many
+other features.
 
-;; This is losing badly to a redisplay glitch, and it doesn't scale up.
-
-;  (goto-char (point-max))
-;  (insert "\n   ")
+For our purposes, the existing version of Epoch was not sufficient; it
+did not allow us to put arbitrary pixmaps/icons in buffers, `undo' did
+not restore changes to regions, regions did not overlap and merge
+their attributes in the way we needed, and several other things.
 
-;  (let ((rest '(steve mrb cthomp wing stig linebreak jwz mly vladimir linebreak baw piper bw linebreak wmperry kyle larsi jens))
-;	(got-error nil))
-;    (while rest
-;      (if (eq (car rest) 'linebreak)
-;	  (insert "\n\n  ")
-;	(let* ((who (car rest))
-;	       (b (get-buffer "About XEmacs"))
-;	       (p (symbol-value-in-buffer who b nil)))
-;	  (or (glyphp p) (setq p nil))
-;	  (and p
-;	       (let ((e (make-extent (point) (point))))
-;		 (set-extent-begin-glyph e p)
-;		 (set-extent-property e 'keymap about-xref-map)
-;		 (set-extent-property e 'xref who)))
-;	  (insert " ")
-;	  (sit-for 0)))
-;      (setq rest (cdr rest)))
-;    (insert "\n")
-;    (goto-char (point-min))
-;    (or got-error (message nil)))
-;  )
+We could have devoted our time to making Epoch do what we needed (and,
+in fact, we spent some time doing that in 1990) but, since the FSF
+planned to include Epoch-like features in their version 19, we decided
+that our efforts would be better spent improving Emacs 19 instead of
+Epoch.
+
+Our original hope was that our changes to Emacs would be incorporated
+into the \"official\" v19.  However, scheduling conflicts arose, and
+we found that, given the amount of work still remaining to be done, we
+didn't have the time or manpower to do the level of coordination that
+would be necessary to get our changes accepted by the FSF.
+Consequently, we released our work as a forked branch of Emacs,
+instead of delaying any longer.
+
+Roughly a year after Lucid Emacs 19.0 was released, a beta version of
+the FSF branch of Emacs 19 was released.  The FSF version is better in
+some areas, and worse in others, as reflects the differing focus of
+our development efforts.
+
+We plan to continue developing and supporting Lucid Emacs, and merging
+in bug fixes and new features from the FSF branch as appropriate; we
+do not plan to discard any of the functionality that we implemented
+which RMS has chosen not to include in his version.
+
+Certain elements of Lucid Emacs, or derivatives of them, have been
+ported to the FSF version.  We have not been doing work in this
+direction, because we feel that Lucid Emacs has a cleaner and more
+extensible substrate, and that any kind of merger between the two
+branches would be far easier by merging the FSF changes into our
+version than the other way around.
+
+We have been working closely with the Epoch developers to merge in the
+remaining Epoch functionality which Lucid Emacs does not yet have.
+Epoch and Lucid Emacs will soon be one and the same thing.  Work is
+being done on a compatibility package which will allow Epoch 4 code to
+run in XEmacs with little or no change.\n\n"
+     (about-with-face "The Sun Microsystems, Inc. Point of View"
+		      'italic)
+     "\n
+Emacs 18 has been around for a long, long time.  Version 19 was
+supposed to be the successor to v18 with X support.  It was going to
+be available \"real soon\" for a long time (some people remember
+hearing about v19 as early as 1984!), but it never came out.  v19
+development was going very, very slowly, and from the outside it
+seemed that it was not moving at all.  In the meantime other people
+gave up waiting for v19 and decided to build their own X-aware
+Emacsen.  The most important of these was probably Epoch, which came
+from the University of Illinois (\"UofI\") and was based on v18.
+
+Around 1990, the Developer Products group within Sun Microsystems
+Inc., decided that it wanted an integrated editor.  (This group is now
+known as DevPro.  It used to be known as SunPro - the name was changed
+in mid-1994.)  They contracted with the University of Illinois to
+provide a number of basic enhancements to the functionality in Epoch.
+UofI initially was planning to deliver this on top of Epoch code.
+
+In the meantime, (actually some time before they talked with UofI)
+Lucid had decided that it also wanted to provide an integrated
+environment with an integrated editor.  Lucid decided that the Version
+19 base was a better one than Version 18 and thus decided not to use
+Epoch but instead to work with Richard Stallman, the head of the Free
+Software Foundation and principal author of Emacs, on getting v19 out.
+At some point Stallman and Lucid parted ways.  Lucid kept working and
+got a v19 out that they called Lucid Emacs 19.
 
-(defun about-xemacs-xref ()
-  (interactive "@")
-  (let* ((e (or current-mouse-event last-input-event))
-	 (extent (or (and (null e) (extent-at (point)))
-		     (and (mouse-event-p e) (event-glyph-extent e))
- 		     (extent-at (if (mouse-event-p e)
-				    (event-point e)
-				  (point))
-				(if (mouse-event-p e)
-				    (event-buffer e)
-				  (current-buffer))
-				'xref)))
-	 (xref (extent-property extent 'xref))
-	 prev-page)
-    ;; prev-page is used for the core people's pages since they can be
-    ;; reached from two different locations
-    (if (equal (buffer-name) "About XEmacs")
-	(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))
-	  (progn
-	    (kill-buffer (current-buffer))
-	    (setq prev-page 'others))))
-    (cond
-     ((eq xref 'about)
-      (about-xemacs))
-     ((eq xref 'info)
-      (info))
-     ((or (eq xref 'w3-xemacs) (eq xref 'w3-jamie))
-      (funcall browse-url-browser-function
-	       (if (eq xref 'w3-xemacs)
-		   "http://www.xemacs.org/"
-		 "http://www.netscape.com/people/jwz/")))
-     ((eq xref 'kill-buffer)
-      (kill-buffer (current-buffer)))
-     ((eq xref 'news)
-      (view-emacs-news)
-      (view-mode nil 'kill-buffer)		;; assume the new view-less
-      (save-excursion
-	(goto-char (point-min))
-	(let ((buffer-read-only nil))
-	  (insert "\nClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n\n")
-	  (set-buffer-modified-p nil)
-	  )))
-     (t
-      (switch-to-buffer
-       (get-buffer-create
-	(case xref
-	  ('jwz "About Jamie Zawinski")
-	  ('cthomp "About Chuck Thompson")
-	  ('wing "About Ben Wing")
-	  ('mly "About Richard Mlynarik")
-	  ('vladimir "About Vladimir Ivanovic")
-	  ('baw "About Barry Warsaw")
-	  ('wmperry "About William Perry")
-	  ('bw "About Bob Weiner")
-	  ('piper "About Andy Piper")
-	  ('stig "About Jonathan Stigelman")
-	  ('steve "About Steve Baur")
-	  ('mrb "About Martin Buchholz")
-	  ('hrvoje "About Hrvoje Niksic")
-	  ('kyle "About Kyle Jones")
-	  ('larsi "About Lars Magne Ingebrigtsen")
-	  ('jens "About Jens Lautenbacher")
-	  ('jareth "About Jareth Hein")
-	  ('morioka "About MORIOKA Tomohiko")
-	  ('dmoore "About David Moore")
-	  ('thiessel "About Marcus Thiessel")
-	  ('sperber "About Michael Sperber")
-	  ('ajc "About Andrew Cosgriff")
-	  ('others "About Everyone")
-	  ('features "New XEmacs Features")
-	  ('history "XEmacs History")
-	  )))
-      (delete-other-windows)
-      (buffer-disable-undo (current-buffer))
-      (widen)
-      (setq buffer-read-only t)
-      (view-mode nil 'kill-buffer)		;; assume the new view-less
-      (let ((buffer-read-only nil)
-	    (case-fold-search nil)
-	    )
-	(if (and (not (eq xref 'others)) (not (eq xref 'history))
-		 (not (eq xref 'features)))
-	    (about-load-mosaic xref))
-	(erase-buffer)
-	(let* ((b (get-buffer "About XEmacs"))
-	       (p (and b (symbol-value-in-buffer xref b nil))))
-	  (or (glyphp p) (setq p nil))
-	  (cond (p
-		 (insert "\n\t")
-		 (set-extent-begin-glyph (make-extent (point) (point)) p)
-		 (insert "\n\t"))
-		(t
-		 (insert "\n\t"))))
-	(cond
-	 ((eq xref 'history)
-	  (insert "Click ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n\n\t")
+After Lucid's v19 came out it became clear to us (the UofI and Sun)
+that the right thing to do was to push for an integration of both
+Lucid Emacs and Epoch, and to get the deliverables that Sun was asking
+from the University of Illinois on top of this integrated platform.
+Until 1994, Sun and Lucid both actively supported XEmacs as part of
+their product suite and invested a comparable amount of effort into
+it.  Substantial portions of the current code have originated under
+the support of Sun, either directly within Sun, or at UofI but paid
+for by Sun.  This code was kept away from Lucid for a while, but later
+was made available to them.  Initially Lucid didn't know that Sun was
+supporting UofI, but later Sun was open about it.
+
+Around 1992 DevPro-originated code started showing up in Lucid Emacs,
+starting with the infusion of the Epoch redisplay code.  The separate
+code bases at Lucid, Sun, and the University of Illinois were merged,
+allowing a single XEmacs to evolve from that point on.
+
+Sun originally called the integrated product ERA, for \"Emacs
+Rewritten Again\".  SunPro and Lucid eventually came to an agreement
+to find a name for the product that was not specific to either
+company.  An additional constraint that Lucid placed on the name was
+that it must contain the word \"Emacs\" in it -- thus \"ERA\" was not
+acceptable.  The tentatively agreed-upon name was \"XEmacs\", and this
+has been the name of the program since version 19.11.)
 
-	  (about-face "XEmacs" 'bold)
-	  (insert "\n\n\n\t")
-	  (about-face "The Lucid, Inc. Point of View" 'italic)
-	  (insert "
-
-	At the time of the inception of Lucid Emacs (the former name
-	of XEmacs), Lucid's latest product was Energize, a C/C++
-	development environment.  Rather than invent (and force our
-	users to learn) a new user interface, we chose to build part
-	of our environment on top of the world's best editor, GNU
-	Emacs.  (Though our product is commercial, the work we did on
-	GNU Emacs is free software, and is useful in its own right.)
-
-	We needed a version of Emacs with mouse-sensitive regions,
-	multiple fonts, the ability to mark sections of a buffer as
-	read-only, the ability to detect which parts of a buffer have
-	been modified, and many other features.
+As of 1997, Sun is shipping XEmacs as part of its Developer Products
+integrated programming environment \"Sun WorkShop\".  Sun is
+continuing to support XEmacs development, with focus on
+internationalization and quality improvement.\n\n"
+     (about-with-face "Lucid goes under" 'italic)
+     "\n
+Around mid-'94, Lucid went out of business.  Lucid founder Richard
+Gabriel's book \"Patterns of Software\", which is highly recommended
+reading in any case, documents the demise of Lucid and suggests
+lessons to be learned for the whole software development community.
 
-	For our purposes, the existing version of Epoch was not
-	sufficient; it did not allow us to put arbitrary pixmaps/icons
-	in buffers, `undo' did not restore changes to regions, regions
-	did not overlap and merge their attributes in the way we needed,
-	and several other things.
-
-	We could have devoted our time to making Epoch do what we needed
-	(and, in fact, we spent some time doing that in 1990) but, since
-	the FSF planned to include Epoch-like features in their version
-	19, we decided that our efforts would be better spent improving
-	Emacs 19 instead of Epoch.
+Development on XEmacs, however, has continued unabated under the
+auspices of Sun Microsystems and the University of Illinois, with help
+from Amdahl Corporation and INS Engineering Corporation.  Sun plans to
+continue to support XEmacs into the future.\n\n"
+     (about-with-face "The Amdahl Corporation point of view"
+		      'italic)
+     "\n
+Amdahl Corporation's Storage Products Group (SPG) uses XEmacs as the
+focal point of a environment for development of the microcode used in
+Amdahl's large-scale disk arrays, or DASD's.  SPG has joint ventures
+with Japanese companies, and decided in late 1994 to contract out for
+work on XEmacs in order to hasten the development of Mule support
+\(i.e. support for Japanese, Chinese, etc.) in XEmacs and as a gesture
+of goodwill towards the XEmacs community for all the work they have
+done on making a powerful, modern, freely available text editor.
+Through this contract, Amdahl provided a large amount of work in
+XEmacs in the form of rewriting the basic text-processing mechanisms
+to allow for Mule support and writing a large amount of the support
+for multiple devices.
 
-	Our original hope was that our changes to Emacs would be
-	incorporated into the \"official\" v19.  However, scheduling
-	conflicts arose, and we found that, given the amount of work
-	still remaining to be done, we didn't have the time or manpower
-	to do the level of coordination that would be necessary to get
-	our changes accepted by the FSF.  Consequently, we released our
-	work as a forked branch of Emacs, instead of delaying any
-	longer.
-
-	Roughly a year after Lucid Emacs 19.0 was released, a beta
-	version of the FSF branch of Emacs 19 was released.  The FSF
-	version is better in some areas, and worse in others, as
-	reflects the differing focus of our development efforts.
+Although Amdahl is no longer hiring a full-time contractor, they are
+still funding part-time work on XEmacs and providing resources for
+further XEmacs development.\n\n"
+     (about-with-face "The INS Engineering point of view"
+		      'italic)
+     "\n
+INS Engineering Corporation, based in Tokyo, bought rights to sell
+Energize when Lucid went out of business.  Unhappy with the
+performance of the Japanese support in XEmacs 19.11, INS also
+contributed to the XEmacs development from late 1994 to early
+1995.\n")
+    (about-finish-buffer)))
 
-	We plan to continue developing and supporting Lucid Emacs, and
-	merging in bug fixes and new features from the FSF branch as
-	appropriate; we do not plan to discard any of the functionality
-	that we implemented which RMS has chosen not to include in his
-	version.
-
-	Certain elements of Lucid Emacs, or derivatives of them, have
-	been ported to the FSF version.  We have not been doing work in
-	this direction, because we feel that Lucid Emacs has a cleaner
-	and more extensible substrate, and that any kind of merger
-	between the two branches would be far easier by merging the FSF
-	changes into our version than the other way around.
+(defun about-features (&rest ignore)
+  (unless (about-get-buffer "*About Features*")
+    (let ((title "New features in XEmacs"))
+      (widget-insert
+       "\n"
+       (about-center title)
+       (about-with-face title 'bold)))
+    (widget-insert
+     "\n
+* MULE (Multi-Lingual Emacs) support.  Simultaneous display of
+  multiple character sets is now possible.
 
-	We have been working closely with the Epoch developers to merge
-	in the remaining Epoch functionality which Lucid Emacs does not
-	yet have.  Epoch and Lucid Emacs will soon be one and the same
-	thing.  Work is being done on a compatibility package which will
-	allow Epoch 4 code to run in XEmacs with little or no change.")
+* Support for arbitrary pixmaps in a buffer.
 
-	  (insert "\n\n\n\t")
-	  (about-face "The Sun Microsystems, Inc. Point of View" 'italic)
-	  (insert "
+* A real toolbar.
+
+* Horizontal and vertical scrollbars in all windows.
 
-	Emacs 18 has been around for a long, long time.  Version 19
-	was supposed to be the successor to v18 with X support.  It
-	was going to be available \"real soon\" for a long time (some
-	people remember hearing about v19 as early as 1984!), but it
-	never came out.  v19 development was going very, very slowly,
-	and from the outside it seemed that it was not moving at all.
-	In the meantime other people gave up waiting for v19 and
-	decided to build their own X-aware Emacsen.  The most
-	important of these was probably Epoch, which came from the
-	University of Illinois (\"UofI\") and was based on v18.
+* Support for variable-width and variable height fonts.
+
+* Support for display on multiple simultaneous X and/or TTY devices.
+
+* Face support on TTY's, including color.
 
-	Around 1990, the Developer Products group within Sun
-	Microsystems Inc., decided that it wanted an integrated
-	editor.  (This group is now known as DevPro.  It used to be
-	known as SunPro - the name was changed in mid-1994.)  They
-	contracted with the University of Illinois to provide a number
-	of basic enhancements to the functionality in Epoch.  UofI
-	initially was planning to deliver this on top of Epoch code.
+* Support for overlapping regions (or extents) and efficient handling
+  of a large number of such extents in a single buffer.
 
-	In the meantime, (actually some time before they talked with
-	UofI) Lucid had decided that it also wanted to provide an
-	integrated environment with an integrated editor.  Lucid
-	decided that the Version 19 base was a better one than Version
-	18 and thus decided not to use Epoch but instead to work with
-	Richard Stallman, the head of the Free Software Foundation and
-	principal author of Emacs, on getting v19 out.  At some point
-	Stallman and Lucid parted ways.  Lucid kept working and got a
-	v19 out that they called Lucid Emacs 19.
+* Powerful, flexible control over the display characteristics of most
+  of the visual aspects of XEmacs through the use of specifiers, which
+  allow separate values to be specified for individual buffers,
+  windows, frames, devices, device classes, and device types.
+
+* A clean interface to the menubar, window-system events, and key
+  combinations.
 
-	After Lucid's v19 came out it became clear to us (the UofI and
-	Sun) that the right thing to do was to push for an integration
-	of both Lucid Emacs and Epoch, and to get the deliverables
-	that Sun was asking from the University of Illinois on top of
-	this integrated platform.  Until 1994, Sun and Lucid both
-	actively supported XEmacs as part of their product suite and
-	invested a comparable amount of effort into it.  Substantial
-	portions of the current code have originated under the support
-	of Sun, either directly within Sun, or at UofI but paid for by
-	Sun.  This code was kept away from Lucid for a while, but
-	later was made available to them.  Initially Lucid didn't know
-	that Sun was supporting UofI, but later Sun was open about it.
+* Proper integration with Xt and Motif (including Motif menubars and
+  scrollbars).  Motif look-alike menubars and scrollbars are provided
+  for those systems without real Motif support.
+
+* Text for complex languages can be entered using the XIM mechanism.
+
+* Localization of menubar text for the Japanese locale.
 
-	Around 1992 DevPro-originated code started showing up in Lucid
-	Emacs, starting with the infusion of the Epoch redisplay code.
-	The separate code bases at Lucid, Sun, and the University of
-	Illinois were merged, allowing a single XEmacs to evolve from
-	that point on.
+* Access to the ToolTalk API.
 
-	Sun originally called the integrated product \"ERA\", for
-	\"Emacs Rewritten Again\".  Sun and Lucid eventually came
-	to an agreement to find a name for the product that was not
-	specific to either company.  An additional constraint that
-	Lucid placed on the name was that it must contain the word
-	\"Emacs\" in it -- thus \"ERA\" was not acceptable.  The
-	tentatively agreed-upon name was \"XEmacs\", and this has been
-	the name of the program since version 19.11.)
+* Support for using XEmacs frames as Xt widgets.\n\n")
+    (about-finish-buffer)))
+
+(defvar about-glyphs nil
+  "Cached glyphs")
 
-	As of 1997, Sun is shipping XEmacs as part of its Developer
-	Products integrated programming environment \"Sun WorkShop\".
-	Sun is continuing to support XEmacs development, with focus on
-	internationalization and quality improvement.")
-
-	  (insert "\n\n\n\t")
-	  (about-face "Lucid goes under\n" 'italic)
-	  (insert "
-	Around mid-'94, Lucid went out of business.  Lucid founder
-	Richard Gabriel's book \"Patterns of Software\", which is
-	highly recommended reading in any case, documents the demise
-	of Lucid and suggests lessons to be learned for the whole
-	software development community.
-
-	Development on XEmacs, however, has continued unabated under
-	the auspices of Sun Microsystems and the University of
-	Illinois, with help from Amdahl Corporation and INS
-	Engineering Corporation.  Sun plans to continue to support
-	XEmacs into the future.")
-
-	  (insert "\n\n\n\t")
-	  (about-face "The Amdahl Corporation point of view" 'italic)
-	  (insert "
-
-	Amdahl Corporation's Storage Products Group (SPG) uses XEmacs
-	as the focal point of a environment for development of the
-	microcode used in Amdahl's large-scale disk arrays, or DASD's.
-	SPG has joint ventures with Japanese companies, and decided
-	in late 1994 to contract out for work on XEmacs in order
-	to hasten the development of Mule support (i.e. support for
-	Japanese, Chinese, etc.) in XEmacs and as a gesture of goodwill
-	towards the XEmacs community for all the work they have done
-	on making a powerful, modern, freely available text editor.
-	Through this contract, Amdahl provided a large amount of work
-	in XEmacs in the form of rewriting the basic text-processing
-	mechanisms to allow for Mule support and writing a large
-	amount of the support for multiple devices.
-	
-	Although Amdahl is no longer hiring a full-time contractor,
-	they are still funding part-time work on XEmacs and providing
-	resources for further XEmacs development.")
+;; Return a maintainer's glyph
+(defun about-maintainer-glyph (who)
+  (let ((glyph (cdr (assq who about-glyphs))))
+    (unless glyph
+      (let ((file (expand-file-name
+		   (concat (symbol-name who)
+			   (if (memq (device-class)
+				     '(color grayscale))
+			       "" "m")
+			   ".xpm")
+		   data-directory))
+	    (data nil))
+	(unless (file-exists-p file)
+	  ;; Maybe the file is compressed?
+	  (setq file (concat file ".Z"))
+	  (if (file-exists-p file)
+	      ;; Decompress it.
+	      (condition-case nil
+		  (let ((buffer (get-buffer-create " *image*")))
+		    (unwind-protect
+			(save-excursion
+			  (message "Uncompressing image...")
+			  (set-buffer buffer)
+			  (erase-buffer)
+			  (let ((coding-system-for-read 'binary)
+				(coding-system-for-write 'binary))
+			    (insert-file-contents file)
+			    (call-process-region (point-min) (point-max)
+						 "zcat" t t nil)
+			    (setq data
+				  (buffer-substring (point-min) (point-max))))
+			  (message "Uncompressing image... done"))
+		      (kill-buffer buffer)))
+		(error (setq data 'error)))
+	    (setq file nil)))
+	(setq glyph
+	      (cond ((stringp data)
+		     (make-glyph
+		      (list (vector 'xpm :data data)
+			    (vector 'string :data "[Image]"))))
+		    ((eq data 'error)
+		     (make-glyph [string :data "[Error]"]))
+		    (file
+		     (make-glyph
+		      (list (vector 'xpm :file file)
+			    (vector 'string :data "[Image]"))))
+		    (t
+		     (make-glyph [nothing]))))
+	(set-glyph-property glyph 'baseline 100)
+	;; Cache the glyph
+	(push (cons who glyph) about-glyphs)))
+    glyph))
 
-	  (insert "\n\n\n\t")
-	  (about-face "The INS Engineering point of view" 'italic)
-	  (insert "
-
-	INS Engineering Corporation, based in Tokyo, bought rights
-	to sell Energize when Lucid went out of business.  Unhappy
-	with the performance of the Japanese support in XEmacs 19.11,
-	INS also contributed to the XEmacs development from late 1994
-	to early 1995.")
+;; Insert info about a maintainer.  Add the maintainer-specific info
+;; here.
+(defun about-maintainer-info (entry)
+  (ecase (car entry)
+    (steve
+     (widget-insert "\
+Steve took over the maintenance of XEmacs in November of 1996 (it
+seemed like a good idea at the time ...).  In real life he is a
+network administrator and Unix systems programmer for Miranova
+Systems, Inc.
 
-	  (insert "\n\n\n\t")
-	  (insert "Click ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n\n\t")
-	  )
-	 ((eq xref 'jwz)
-	  (about-face "Jamie Zawinski" 'bold)
-	  (insert "\t\t\"")
-	  (about-face "So much to do, so little time." 'italic)
-	  (insert "\"\n")
-	  (insert "\n
-	Jamie Zawinski was primarily to blame for Lucid Emacs from its
-	inception in 1991, to 1994 when Lucid Inc. finally died.  He is
-	now to be found at Netscape Communications, hacking on Netscape
-	Navigator (he did the first Unix version and the mail reader).
-	Thankfully his extensive sleep deprivation experiments conducted
-	during 1994 and 1995 are now a thing of the past, but his
-	predilection for dark, Gothic music remains unabated.
+Steve's main contributions to XEmacs have been reviving the FAQ,
+testing and integrating patches, tracking down and fixing bugs, and
+answering hundreds of questions on Usenet.
 
-	Come visit his glorified .plan file at
-
-		")
-	  (about-xref "http://www.netscape.com/people/jwz/" 'w3-jamie "Visit Jamie'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")
-	  )
-	 ((eq xref 'steve)
-	  (about-face "Steve Baur" 'bold)
-	  (insert " <steve@altair.xemacs.org>
-
-	Steve took over the maintenance of XEmacs in November of 1996
-	(it seemed like a good idea at the time ...).  In real life he is a
-	network administrator and Unix systems programmer for Miranova
-	Systems, Inc.
+Steve has a home page at ")
+     (about-url-link 'steve "Visit Steve's home page")
+     (widget-insert ".\n"))
+    (mrb
+     (widget-insert "\
+Martin is the XEmacs guy at DevPro, a part of Sun Microsystems.
+Martin used to do XEmacs as a `hobby' while at IBM, and was crazy
+enough to try to make a living doing it at Sun.
 
-	Steve's main contributions to XEmacs have been reviving the FAQ,
-	testing and integrating patches, tracking down and fixing bugs, and
-	answering hundreds of questions on Usenet.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'mrb)
-	  (about-face "Martin Buchholz" 'bold)
-	  (insert " <mrb@eng.sun.com>
-
-	Martin is the XEmacs guy at DevPro, a part of Sun Microsystems.
-	Martin used to do XEmacs as a `hobby' while at IBM, and was
-	crazy enough to try to make a living doing it at Sun.
-
-	Martin starting using Emacs originally not to edit files, but
-	to get the benefit of shell mode. He actually used to run
-	nothing but a shell buffer, and use `xterm -e vi' to edit
-	files.  But then he saw the light.  He dreams of rewriting
-	shell mode from scratch.  Stderr should show up in red!!
-
-	Martin is currently working mostly on Internationalization.
-	He spends most of his waking hours inside a Japanized XEmacs.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'hrvoje)
-	  (about-face "Hrvoje Niksic" 'bold)
-	  (insert " <hniksic@srce.hr>
+Martin starting using Emacs originally not to edit files, but to get
+the benefit of shell mode. He actually used to run nothing but a shell
+buffer, and use `xterm -e vi' to edit files.  But then he saw the
+light.  He dreams of rewriting shell mode from scratch.  Stderr should
+show up in red!!
 
-	Hrvoje is currently a student at the Faculty of Electrical
-	Engineering and Computing in Zagreb, Croatia.  He works part-
-	time at SRCE, where he helps run the network machines.
-	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/\".")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'cthomp)
-	  (about-face "Chuck Thompson" 'bold)
-	  (insert " <cthomp@xemacs.org>
-
-	Chuck, through being in the wrong place at the right time, has
-	gotten stuck with being Jamie's replacement as the primary
-	maintainer of XEmacs.  This has caused his hair to begin
-	falling out and quadrupled his daily coffee dosage.  Though he
-	works at and for the University of Illinois his funding for
-	XEmacs work actually came from Sun Microsystems.
+Martin is currently working mostly on Internationalization.  He spends
+most of his waking hours inside a Japanized XEmacs.\n"))
+    (hniksic
+     (widget-insert "\
+Hrvoje is currently a student at the Faculty of Electrical
+Engineering and Computing in Zagreb, Croatia.  He works part-time
+at SRCE, where he helps run the network machines.  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 ")
+     (about-url-link 'wget "Download Wget")
+     (widget-insert ".\n"))
+    (wing
+     (widget-insert
+      "\
+I'm not a thug -- I just play one on video.
+My roommate says I'm a San Francisco \"Mission Critter\".\n\n"
+      (about-with-face "Gory stuff follows:" 'italic)
+      "\n
+In 1992 I left a stuffy East-Coast university, set out into the real
+world, and ended up a co-founder of Pearl Software.  As part of this
+company, I became the principal architect of Win-Emacs, a port of
+Lucid Emacs to Microsoft Windows and Windows NT (for more info, e-mail
+to info@pearlsoft.com).
 
-	He has worked on XEmacs since November 1992, which fact
-	occasionally gives him nightmares.  As of October 1995, he no
-	longer works full-time on XEmacs, though he does continue as
-	an active maintainer.  His main contributions have been the
-	greatly enhanced redisplay engine, scrollbar support, the
-	toolbars, configure support and numerous other minor features
-	and fixes.
-
-	Rumors that Chuck is aka Black Francis aka Frank Black are
-	completely unfounded.")
+Since April 1993, I've worked on XEmacs as a contractor for various
+companies, changing hats faster than Ronald Reagan's hair color (oops,
+did I just show my age?).  My main contributions to XEmacs include
+rewriting large parts of the internals and the gory Xt/Xlib
+interfacing, adding the Mule support, implementing the external client
+widget, improving the documentation (especially the Emacs Lisp
+manual), and being a general nuisance ... er, brainstormer for many of
+the new features of XEmacs.
 
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'wing)
-	  (about-face "Ben Wing" 'bold)
-	  (insert " <wing@666.com>
+Recently I took a job at Dimension X, where I'm working on a
+Java-based toolkit for developing VRML applications.\n"))
+    (cthomp
+     (widget-insert "\
+Chuck, through being in the wrong place at the right time, has gotten
+stuck with being Jamie's replacement as the primary maintainer of
+XEmacs.  This has caused his hair to begin falling out and quadrupled
+his daily coffee dosage.  Though he works at and for the University of
+Illinois his funding for XEmacs work actually came from Sun
+Microsystems.
 
-	I'm not a thug -- I just play one on video.
-	My roommate says I'm a San Francisco \"Mission Critter\".\n\n\t")
-	  (about-face "Gory stuff follows:" 'italic)
-	  (insert "
+He has worked on XEmacs since November 1992, which fact occasionally
+gives him nightmares.  As of October 1995, he no longer works
+full-time on XEmacs, though he does continue as an active maintainer.
+His main contributions have been the greatly enhanced redisplay
+engine, scrollbar support, the toolbars, configure support and
+numerous other features and fixes.
 
-	In 1992 I left a stuffy East-Coast university, set out into the
-	real world, and ended up a co-founder of Pearl Software.  As
-	part of this company, I became the principal architect of
-	Win-Emacs, a port of Lucid Emacs to Microsoft Windows and
-	Windows NT (for more info, e-mail to ")
-	  (about-face "info@pearlsoft.com" 'italic)
-	  (insert ").
-
-	Since April 1993, I've worked on XEmacs as a contractor
-	for various companies, changing hats faster than Ronald Reagan's
-	hair color (oops, did I just show my age?).  My main contributions
-	to XEmacs include rewriting large parts of the internals and the
-	gory Xt/Xlib interfacing, adding the Mule support, implementing
-	the external client widget, improving the documentation (especially
-	the Emacs Lisp manual), and being a general nuisance ... er,
-	brainstormer for many of the new features of XEmacs.
+Rumors that Chuck is aka Black Francis aka Frank Black are completely
+unfounded.\n"))
+    (jwz
+     (widget-insert
+      "\t"
+      (about-with-face "\"So much to do, so little time.\"" 'italic)
+      "\n
+Jamie Zawinski was primarily to blame for Lucid Emacs from its
+inception in 1991, to 1994 when Lucid Inc. finally died.  He is now to
+be found at Netscape Communications, hacking on Netscape Navigator (he
+did the first Unix version and the mail and new reader).  Thankfully
+his extensive sleep deprivation experiments conducted during 1994 and
+1995 are now a thing of the past, but his predilection for dark,
+Gothic music remains unabated.
 
-	Recently I took a job at Dimension X, where I'm working on a
-	Java-based toolkit for developing VRML applications.")
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'mly)
-	  (about-face "Richard Mlynarik" 'bold)
-	  (insert " <mly@adoc.xerox.com>
-
-	Cars are Evil.  Ride a bike.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'vladimir)
-	  (about-face "Vladimir Ivanovic" 'bold)
-	  (insert " <vladimir@mri.com>
-
-	Former technical lead for XEmacs at Sun.  He is now with
-	Microtec Research Inc., working on embedded systems
-	development tools.")
+Come visit his glorified .plan file at\n\n")
+     (about-url-link 'jwz "Visit Jamie's home page")
+     (widget-insert "\n"))
+    (mly
+     (widget-insert "Cars are evil.  Ride a bike.\n"))
+    (vladimir
+     (widget-insert "\
+Former technical lead for XEmacs at Sun.  He is now with Microtec
+Research Inc., working on embedded systems development tools.\n"))
+    (stig
+     (widget-insert "\
+Stig is sort of a tool fetishist.  He has a hate/love relationship
+with computers and he hacks on XEmacs because it's a good tool that
+makes computers somewhat less of a nuisance.  Besides XEmacs, Stig
+especially likes his Leatherman, his Makita, and his lockpicks.  Stig
+wants a MIG welder and air tools.
 
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'baw)
-	  (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\".
-
-	Daddy
-	© 1994 Warsaw
-	========
-	Drive me Daddy, drive me quick
-	Push my pedal, shift my stick
-	Fill me up with golden gas
-	My rubber squeals, I go real fast
+Stig likes to perch, hang from the ceiling, and climb on the walls.
+Stig has a cool van.  Stig would like to be able to telecommute from,
+say, the north rim of the Grand Canyon or the midst of Baja.\n"))
+    (baw
+     (widget-insert
+	"\
+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 utilities, fixes, enhancements and kludgery as whimsy, boredom,
+and ToT dictate (but not necessarily in that order).  See also:\n\n\t")
+     (about-url-link 'baw "Visit Barry's home page")
+     (widget-insert "\n\nand:\n\n\t")
+     (about-url-link 'cc-mode "Visit the CC Mode distribution")
+     (widget-insert "\n
+Daddy
+\(C) 1994 Warsaw
+===============
+Drive me Daddy, drive me quick
+Push my pedal, shift my stick
+Fill me up with golden gas
+My rubber squeals, I go real fast
 
-	Milk me Daddy, milk me now
-	Milk me like a big ol' cow
-	I've got milk inside my udder
-	Churn it up and make some butter")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'bw)
-	  (about-face "Bob Weiner" 'bold)
-	  (insert " <weiner@altrasoft.com>
-
-	Author of the Hyperbole everyday information management
-	hypertext system and the OO-Browser multi-language code
-	browser.  He also designed the Altrasoft integrated tool
-	framework for software engineers.  It runs atop XEmacs and is
-	available from his firm, Altrasoft, which offers custom
-	development and support packages for corporate users of XEmacs,
-	GNU Emacs and InfoDock.  See \"http://www.altrasoft.com\".
-	His interests include user interfaces, information management,
-	CASE tools, communications and enterprise integration.")
+Milk me Daddy, milk me now
+Milk me like a big ol' cow
+I've got milk inside my udder
+Churn it up and make some butter\n"))
+    (piper
+     (widget-insert "\
+Author of the original \"fake\" XEmacs toolbar, and outl-mouse for
+mouse gesture based outlining.  Accomplished kludge contributor.\n"))
+    (bw
+     (widget-insert "\
+Author of the Hyperbole everyday information management hypertext
+system and the OO-Browser multi-language code browser.  He also
+designed the Altrasoft integrated tool framework for software
+engineers.  It runs atop XEmacs and is available from his firm,
+Altrasoft, which offers distributions, custom development, support,
+and training packages for corporate users of XEmacs, GNU Emacs and
+InfoDock.  See ")
+     (about-url-link 'altrasoft "Visit Altrasoft WWW page")
+     (widget-insert ".
 
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'piper)
-	  (about-face "Andy Piper" 'bold)
-	  (insert " <andyp@parallax.co.uk>
-
-	Author of the original \"fake\" XEmacs toolbar, and outl-mouse for
-	mouse gesture based outlining.  Accomplished kludge contributor.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
+His interests include user interfaces, information management,
+CASE tools, communications and enterprise integration.\n"))
+    (wmperry
+     (widget-insert "\
+Author of Emacs-w3, the builtin web browser that comes with XEmacs,
+and various additions to the C code (e.g. the database support, the
+PNG support, some of the GIF/JPEG support, the strikethru face
+attribute support).
 
-	 ((eq xref 'stig)
-	  (about-face "Jonathan Stigelman" 'bold)
-	  (insert " <stig@hackvan.com>
-
-	Stig is sort of a tool fetishist.  He has a hate/love relationship
-	with computers and he hacks on XEmacs because it's a good tool that
-	makes computers somewhat less of a nuisance.  Besides XEmacs, Stig
-	especially likes his Leatherman, his Makita, and his lockpicks.
-	Stig wants a MIG welder and air tools.
-
-	Stig likes to perch, hang from the ceiling, and climb on the walls.
-	Stig has a cool van.  Stig would like to be able to telecommute
-	from, say, the north rim of the Grand Canyon or the midst of Baja.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
+He is currently working at Aventail, Corp. on SOCKS v5 servers.\n"))
+    (kyle
+     (widget-insert "\
+Author of VM, a mail-reading package that is included in the standard
+XEmacs distribution, and contributor of many improvements and bug
+fixes.  Unlike RMAIL and MH-E, VM 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\n")
+     (about-url-link 'kyle "Visit Kyle's Home page")
+     (widget-insert ".\n"))
+    (larsi
+     (widget-insert "\
+Author of Gnus the Usenet news and Mail reading package in the
+standard XEmacs distribution, and contributor of various enhancements
+and portability fixes.  Lars is a student at the Institute of
+Informatics at the University of Oslo.  He is currently plumbing away
+at his majors work at the Institute of Physics, working on an SCI
+project connected with CASCADE and CERN and stuff.
 
-	 ((eq xref 'wmperry)
-	  (about-face "William Perry" 'bold)
-	  (insert " <wmperry@aventail.com>
-
-	Author of Emacs-w3, the builtin web browser that comes with XEmacs,
-	and various additions to the C code (e.g. the database support,
-	the PNG support, some of the GIF/JPEG support, the strikethru
-	face attribute support).
-
-	He is currently working at Aventail, Corp. on SOCKS v5 servers.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
+See ")
+     (about-url-link 'larsi "Visit the Larsissistic pages")
+     (widget-insert ".\n"))
+    (jens
+     (widget-insert "\
+Jens did the artwork for graphics added to XEmacs 20.1 and 19.15.
 
-	 ((eq xref 'kyle)
-	  (about-face "Kyle Jones" 'bold)
-	  (insert " <kyle_jones@wonderworks.com>
-
-	Author of VM, a mail-reading package that is included in
-	the standard XEmacs distribution, and contributor of many
-	improvements and bug fixes.  Unlike RMAIL and MH-E, VM
-	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 ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'larsi)
-	  (about-face "Lars Magne Ingebrigtsen" 'bold)
-	  (insert " <larsi@ifi.uio.no>
+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...\n"))
+    (jareth
+     (widget-insert "\
+Jareth Hein is a mountain boy who abandoned his home state of Colorado
+for the perpetual state of chaos known as Tokyo in a failed attempt to
+become a cel-animator, and a more successful one to become a
+computer-game programmer. As he happens to be bilingual (guess which
+two?) he's been doing quite a bit of MULE hacking. He's also getting
+his hands dirty in the graphics areas as well.\n"))
+    (morioka
+     (widget-insert "\
+I am the author of tm-view (general MIME Viewer for GNU Emacs) and
+major author and maintainer of tm (Tools for MIME; general MIME
+package for GNU Emacs).  In addition, I am working to unify MULE API
+for Emacs and XEmacs.  In XEmacs, I have ported many mule features.
 
-	Author of Gnus the Usenet news and Mail reading package in
-	the standard XEmacs distribution, and contributor of various
-	enhancements and portability fixes.  Lars is a student at the
-	Institute of Informatics at the University of Oslo.  He is
-	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/\".")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'jens)
-	  (about-face "Jens Lautenbacher" 'bold)
-	  (insert " <jens@lemcbed.lem.uni-karlsruhe.de>
-
-	Jens did the artwork for graphics added to XEmacs 20.1 and 19.15.
+I am a doctoral student at School of Information Science of JAIST
+\(Japan Advanced Institute of Science and Technology, Hokuriku).  I'm
+interested in Natural Language, Affordance and writing systems.\n"))
+    (dmoore
+     (widget-insert "\
+David has contributed greatly to the quest to speed up XEmacs.  He is
+a student in the Computer Systems Laboratory at UCSD.  When he manages
+to have free time, he usually spends it on 200 mile bicycle rides,
+learning german or showing people the best mail & news environment
+he's found in 10 years.  (That'd be XEmacs, Gnus and bbdb, of course.)
+He can be found at `druidmuck.egbt.org 4201' at various hours of the
+day.
 
-	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...")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'jareth)
-	  (about-face "P E Jareth Hein" 'bold)
-	  (insert " <jhod@po.iijnet.or.jp>
-
-	Jareth Hein is a mountain boy who abandoned his home state of
-	Colorado for the perpetual state of chaos known as Tokyo in a
-	failed attempt to become a cel-animator, and a more successful
-	one to become a computer-game programmer. As he happens to be
-	bilingual (guess which two?) he's been doing quite a bit of
-	MULE hacking. He's also getting his hands dirty in the graphics
-	areas as well.")
+He has a page at ")
+     (about-url-link 'dmoore "Visit David's home page")
+     (widget-insert ".\n"))
+    (thiessel
+     (widget-insert "\
+On May 1, 1996 he started working at University of Kaiserslautern in
+the field of computer aided analog circuit design. His
+responsibilities include the development and design of a CAD-Tool for
+analog integrated circuits with special emphasis on distributed
+software concepts.
 
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'morioka)
-	  (about-face "MORIOKA Tomohiko" 'bold)
-	  (insert " <morioka@jaist.ac.jp>
-
-	I am the author of tm-view (general MIME Viewer for GNU Emacs)
-	and major author and maintainer of tm (Tools for MIME; general
-	MIME package for GNU Emacs).  In addition, I am working to unify
-	MULE API for Emacs and XEmacs.  In XEmacs, I have ported many mule
-	features.
-
-	I am a doctoral student at School of Information Science of JAIST
-	(Japan Advanced Institute of Science and Technology, Hokuriku).
-	I'm interested in Natural Language, Affordance and writing systems.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'dmoore)
-	  (about-face "David Moore" 'bold)
-	  (insert " <dmoore@UCSD.edu>
-
-	David has contributed greatly to the quest to speed up XEmacs.
-	He is a student in the Computer Systems Laboratory at UCSD.
-	When he manages to have free time, he usually spends it on 200
-	mile bicycle rides, learning german or showing people the best
-	mail & news environment he's found in 10 years.  (That'd be
-	XEmacs, Gnus and bbdb, of course.)  He can be found at
-	`druidmuck.egbt.org 4201' at various hours of the day.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'thiessel)
-	  (about-face "Marcus Thiessel" 'bold)
-	  (insert " <thiessel@rhrk.uni-kl.de>
+When all the daily hacking is done he tries to take care of XEmacs
+website at ")
+     (about-url-link 'xemacs "Visit XEmacs web site")
+     (widget-insert ".\n"))
+    (sperber
+     (widget-insert "\
+Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs.  He's
+also responsible for the ports of facemenu.el and enriched.el.  When
+Mike isn't busy putting together patches for free software he has just
+installed or changing his hairstyle, he does research in modern
+programming languages and their implementation, and hopes that one day
+XEmacs will speak Scheme.\n"))
+    (shelton
+     (widget-insert "\
+Vin maintains the XEmacs patch pages in order to bring a more
+stable XEmacs.  (Actually, he does it 'cause it's fun and he's been
+using emacs for a long, long time.)  Vin also contributed the detached
+minibuffer code as well as a few minor enhancements to the menubar
+options.
+ 
+I own and operate my own consulting firm, EtherSoft.  Shhh, don't
+tell anyone, but it's named after an Ultimate team I used to play
+with in Austin, Texas - the Ether Bunnies.  I'm getting too old
+to play competitive Ultimate any more, so now I've gotten roped
+into serving on the board of directors of the Ultimate Players
+Association.  See ")
+     (about-url-link 'shelton "Visit the UPA homepage")
+     (widget-insert ".\n"))
+    (ajc
+     (widget-insert "\
+When not helping maintain the XEmacs website, Andrew is a Network
+Software Engineer(tm) for Monash University in Australia, maintaining
+webservers and doing random other things.  As well as spending spare
+time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
+et. al., he spends his time pursuing, among other things, a Life.
+Some of this currently involves doing an A-Z (by country) of
+restaurants with friends, and has, in the past, involved dyeing his
+hair various colours (see ")
+     (about-url-link 'ajc "Visit Andrew's home page")
+     (widget-insert ".\n"))))
 
-	On May 1, 1996 he started working at University of Kaiserslautern in
-	the field of computer aided analog circuit design. His
-	responsibilities include the development and design of a CAD-Tool for
-	analog integrated circuits with special emphasis on distributed
-	software concepts.
-
-	When all the daily hacking is done he tries to take care of XEmacs
-	website at <http://www.xemacs.org>.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'sperber)
-	  (about-face "Michael Sperber [Mr. Preprocessor]" 'bold)
-	  (insert " <sperber@informatik.uni-tuebingen.de>
-
-	Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs.  He's
-	also responsible for the ports of facemenu.el and enriched.el.  When
-	Mike isn't busy putting together patches for free software he has just
-	installed or changing his hairstyle, he does research in modern
-	programming languages and their implementation, and hopes that one day
-	XEmacs will speak Scheme.")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'ajc)
-	  (about-face "Andrew Cosgriff" 'bold)
-	  (insert " <ajc@bing.wattle.id.au>
+;; Setup the buffer for a maintainer.
+(defun about-maintainer (widget &optional event)
+  (let* ((entry (assq (widget-value widget) xemacs-hackers))
+	 (who (car entry))
+	 (name (cadr entry))
+	 (address (caddr entry))
+	 (bufname (format "*About %s*" name)))
+    (unless (about-get-buffer bufname)
+      ;; Display the glyph and name
+      (widget-insert "\n")
+      (widget-create 'default :format "%t"
+		     :tag-glyph (about-maintainer-glyph who))
+      (widget-insert
+       "  " (about-with-face (format "%s" name) 'bold)
+       " <" address ">\n\n")
+      ;; Display the actual info
+      (about-maintainer-info entry)
+      ;; I don't use `about-finish-buffer' because I want "Remove" to
+      ;; kill the buffer.
+      (widget-insert "\n")
+      (about-finish-buffer 'kill)
+      (forward-line 2))))
 
-	When not helping maintain the XEmacs website, Andrew is a
-	Network Software Engineer(tm) for Monash University in Australia,
-	maintaining webservers and doing random other things.  As well as
-	spending spare time being an Eager Young Space Cadet and fiddling
-	with XEmacs/Gnus et. al., he spends his time pursuing, among other
-	things, a Life.  Some of this currently involves doing an A-Z (by
-	country) of restaurants with friends, and has, in the past,
-	involved dyeing his hair various colours
-	(see http://www-personal.monash.edu.au/~ajc).")
-
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" prev-page "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-
-	 ((eq xref 'others)
-	  (insert "Click ")
-	  (about-xref "here" 'about "Return to previous page")
-	  (insert " to go back to the previous page\n\n\t")
-
-	  (about-face "Other Contributors to XEmacs" 'italic)
-
-	  (insert "
+(defsubst about-tabs (str)
+  (let ((x (length str)))
+    (cond ((>= x 24) " ")
+	  ((>= x 16) "\t")
+	  ((>= x 8) "\t\t")
+	  (t "\t\t\t"))))
 
-	Like most free software, XEmacs is a collaborative effort.
-	These are some of the contributors; we have no doubt forgotten
-	someone; we apologize!  You can see some of our faces further below.
-
-	") (about-xref "Vladimir Ivanovic" 'vladimir "Find out more about Vladimir Ivanovic") (insert " <vladimir@mri.com>
-	Former technical lead for XEmacs at Sun Microsystems.  He is
-	now with Microtec Research Inc., working on embedded systems
-	development tools.
-
-	") (about-xref "Jonathan Stigelman" 'stig "Find out more about Jonathan Stigelman") (insert " <stig@hackvan.com>
-	Peripatetic uninominal Emacs hacker.  Stig sometimes operates
-	out of a big white van set up for nomadic living and hacking.
-	Implemented the faster stay-up Lucid menus and hyper-apropos.
-	Contributor of many dispersed improvements in the core Lisp code,
-	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).
-
-	") (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
-	use of many of the new XEmacs graphics features.
+(defun about-show-linked-info (who shortinfo)
+  (let* ((entry (assq who xemacs-hackers))
+	 (name (cadr entry))
+	 (address (caddr entry)))
+    (let ((widget-link-prefix nil) (widget-link-suffix nil))
+      (widget-create 'link :help-echo (concat "Find out more about " name)
+		     :action 'about-maintainer
+		     :tag name
+		     :value who))
+    (widget-insert (about-tabs name)
+		   (format "<%s>\n%s\n" address shortinfo))))
 
-	") (about-xref "Bob Weiner" 'bw "Find out more about Bob Weiner") (insert " <weiner@altrasoft.com>
-	Author of the Hyperbole everyday information management
-	hypertext system and the OO-Browser multi-language code
-	browser.  He also designed the Altrasoft integrated tool
-	framework for software engineers.  It runs atop XEmacs and is
-	available from his firm, Altrasoft, which offers custom
-	development and support packages for corporate users of XEmacs,
-	GNU Emacs and InfoDock.  See \"http://www.altrasoft.com\".
-	His interests include user interfaces, information management,
-	CASE tools, communications and enterprise integration.
-
-	") (about-xref "William Perry" 'wmperry "Find out more about Bill Perry") (insert " <wmperry@aventail.com>
-	Author of Emacs-w3, the builtin web browser that comes with XEmacs,
-	and various additions to the C code (e.g. the database support,
-	the PNG support, some of the GIF/JPEG support, the strikethru
-	face attribute support).
-
-	") (about-xref "Kyle Jones" 'kyle "Find out more about Kyle Jones") (insert " <kyle_jones@wonderworks.com>
-	Author of VM, a mail-reading package that is included in
-	the standard XEmacs distribution, and contributor of many
-	improvements and bug fixes.  Unlike RMAIL and MH-E, VM
-	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/\"
-
-	") (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
-	the standard XEmacs distribution, and contributor of various
-	enhancements and portability fixes.  Lars is a student at the
-	Institute of Informatics at the University of Oslo.  He is
-	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/\"
+(defun about-hackers (&rest ignore)
+  (unless (about-get-buffer "*About Hackers*")
+    (let ((title "Other Contributors to XEmacs"))
+      (widget-insert
+       (about-center title)
+       (about-with-face title 'bold)))
+    (widget-insert
+     "\n
+Like most free software, XEmacs is a collaborative effort.  These are
+some of the contributors we have no doubt forgotten someone; we
+apologize!  You can see some of our faces further below.\n\n")
+    (about-show-linked-info 'vladimir "\
+Former technical lead for XEmacs at Sun Microsystems.  He is now with
+Microtec Research Inc., working on embedded systems development tools.\n")
+    (about-show-linked-info 'stig "\
+Peripatetic uninominal Emacs hacker.  Stig sometimes operates out of a
+big white van set up for nomadic living and hacking.  Implemented the
+faster stay-up Lucid menus and hyper-apropos.  Contributor of many
+dispersed improvements in the core Lisp code, and back-seat
+contributor for several of it's major packages.\n")
+    (about-show-linked-info 'baw "\
+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 utilities, fixes, enhancements and kludgery as whimsy, boredom,
+and ToT dictate (but not necessarily in that order).\n")
+    (about-show-linked-info 'piper "\
+Created the prototype for the toolbars.  Has been the first to make
+use of many of the new XEmacs graphics features.\n")
+    (about-show-linked-info 'bw "\
+Author of the Hyperbole everyday information management hypertext
+system and the OO-Browser multi-language code browser.  He also
+designed the Altrasoft integrated tool framework for software
+engineers.  It runs atop XEmacs and is available from his firm,
+Altrasoft, which offers custom development and support packages for
+corporate users of XEmacs, GNU Emacs and InfoDock.  His interests
+include user interfaces, information management, CASE tools,
+communications and enterprise integration.\n")
+    (about-show-linked-info 'wmperry "\
+Author of Emacs-w3, the builtin web browser that comes with XEmacs,
+and various additions to the C code (e.g. the database support, the
+PNG support, some of the GIF/JPEG support, the strikethru face
+attribute support).\n")
+    (about-show-linked-info 'kyle "\
+Author of VM, a mail-reading package that is included in the standard
+XEmacs distribution, and contributor of many improvements and bug
+fixes.  Unlike RMAIL and MH-E, VM 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.\n")
+    (about-show-linked-info 'larsi "\
+Author of Gnus the Usenet news and Mail reading package in the
+standard XEmacs distribution, and contributor of various enhancements
+and portability fixes.  Lars is a student at the Institute of
+Informatics at the University of Oslo.  He is currently plumbing away
+at his majors work at the Institute of Physics, working on an SCI
+project connected with CASCADE and CERN and stuff.\n")
+    (about-show-linked-info 'jens "\
+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...\n")
+    (about-show-linked-info 'jareth "\
+Jareth Hein is a mountain boy who abandoned his home state of Colorado
+for the perpetual state of chaos known as Tokyo in a failed attempt to
+become a cel-animator, and a more successful one to become a
+computer-game programmer. As he happens to be bilingual (guess which
+two?) he's been doing quite a bit of MULE hacking. He's also getting
+his hands dirty in the graphics areas as well.\n")
+    (about-show-linked-info 'morioka "\
+I am the author of tm-view (general MIME Viewer for GNU Emacs) and
+major author and maintainer of tm (Tools for MIME; general MIME
+package for GNU Emacs).  In addition, I am working to unify MULE API
+for Emacs and XEmacs.  In XEmacs, I have ported many mule features.
 
-	") (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...
-
-	") (about-xref "Jareth Hein" 'jareth "Find out more about Jareth Hein") (insert " <jhod@po.iijnet.or.jp>
-	Jareth Hein is a mountain boy who abandoned his home state of
-	Colorado for the perpetual state of chaos known as Tokyo in a
-	failed attempt to become a cel-animator, and a more successful
-	one to become a computer-game programmer. As he happens to be
-	bilingual (guess which two?) he's been doing quite a bit of
-	MULE hacking. He's also getting his hands dirty in the graphics
-	areas as well.
-
-	") (about-xref "MORIOKA Tomohiko" 'morioka "Find out more about MORIOKA Tomohiko") (insert " <morioka@jaist.ac.jp>
-
-	I am the author of tm-view (general MIME Viewer for GNU Emacs)
-	and major author and maintainer of tm (Tools for MIME; general
-	MIME package for GNU Emacs).  In addition, I am working to unify
-	MULE API for Emacs and XEmacs.  In XEmacs, I have ported many mule
-	features.
-	I am a doctoral student at School of Information Science of JAIST
-	(Japan Advanced Institute of Science and Technology, Hokuriku).
-	I'm interested in Natural Language, Affordance and writing systems.
-
-	") (about-xref "David Moore" 'dmoore "Find out more about David Moore") (insert " <dmoore@UCSD.EDU>
-
-	David has contributed greatly to the quest to speed up XEmacs.
-	He is a student in the Computer Systems Laboratory at UCSD.
-	When he manages to have free time, he usually spends it on 200
-	mile bicycle rides, learning german or showing people the best
-	mail & news environment he's found in 10 years.  (That'd be
-	XEmacs, Gnus and bbdb, of course.)  He can be found at
-	`druidmuck.egbt.org 4201' at various hours of the day.
-
-	") (about-xref "Marcus Thiessel" 'thiessel "Find out more about Marcus Thiessel") (insert " <thiessel@rhrk.uni-kl.de>
-
-	On May 1, 1996 he started working at University of Kaiserslautern in
-	the field of computer aided analog circuit design. His
-	responsibilities include the development and design of a CAD-Tool for
-	analog integrated circuits with special emphasis on distributed
-	software concepts.
-
-	When all the daily hacking is done he tries to take care of XEmacs
-	website at <http://www.xemacs.org>.
+I am a doctoral student at School of Information Science of JAIST
+\(Japan Advanced Institute of Science and Technology, Hokuriku).  I'm
+interested in Natural Language, Affordance and writing systems.\n")
+    (about-show-linked-info 'dmoore "\
+David has contributed greatly to the quest to speed up XEmacs.  He is
+a student in the Computer Systems Laboratory at UCSD.  When he manages
+to have free time, he usually spends it on 200 mile bicycle rides,
+learning german or showing people the best mail & news environment
+he's found in 10 years.  (That'd be XEmacs, Gnus and bbdb, of course.)
+He can be found at `druidmuck.egbt.org 4201' at various hours of the
+day.\n")
+    (about-show-linked-info 'thiessel "\
+On May 1, 1996 he started working at University of Kaiserslautern in
+the field of computer aided analog circuit design. His
+responsibilities include the development and design of a CAD-Tool for
+analog integrated circuits with special emphasis on distributed
+software concepts.
 
-	") (about-xref "Michael Sperber" 'sperber "Find out more about Michael Sperber") (insert " <sperber@informatik.uni-tuebingen.de>
-
-	Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs.  He's
-	also responsible for the ports of facemenu.el and enriched.el.  When
-	Mike isn't busy putting together patches for free software he has just
-	installed or changing his hairstyle, he does research in modern
-	programming languages and their implementation, and hopes that one day
-	XEmacs will speak Scheme.
-
-	") (about-xref "Andrew Cosgriff" 'ajc "Find out more about Andrew Cosgriff") (insert " <ajc@bing.wattle.id.au>
-
-	When not helping maintain the XEmacs website, Andrew is a
-	Network Software Engineer(tm) for Monash University in Australia,
-	maintaining webservers and doing random other things.  As well as
-	spending spare time being an Eager Young Space Cadet and fiddling
-	with XEmacs/Gnus et. al., he spends his time pursuing, among other
-	things, a Life.  Some of this currently involves doing an A-Z (by
-	country) of restaurants with friends, and has, in the past,
-	involved dyeing his hair various colours
-	(see http://www-personal.monash.edu.au/~ajc).
-
-	Darrell Kindred <Darrell.Kindred@cmu.edu>
-	Unofficial maintainer of the xemacs-beta list of extant bugs
-	and contributor of an extraordinary number of important bug
-	fixes, many of them in areas that neither Chuck nor Ben were
-	particularly enthusiastic about investigating.
-
-	Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
-	Author of EOS, a package included in the standard XEmacs
-	distribution that integrates XEmacs with the SPARCworks
-	development environment from Sun.  Past lead for XEmacs at
-	Sun; advocated the validity of using Epoch, and later Lemacs,
-	at Sun through several early prototypes.
-
-	Matthieu Devin <devin@rs.com>
-	Part of the original (pre-19.0) Lucid Emacs development team.
-	Matthieu wrote the initial Energize interface, designed the
-	toolkit-independent Lucid Widget library, and fixed enough
-	redisplay bugs to last a lifetime.  The features in Lucid
-	Emacs were largely inspired by Matthieu's initial prototype of
-	an Energize interface using Epoch.
-
-	Harlan Sexton <hbs@odi.com>
-	Part of the original (pre-19.0) Lucid Emacs development team.
-	Harlan designed and implemented many of the low level data
-	structures which are original to the Lucid version of Emacs,
-	including extents and hash tables.
-
-	Eric Benson <eb@kaleida.com>
-	Part of the original (pre-19.0) Lucid Emacs development team.
-	Eric played a big part in the design of many aspects of the
-	system, including the new command loop and keymaps, fixed
-	numerous bugs, and has been a reliable beta tester ever since.
-
-	John Rose <john.rose@sun.com>
-	Author of many extensions to the `extents' code, including
-	the initial implementation of `duplicable' properties.
-
-	Hans Muller <hmuller@eng.sun.com>
-	Author of the code used to connect XEmacs with ToolTalk, and
-	of an early client of the external Emacs widget.
-
-	In addition to those just mentioned, the following people have
-	spent a great deal of effort providing feedback, testing beta
-	versions of XEmacs, providing patches to the source code, or
-	doing all of the above.  We couldn't have done it without them.
+When all the daily hacking is done he tries to take care of XEmacs
+website at <http://www.xemacs.org>.\n")
+    (about-show-linked-info 'ajc "\
+When not helping maintain the XEmacs website, Andrew is a Network
+Software Engineer(tm) for Monash University in Australia, maintaining
+webservers and doing random other things.  As well as spending spare
+time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
+et. al., he spends his time pursuing, among other things, a Life.
+Some of this currently involves doing an A-Z (by country) of
+restaurants with friends, and has, in the past, involved dyeing his
+hair various colours.\n")
+    (flet ((print-short (name addr &optional shortinfo)
+	     (concat (about-with-face name 'italic)
+		     (about-tabs name)
+		     "<" addr ">\n"
+		     (if shortinfo (concat shortinfo "\n") ""))))
+      (widget-insert
+       (print-short "Darell Kindred" "Darrell.Kindred@cmu.edu" "\
+Unofficial maintainer of the xemacs-beta list of extant bugs and
+contributor of an extraordinary number of important bug fixes, many of
+them in areas that neither Chuck nor Ben were particularly
+enthusiastic about investigating.\n")
+       (print-short "Eduardo Pelegri-Llopart" "pelegri@eng.sun.com" "\
+Author of EOS, a package included in the standard XEmacs distribution
+that integrates XEmacs with the SPARCworks development environment
+from Sun.  Past lead for XEmacs at Sun; advocated the validity of
+using Epoch, and later Lemacs, at Sun through several early
+prototypes.\n")
+       (print-short "Matthieu Devin" "devin@rs.com" "\
+Part of the original (pre-19.0) Lucid Emacs development team.
+Matthieu wrote the initial Energize interface, designed the
+toolkit-independent Lucid Widget library, and fixed enough redisplay
+bugs to last a lifetime.  The features in Lucid Emacs were largely
+inspired by Matthieu's initial prototype of an Energize interface
+using Epoch.\n")
+       (print-short "Harlan Sexton" "hbs@odi.com" "\
+Part of the original (pre-19.0) Lucid Emacs development team.  Harlan
+designed and implemented many of the low level data structures which
+are original to the Lucid version of Emacs, including extents and hash
+tables.\n")
+       (print-short "Eric Benson" "eb@kaleida.com" "\
+Also part of the original Lucid Emacs development team.  Eric played a
+big part in the design of many aspects of the system, including the
+new command loop and keymaps, fixed numerous bugs, and has been a
+reliable beta tester ever since.\n")
+       (print-short "John Rose" "john.rose@sun.com" "\
+Author of many extensions to the `extents' code, including the initial
+implementation of `duplicable' properties.\n")
+       (print-short "Hans Muller" "hmuller@eng.sun.com" "\
+Author of the code used to connect XEmacs with ToolTalk, and of an
+early client of the external Emacs widget.\n")
 
-	  Nagi M. Aboulenein <aboulene@ponder.csci.unt.edu>
-	  Per Abrahamsen <abraham@dina.kvl.dk>
-	  Gary Adams <gra@zeppo.East.Sun.COM>
-	  Gennady Agranov <agranov@csa.CS.Technion.Ac.IL>
-	  Adrian Aichner <aichner@ecf.teradyne.com>
-	  Mark Allender <allender@vnet.IBM.COM>
-	  Butch Anton <butch@zaphod.uchicago.edu>
-	  Fred Appelman <Fred.Appelman@cv.ruu.nl>
-	  Erik \"The Pope\" Arneson <lazarus@mind.net>
-	  Tor Arntsen <tor@spacetec.no>
-	  Marc Aurel <4-tea-2@bong.saar.de>
-	  Larry Auton <lda@control.att.com>
-	  Oswald P. Backus IV <backus@altagroup.com>
-	  Mike Battaglia <mbattagl@dsccc.com>
-	  Neal Becker <neal@ctd.comsat.com>
-	  Paul Bibilo <peb@delcam.com>
-	  Jan Borchers <job@tk.uni-linz.ac.at>
-	  Mark Borges <mdb@cdc.noaa.gov>
-	  David P. Boswell <daveb@tau.space.thiokol.com>
-	  Tim Bradshaw <tfb@edinburgh.ac.uk>
-	  Rick Braumoeller <rickb@mti.sgi.com>
-	  Matthew J. Brown <mjb@doc.ic.ac.uk>
-	  Alastair Burt <burt@dfki.uni-kl.de>
-	  Rick Campbell <rickc@lehman.com>
-	  Richard Caley <rjc@cstr.edinburgh.ac.uk>
-	  Stephen Carney <carney@gvc.dec.com>
-	  Lorenzo M. Catucci <lorenzo@argon.roma2.infn.it>
-	  Philippe Charton <charton@lmd.ens.fr>
-	  Peter Cheng <peter.h.cheng@worldnet.att.net>
-	  Jin S. Choi <jin@atype.com>
-	  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>
-	  Serenella Ciongoli <czs00@ladybug.oes.amdahl.com>
-	  Glynn Clements <glynn@sensei.co.uk>
-	  Richard Cognot <cognot@ensg.u-nancy.fr>
-	  Andy Cohen <cohen@andy.bu.edu>
-	  Andrew J Cosgriff <ajc@bing.wattle.id.au>
-	  Nick J. Crabtree <nickc@scopic.com>
-	  Christopher Davis <ckd@kei.com>
-	  Soren Dayton <csdayton@cs.uchicago.edu>
-	  Chris Dean <ctdean@cogit.com>
-	  Michael Diers <mdiers@logware.de>
-	  William G. Dubuque <wgd@martigny.ai.mit.edu>
-	  Steve Dunham <dunham@dunham.tcimet.net>
-	  Samuel J. Eaton <samuele@cogs.susx.ac.uk>
-	  Carl Edman <cedman@Princeton.EDU>
-	  Dave Edmondson <davided@sco.com>
-	  Jonathan Edwards <edwards@intranet.com>
-	  Eric Eide <eeide@asylum.cs.utah.edu>
-	  EKR <ekr@terisa.com>
-	  Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
-	  David Fletcher <frodo@tsunami.com>
-	  Paul Flinders <ptf@delcam.co.uk>
-	  Jered J Floyd <jered@mit.edu>
-	  Gary D. Foster <Gary.Foster@Corp.Sun.COM>
-	  Jerry Frain <jerry@sneffels.tivoli.com>
-	  Holger Franz <hfranz@physik.rwth-aachen.de>
-	  Benjamin Fried <bf@morgan.com>
-	  Barry Friedman <friedman@nortel.ca>
-	  Noah Friedman <friedman@splode.com>
-	  Kazuyoshi Furutaka <furutaka@Flux.tokai.jaeri.go.jp>
-	  Lew Gaiter III <lew@StarFire.com>
-	  Itay Gat <itay@cs.huji.ac.il>
-	  Tim Geisler <Tim.Geisler@informatik.uni-muenchen.de>
-	  Dave Gillespie <daveg@synaptics.com>
-	  Christian F. Goetze <cg@bigbook.com>
-	  Yusuf Goolamabbas <yusufg@iss.nus.sg>
-	  Wolfgang Grieskamp <wg@cs.tu-berlin.de>
-	  John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
-	  James Grinter <jrg@demon.net>
-	  Ben Gross <bgross@uiuc.edu>
-	  Dirk Grunwald <grunwald@foobar.cs.Colorado.EDU>
-	  Michael Guenther <michaelg@igor.stuttgart.netsurf.de>
-	  Dipankar Gupta <dg@hplb.hpl.hp.com>
-	  Markus Gutschke <gutschk@GOEDEL.UNI-MUENSTER.DE>
-	  Adam Hammer <hammer@cs.purdue.edu>
-	  Magnus Hammerin <magnush@epact.se>
-	  ChangGil Han <cghan@phys401.phys.pusan.ac.kr>
-	  Derek Harding <dharding@lssec.bt.co.uk>
-	  Michael Harnois <mharnois@sbt.net>
-	  Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
-	  John Haxby <J.Haxby@isode.com>
-	  Karl M. Hegbloom <karlheg@inetarena.com>
-	  Benedikt Heinen <beh@icemark.thenet.ch>
-	  Stephan Herrmann <sh@first.gmd.de>
-	  Charles Hines <chuck_hines@VNET.IBM.COM>
-	  Shane Holder <holder@rsn.hp.com>
-	  David Hughes <djh@harston.cv.com>
-	  Tatsuya Ichikawa <ichikawa@hv.epson.co.jp>
-	  Kazuyuki IENAGA <ienaga@jsys.co.jp>
-	  Andrew Innes <andrewi@harlequin.co.uk>
-	  Vladimir Ivanovic <Vladimir.Ivanovic@mri.com>
-	  Andreas Jaeger <aj@arthur.pfalz.de>
-	  Markku Jarvinen <Markku.Jarvinen@simpukka.funet.fi>
-	  Robin Jeffries <robin.jeffries@sun.com>
-	  Philip Johnson <johnson@uhics.ics.Hawaii.Edu>
-	  J. Kean Johnston <jkj@paradigm-sa.com>
-	  Andreas Kaempf <andreas@sccon.com>
-	  Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
-	  Amir Katz <amir@ndsoft.com>
-	  Doug Keller <dkeller@vnet.ibm.com>
-	  Hunter Kelly <retnuh@corona>
-	  Gregor Kennedy <gregork@dadd.ti.com>
-	  Michael Kifer <kifer@cs.sunysb.edu>
-	  Yasuhiko Kiuchi <kiuchi@dsp.ksp.fujixerox.co.jp>
-	  Greg Klanderman <greg@alphatech.com>
-	  Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
-	  Rob Kooper <kooper@cc.gatech.edu>
-	  Peter Skov Knudsen <knu@dde.dk>
-	  Jens Krinke <krinke@ips.cs.tu-bs.de>
-	  Mats Larsson <Mats.Larsson@uab.ericsson.se>
-	  Simon Leinen <simon@instrumatic.ch>
-	  Carsten Leonhardt <leo@arioch.tng.oche.de>
-	  James LewisMoss <moss@cs.sc.edu>
-	  Mats Lidell <mats.lidell@contactor.se>
-	  Matt Liggett <mliggett@seven.ucs.indiana.edu>
-	  Christian Limpach <Christian.Limpach@nice.ch>
-	  Markus Linnala <maage@b14b.tupsu.ton.tut.fi>
-	  Robert Lipe <robertl@arnet.com>
-	  Derrell Lipman <derrell@vis-av.com>
-	  Damon Lipparelli <lipp@aa.net>
-	  Hamish Macdonald <hamish@bnr.ca>
-	  Ian MacKinnon <imackinnon@telia.co.uk>
-	  Patrick MacRoberts <macro@hpcobr30.cup.hp.com>
-	  Tonny Madsen <Tonny.Madsen@netman.dk>
-	  Ketil Z Malde <ketil@ii.uib.no>
-	  Steve March <smarch@quaver.urbana.mcd.mot.com>
-	  Ricardo Marek <ricky@ornet.co.il>
-	  Pekka Marjola <pema@iki.fi>
-	  Simon Marshall <simon@gnu.ai.mit.edu>
-	  Dave Mason <dmason@plg.uwaterloo.ca>
-	  Jaye Mathisen <mrcpu@cdsnet.net>
-	  Michael McNamara <mac@silicon-sorcery.com>
-	  Michael Meissner <meissner@osf.org>
-	  David M. Meyer <meyer@ns.uoregon.edu>
-	  Brad Miller <bmiller@cs.umn.edu>
-	  Jeff Miller <jmiller@bay1.bayserve.net>
-	  John Morey <jmorey@crl.com>
-	  Rob Mori <rob.mori@sun.com>
-	  Heiko Muenkel <muenkel@tnt.uni-hannover.de>
-	  Arup Mukherjee <arup+@cs.cmu.edu>
-	  Colas Nahaboo <Colas.Nahaboo@sophia.inria.fr>
-	  TSUTOMU NAKAMURA <tsutomu@rs.kyoto.omronsoft.co.jp>
-	  Lynn D. Newton <lynn@ives.phx.mcd.mot.com>
-	  Casey Nielson <knielson@joule.elee.calpoly.edu>
-	  Georg Nikodym <Georg.Nikodym@canada.sun.com>
-	  Andy Norman <ange@hplb.hpl.hp.com>
-	  Joseph J. Nuspl Jr. <nuspl@cc.purdue.edu>
-	  Kim Nyberg <kny@tekla.fi>
-	  David Ofelt <ofelt@getalife.Stanford.EDU>
-	  Alexandre Oliva <oliva@dcc.unicamp.br>
-	  Tore Olsen <toreo@colargol.idb.hist.no>
-	  Greg Onufer <Greg.Onufer@eng.sun.com>
-	  Achim Oppelt <aoppelt@theorie3.physik.uni-erlangen.de>
-	  Sudeep Kumar Palat <palat@idt.unit.no>
-	  Marc Paquette <Marc.Paquette@Softimage.com>
-	  Jens-U H Petersen <petersen@kurims.kyoto-u.ac.jp>
-	  Joel Peterson <tarzan@aosi.com>
-	  Thomas A. Peterson <tap@src.honeywell.com>
-	  Peter Pezaris <pez@dwwc.com>
-	  Tibor Polgar <tlp00@eng.amdahl.com>
-	  Frederic Poncin <fp@info.ucl.ac.be>
-	  E. Rehmi Post <rehmi@asylum.sf.ca.us>
-	  Martin Pottendorfer <Martin.Pottendorfer@aut.alcatel.at>
-	  Colin Rafferty <craffert@spspme.ml.com>
-	  Paul M Reilly <pmr@pajato.com>
-	  Jack Repenning <jackr@sgi.com>
-	  Daniel Rich <drich@cisco.com>
-	  Roland Rieke <rol@darmstadt.gmd.de>
-	  Art Rijos <art.rijos@SNET.com>
-	  Russell Ritchie <ritchier@msc.ie>
-	  Roland <rol@darmstadt.gmd.de>
-	  Anthony Rossini <rossini@math.sc.edu>
-	  Mike Russell <mjruss@rchland.vnet.ibm.com>
-	  Jan Sandquist <etxquist@iqa.ericsson.se>
-	  Marty Sasaki <sasaki@spdcc.com>
-	  Mike Scheidler <c23mts@eng.delcoelect.com>
-	  Daniel Schepler <daniel@shep13.wustl.edu>
-	  Darrel Schneider <darrel@slc.com>
-	  Hayden Schultz <haydens@ll.mit.edu>
-	  Cotton Seed <cottons@cybercom.net>
-	  Axel Seibert <seiberta@informatik.tu-muenchen.de>
-	  Odd-Magne Sekkingstad <oddms@ii.uib.no>
-	  Vinnie Shelton <shelton@icd.teradyne.com>
-	  John Shen <zfs60@cas.org>
-	  Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
-	  Dinesh Somasekhar <somasekh@ecn.purdue.edu>
-	  Jeffrey Sparkes <jsparkes@bnr.ca>
-	  Manoj Srivastava <srivasta@pilgrim.umass.edu>
-	  Francois Staes <frans@kiwi.uia.ac.be>
-	  Anders Stenman <stenman@isy.liu.se>
-	  Jason Stewart <jasons@cs.unm.edu>
-	  Rick Tait <rickt@gnu.ai.mit.edu>
-	  Samuel Tardieu <sam@inf.enst.fr>
-	  James Thompson <thompson@wg2.waii.com>
-	  Raymond L. Toy <toy@rtp.ericsson.se>
-	  Remek Trzaska <remek@npac.syr.edu>
-	  John Turner <turner@xdiv.lanl.gov>
-	  Juan E. Villacis <jvillaci@cs.indiana.edu>
-	  Jan Vroonhof <vroonhof@math.ethz.ch>
-	  Vladimir Vukicevic <vladimir@intrepid.com>
-	  David Walter<djw18@cornell.edu>
-	  Peter Ware <ware@cis.ohio-state.edu>
-	  Yoav Weiss <yoav@zeus.datasrv.co.il>
-	  Rod Whitby <rwhitby@asc.corp.mot.com>
-	  Rich Williams <rdw@hplb.hpl.hp.com>
-	  David C Worenklein <dcw@gcm.com>
-	  Takeshi Yamada <yamada@sylvie.kecl.ntt.jp>
-	  Katsumi Yamaoka <yamaoka@ga.sony.co.jp>
-	  Jason Yanowitz <yanowitz@eternity.cs.umass.edu>
-	  La Monte Yarroll <piggy@hilbert.maths.utas.edu.au>
-	  Blair Zajac <blair@olympia.gps.caltech.edu>
-	  Daniel Zivkovic <daniel@canada.sun.com>
-	  Karel Zuiderveld <Karel.Zuiderveld@cv.ruu.nl>
-	  and the makers of Jolt Cola (tm)")
-	  (goto-char (point-min))
-	  (while (re-search-forward "^[ \t]*\\([^<>\n]+\\) <[^>\n]+>$"
-				    nil t)
-	    (set-extent-face (make-extent (match-beginning 1) (match-end 1))
-			     'bold))
-	  (goto-char (point-min))
-	  (while (re-search-forward "^[ \t]*<\\([^>\n]+\\)>$" nil t)
-	    (set-extent-face (make-extent (match-beginning 1) (match-end 1))
-			     'bold))
-
-	  (goto-char (point-max))
-	  (insert "\n")
-	  (about-add-mosaic)
-	  (goto-char (point-max))
-	  (insert "\n\n\tClick ")
-	  (about-xref "here" 'about "Return to previous page")
-	  (insert " to go back to the previous page.\n")
-	  )
-	 ((eq xref 'features)
-	  (insert "Click ")
-	  (about-xref "here" 'about "Return to previous page")
-	  (insert " to go back to the previous page\n\n\t")
-
-	  (about-face "New Features in XEmacs" 'bold-italic)
-
-	  (insert "\n
-	* MULE (Multi-Lingual Emacs) support.  Display of multiple
-	  simultaneous character sets is possible.
-	* Text for complex languages can be entered using the XIM mechanism.
-	* Localization of menubar text for the Japanese locale.
-	* A real toolbar.
-	* Proper integration with Xt and Motif (including Motif menubars
-	  and scrollbars).  Motif look-alike menubars and scrollbars
-	  are provided for those systems without real Motif support.
-	* Face support on TTY's, including color.
-	* Horizontal and vertical scrollbars in all windows.
-	* Support for variable-width and variable height fonts.
-	* Support for display on multiple simultaneous X and/or TTY devices.
-	* Support for arbitrary pixmaps in a buffer.
-	* Access to the ToolTalk API.
-	* Support for using XEmacs frames as Xt widgets.
-	* Support for overlapping regions (or extents) and efficient handling
-	  of a large number of such extents in a single buffer.
-	* Powerful, flexible control over the display characteristics
-	  of most of the visual aspects of XEmacs through the use
-	  of specifiers, which allow separate values to be specified
-	  for individual buffers, windows, frames, devices, device classes,
-	  and device types.
-	* A clean interface to the menubar, window-system events, and key
-	  combinations."))
-	 ))
-      (goto-char (point-min))
-      ))))
+       "\n\
+In addition to those just mentioned, the following people have spent a
+great deal of effort providing feedback, testing beta versions of
+XEmacs, providing patches to the source code, or doing all of the
+above.  We couldn't have done it without them.\n\n"
+       (print-short "Nagi M. Aboulenein" "aboulene@ponder.csci.unt.edu")
+       (print-short "Per Abrahamsen" "abraham@dina.kvl.dk")
+       (print-short "Gary Adams" "gra@zeppo.East.Sun.COM")
+       (print-short "Gennady Agranov" "agranov@csa.CS.Technion.Ac.IL")
+       (print-short "Adrian Aichner" "aichner@ecf.teradyne.com")
+       (print-short "Mark Allender" "allender@vnet.IBM.COM")
+       (print-short "Butch Anton" "butch@zaphod.uchicago.edu")
+       (print-short "Fred Appelman" "Fred.Appelman@cv.ruu.nl")
+       (print-short "Erik \"The Pope\" Arneson" "lazarus@mind.net")
+       (print-short "Tor Arntsen" "tor@spacetec.no")
+       (print-short "Marc Aurel" "4-tea-2@bong.saar.de")
+       (print-short "Larry Auton" "lda@control.att.com")
+       (print-short "Oswald P. Backus IV" "backus@altagroup.com")
+       (print-short "Mike Battaglia" "mbattagl@dsccc.com")
+       (print-short "Neal Becker" "neal@ctd.comsat.com")
+       (print-short "Paul Bibilo" "peb@delcam.com")
+       (print-short "Jan Borchers" "job@tk.uni-linz.ac.at")
+       (print-short "Mark Borges" "mdb@cdc.noaa.gov")
+       (print-short "David P. Boswell" "daveb@tau.space.thiokol.com")
+       (print-short "Tim Bradshaw" "tfb@edinburgh.ac.uk")
+       (print-short "Rick Braumoeller" "rickb@mti.sgi.com")
+       (print-short "Matthew J. Brown" "mjb@doc.ic.ac.uk")
+       (print-short "Alastair Burt" "burt@dfki.uni-kl.de")
+       (print-short "Rick Busdiecker" "rfb@lehman.com")
+       (print-short "Rick Campbell" "rickc@lehman.com")
+       (print-short "Richard Caley" "rjc@cstr.edinburgh.ac.uk")
+       (print-short "Stephen Carney" "carney@gvc.dec.com")
+       (print-short "Lorenzo M. Catucci" "lorenzo@argon.roma2.infn.it")
+       (print-short "Philippe Charton" "charton@lmd.ens.fr")
+       (print-short "Peter Cheng" "peter.cheng@sun.com")
+       (print-short "Jin S. Choi" "jin@atype.com")
+       (print-short "Tomasz J. Cholewo" "tjchol01@mecca.spd.louisville.edu")
+       (print-short "Serenella Ciongoli" "czs00@ladybug.oes.amdahl.com")
+       (print-short "Glynn Clements" "glynn@sensei.co.uk")
+       (print-short "Richard Cognot" "cognot@ensg.u-nancy.fr")
+       (print-short "Andy Cohen" "cohen@andy.bu.edu")
+       (print-short "Andrew J Cosgriff" "ajc@bing.wattle.id.au")
+       (print-short "Nick J. Crabtree" "nickc@scopic.com")
+       (print-short "Christopher Davis" "ckd@kei.com")
+       (print-short "Soren Dayton" "csdayton@cs.uchicago.edu")
+       (print-short "Chris Dean" "ctdean@cogit.com")
+       (print-short "Michael Diers" "mdiers@logware.de")
+       (print-short "William G. Dubuque" "wgd@martigny.ai.mit.edu")
+       (print-short "Steve Dunham" "dunham@dunham.tcimet.net")
+       (print-short "Samuel J. Eaton" "samuele@cogs.susx.ac.uk")
+       (print-short "Carl Edman" "cedman@Princeton.EDU")
+       (print-short "Dave Edmondson" "davided@sco.com")
+       (print-short "Jonathan Edwards" "edwards@intranet.com")
+       (print-short "Eric Eide" "eeide@asylum.cs.utah.edu")
+       (print-short "EKR" "ekr@terisa.com")
+       (print-short "Oscar Figueiredo" "Oscar.Figueiredo@di.epfl.ch")
+       (print-short "David Fletcher" "frodo@tsunami.com")
+       (print-short "Paul Flinders" "ptf@delcam.co.uk")
+       (print-short "Jered J Floyd" "jered@mit.edu")
+       (print-short "Gary D. Foster" "Gary.Foster@Corp.Sun.COM")
+       (print-short "Jerry Frain" "jerry@sneffels.tivoli.com")
+       (print-short "Holger Franz" "hfranz@physik.rwth-aachen.de")
+       (print-short "Benjamin Fried" "bf@morgan.com")
+       (print-short "Barry Friedman" "friedman@nortel.ca")
+       (print-short "Noah Friedman" "friedman@splode.com")
+       (print-short "Kazuyoshi Furutaka" "furutaka@Flux.tokai.jaeri.go.jp")
+       (print-short "Lew Gaiter III" "lew@StarFire.com")
+       (print-short "Itay Gat" "itay@cs.huji.ac.il")
+       (print-short "Tim Geisler" "Tim.Geisler@informatik.uni-muenchen.de")
+       (print-short "Dave Gillespie" "daveg@synaptics.com")
+       (print-short "Christian F. Goetze" "cg@bigbook.com")
+       (print-short "Yusuf Goolamabbas" "yusufg@iss.nus.sg")
+       (print-short "Wolfgang Grieskamp" "wg@cs.tu-berlin.de")
+       (print-short "John Griffith" "griffith@sfs.nphil.uni-tuebingen.de")
+       (print-short "James Grinter" "jrg@demon.net")
+       (print-short "Ben Gross" "bgross@uiuc.edu")
+       (print-short "Dirk Grunwald" "grunwald@foobar.cs.Colorado.EDU")
+       (print-short "Michael Guenther" "michaelg@igor.stuttgart.netsurf.de")
+       (print-short "Dipankar Gupta" "dg@hplb.hpl.hp.com")
+       (print-short "Markus Gutschke" "gutschk@GOEDEL.UNI-MUENSTER.DE")
+       (print-short "Adam Hammer" "hammer@cs.purdue.edu")
+       (print-short "Magnus Hammerin" "magnush@epact.se")
+       (print-short "ChangGil Han" "cghan@phys401.phys.pusan.ac.kr")
+       (print-short "Derek Harding" "dharding@lssec.bt.co.uk")
+       (print-short "Michael Harnois" "mharnois@sbt.net")
+       (print-short "Yoshiaki Kasahara" "kasahara@nc.kyushu-u.ac.jp")
+       (print-short "John Haxby" "J.Haxby@isode.com")
+       (print-short "Karl M. Hegbloom" "karlheg@inetarena.com")
+       (print-short "Benedikt Heinen" "beh@icemark.thenet.ch")
+       (print-short "Stephan Herrmann" "sh@first.gmd.de")
+       (print-short "Charles Hines" "chuck_hines@VNET.IBM.COM")
+       (print-short "Shane Holder" "holder@rsn.hp.com")
+       (print-short "David Hughes" "djh@harston.cv.com")
+       (print-short "Tatsuya Ichikawa" "ichikawa@hv.epson.co.jp")
+       (print-short "Kazuyuki IENAGA" "ienaga@jsys.co.jp")
+       (print-short "Andrew Innes" "andrewi@harlequin.co.uk")
+       (print-short "Andreas Jaeger" "aj@arthur.pfalz.de")
+       (print-short "Markku Jarvinen" "Markku.Jarvinen@simpukka.funet.fi")
+       (print-short "Robin Jeffries" "robin.jeffries@sun.com")
+       (print-short "Philip Johnson" "johnson@uhics.ics.Hawaii.Edu")
+       (print-short "J. Kean Johnston" "jkj@paradigm-sa.com")
+       (print-short "Andreas Kaempf" "andreas@sccon.com")
+       (print-short "Yoshiaki Kasahara" "kasahara@nc.kyushu-u.ac.jp")
+       (print-short "Amir Katz" "amir@ndsoft.com")
+       (print-short "Doug Keller" "dkeller@vnet.ibm.com")
+       (print-short "Hunter Kelly" "retnuh@corona")
+       (print-short "Gregor Kennedy" "gregork@dadd.ti.com")
+       (print-short "Michael Kifer" "kifer@cs.sunysb.edu")
+       (print-short "Yasuhiko Kiuchi" "kiuchi@dsp.ksp.fujixerox.co.jp")
+       (print-short "Greg Klanderman" "greg@alphatech.com")
+       (print-short "Valdis Kletnieks" "Valdis.Kletnieks@vt.edu")
+       (print-short "Rob Kooper" "kooper@cc.gatech.edu")
+       (print-short "Peter Skov Knudsen" "knu@dde.dk")
+       (print-short "Jens Krinke" "krinke@ips.cs.tu-bs.de")
+       (print-short "Mats Larsson" "Mats.Larsson@uab.ericsson.se")
+       (print-short "Simon Leinen" "simon@instrumatic.ch")
+       (print-short "Carsten Leonhardt" "leo@arioch.tng.oche.de")
+       (print-short "James LewisMoss" "moss@cs.sc.edu")
+       (print-short "Mats Lidell" "mats.lidell@contactor.se")
+       (print-short "Matt Liggett" "mliggett@seven.ucs.indiana.edu")
+       (print-short "Christian Limpach" "Christian.Limpach@nice.ch")
+       (print-short "Markus Linnala" "maage@b14b.tupsu.ton.tut.fi")
+       (print-short "Robert Lipe" "robertl@arnet.com")
+       (print-short "Derrell Lipman" "derrell@vis-av.com")
+       (print-short "Damon Lipparelli" "lipp@aa.net")
+       (print-short "Hamish Macdonald" "hamish@bnr.ca")
+       (print-short "Ian MacKinnon" "imackinnon@telia.co.uk")
+       (print-short "Patrick MacRoberts" "macro@hpcobr30.cup.hp.com")
+       (print-short "Tonny Madsen" "Tonny.Madsen@netman.dk")
+       (print-short "Ketil Z Malde" "ketil@ii.uib.no")
+       (print-short "Steve March" "smarch@quaver.urbana.mcd.mot.com")
+       (print-short "Ricardo Marek" "ricky@ornet.co.il")
+       (print-short "Pekka Marjola" "pema@iki.fi")
+       (print-short "Simon Marshall" "simon@gnu.ai.mit.edu")
+       (print-short "Dave Mason" "dmason@plg.uwaterloo.ca")
+       (print-short "Jaye Mathisen" "mrcpu@cdsnet.net")
+       (print-short "Michael McNamara" "mac@silicon-sorcery.com")
+       (print-short "Michael Meissner" "meissner@osf.org")
+       (print-short "David M. Meyer" "meyer@ns.uoregon.edu")
+       (print-short "Brad Miller" "bmiller@cs.umn.edu")
+       (print-short "Jeff Miller" "jmiller@bay1.bayserve.net")
+       (print-short "John Morey" "jmorey@crl.com")
+       (print-short "Rob Mori" "rob.mori@sun.com")
+       (print-short "Heiko Muenkel" "muenkel@tnt.uni-hannover.de")
+       (print-short "Arup Mukherjee" "arup+@cs.cmu.edu")
+       (print-short "Colas Nahaboo" "Colas.Nahaboo@sophia.inria.fr")
+       (print-short "TSUTOMU Nakamura" "tsutomu@rs.kyoto.omronsoft.co.jp")
+       (print-short "Lynn D. Newton" "lynn@ives.phx.mcd.mot.com")
+       (print-short "Casey Nielson" "knielson@joule.elee.calpoly.edu")
+       (print-short "Georg Nikodym" "Georg.Nikodym@canada.sun.com")
+       (print-short "Andy Norman" "ange@hplb.hpl.hp.com")
+       (print-short "Joe Nuspl" "nuspl@sequent.com")
+       (print-short "Kim Nyberg" "kny@tekla.fi")
+       (print-short "David Ofelt" "ofelt@getalife.Stanford.EDU")
+       (print-short "Alexandre Oliva" "oliva@dcc.unicamp.br")
+       (print-short "Tore Olsen" "toreo@colargol.idb.hist.no")
+       (print-short "Greg Onufer" "Greg.Onufer@eng.sun.com")
+       (print-short "Achim Oppelt" "aoppelt@theorie3.physik.uni-erlangen.de")
+       (print-short "Sudeep Kumar Palat" "palat@idt.unit.no")
+       (print-short "Marc Paquette" "Marc.Paquette@Softimage.com")
+       (print-short "Jens-U H Petersen" "petersen@kurims.kyoto-u.ac.jp")
+       (print-short "Joel Peterson" "tarzan@aosi.com")
+       (print-short "Thomas A. Peterson" "tap@src.honeywell.com")
+       (print-short "Peter Pezaris" "pez@dwwc.com")
+       (print-short "Tibor Polgar" "tlp00@eng.amdahl.com")
+       (print-short "Frederic Poncin" "fp@info.ucl.ac.be")
+       (print-short "E. Rehmi Post" "rehmi@asylum.sf.ca.us")
+       (print-short "Martin Pottendorfer" "Martin.Pottendorfer@aut.alcatel.at")
+       (print-short "Colin Rafferty" "craffert@spspme.ml.com")
+       (print-short "Paul M Reilly" "pmr@pajato.com")
+       (print-short "Jack Repenning" "jackr@sgi.com")
+       (print-short "Daniel Rich" "drich@cisco.com")
+       (print-short "Roland Rieke" "rol@darmstadt.gmd.de")
+       (print-short "Art Rijos" "art.rijos@SNET.com")
+       (print-short "Russell Ritchie" "ritchier@britannia-life.co.uk")
+       (print-short "Roland" "rol@darmstadt.gmd.de")
+       (print-short "Anthony Rossini" "rossini@math.sc.edu")
+       (print-short "Mike Russell" "mjruss@rchland.vnet.ibm.com")
+       (print-short "Jan Sandquist" "etxquist@iqa.ericsson.se")
+       (print-short "Marty Sasaki" "sasaki@spdcc.com")
+       (print-short "Mike Scheidler" "c23mts@eng.delcoelect.com")
+       (print-short "Daniel Schepler" "daniel@shep13.wustl.edu")
+       (print-short "Darrel Schneider" "darrel@slc.com")
+       (print-short "Hayden Schultz" "haydens@ll.mit.edu")
+       (print-short "Cotton Seed" "cottons@cybercom.net")
+       (print-short "Axel Seibert" "seiberta@informatik.tu-muenchen.de")
+       (print-short "Odd-Magne Sekkingstad" "oddms@ii.uib.no")
+       (print-short "Vinnie Shelton" "shelton@icd.teradyne.com")
+       (print-short "John Shen" "zfs60@cas.org")
+       (print-short "Murata Shuuichirou" "mrt@mickey.ai.kyutech.ac.jp")
+       (print-short "Dinesh Somasekhar" "somasekh@ecn.purdue.edu")
+       (print-short "Jeffrey Sparkes" "jsparkes@bnr.ca")
+       (print-short "Manoj Srivastava" "srivasta@pilgrim.umass.edu")
+       (print-short "Francois Staes" "frans@kiwi.uia.ac.be")
+       (print-short "Anders Stenman" "stenman@isy.liu.se")
+       (print-short "Jason Stewart" "jasons@cs.unm.edu")
+       (print-short "Rick Tait" "rickt@gnu.ai.mit.edu")
+       (print-short "Samuel Tardieu" "sam@inf.enst.fr")
+       (print-short "James Thompson" "thompson@wg2.waii.com")
+       (print-short "Raymond L. Toy" "toy@rtp.ericsson.se")
+       (print-short "Remek Trzaska" "remek@npac.syr.edu")
+       (print-short "John Turner" "turner@xdiv.lanl.gov")
+       (print-short "Juan E. Villacis" "jvillaci@cs.indiana.edu")
+       (print-short "Jan Vroonhof" "vroonhof@math.ethz.ch")
+       (print-short "Vladimir Vukicevic" "vladimir@intrepid.com")
+       (print-short "David Walte" "djw18@cornell.edu")
+       (print-short "Peter Ware" "ware@cis.ohio-state.edu")
+       (print-short "Yoav Weiss" "yoav@zeus.datasrv.co.il")
+       (print-short "Rod Whitby" "rwhitby@asc.corp.mot.com")
+       (print-short "Rich Williams" "rdw@hplb.hpl.hp.com")
+       (print-short "David C Worenklein" "dcw@gcm.com")
+       (print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp")
+       (print-short "Katsumi Yamaoka" "yamaoka@ga.sony.co.jp")
+       (print-short "Jason Yanowitz" "yanowitz@eternity.cs.umass.edu")
+       (print-short "La Monte Yarroll" "piggy@hilbert.maths.utas.edu.au")
+       (print-short "Blair Zajac" "blair@olympia.gps.caltech.edu")
+       (print-short "Daniel Zivkovic" "daniel@canada.sun.com")
+       (print-short "Karel Zuiderveld" "Karel.Zuiderveld@cv.ruu.nl")
+       "\n"))
+    (about-finish-buffer)))
 
 ;;; about.el ends here