1 ;;; about.el --- the About The Authors page (shameless self promotion).
3 ;; Copyright (c) 1997 Free Software Foundation, Inc.
4 ;; Copyright (C) 2001 Ben Wing.
6 ;; Keywords: extensions
8 ;; Maintainer: XEmacs Development Team
10 ;; This file is part of XEmacs.
12 ;; XEmacs is free software; you can redistribute it and/or modify it
13 ;; under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either version 2, or (at your option)
17 ;; XEmacs is distributed in the hope that it will be useful, but
18 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 ;; General Public License for more details.
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with XEmacs; see the file COPYING. If not, write to the
24 ;; Free Software Foundation, 59 Temple Place - Suite 330,
25 ;; Boston, MA 02111-1307, USA.
27 ;;; Synched up with: Not in FSF.
29 ;; Original code: Jamie Zawinski <jwz@jwz.org>
30 ;; Text: Ben Wing <ben@xemacs.org>, Jamie Zawinski <jwz@jwz.org>
31 ;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
32 ;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
33 ;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
34 ;; and Chuck Thompson <cthomp@xemacs.org>
35 ;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
36 ;; 19.13 and 19.14 updating done by Chuck Thompson.
37 ;; 19.15 and 20.0 updating done by Steve Baur and Martin Buchholz.
39 ;; Completely rewritten for 20.3 by Hrvoje Niksic <hniksic@xemacs.org>.
40 ;; The original had no version numbers; I numbered the rewrite as 2.0.
41 ;; Extensively revamped and most text rewritten by Ben Wing
42 ;; <ben@xemacs.org> for 21.4.
44 ;; Many things in this file are to gag. Ideally, we should just use
45 ;; HTML (or some other extension, e.g. info) for this sort of thing.
46 ;; However, W3 loads too long and is too large to be dumped with
49 ;; If you think this is ugly now -- o boy, you should have seen it
54 ;; People in this list have their individual links from the main page,
55 ;; or from the `Legion' page. If they have an image, it should be
56 ;; named after the CAR of the list element (baw -> baw.png).
58 ;; If you add to this list, you'll want to update
59 ;; `about-personal-info' and `about-hackers', and add the name to one
60 ;; of the three mutually exclusive lists just below.
62 (defface about-headline-face
63 '((((class color) (background dark))
64 (:foreground "red" :bold t))
65 ;; red4 is hardly different from black on windows.
66 (((class color) (background light)
68 (:foreground "red" :bold t))
69 (((class color) (background light))
70 (:foreground "red4" :bold t))
71 (((class grayscale) (background light))
72 (:foreground "LightGray" :bold t))
73 (((class grayscale) (background dark))
74 (:foreground "DimGray" :bold t))
76 "Face used for color-highlighted headlines in the About page.")
78 (defface about-link-face
79 '((((class color) (background dark))
80 (:foreground "blue" :underline t))
81 ;; blue4 is hardly different from black on windows.
82 (((class color) (background light) (type mswindows))
83 (:foreground "blue3" :underline t))
84 (((class color) (background light))
85 (:foreground "blue4" :underline t))
86 (((class grayscale) (background light))
87 (:foreground "DimGray" :bold t :italic t :underline t))
88 (((class grayscale) (background dark))
89 (:foreground "LightGray" :bold t :italic t :underline t))
91 "Face used for links in the About page.")
93 (defvar xemacs-hackers
95 ;; to sort the stuff below, use M-x sort-regexp-fields RET
96 ;; ^.*$ RET (\([a-z]*\) RET
97 (adrian "Adrian Aichner" "adrian@xemacs.org")
98 (aj "Andreas Jaeger" "aj@xemacs.org")
99 (ajc "Andrew Cosgriff" "ajc@xemacs.org")
100 (alastair "Alastair Houghton" "alastair@xemacs.org")
101 (baw "Barry Warsaw" "bwarsaw@xemacs.org")
102 (ben "Ben Wing" "ben@xemacs.org")
103 (bw "Bob Weiner" "weiner@xemacs.org")
104 (cgw "Charles Waldman" "cgw@xemacs.org")
105 (chr "Christian Nybø" "chr@xemacs.org")
106 (craig "Craig Lanning" "craig@xemacs.org")
107 (cthomp "Chuck Thompson" "cthomp@xemacs.org")
108 (daiki "Daiki Ueno" "daiki@xemacs.org")
109 (dan "Dan Holmsand" "dan@xemacs.org")
110 (darrylo "Darryl Okahata" "darrylo@xemacs.org")
111 (devin "Matthieu Devin" "devin@xemacs.org")
112 (dkindred "Darrell Kindred" "dkindred@xemacs.org")
113 (dmoore "David Moore" "dmoore@xemacs.org")
114 (dv "Didier Verna" "didier@xemacs.org")
115 (eb "Eric Benson" "eb@xemacs.org")
116 (fabrice "Fabrice Popineau" "fabrice@xemacs.org")
117 (golubev "I N Golubev" "golubev@xemacs.org")
118 (gunnar "Gunnar Evermann" "gunnar@xemacs.org")
119 (hbs "Harlan Sexton" "hbs@xemacs.org")
120 (hisashi "Hisashi Miyashita" "hisashi@xemacs.org")
121 (hmuller "Hans Muller" "hmuller@xemacs.org")
122 (hniksic "Hrvoje Niksic" "hniksic@xemacs.org")
123 (hobley "David hobley" "hobley@xemacs.org")
124 (jan "Jan Vroonhof" "jan@xemacs.org")
125 (jareth "Jareth Hein" "jareth@xemacs.org")
126 (jason "Jason R. Mastaler" "jason@xemacs.org")
127 (jens "Jens Lautenbacher" "jens@xemacs.org")
128 (jmiller "Jeff Miller" "jmiller@xemacs.org")
129 (jonathan "Jonathan Harris" "jonathan@xemacs.org")
130 (juhp "Jens-Ulrik Holger Petersen" "petersen@xemacs.org")
131 (jwz "Jamie Zawinski" "jwz@xemacs.org")
132 (kazz "IENAGA Kazuyuki" "ienaga@xemacs.org")
133 (kirill "Kirill Katsnelson" "kirill@xemacs.org")
134 (kyle "Kyle Jones" "kyle@xemacs.org")
135 (larsi "Lars Magne Ingebrigtsen" "larsi@xemacs.org")
136 (marcpa "Marc Paquette" "marcpa@xemacs.org")
137 (martin "Martin Buchholz" "martin@xemacs.org")
138 (mcook "Michael R. Cook" "mcook@xemacs.org")
139 (mly "Richard Mlynarik" "mly@xemacs.org")
140 (morioka "MORIOKA Tomohiko" "morioka@xemacs.org")
141 (mta "Mike Alexander" "mta@xemacs.org")
142 (ograf "Oliver Graf" "ograf@xemacs.org")
143 (olivier "Olivier Galibert" "olivier@xemacs.org")
144 (oscar "Oscar Figueiredo" "oscar@xemacs.org")
145 (pelegri "Eduardo Pelegri-Llopart" "pelegri@xemacs.org")
146 (pez "Peter Pezaris" "pez@xemacs.org")
147 (piper "Andy Piper" "andy@xemacs.org")
148 (pittman "Daniel Pittman" "pittman@xemacs.org")
149 (rickc "Rick Campbell" "rickc@xemacs.org")
150 (rose "John Rose" "rose@xemacs.org")
151 (rossini "Anthony Rossini" "rossini@xemacs.org")
152 (slb "Steve Baur" "steve@xemacs.org")
153 (sperber "Michael Sperber" "mike@xemacs.org")
154 (stig "Jonathan Stigelman" "stig@xemacs.org")
155 (stigb "Stig Bjorlykke" "stigb@xemacs.org")
156 (thiessel "Marcus Thiessel" "marcus@xemacs.org")
157 (tomonori "Tomonori Ikeyama" "tomonori@xemacs.org")
158 (tuck "Matt Tucker" "tuck@xemacs.org")
159 (turnbull "Stephen Turnbull" "turnbull@xemacs.org")
160 (vin "Vin Shelton" "acs@xemacs.org")
161 (vladimir "Vladimir Ivanovic" "vladimir@xemacs.org")
162 (wmperry "William Perry" "wmperry@xemacs.org")
163 (yoshiki "Yoshiki Hayashi" "yoshiki@xemacs.org")
164 (youngs "Steve Youngs" "youngs@xemacs.org")
166 "Alist of XEmacs hackers.")
168 (defvar about-current-release-maintainers
169 ;; this list should not necessarily be in sorted order.
170 '(turnbull adrian ben hniksic jason martin piper sperber youngs))
172 (defvar about-other-current-hackers
173 ;; to sort this list or the one below, use:
174 ;; M-x sort-regexp-fields RET [a-z]+ RET \(.*\) RET
175 '(aj alastair cgw craig daiki dan dv fabrice golubev gunnar hisashi
176 jan jareth jmiller jonathan kazz kirill larsi morioka mta ograf
177 olivier oscar pittman tomonori tuck vin wmperry yoshiki))
179 (defvar about-once-and-future-hackers
180 '(ajc baw bw chr cthomp darrylo devin dkindred dmoore eb hbs hmuller
181 hobley jens juhp jwz kyle marcpa mcook mly ograf pelegri pez
182 rickc rose rossini slb stig stigb thiessel vladimir))
184 ;; The CAR of alist elements is a valid argument to `about-url-link'.
185 ;; It is preferred to a simple string, because it makes maintenance
186 ;; easier. Please add new URLs to this list.
187 (defvar about-url-alist
188 ;; to sort the stuff below, use M-x sort-regexp-fields RET
189 ;; ^.*$ RET (\([a-z]*\) RET
190 '((ajc . "http://www-personal.monash.edu.au/~ajc/")
191 (alastair . "http://website.lineone.net/~ajhoughton/")
192 (baw . "http://barry.wooz.org/")
193 (ben . "http://www.666.com/ben/")
194 (ben-xemacs . "http://www.xemacs.org/Architecting-XEmacs/index.html")
195 (beopen . "http://www.beopen.com/")
196 (cc-mode . "http://cc-mode.sourceforge.net/")
197 (chr . "http://www.xemacs.org/faq/")
198 (daiki . "http://deisui.bug.org/diary/servlet/view")
199 (dkindred . "http://www.cs.cmu.edu/People/dkindred/me.html")
200 (dmoore . "http://oj.egbt.org/dmoore/")
201 (dv . "http://www.lrde.epita.fr/~didier/")
202 (fabrice . "http://www.ese-metz.fr/~popineau/")
203 (fptex . "http://www.fptex.org/")
204 (jason . "http://www.mastaler.com/")
205 (juhp . "http://www.01.246.ne.jp/~juhp/")
206 (jwz . "http://www.jwz.org/")
207 (kazz . "http://www.imasy.or.jp/~kazz/")
208 (kyle . "http://www.wonderworks.com/kyle/")
209 (larsi . "http://quimby.gnus.org/lmi/")
210 (marcpa . "http://www.positron911.com/products/power.htm")
211 (ograf . "http://www.fga.de/~ograf/")
212 (pez . "http://cbs.sportsline.com/")
213 (piper . "http://www.xemacs.freeserve.co.uk/")
214 (rossini . "http://faculty.washington.edu/rossini/")
215 (stigb . "http://www.tihlde.hist.no/~stigb/")
216 (vin . "http://www.upa.org/")
217 (vladimir . "http://www.leonora.org/~vladimir/")
218 (wget . "http://sunsite.dk/wget/")
219 (xemacs . "http://www.xemacs.org/")
220 (youngs . "http://eicq.sourceforge.net/"))
221 "Some of the more important URLs.")
223 (defvar about-left-margin 3)
225 (defun about-lookup-url (name)
226 (let ((result (cdr (assq name about-url-alist))))
230 ;; Insert a URL link in the buffer. TEXT-TO-INSERT is the text that will
231 ;; be hyperlinked; if omitted, the URL is used. HELP-ECHO is some text that
232 ;; will be displayed when the mouse moves over the link.
233 (defun about-url-link (url &optional text-to-insert help-echo)
236 (setq url (about-lookup-url url)))
237 (when (and text-to-insert (symbolp text-to-insert))
238 (setq text-to-insert (about-lookup-url text-to-insert)))
239 (widget-create 'url-link
243 :tag (or text-to-insert url)
246 ;; Insert a mailto: link in the buffer.
247 (defun about-mailto-link (address)
249 (concat "mailto:" address) address
250 (concat "Send mail to " address)
253 ;; Attach a face to a string, in order to be inserted into the buffer.
254 ;; Make sure that the extent is duplicable, but unique. Returns the
256 (defun about-with-face (string face)
257 (let ((ext (make-extent 0 (length string) string)))
258 (set-extent-property ext 'duplicable t)
259 (set-extent-property ext 'unique t)
260 (set-extent-property ext 'start-open t)
261 (set-extent-property ext 'end-open t)
262 (set-extent-face ext face))
265 ;; Switch to buffer NAME. If it doesn't exist, make it and switch to it.
266 (defun about-get-buffer (name)
267 (cond ((get-buffer name)
268 (switch-to-buffer name)
269 (delete-other-windows)
270 (goto-char (point-min))
273 (switch-to-buffer name)
274 (delete-other-windows)
275 (buffer-disable-undo)
276 ;; #### This is a temporary fix until wid-edit gets fixed right.
277 ;; We don't do everything that widget-button-click does -- i.e.
278 ;; we don't change the link color on button down -- but that's
281 'mouse-track-click-hook
282 #'(lambda (event count)
284 ((widget-event-point event)
285 (let* ((pos (widget-event-point event))
286 (button (get-char-property pos 'button)))
288 (widget-apply-action button event)
290 (set-specifier left-margin-width about-left-margin (current-buffer))
291 (set (make-local-variable 'widget-button-face) 'about-link-face)
294 ;; Set up the stuff needed by widget. Allowed types are `bury' and
295 ;; `kill'. The reason why we offer both types is performance: when a
296 ;; large buffer is merely buried, `about' will find it again when the
297 ;; user requests it, instead of recreating it. Small buffers can be
298 ;; killed because it is cheap to generate their contents.
300 (defun about-finish-buffer (&optional type)
301 (or type (setq type 'bury))
305 :help-echo "Bury this buffer"
306 :action (lambda (widget event)
309 ;; (bury-buffer (event-buffer event))
311 (with-selected-window (event-window event)
316 :help-echo "Kill this buffer"
317 :action (lambda (widget event)
319 (kill-buffer (event-buffer event))
320 (kill-buffer (current-buffer))))
322 (widget-insert " this buffer and return to previous.\n")
323 (use-local-map (make-sparse-keymap))
324 (set-keymap-parent (current-local-map) widget-keymap)
327 (local-set-key "q" 'bury-buffer)
328 (local-set-key "l" 'bury-buffer))
329 (let ((dispose (lambda () (interactive) (kill-buffer (current-buffer)))))
330 (local-set-key "q" dispose)
331 (local-set-key "l" dispose)))
332 (local-set-key " " 'scroll-up)
333 (local-set-key [backspace] 'scroll-down)
334 (local-set-key "\177" 'scroll-down)
336 (goto-char (point-min))
338 (set-buffer-modified-p nil))
340 ;; Make the appropriate number of spaces.
341 (defun about-center (string-or-glyph)
342 (let ((n (- (startup-center-spaces string-or-glyph) about-left-margin)))
343 (make-string (if (natnump n) n 0) ?\ )))
348 (defun about-xemacs ()
349 "Describe the True Editor and its minions."
351 (unless (about-get-buffer "*About XEmacs*")
352 (widget-insert (about-center xemacs-logo))
353 (widget-create 'default
355 :tag-glyph xemacs-logo)
357 (let* ((emacs-short-version (format "%d.%d"
359 emacs-minor-version))
360 (emacs-about-version (format "version %s; April 2001"
361 emacs-short-version)))
362 (widget-insert (about-center emacs-about-version))
363 (widget-create 'link :help-echo "What's new in XEmacs"
365 emacs-about-version))
369 (about-with-face "XEmacs" 'bold-italic)
370 " is a powerful, highly customizable open source text editor and
371 application development system, with full GUI support. It is protected
372 under the GNU Public License and related to other versions of Emacs, in
373 particular GNU Emacs. Its emphasis is on modern graphical user
374 interface support and an open software development model, similar to
375 Linux. XEmacs has an active development community numbering in the
376 hundreds (and thousands of active beta testers on top of this), and runs
377 on all versions of MS Windows, on Linux, and on nearly every other
378 version of Unix in existence. ")
379 (widget-create 'link :help-echo "An XEmacs history lesson"
380 :action 'about-collaboration
383 "Support for XEmacs")
385 " has been supplied by
386 Sun Microsystems, University of Illinois, Lucid, ETL/Electrotechnical
387 Laboratory, Amdahl Corporation, BeOpen, and others, as well as the
388 unpaid time of a great number of individual developers.
391 (widget-create 'link :help-echo "See a list of XEmacs advantages over GNU Emacs"
392 :action 'about-advantages
396 (widget-insert " over GNU Emacs. In addition, XEmacs 21.4
398 (widget-create 'link :help-echo "See a list of new features in XEmacs 21.4"
403 (widget-insert " not found in previous versions of XEmacs.
404 More details on XEmacs's functionality, including bundled packages, can
405 be obtained through the ")
406 (widget-create 'info-link
407 :help-echo "Browse the info system"
414 " on-line information system.\n
415 The XEmacs web page can be browsed, using any WWW browser at\n
417 (about-url-link 'xemacs nil "Visit XEmacs WWW page")
419 Note that W3 (XEmacs's own browser), might need customization (due to
420 firewalls) in order to work correctly.
422 XEmacs is the result of the time and effort of many people. The
423 developers responsible for this release are:\n\n")
425 (flet ((setup-person (who)
426 (widget-insert "\t* ")
427 (let* ((entry (assq who xemacs-hackers))
429 (address (caddr entry)))
431 :help-echo (concat "Find out more about " name)
434 :action 'about-maintainer
437 (widget-insert (format " <%s>\n" address)))))
438 ;; Setup persons responsible for this release.
439 (mapc 'setup-person about-current-release-maintainers)
440 (widget-insert "\n\t* ")
441 (widget-create 'link :help-echo "A legion of XEmacs hackers"
442 :action 'about-hackers
445 "The full list of contributors...")
447 Steve Baur was the primary maintainer for 19.15 through 21.0.\n\n")
450 Chuck Thompson and Ben Wing were the maintainers for 19.11 through 19.14
451 and heavy code contributors for 19.8 through 19.10.\n\n")
452 (setup-person 'cthomp)
455 Jamie Zawinski was the maintainer for 19.0 through 19.10 (the entire
456 history of Lucid Emacs).\n\n")
458 (about-finish-buffer)
459 ;; it looks horrible with the cursor on the first line, since it's
464 (defun about-news (&rest ignore)
466 (message "%s" (substitute-command-keys
467 "Press \\[kill-buffer] to exit this buffer")))
469 (defun about-collaboration (&rest ignore)
470 (unless (about-get-buffer "*About Collaboration*")
471 (let ((title "Why Another Version of Emacs"))
475 (about-with-face title 'bold)))
478 (about-with-face "The Lucid, Inc. Point of View"
481 At the time of the inception of Lucid Emacs (the former name of
482 XEmacs), Lucid's latest product was Energize, a C/C++ development
483 environment. Rather than invent (and force our users to learn) a new
484 user interface, we chose to build part of our environment on top of
485 the world's best editor, GNU Emacs. (Though our product is
486 commercial, the work we did on GNU Emacs is free software, and is
487 useful in its own right.)
489 We needed a version of Emacs with mouse-sensitive regions, multiple
490 fonts, the ability to mark sections of a buffer as read-only, the
491 ability to detect which parts of a buffer have been modified, and many
494 For our purposes, the existing version of Epoch was not sufficient; it
495 did not allow us to put arbitrary pixmaps/icons in buffers, `undo' did
496 not restore changes to regions, regions did not overlap and merge
497 their attributes in the way we needed, and several other things.
499 We could have devoted our time to making Epoch do what we needed (and,
500 in fact, we spent some time doing that in 1990) but, since the FSF
501 planned to include Epoch-like features in their version 19, we decided
502 that our efforts would be better spent improving Emacs 19 instead of
505 Our original hope was that our changes to Emacs would be incorporated
506 into the \"official\" v19. However, scheduling conflicts arose, and
507 we found that, given the amount of work still remaining to be done, we
508 didn't have the time or manpower to do the level of coordination that
509 would be necessary to get our changes accepted by the FSF.
510 Consequently, we released our work as a forked branch of Emacs,
511 instead of delaying any longer.
513 Roughly a year after Lucid Emacs 19.0 was released, a beta version of
514 the FSF branch of Emacs 19 was released. The FSF version is better in
515 some areas, and worse in others, as reflects the differing focus of
516 our development efforts.
518 We plan to continue developing and supporting Lucid Emacs, and merging
519 in bug fixes and new features from the FSF branch as appropriate; we
520 do not plan to discard any of the functionality that we implemented
521 which RMS has chosen not to include in his version.
523 Certain elements of Lucid Emacs, or derivatives of them, have been
524 ported to the FSF version. We have not been doing work in this
525 direction, because we feel that Lucid Emacs has a cleaner and more
526 extensible substrate, and that any kind of merger between the two
527 branches would be far easier by merging the FSF changes into our
528 version than the other way around.
530 We have been working closely with the Epoch developers to merge in the
531 remaining Epoch functionality which Lucid Emacs does not yet have.
532 Epoch and Lucid Emacs will soon be one and the same thing. Work is
533 being done on a compatibility package which will allow Epoch 4 code to
534 run in XEmacs with little or no change.\n\n"
535 (about-with-face "The Sun Microsystems, Inc. Point of View"
538 Emacs 18 has been around for a long, long time. Version 19 was
539 supposed to be the successor to v18 with X support. It was going to
540 be available \"real soon\" for a long time (some people remember
541 hearing about v19 as early as 1984!), but it never came out. v19
542 development was going very, very slowly, and from the outside it
543 seemed that it was not moving at all. In the meantime other people
544 gave up waiting for v19 and decided to build their own X-aware
545 Emacsen. The most important of these was probably Epoch, which came
546 from the University of Illinois (\"UofI\") and was based on v18.
548 Around 1990, the Developer Products group within Sun Microsystems
549 Inc., decided that it wanted an integrated editor. (This group is now
550 known as DevPro. It used to be known as SunPro - the name was changed
551 in mid-1994.) They contracted with the University of Illinois to
552 provide a number of basic enhancements to the functionality in Epoch.
553 UofI initially was planning to deliver this on top of Epoch code.
555 In the meantime, (actually some time before they talked with UofI)
556 Lucid had decided that it also wanted to provide an integrated
557 environment with an integrated editor. Lucid decided that the Version
558 19 base was a better one than Version 18 and thus decided not to use
559 Epoch but instead to work with Richard Stallman, the head of the Free
560 Software Foundation and principal author of Emacs, on getting v19 out.
561 At some point Stallman and Lucid parted ways. Lucid kept working and
562 got a v19 out that they called Lucid Emacs 19.
564 After Lucid's v19 came out it became clear to us (the UofI and Sun)
565 that the right thing to do was to push for an integration of both
566 Lucid Emacs and Epoch, and to get the deliverables that Sun was asking
567 from the University of Illinois on top of this integrated platform.
568 Until 1994, Sun and Lucid both actively supported XEmacs as part of
569 their product suite and invested a comparable amount of effort into
570 it. Substantial portions of the current code have originated under
571 the support of Sun, either directly within Sun, or at UofI but paid
572 for by Sun. This code was kept away from Lucid for a while, but later
573 was made available to them. Initially Lucid didn't know that Sun was
574 supporting UofI, but later Sun was open about it.
576 Around 1992 DevPro-originated code started showing up in Lucid Emacs,
577 starting with the infusion of the Epoch redisplay code. The separate
578 code bases at Lucid, Sun, and the University of Illinois were merged,
579 allowing a single XEmacs to evolve from that point on.
581 Sun originally called the integrated product ERA, for \"Emacs
582 Rewritten Again\". SunPro and Lucid eventually came to an agreement
583 to find a name for the product that was not specific to either
584 company. An additional constraint that Lucid placed on the name was
585 that it must contain the word \"Emacs\" in it -- thus \"ERA\" was not
586 acceptable. The tentatively agreed-upon name was \"XEmacs\", and this
587 has been the name of the program since version 19.11.)
589 As of 1997, Sun is shipping XEmacs as part of its Developer Products
590 integrated programming environment \"Sun WorkShop\". Sun is
591 continuing to support XEmacs development, with focus on
592 internationalization and quality improvement.\n\n"
593 (about-with-face "Lucid goes under" 'italic)
595 Around mid-'94, Lucid went out of business. Lucid founder Richard
596 Gabriel's book \"Patterns of Software\", which is highly recommended
597 reading in any case, documents the demise of Lucid and suggests
598 lessons to be learned for the whole software development community.
600 Development on XEmacs, however, has continued unabated under the
601 auspices of Sun Microsystems and the University of Illinois, with help
602 from Amdahl Corporation and INS Engineering Corporation. Sun plans to
603 continue to support XEmacs into the future.\n\n"
604 (about-with-face "The Amdahl Corporation point of view"
607 Amdahl Corporation's Storage Products Group (SPG) uses XEmacs as the
608 focal point of a environment for development of the microcode used in
609 Amdahl's large-scale disk arrays, or DASD's. SPG has joint ventures
610 with Japanese companies, and decided in late 1994 to contract out for
611 work on XEmacs in order to hasten the development of Mule support
612 \(i.e. support for Japanese, Chinese, etc.) in XEmacs and as a gesture
613 of goodwill towards the XEmacs community for all the work they have
614 done on making a powerful, modern, freely available text editor.
615 Through this contract, Amdahl provided a large amount of work in
616 XEmacs in the form of rewriting the basic text-processing mechanisms
617 to allow for Mule support and writing a large amount of the support
618 for multiple devices.
620 Although Amdahl is no longer hiring a full-time contractor, they are
621 still funding part-time work on XEmacs and providing resources for
622 further XEmacs development.\n\n"
623 (about-with-face "The INS Engineering point of view"
626 INS Engineering Corporation, based in Tokyo, bought rights to sell
627 Energize when Lucid went out of business. Unhappy with the
628 performance of the Japanese support in XEmacs 19.11, INS also
629 contributed to the XEmacs development from late 1994 to early
631 (about-finish-buffer)))
633 (defun about-advantages (&rest ignore)
634 (unless (about-get-buffer "*About Advantages*")
635 (let ((title "XEmacs Advantages over GNU Emacs"))
639 (about-with-face title 'bold)))
642 * Much better GUI support:
645 -- more comprehensive and better-designed menubars
646 -- horizontal and vertical scrollbars in all windows
647 -- proper dialog boxes
648 -- tabs for selecting buffers
649 -- support for variable-width and variable height fonts
650 -- support for arbitrary pixmaps and widgets in a buffer
651 -- face support on TTY's, including color
653 * An installable package system, with a huge number of packages available
654 that have been tested and are known to work with the latest version
657 * Comprehensive support for the GTK toolkit.
659 * An open development community, with contributions welcome and no need
660 to sign over your copyright to any organization. (Please send
661 contributions to xemacs-patches@xemacs.org. See http://www.xemacs.org
662 for more information on XEmacs mailing lists, and other info.)
664 * Support for display on multiple simultaneous X and/or TTY devices.
666 * Powerful, flexible control over the display characteristics of most
667 of the visual aspects of XEmacs through the use of specifiers, which
668 allow separate values to be specified for individual buffers,
669 windows, frames, devices, device classes, and device types.
671 * A clean, modern, abstracted Lisp interface to the menubar, toolbar,
672 window-system events, key combinations, extents (regions in a buffer
673 with specific properties), and all other display aspects.
675 * Proper integration with Xt and Motif (including Motif menubars and
676 scrollbars). Motif look-alike menubars and scrollbars are provided
677 for those systems without real Motif support.
679 * Many improvements to the multilingual support, such as the ability to
680 enter text for complex languages using the XIM mechanism and
681 localization of menubar text for the Japanese locale.
683 (about-finish-buffer)))
685 (defvar about-glyphs nil
688 ;; Return a maintainer's glyph
689 (defun about-maintainer-glyph (who)
690 (let ((glyph (cdr (assq who about-glyphs))))
692 (let ((file (expand-file-name
693 (concat (symbol-name who)
694 (if (memq (device-class)
698 (locate-data-directory "photos")))
701 (cond ((stringp data)
705 [string :data "[Image]"])
706 `([string :data "[Image]"]))))
708 (make-glyph [string :data "[Error]"]))
713 [string :data "[Image]"])
714 `([string :data "[Image]"]))))
716 (make-glyph [nothing]))))
717 (set-glyph-property glyph 'baseline 100)
719 (push (cons who glyph) about-glyphs)))
722 ;; Insert personal info about a maintainer. See also
723 ;; `about-hacker-contribution'. Note that the info in
724 ;; `about-hacker-contribution' is automatically displayed in the
725 ;; person's own page, so there is no need to duplicate it.
726 (defun about-personal-info (entry)
728 ;; you can sort the stuff below with something like
729 ;;(sort-regexp-fields nil
730 ;; " *(\\([^()]\\|([^()]*)\\|(\\([^()]\\|([^()]*)\\)*)\\)*)\n"
732 ;; (region-beginning) (region-end))
736 Sorry, no personal information available about me yet.\n"))
739 I'm a software developer working for the SuSE Labs of the Linux
740 distributor SuSE. My main task is to improve the GNU C library.")
741 (widget-insert ".\n"))
744 When not helping maintain the XEmacs website, Andrew is a Network
745 Software Engineer(tm) for Monash University in Australia, maintaining
746 webservers and doing random other things. As well as spending spare
747 time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
748 et. al., he spends his time pursuing, among other things, a Life.
749 Some of this currently involves doing an A-Z (by country) of
750 restaurants with friends, and has, in the past, involved dyeing his
751 hair various colours (see ")
752 (about-url-link 'ajc nil "Visit Andrew's home page")
753 (widget-insert ".\n"))
757 Alastair, apart from being an all-round hacker, occasional contributor
758 to free software projects and general good egg(!), currently works for
759 Telsis, a manufacturer of telephony equipment on the south coast of
760 England. He'd quite like to have his own company one day, but has yet
761 to think of that killer product...
764 (about-url-link 'alastair nil "Visit Alastair's home page")
765 (widget-insert ".\n"))
768 As of November 2000, I am a software engineer with the Pythonlabs at
769 Digital Creations. Pythonlabs is the core team developing and
770 maintaining the Python open source, object-oriented scripting
771 language. Digital Creations is the publisher of Zope, an open source
772 content management system written in Python.
774 In addition to my Python and Zope work, I am lead developer for the
775 GNU Mailman project, a mailing list management system written,
776 naturally, in Python. See the trend?
778 On the side I play bass with a number of Washington DC area bands and
779 also write poems about cows, milk, and fathers. Here's a sample, and
780 drop me an email if you live in the NYC to Charlotte region; I'll let
781 you know when the band's playing in your area. It'd be cool to meet
782 you, and talking about XEmacs would make my wife very happy by helping
783 to fend off the legions of groupies that seem to follow me everywhere.
788 Oh daddy with your fingers pink
789 From whose udders do you drink?
790 Thy milk offends with putrid stink
791 I'll vomit now, lactose I think
793 If I could dream, I'd be a cow
794 Not horse, or mule, or barnyard sow
795 The cud I'd chew would drip and how!
796 So milk me daddy, milk me now!
798 My bovine nature knows no bounds
799 I'd naught awake at midnight sounds
800 Of teens approaching o'er the grounds
801 To tip with glee, then screech like clowns
803 And so I stare into this glass
804 Of sweaty juice, I gulp so fast
805 Each drop I lick, down to the last
806 The vertigo I know will pass
808 My mother smiles and pats my head
809 She's proud of me, so she has said
810 My pop just now gets out of bed
811 His eyes quite comatose and red
813 He'll empathize my milky fate
814 Whilest sopping gravy from his plate
815 And as the hour is getting late
816 His belly taut with all he ate
818 He isn't often quite so chatty
819 His arteries clogged with meat so fatty
820 With burps that launch soup, thick and splatty
821 Oh how I wish you'd milk me daddy\n\n\t")
822 (about-url-link 'baw nil "Visit Barry's home page")
823 (widget-insert "\n"))
827 Since September 1992, I've worked on XEmacs as a contractor for
828 various companies and more recently as an unpaid volunteer.
830 Alas, life has not been good to me recently. This former San
831 Francisco \"Mission Critter\" developed insidious hand and neck
832 problems after a brief stint working on a Java-based VRML toolkit for
833 the now defunct Dimension X, and I was forced to quit working. I was
834 exiled first to \"Stroller Valley\" and later all the way to Tucson,
835 Arizona, and for two years was almost completely disabled due to pain.
836 More recently I have fought my way back with loads and loads of
837 narcotic painkillers, and currently I'm an art student at the
838 University of Arizona.\n\n")
839 (widget-insert "Architecting XEmacs: ")
840 (about-url-link 'ben-xemacs nil "Find the miracles in store for XEmacs")
841 (widget-insert "\nBen's home page: ")
842 (about-url-link 'ben nil "Visit Ben's page")
843 (widget-insert "\n"))
846 His interests include user interfaces, information management, CASE
847 tools, communications and enterprise integration.\n"))
851 Sorry, no personal information available about me yet.\n"))
854 Christian is a student at the Norwegian School of Economics and
855 Business Administration in Bergen, Norway. He used to work for an
856 internet startup called New Media Science, doing scripting and
857 violation of HTML DTD's. After graduation, spring 1999, he'll be
858 looking for a job involving lisp programming, French and Russian.\n"))
862 Sorry, no personal information available about me yet.\n"))
865 Chuck is a senior system and network administrator for the Computer
866 Science department at the Unversity of Illinois. In one previous life
867 he spent every waking hour working on XEmacs. In another he dabbled
868 as a project manager for a streaming video startup (RIP). His current
869 reason for not having time to contribute to XEmacs is the Thompson
872 (about-url-link 'daiki nil "Visit Daiki's page"))
876 Sorry, no personal information available about me yet.\n"))
880 Perennial Emacs hacker since 1986 or so, when he first started on GNU
881 Emacs 17.something. Over the years, he's developed \"OEmacs\", the first
882 version of GNU Emacs 19 for MSDOS, and \"bigperl\", a 32-bit version of
883 Perl4 for MSDOS. In recent years, reality has intruded and he no longer
884 has much time for playing with cool programs. What little time he has
885 now goes to XEmacs hacking, where he's worked on speeding up dired under
886 MS Windows, and to feeding his two cats.\n"))
890 Sorry, no personal information available about me yet.\n"))
893 Darrell is currently a doctoral student in computer science at
894 Carnegie Mellon University, but he's trying hard to kick that
898 (about-url-link 'dkindred nil "Visit Darrell's WWW page")
899 (widget-insert ".\n"))
902 David is a student in the Computer Systems Laboratory at UCSD. When
903 he manages to have free time, he usually spends it on 200 mile bicycle
904 rides, learning German or showing people the best mail & news
905 environment he's found in 10 years. (That'd be XEmacs, Gnus and bbdb,
906 of course.) He can be found at `druidmuck.egbt.org 4201' at various
910 (about-url-link 'dmoore nil "Visit David's home page")
911 (widget-insert ".\n"))
914 I graduated at ENST (an engineering school in Paris) and have a Ph.D.
915 in computer science. I'm currently a teacher at EPITA (another
916 engineering school, still in Paris) and a researcher at LRDE (EPITA's
917 research and development laboratory). Our research topics include
918 generic programming and distributed virtual reality.
920 Apart from XEmacs, I'm also involved in other free software projects,
921 including Gnus, BBDB, and the GNU \"autotools\". I also wrote some
922 LaTeX packages (ugh :-).
924 All of this, actually, is only 60% true. Two days per week, I'm also a
925 semi-professional Jazz guitar player (and singer), which means that it
926 is not the way I earn my crust, but things may very well reverse in
928 (widget-insert "Visit Didier's home page: ")
929 (about-url-link 'dv nil "Visit Didier's home page")
930 (widget-insert "\n"))
934 Sorry, no personal information available about me yet.\n"))
938 I'm a computer science researcher and teacher in a French electrical
939 engineering institution called Supelec. My fields of interest are
940 symbolic artificial intelligence, theoretical computer science, functional
941 languages ... and TeX.
943 Lately, my hacking time has been devoted to porting the Web2C/teTeX
944 distribution of TeX for Unix to Win32, and I'm still maintaining it.
945 It is included in the TeX Live cdrom edited by Sebastian Rahtz.\n")
946 (widget-insert "Visit fpTeX home page: ")
947 (about-url-link 'fptex nil "Visit fpTeX home page")
948 (widget-insert "\nFabrice's home page: ")
949 (about-url-link 'fabrice nil "Visit Fabrice's page")
950 (widget-insert "\n"))
954 Sorry, no personal information available about me yet.\n"))
958 Sorry, no personal information available about me yet.\n"))
962 Sorry, no personal information available about me yet.\n"))
966 Sorry, no personal information available about me yet.\n"))
970 Sorry, no personal information available about me yet.\n"))
973 Hrvoje thinks he works in the server-side web business. In reality,
974 he cranks out huge quantities of HTML, Tcl, and Java for the German
976 (about-url-link "http://www.arsdigita.com/"
977 "ArsDigita, Inc." "www.arsdigita.com")
978 ;; Avoid literal I18N characters in strings. *Displaying* a
979 ;; Latin 1 character should always be safe, though, with or
981 (let ((muenchen (format "M%cnchen" (make-char 'latin-iso8859-1 252))))
982 (widget-insert (format "\
983 He joined the ranks of Gastarbeiters only
984 recently; he is trying to learn German and get attuned to %s
985 and Bav^H^H^HGermany.\n" muenchen)))
989 Before ArsDigita, he worked as a programmer at ")
990 (about-url-link "http://www.iskon.hr/" "Iskon," "www.iskon.hr")
991 (widget-insert " a fast-growing
992 Croatian ISP. Even before that, he worked part-time for academic
994 (about-url-link "http://www.srce.hr/" "SRCE" "www.srce.hr")
995 (widget-insert " and ")
996 (about-url-link "http://www.carnet.hr/" "CARNet," "www.carnet.hr")
997 (widget-insert " and tried to attend university.
999 He takes perverse pleasure in building and maintaining free software
1000 in his free time. Apart from XEmacs, his major contribution is ")
1001 (about-url-link 'wget "Wget," "Wget home page")
1003 his very own creation, now jointly maintained by a happy crew.
1005 He dreams of having a home page.\n"))
1008 I used to do real work, but now I am a Project Manager for one of the
1009 Telco's in Australia. In my spare time I like to get back to basics and
1010 muck around with things. As a result I started the NT port. Hopefully I
1011 will get to finish it sometime sooner rather than later. I do vaguely
1012 remember University where it seems like I had more spare time that I can
1013 believe now. Oh well, such is life.\n"))
1016 Jan Vroonhof has been using XEmacs since he needed to write .tex files
1017 for his work as a physics and maths student at the Univerisity of Leiden.
1018 His XEmacs hacking started when XEmacs kept freezing up under a his
1019 window manager. He submitted a fix and has been hooked every since.
1021 XEmacs has followed him first to Switzerland where he did a maths
1022 doctorate at the ETH in Zurich, working on a conjecture by Migdal on
1023 the behavior of vertex corrections in Electron-Phonon theory. Finally
1024 sharing a house with his loved one, he now lives in Oxford (UK)
1025 working on the Jeode Java Virtual Machine, which like XEmacs is
1026 portable, implements a language, includes a non-trivial bit of
1027 graphics and a garbage collector, but is multithreaded to boot!
1028 Unfortunately his XEmacs time is directly limited by the amount of
1029 traffic on the M40.\n"))
1032 Jareth Hein is a mountain boy who abandoned his home state of Colorado
1033 for the perpetual state of chaos known as Tokyo in a failed attempt to
1034 become a cel-animator, and a more successful one to become a
1035 computer-game programmer. As he happens to be bilingual (guess which
1036 two?) he's been doing quite a bit of MULE hacking. He's also getting
1037 his hands dirty in the graphics areas as well.\n"))
1040 Jason resides in Northern New Mexico where he works as a Systems
1041 Scientist(tm) in the Los Alamos National Laboratory's Advanced
1045 (about-url-link 'jason nil "Visit Jason's homepage")
1046 (widget-insert ".\n"))
1049 I'm currently working for 1&1 Internet AG, a large Domain and Webspace
1050 Provider in Germany and Europe. I do mostly Java/XML/OO/Component
1051 stuff today. I'm interested EJB, Corba and other middleware or
1052 distributed Systems. Besides work, I occasionally hack on The Gimp
1053 and other gtk/gnome related projects. Maybe the advent of XEmacs/Gtk
1054 will get me back to spend some time again hacking on XEmacs in the
1058 Jeff grew up in Indiana and is a country boy at heart. He currently
1059 lives in, of all places, Millersville Maryland. He spends a lot of
1060 his free time tinkering with Linux and hacking on XEmacs and loves it
1061 when he finds new cool features in either. When he's not doing that,
1062 he enjoys downhill skiing, puzzles, and sci-fi. Jeff is also really
1063 interested in classical Roman history and enjoys making trips to
1064 Italy, where he was born, and seeing the sights")
1065 (widget-insert ".\n"))
1068 I work for Symbian Ltd in London, England, looking after low-level
1069 kernel, peripheral and toolchain stuff for the EPOC OS.
1071 I've been using XEmacs since 1994, but didn't start hacking on it
1072 until late 1997 when I started working at Symbian, a Windows-only
1073 company, and felt lost without my favourite editing environment.\n"))
1076 Jens was born in Copenhagen, grew up in Britain and is now living in
1077 Japan. He started using XEmacs 20 (instead of Emacs) as his
1078 work-environment in June 1997 while still an EU postdoc at RIMS, Kyoto
1079 University, and quickly got involved in XEmacs development. Recently
1080 he is getting into Haskell, a very nice pure functional programming
1084 (about-url-link 'juhp nil "Visit Jens' homepage")
1085 (widget-insert "\n"))
1089 (about-with-face "\"So much to do, so little time.\"" 'italic)
1091 Jamie Zawinski was primarily to blame for Lucid Emacs from its
1092 inception in 1991, to 1994 when Lucid Inc. finally died. After that,
1093 he was one of the initial employees of Netscape Communications, writing
1094 the first Unix version of Netscape Navigator, and designing and
1095 implementing the first version of the Netscape Mail and News readers.
1096 He then helped create and run ")
1097 (about-url-link "http://www.mozilla.org/"
1099 "Visit The Mozilla Organization")
1100 (widget-insert " for its first two years,
1101 until America Online bought Netscape Communications, at which point he
1102 gave up in disgust and dropped out of the computer industry entirely.
1105 (about-url-link "http://www.dnalounge.com/"
1107 "Visit The DNA Lounge")
1108 (widget-insert " in San Francisco, and occasionally writes
1109 screen savers.\n\n")
1110 (widget-insert "Visit jwz's ")
1111 (about-url-link 'jwz "home page" "Visit jwz's home page")
1112 (widget-insert ".\n"))
1115 Kazz is the XEmacs lead on BSD (especially FreeBSD).
1116 His main workspace is, probably, the latest stable version of
1117 FreeBSD and it makes him comfortable and not.
1118 His *mission* is to make XEmacs runs on FreeBSD without
1121 In real life, he is working on a PDM product based on CORBA,
1122 and doing consultation, design and implemention.
1123 He loves to play soccer, yes football!
1125 (about-url-link 'kazz nil "Visit Kazz's home page")
1126 (widget-insert ".\n"))
1130 Sorry, no personal information available about me yet.\n"))
1134 (about-url-link 'kyle nil "Visit Kyle's Home page")
1135 (widget-insert ".\n"))
1138 Lars's day job is as the head of the IT department of a Norwegian
1139 Internet stock broker. He claims no responsibility for the Dot
1140 Com Bomb, but he snickers a lot.
1143 (about-url-link 'larsi nil "Visit the Larsissistic pages")
1144 (widget-insert ".\n"))
1147 I work for Positron Industries Inc., Public Safety Division.
1148 I'm part of the team producing POWER 911, a 911 emergency response
1149 system written in Modula3:\n")
1150 (about-url-link 'marcpa nil "Visit POWER 911")
1152 \n\nPreviously, I worked at Softimage Inc., now a Microsoft company
1153 \(eeekkk!), as a UNIX system administrator. This is where I've been
1156 In a previous life, I was a programmer/sysadmin at CRIM (Centre de
1157 Recherche Informatique de Montreal) for the speech recognition group.\n"))
1160 Martin was the XEmacs guy at DevPro, a part of Sun Microsystems.
1161 Martin used to do XEmacs as a `hobby' while at IBM, and was crazy
1162 enough to try to make a living doing it at Sun.
1164 Martin starting using Emacs originally not to edit files, but to get
1165 the benefit of shell mode. He actually used to run nothing but a shell
1166 buffer, and use `xterm -e vi' to edit files. But then he saw the
1167 light. He dreams of rewriting shell mode from scratch. Stderr should
1170 Martin is no longer doing XEmacs for a living, and is Just Another
1175 Sorry, no personal information available about me yet.\n"))
1177 (widget-insert "Cars are evil. Ride a bike.\n"))
1180 I am a doctoral student at School of Information Science of JAIST
1181 \(Japan Advanced Institute of Science and Technology, Hokuriku). I'm
1182 interested in Natural Language, Affordance and writing systems.\n"))
1186 I am a software developer who worked for the University of Michigan
1187 for many years where I was one of the principal architects of the
1188 Michigan Terminal System. For the last several years I've been
1189 working for Arbortext, a publisher of XML publishing and content
1190 management software.\n"))
1193 I'm a student of computer sciences at the University of Koblenz. My
1194 major is computational linguistics (human language generation and
1197 I make my living as a managing director of a small but fine company
1198 which I started two years ago with one of my friends. We provide
1199 business network solutions based on linux servers and various other
1200 networking products.
1202 Most of my spare time I spent on the development of the XEmacs
1203 Drag'n'Drop API, a enhanced version of Tk called TkStep (better looks,
1204 also Drag'n'Drop, and more), and various other hacks: ISDN-tools,
1205 cd players, python, etc...
1207 To see some of these have a look at ")
1208 (about-url-link 'ograf nil "one of my homepages")
1209 (widget-insert ".\n"))
1213 Sorry, no personal information available about me yet.\n"))
1216 Oscar heads the Computer Science department at CPE Lyon, a french
1217 engineering school in France. Besides his administrative tasks he
1218 teaches networking basics, Internet technologies (you know, all these
1219 xxML and hairy script languages !) and the Scheme language.\n"))
1223 I did my my PhD at UCB and a postdoc at CSL/PARC. I joined Sun in 1990,
1224 spent some time in DevPro (that is when I made my contribution to
1225 XEmacs) and joined JavaSoft in fall '95, where I've been the lead for
1226 several JSP-related specifications and JAX-RPC. I'm currently the Web
1227 Layer architect for J2EE.
1229 I was born in Barcelona and I grew up mostly in Caracas; I have two kids
1230 and I speak only catalan to them; I can juggle some (career, family, and
1231 4 balls or 3 pins); and my english can be idiosyncratic!.\n"))
1234 Peter currently serves as Senior Vice President, Product Development
1235 for CBS SportsLine. See ")
1236 (about-url-link 'pez nil "CBS SportsLine")
1237 (widget-insert ".\n"))
1240 My home page is here:\n")
1241 (about-url-link 'piper nil "Visit andy's home page")
1243 Andy has recently rejoined the XEmacs team to help port XEmacs to
1244 MS Windows operating systems.\n"))
1248 Sorry, no personal information available about me yet.\n"))
1251 The hacker formerly known as Rick Busdiecker is a developer and
1252 technical manager at Deutsche Bank in New York during daylight hours.
1253 In the evenings he maintains three children, and when he ought to be
1254 sleeping he builds XEmacs betas, and tinkers with various personal
1255 hacking projects.\n"))
1259 Sorry, no personal information available about me yet.\n"))
1262 Current development lead for ESS (Emacs Speaks Statistics), a mode and
1263 inferior mode for statistical programming and data analysis for SAS,
1264 S, S-PLUS, R, XLispStat; configurable for nearly any other statistical
1265 language/package one might want. In spare time, chases his son around
1266 and acts as a Ph.D. (bio)statistician for money and amusement,
1267 primarily focusing on statistical computing, visualization, and the
1268 design and analysis of HIV vaccine trials. Current position: Research
1269 Assistant Professor of Biostatistics at the University of Washington
1270 and the Fred Hutchinson Cancer Research Center.
1273 (about-url-link 'rossini nil "Visit Anothony's home page")
1274 (widget-insert ".\n"))
1277 Peaches Baur, 1986-1999.
1279 (widget-insert ".\n"))
1282 When Mike isn't busy putting together patches for free software he has
1283 just installed or changing his hairstyle, he does research in modern
1284 programming languages and their implementation, and hopes that one day
1285 XEmacs will speak Scheme.\n"))
1288 Peripatetic uninominal Emacs hacker. Stig sometimes operates out of a
1289 big white van set up for nomadic living and hacking. Stig is sort of
1290 a tool fetishist. He has a hate/love relationship with computers and
1291 he hacks on XEmacs because it's a good tool that makes computers
1292 somewhat less of a nuisance. Besides XEmacs, Stig especially likes
1293 his Leatherman, his Makita, and his lockpicks. Stig wants a MIG
1294 welder and air tools.
1296 Stig likes to perch, hang from the ceiling, and climb on the walls.
1297 Stig has a cool van. Stig would like to be able to telecommute from,
1298 say, the north rim of the Grand Canyon or the midst of Baja.\n"))
1301 Currently studying computer science in Trondheim, Norway. Full time
1302 Linux user and proud of it. XEmacs hacker light.
1305 (about-url-link 'stigb nil "Visit Stig's home page"))
1308 Worked at University of Kaiserslautern where he took part in the
1309 development and design of a CAD framework for analog integrated
1310 circuits with special emphasis on distributed software concepts. He
1311 has now joined HP as technical consultant.
1313 All of the buildings,
1315 were once just a dream
1316 in somebody's head.\n
1321 Sorry, no personal information available about me yet.\n"))
1325 Sorry, no personal information available about me yet.\n"))
1328 Stephen lives with his Japanese wife and children in Tsukuba, Japan,
1329 where he is a professor of economics at the University of Tsukuba.\n"))
1332 I own and operate my own consulting firm, EtherSoft. Shhh, don't
1333 tell anyone, but it's named after an Ultimate team I used to play
1334 with in Austin, Texas - the Ether Bunnies. I'm getting too old
1335 to play competitive Ultimate any more, so now I've gotten roped
1336 into serving on the board of directors of the Ultimate Players
1338 (about-url-link 'vin nil "Visit the UPA homepage")
1339 (widget-insert ".\n"))
1342 Former technical lead for XEmacs at Sun. He is now writing a book on
1343 distributed Java and is working at Xerox PARC documenting AspectJ, a
1344 light-weight extension to Java that supports crosscutting concerns.
1346 (about-url-link 'vladimir nil "Visit Vladimir's home page")
1347 (widget-insert ".\n"))
1350 Happily living in Indiana telecommuting for a company based in Seattle
1351 \(who I now prefer not to name), wishing I was in Ireland instead.\n"))
1355 Sorry, no personal information available about me yet.\n"))
1358 I live in Brisbane, Australia with my wife, Michelle and our daughter,
1359 Kaitlyn. I've only been hacking XEmacs for a short time (approx 18
1360 mths), but I've been fooling around with computers since the early
1363 In the past, I've been a bank officer, car salesman, insurance agent,
1364 managed a computer firm and owned and operated my own business. I now
1365 divide my time between my family, planning my next business idea (a
1366 computer consulting firm that uses zero Microsoft products), looking
1367 after the XEmacs Packages and hacking my own XEmacs package, Eicq.
1370 (about-url-link 'youngs nil "Visit the Eicq homepage")
1371 (widget-insert ".\n"))
1374 ;; Insert info about a maintainer's contribution to XEmacs. See also
1375 ;; `about-personal-info'.
1376 (defun about-hacker-contribution (entry)
1378 ;; to sort the entries below, use M-x sort-regexp-fields RET
1379 ;; then this regexp: ([^(]*([^"]*"[^"]*"[^)]*))
1380 ;; then this regexp: (\([a-z]*\)
1384 Adrian has done invaluable work rewriting and maintaining the XEmacs
1385 web pages at www.xemacs.org. During his tenureship, he has
1386 established a consistent look and feel, placed the web pages under
1387 CVS, set up maintenance procedures, written scripts to handle
1388 automatic updating, validation and mirroring, and done innumerable
1389 other tasks. He has also helped with many other administrative tasks,
1390 such as the thankless work of dealing with the providers of resources
1391 to XEmacs at SourceForge and tux.org.\n"))
1394 Former `Package Patch Tender', beta tester and GNU libc developer.\n"))
1397 Former XEmacs web site maintainer.\n"))
1401 Rewrote the selection code, adding many new features such as better
1402 support for arbitrary selection types (especially under MS Windows,
1403 where the full power of the clipboard system is available under
1407 I'm the author of ")
1408 (about-url-link 'cc-mode "CC Mode" "Visit the CC Mode page")
1409 (widget-insert ", for C, C++, Objective-C and Java editing,
1410 Supercite for mail and news citing, and sundry other XEmacs packages
1411 such as ELP (the Emacs Lisp Profiler), Reporter, xrdb-mode, and
1412 winring. Even though I still live almost 100% in XEmacs these days,
1413 my Lisp hacking has fallen off in recent years as I became more
1414 involved in Python, and in fact, I currently maintain the Python
1415 editing mode. See also: ")
1416 (about-url-link "http://www.python.org/emacs" nil
1417 "Visit the python.org Emacs Goodies page")
1418 (widget-insert ".\n"))
1422 I am the largest code contributor to XEmacs, and the architect of many
1423 of the features that distinguish XEmacs from GNU Emacs and other Emacs
1424 versions. My main contributions to XEmacs include rewriting large
1425 parts of the internals and the gory Xt/Xlib interfacing, adding the
1426 Mule \(international) support, improving the MS Windows support,
1427 adding many GUI features to XEmacs, architecting the
1428 device-abstraction and specifier code, writing most of the XEmacs
1429 Internals Manual and the XEmacs-specific parts of the XEmacs Lisp
1430 Reference Manual, synching a great deal of code with GNU Emacs, and
1431 being a general nuisance ... er, brainstormer for many of the new
1432 features of XEmacs.\n"))
1435 Author of the Hyperbole everyday information management hypertext
1436 system and the OO-Browser multi-language code browser. He also
1437 designed the BeOpen InfoDock integrated development environment
1438 for software engineers. It runs atop XEmacs and is available from
1439 his firm, BeOpen, which offers distributions, custom development,
1440 support, and training packages for corporate users of XEmacs, GNU
1441 Emacs and InfoDock. See ")
1442 (about-url-link 'beopen nil "Visit BeOpen WWW page")
1443 (widget-insert ".\n"))
1447 Author of an earlier version of the MS Windows setup program for XEmacs.\n"))
1450 Maintainer of the XEmacs FAQ and proud author of `zap-up-to-char'.\n"))
1454 Sorry, no information about my XEmacs contributions yet.\n"))
1458 Maintainer of XEmacs from mid-1994 through 1996. Author of the
1459 redisplay engine, the original toolbar and scrollbars and some of the
1460 device-abstraction, TTY and glyph code. Creator of the xemacs.org
1461 domain and comp.emacs.xemacs.\n"))
1465 Sorry, no information about my XEmacs contributions yet.\n"))
1469 Sorry, no information about my XEmacs contributions yet.\n"))
1473 Sorry, no information about my XEmacs contributions yet.\n"))
1476 Part of the original (pre-19.0) Lucid Emacs development team.
1477 Matthieu wrote the initial Energize interface, designed the
1478 toolkit-independent Lucid Widget library, and fixed enough redisplay
1479 bugs to last a lifetime. The features in Lucid Emacs were largely
1480 inspired by Matthieu's initial prototype of an Energize interface
1484 Darrell tends to come out of the woodwork a couple of weeks
1485 before a new release with a flurry of fixes for bugs that
1486 annoy him. He hopes he's spared you from a core dump or two.\n"))
1489 David has contributed greatly to the quest to speed up XEmacs.\n"))
1492 I joined the development of XEmacs in 1996, and have been one of the
1493 core maintainers since 1998. Although I'm mostly interested in the
1494 GUI, ergonomics, redisplay and autoconf issues, it's probably simpler
1495 to describe what I'm *not* involved in: I've never touched the Lisp
1496 implementation, and I probably never will...
1498 I'm the author of the multicast support, I wrote and maintain some
1499 external Emacs Lisp packages (including mchat) and I'm also
1500 responsible for some of the core Lisp code (including the rectangle
1501 library which I rewrote for both XEmacs and GNU Emacs).\n"))
1504 Also part of the original Lucid Emacs development team. Eric played a
1505 big part in the design of many aspects of the system, including the
1506 new command loop and keymaps, fixed numerous bugs, and has been a
1507 reliable beta tester ever since.\n"))
1511 I have started to provide binary kits for the 21.2 series when there
1512 was no installer available. I contributed a few lines of core code
1513 occasionally to make things smoother with the native win32 port which
1514 I'm using all the day.
1516 I also contributed elisp code long ago to make Gnus run under XEmacs.\n"))
1520 Sorry, no information about my XEmacs contributions yet.\n"))
1524 Sorry, no information about my XEmacs contributions yet.\n"))
1527 Part of the original (pre-19.0) Lucid Emacs development team. Harlan
1528 designed and implemented many of the low level data structures which
1529 are original to the Lucid version of Emacs, including extents and hash
1534 Sorry, no information about my XEmacs contributions yet.\n"))
1537 Author of the code used to connect XEmacs with ToolTalk, and of an
1538 early client of the external Emacs widget.\n"))
1542 Hrvoje's contribution to XEmacs consists of many hours spent working
1543 on code and taking part in public discussions.
1545 He wrote `savehist' and `htmlize' packages, the latter having a pretty
1546 large gathering of users. He worked to improve many parts of XEmacs
1547 Lisp code, including isearch (FSF synch and new features), cl, edmacro
1548 \(FSF synch and an almost complete rewrite), profile, gnuserv,
1549 hyper-apropos, etags, about, and custom.
1551 He has worked on improving and optimizing the C core. He ported many
1552 FSF core features such as indirect buffers, tty-erase-char,
1553 save-current-buffer and friends, debug-ignored-errors, etc. He also
1554 wrote line numbering optimizations for large buffers, initial support
1555 for TTY frames, abbrev improvements, Lisp printer and reader
1556 improvements, support for extent modification functions, and lots of
1557 minor bugfixes, optimizations, and Muleifications.
1559 He contributed to Lispref and Internals documentation, including a
1560 section on writing Mule-compliant C code. Maintains NEWS. He
1561 participated on xemacs-beta since 1996 and on the Patch Review Board
1562 since its inception in 1998.\n"))
1566 Creator of the earliest version of the MS Windows port of XEmacs.\n"))
1569 Apart from hunting down redisplay bugs Jan has worked on such
1570 things as improvements to the package system, implementing lazy-shot,
1571 a short stint at tracking patches and currently acts as a guardian
1572 of the XEmacs custom subsystem and gnuserv.\n"))
1575 Owner of cvs.xemacs.org, the machine that holds the XEmacs CVS
1576 repository, and author of some of the graphics code in XEmacs.\n"))
1579 Beta tester, manager of the various XEmacs mailing lists and binary
1580 kit manager. Also, originator and maintainer of the gnus.org domain.\n"))
1583 Jens did the artwork for graphics added to XEmacs 20.2 and 19.15. He's
1584 also the author of \"XEmacs Mine\", a game similar to Minesweeper, but
1585 running in XEmacs\n"))
1588 Beta tester and last hacker of calendar.\n"))
1591 I started the native port of XEmacs to MS Windows. Author of the
1592 Windows frame, redisplay, face and event loop support.\n"))
1595 Author of \"find-func.el\", improvements to \"help.el\" and a good
1596 number of bug fixes during June 1997 to December 1998.\n"))
1600 Creator and maintainer of Lucid Emacs (the predecessor of XEmacs),
1601 from 1991 through mid-1994.\n"))
1604 IENAGA Kazuyuki is the XEmacs technical lead on BSD, particularly
1609 Abstracted the subprocess code and wrote much of the MS Windows
1610 support in XEmacs, including the subprocess interface, dialog boxes,
1611 printing support, and much of the event loop.\n"))
1614 Author of VM, a mail-reading package that is included in the standard
1615 XEmacs distribution, and contributor of many improvements and bug
1616 fixes. Unlike RMAIL and MH-E, VM uses the standard UNIX mailbox
1617 format for its folders; thus, you can use VM concurrently with other
1618 UNIX mail readers such as Berkeley Mail and ELM.
1620 Also rewrote the object allocation system in XEmacs to support full
1621 32-bit pointers and 31-bit integers.\n"))
1624 Author of Gnus the Usenet news and Mail reading package in the
1625 standard XEmacs distribution, and contributor of various enhancements
1626 and portability fixes.\n"))
1630 Sorry, no information about my XEmacs contributions yet.\n"))
1634 Beta release manager and author of many stability fixes and speed
1635 improvements in XEmacs.\n"))
1638 Author of the \"shy groups\" and minimal matching regular expression
1642 Early code contributor to Lucid Emacs. Synched up Lucid Emacs with
1643 the first actual release of GNU Emacs 19, and architected and wrote
1644 the first version of XEmacs's object allocation system.\n"))
1647 I am the author of tm-view (general MIME Viewer for GNU Emacs) and
1648 major author and maintainer of tm (Tools for MIME; general MIME
1649 package for GNU Emacs). In addition, I am working to unify MULE API
1650 for Emacs and XEmacs. In XEmacs, I have ported many mule features.\n"))
1654 Contributed minor improvements to the Windows support, especially
1655 related to subprocess communication and portable dumping as well as
1656 a bit of general bug fixing.\n"))
1659 Author of the XEmacs Drag'n'Drop API.\n"))
1663 Author of the portable dumper.\n"))
1666 Oscar's major contributions to XEmacs are the internal LDAP support
1667 and the EUDC package, an interface to query various directory services
1668 in a uniform manner (when composing mail for instance).\n"))
1671 Author of EOS, a package included in the standard XEmacs distribution
1672 that integrates XEmacs with the SPARCworks development environment
1673 from Sun. Past lead for XEmacs at Sun; advocated the validity of
1674 using Epoch, and later Lemacs, at Sun through several early
1678 Author of SQL Mode, edit-toolbar, mailtool-mode, and various other
1679 small packages with varying degrees of usefulness.\n"))
1682 Author of the Cygwin port of XEmacs including unexec, the widget,
1683 gutter and buffer-tab support, glyphs under MS-Windows, toolbars under
1684 MS-Windows, the original \"fake\" XEmacs toolbar, outl-mouse for mouse
1685 gesture based outlining, and the original CDE drag-n-drop
1690 Sorry, no information about my XEmacs contributions yet.\n"))
1693 Maintainer of ILISP.\n"))
1696 Author of many extensions to the `extents' code, including the initial
1697 implementation of `duplicable' properties.\n"))
1700 Author of the first XEmacs FAQ;
1701 Development lead on Emacs Speaks Statistics;
1702 Assisted Jareth Hein with setting up the JitterBug tracking system.\n"))
1706 Maintainer of XEmacs from 1996 through 1998. Author of the package
1710 Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs. He's
1711 also responsible for the ports of facemenu.el and enriched.el, the
1712 code to handle path-frobbing at startup for the XEmacs core and the
1713 package system, the init file migration from .emacs to
1714 .xemacs/init.el, and the CVS Great Trunk Move.\n"))
1717 Implemented the faster stay-up Lucid menus and hyper-apropos.
1718 Contributor of many dispersed improvements in the core Lisp code, and
1719 back-seat contributor for several of its major packages.\n"))
1722 Maintainer of the RPM package.\n"))
1725 Does beta testing and helps take care of the XEmacs web site.\n"))
1729 Sorry, no information about my XEmacs contributions yet.\n"))
1733 Sorry, no information about my XEmacs contributions yet.\n"))
1737 Responsible for getting the current release of XEmacs out the
1741 Vin helps maintain the older, more mature (read: moldy) versions of
1742 XEmacs. Vin maintains the XEmacs patch pages in order to bring a more
1743 stable XEmacs. (Actually, he does it 'cause it's fun and he's been
1744 using emacs for a long, long time.) Vin also contributed the detached
1745 minibuffer code as well as a few minor enhancements to the menubar
1749 Former technical lead for XEmacs at Sun.\n"))
1752 Author of the GTK support in XEmacs, Emacs-w3 (the builtin web browser
1753 that comes with XEmacs), and various additions to the C code (e.g. the
1754 database support, the PNG support, some of the GIF/JPEG support, the
1755 strikethru face attribute support).\n"))
1759 Sorry, no information about my XEmacs contributions yet.\n"))
1762 Maintainer and release manager of the packages.\n"))
1765 ;; Setup the buffer for a maintainer.
1766 (defun about-maintainer (widget &optional event)
1767 (let* ((entry (assq (widget-value widget) xemacs-hackers))
1770 (address (caddr entry))
1771 (bufname (format "*About %s*" name)))
1772 (unless (about-get-buffer bufname)
1773 ;; Display the glyph and name
1774 (widget-insert "\n")
1775 (widget-create 'default :format "%t"
1776 :tag-glyph (about-maintainer-glyph who))
1778 "\n\n" (about-with-face (format "%s" name) 'bold)
1780 (about-mailto-link address)
1781 (widget-insert ">\n\n")
1782 ;; Display the actual info
1783 (about-personal-info entry)
1784 (widget-insert "\n")
1786 (about-with-face "Contributions to XEmacs:\n\n" 'about-headline-face))
1787 (about-hacker-contribution entry)
1788 (widget-insert "\n")
1789 (about-finish-buffer 'kill)
1792 (defsubst about-tabs (str)
1793 (let ((x (length str)))
1794 (cond ((>= x 24) " ")
1799 (defun about-show-linked-info (who)
1800 (let* ((entry (assq who xemacs-hackers))
1802 (address (caddr entry)))
1803 (widget-create 'link :help-echo (concat "Find out more about " name)
1804 :action 'about-maintainer
1809 (widget-insert (about-tabs name)
1811 (about-mailto-link address)
1812 (widget-insert ">\n")
1813 (about-hacker-contribution entry)
1814 (widget-insert "\n")))
1816 (defun about-hackers (&rest ignore)
1817 (unless (about-get-buffer "*About Contributors*")
1818 (let ((title "A Legion of Contributors to XEmacs"))
1820 (about-center title)
1821 (about-with-face title 'bold)))
1824 Like most free software, XEmacs is a collaborative effort. These are
1825 some of the contributors. We have no doubt forgotten someone; we
1826 apologize! You can see some of our faces under the links.\n\n"
1827 (about-with-face "Primary maintainers for this release:"
1828 'about-headline-face)
1830 (mapc 'about-show-linked-info about-current-release-maintainers)
1833 (about-with-face "Other notable current hackers:"
1834 'about-headline-face)
1836 (mapc 'about-show-linked-info about-other-current-hackers)
1839 (about-with-face "Other notable once and future hackers:"
1840 'about-headline-face)
1842 (mapc 'about-show-linked-info about-once-and-future-hackers)
1843 (flet ((print-short (name addr &optional shortinfo)
1844 (widget-insert (concat (about-with-face name 'italic)
1847 (about-mailto-link addr)
1850 (if shortinfo (concat shortinfo "\n") "")))))
1853 In addition to those just mentioned, the following people have spent a
1854 great deal of effort providing feedback, testing beta versions of
1855 XEmacs, providing patches to the source code, or doing all of the
1856 above. We couldn't have done it without them.\n\n")
1857 (print-short "Nagi M. Aboulenein" "aboulene@ponder.csci.unt.edu")
1858 (print-short "Per Abrahamsen" "abraham@dina.kvl.dk")
1859 (print-short "Gary Adams" "gra@zeppo.East.Sun.COM")
1860 (print-short "Gennady Agranov" "agranov@csa.CS.Technion.Ac.IL")
1861 (print-short "Mark Allender" "allender@vnet.IBM.COM")
1862 (print-short "Stephen R. Anderson" "sra@bloch.ling.yale.edu")
1863 (print-short "Butch Anton" "butch@zaphod.uchicago.edu")
1864 (print-short "Fred Appelman" "Fred.Appelman@cv.ruu.nl")
1865 (print-short "Erik \"The Pope\" Arneson" "lazarus@mind.net")
1866 (print-short "Tor Arntsen" "tor@spacetec.no")
1867 (print-short "Marc Aurel" "4-tea-2@bong.saar.de")
1868 (print-short "Larry Auton" "lda@control.att.com")
1869 (print-short "Larry Ayers" "layers@marktwain.net")
1870 (print-short "Oswald P. Backus IV" "backus@altagroup.com")
1871 (print-short "Mike Battaglia" "mbattagl@dsccc.com")
1872 (print-short "Neal Becker" "neal@ctd.comsat.com")
1873 (print-short "Paul Bibilo" "peb@delcam.com")
1874 (print-short "Leonard Blanks" "ltb@haruspex.demon.co.uk")
1875 (print-short "Jan Borchers" "job@tk.uni-linz.ac.at")
1876 (print-short "Mark Borges" "mdb@cdc.noaa.gov")
1877 (print-short "David P. Boswell" "daveb@tau.space.thiokol.com")
1878 (print-short "Tim Bradshaw" "tfb@edinburgh.ac.uk")
1879 (print-short "Rick Braumoeller" "rickb@mti.sgi.com")
1880 (print-short "Matthew J. Brown" "mjb@doc.ic.ac.uk")
1881 (print-short "Alastair Burt" "burt@dfki.uni-kl.de")
1882 (print-short "David Bush" "david.bush@adn.alcatel.com")
1883 (print-short "Richard Caley" "rjc@cstr.edinburgh.ac.uk")
1884 (print-short "Stephen Carney" "carney@gvc.dec.com")
1885 (print-short "Lorenzo M. Catucci" "lorenzo@argon.roma2.infn.it")
1886 (print-short "Philippe Charton" "charton@lmd.ens.fr")
1887 (print-short "Peter Cheng" "peter.cheng@sun.com")
1888 (print-short "Jin S. Choi" "jin@atype.com")
1889 (print-short "Tomasz J. Cholewo" "tjchol01@mecca.spd.louisville.edu")
1890 (print-short "Serenella Ciongoli" "czs00@ladybug.oes.amdahl.com")
1891 (print-short "Glynn Clements" "glynn@sensei.co.uk")
1892 (print-short "Richard Cognot" "cognot@ensg.u-nancy.fr")
1893 (print-short "Andy Cohen" "cohen@andy.bu.edu")
1894 (print-short "Richard Coleman" "coleman@math.gatech.edu")
1895 (print-short "Mauro Condarelli" "MC5686@mclink.it")
1896 (print-short "Nick J. Crabtree" "nickc@scopic.com")
1897 (print-short "Christopher Davis" "ckd@kei.com")
1898 (print-short "Soren Dayton" "csdayton@cs.uchicago.edu")
1899 (print-short "Chris Dean" "ctdean@cogit.com")
1900 (print-short "Michael Diers" "mdiers@logware.de")
1901 (print-short "William G. Dubuque" "wgd@martigny.ai.mit.edu")
1902 (print-short "Steve Dunham" "dunham@dunham.tcimet.net")
1903 (print-short "Samuel J. Eaton" "samuele@cogs.susx.ac.uk")
1904 (print-short "Carl Edman" "cedman@Princeton.EDU")
1905 (print-short "Dave Edmondson" "davided@sco.com")
1906 (print-short "Jonathan Edwards" "edwards@intranet.com")
1907 (print-short "Eric Eide" "eeide@asylum.cs.utah.edu")
1908 (print-short "EKR" "ekr@terisa.com")
1909 (print-short "David Fletcher" "frodo@tsunami.com")
1910 (print-short "Paul Flinders" "ptf@delcam.co.uk")
1911 (print-short "Jered J Floyd" "jered@mit.edu")
1912 (print-short "Gary D. Foster" "Gary.Foster@Corp.Sun.COM")
1913 (print-short "Jerry Frain" "jerry@sneffels.tivoli.com")
1914 (print-short "Holger Franz" "hfranz@physik.rwth-aachen.de")
1915 (print-short "Benjamin Fried" "bf@morgan.com")
1916 (print-short "Barry Friedman" "friedman@nortel.ca")
1917 (print-short "Noah Friedman" "friedman@splode.com")
1918 (print-short "Kazuyoshi Furutaka" "furutaka@Flux.tokai.jaeri.go.jp")
1919 (print-short "Lew Gaiter III" "lew@StarFire.com")
1920 (print-short "Itay Gat" "itay@cs.huji.ac.il")
1921 (print-short "Tim Geisler" "Tim.Geisler@informatik.uni-muenchen.de")
1922 (print-short "Dave Gillespie" "daveg@synaptics.com")
1923 (print-short "Christian F. Goetze" "cg@bigbook.com")
1924 (print-short "Yusuf Goolamabbas" "yusufg@iss.nus.sg")
1925 (print-short "Wolfgang Grieskamp" "wg@cs.tu-berlin.de")
1926 (print-short "John Griffith" "griffith@sfs.nphil.uni-tuebingen.de")
1927 (print-short "James Grinter" "jrg@demon.net")
1928 (print-short "Ben Gross" "bgross@uiuc.edu")
1929 (print-short "Dirk Grunwald" "grunwald@foobar.cs.Colorado.EDU")
1930 (print-short "Michael Guenther" "michaelg@igor.stuttgart.netsurf.de")
1931 (print-short "Dipankar Gupta" "dg@hplb.hpl.hp.com")
1932 (print-short "Markus Gutschke" "gutschk@GOEDEL.UNI-MUENSTER.DE")
1933 (print-short "Kai Haberzettl" "khaberz@synnet.de")
1934 (print-short "Adam Hammer" "hammer@cs.purdue.edu")
1935 (print-short "Magnus Hammerin" "magnush@epact.se")
1936 (print-short "ChangGil Han" "cghan@phys401.phys.pusan.ac.kr")
1937 (print-short "Derek Harding" "dharding@lssec.bt.co.uk")
1938 (print-short "Michael Harnois" "mharnois@sbt.net")
1939 (print-short "John Haxby" "J.Haxby@isode.com")
1940 (print-short "Karl M. Hegbloom" "karlheg@inetarena.com")
1941 (print-short "Benedikt Heinen" "beh@icemark.thenet.ch")
1942 (print-short "Stephan Herrmann" "sh@first.gmd.de")
1943 (print-short "August Hill" "awhill@inlink.com")
1944 (print-short "Mike Hill" "mikehill@hgeng.com")
1945 (print-short "Charles Hines" "chuck_hines@VNET.IBM.COM")
1946 (print-short "Shane Holder" "holder@rsn.hp.com")
1947 (print-short "Chris Holt" "xris@migraine.stanford.edu")
1948 (print-short "Tetsuya HOYANO" "hoyano@ari.bekkoame.or.jp")
1949 (print-short "David Hughes" "djh@harston.cv.com")
1950 (print-short "Tudor Hulubei" "tudor@cs.unh.edu")
1951 (print-short "Tatsuya Ichikawa" "ichikawa@hv.epson.co.jp")
1952 (print-short "Andrew Innes" "andrewi@harlequin.co.uk")
1953 (print-short "Markku Jarvinen" "Markku.Jarvinen@simpukka.funet.fi")
1954 (print-short "Robin Jeffries" "robin.jeffries@sun.com")
1955 (print-short "Philip Johnson" "johnson@uhics.ics.Hawaii.Edu")
1956 (print-short "J. Kean Johnston" "jkj@paradigm-sa.com")
1957 (print-short "John W. Jones" "jj@asu.edu")
1958 (print-short "Andreas Kaempf" "andreas@sccon.com")
1959 (print-short "Yoshiaki Kasahara" "kasahara@nc.kyushu-u.ac.jp")
1960 (print-short "Amir Katz" "amir@ndsoft.com")
1961 (print-short "Doug Keller" "dkeller@vnet.ibm.com")
1962 (print-short "Hunter Kelly" "retnuh@corona")
1963 (print-short "Gregor Kennedy" "gregork@dadd.ti.com")
1964 (print-short "Michael Kifer" "kifer@cs.sunysb.edu")
1965 (print-short "Yasuhiko Kiuchi" "kiuchi@dsp.ksp.fujixerox.co.jp")
1966 (print-short "Greg Klanderman" "greg.klanderman@alum.mit.edu")
1967 (print-short "Valdis Kletnieks" "Valdis.Kletnieks@vt.edu")
1968 (print-short "Norbert Koch" "n.koch@delta-ii.de")
1969 (print-short "Rob Kooper" "kooper@cc.gatech.edu")
1970 (print-short "Peter Skov Knudsen" "knu@dde.dk")
1971 (print-short "Jens Krinke" "krinke@ips.cs.tu-bs.de")
1972 (print-short "Maximilien Lincourt" "max@toonboom.com")
1973 (print-short "Mats Larsson" "Mats.Larsson@uab.ericsson.se")
1974 (print-short "Simon Leinen" "simon@instrumatic.ch")
1975 (print-short "Carsten Leonhardt" "leo@arioch.oche.de")
1976 (print-short "James LewisMoss" "moss@cs.sc.edu")
1977 (print-short "Mats Lidell" "mats.lidell@contactor.se")
1978 (print-short "Matt Liggett" "mliggett@seven.ucs.indiana.edu")
1979 (print-short "Christian Limpach" "Christian.Limpach@nice.ch")
1980 (print-short "Maximilien Lincourt" "max@toonboom.com")
1981 (print-short "Markus Linnala" "maage@b14b.tupsu.ton.tut.fi")
1982 (print-short "Robert Lipe" "robertl@arnet.com")
1983 (print-short "Derrell Lipman" "derrell@vis-av.com")
1984 (print-short "Damon Lipparelli" "lipp@aa.net")
1985 (print-short "Hamish Macdonald" "hamish@bnr.ca")
1986 (print-short "Ian MacKinnon" "imackinnon@telia.co.uk")
1987 (print-short "Patrick MacRoberts" "macro@hpcobr30.cup.hp.com")
1988 (print-short "Tonny Madsen" "Tonny.Madsen@netman.dk")
1989 (print-short "Ketil Z Malde" "ketil@ii.uib.no")
1990 (print-short "Steve March" "smarch@quaver.urbana.mcd.mot.com")
1991 (print-short "Ricardo Marek" "ricky@ornet.co.il")
1992 (print-short "Pekka Marjola" "pema@iki.fi")
1993 (print-short "Simon Marshall" "simon@gnu.ai.mit.edu")
1994 (print-short "Dave Mason" "dmason@plg.uwaterloo.ca")
1995 (print-short "Jaye Mathisen" "mrcpu@cdsnet.net")
1996 (print-short "Jason McLaren" "mclaren@math.mcgill.ca")
1997 (print-short "Michael McNamara" "mac@silicon-sorcery.com")
1998 (print-short "Michael Meissner" "meissner@osf.org")
1999 (print-short "David M. Meyer" "meyer@ns.uoregon.edu")
2000 (print-short "John Mignault" "jbm@panix.com")
2001 (print-short "Brad Miller" "bmiller@cs.umn.edu")
2002 (print-short "John Morey" "jmorey@crl.com")
2003 (print-short "Rob Mori" "rob.mori@sun.com")
2004 (print-short "Heiko Muenkel" "muenkel@tnt.uni-hannover.de")
2005 (print-short "Arup Mukherjee" "arup+@cs.cmu.edu")
2006 (print-short "Colas Nahaboo" "Colas.Nahaboo@sophia.inria.fr")
2007 (print-short "Lynn D. Newton" "lynn@ives.phx.mcd.mot.com")
2008 (print-short "Casey Nielson" "knielson@joule.elee.calpoly.edu")
2009 (print-short "Georg Nikodym" "Georg.Nikodym@canada.sun.com")
2010 (print-short "Andy Norman" "ange@hplb.hpl.hp.com")
2011 (print-short "Joe Nuspl" "nuspl@sequent.com")
2012 (print-short "Kim Nyberg" "kny@tekla.fi")
2013 (print-short "Kevin Oberman" "oberman@es.net")
2014 (print-short "David Ofelt" "ofelt@getalife.Stanford.EDU")
2015 (print-short "Alexandre Oliva" "oliva@dcc.unicamp.br")
2016 (print-short "Tore Olsen" "toreo@colargol.idb.hist.no")
2017 (print-short "Greg Onufer" "Greg.Onufer@eng.sun.com")
2018 (print-short "Achim Oppelt" "aoppelt@theorie3.physik.uni-erlangen.de")
2019 (print-short "Rebecca Ore" "rebecca.ore@op.net")
2020 (print-short "Sudeep Kumar Palat" "palat@idt.unit.no")
2021 (print-short "Joel Peterson" "tarzan@aosi.com")
2022 (print-short "Thomas A. Peterson" "tap@src.honeywell.com")
2023 (print-short "Tibor Polgar" "tibor@alteon.com")
2024 (print-short "Frederic Poncin" "fp@info.ucl.ac.be")
2025 (print-short "E. Rehmi Post" "rehmi@asylum.sf.ca.us")
2026 (print-short "Martin Pottendorfer" "Martin.Pottendorfer@aut.alcatel.at")
2027 (print-short "Colin Rafferty" "colin@xemacs.org")
2028 (print-short "Rick Rankin" "Rick_Rankin-P15254@email.mot.com")
2029 (print-short "Paul M Reilly" "pmr@pajato.com")
2030 (print-short "Jack Repenning" "jackr@sgi.com")
2031 (print-short "Daniel Rich" "drich@cisco.com")
2032 (print-short "Roland Rieke" "rol@darmstadt.gmd.de")
2033 (print-short "Art Rijos" "art.rijos@SNET.com")
2034 (print-short "Russell Ritchie" "ritchier@britannia-life.co.uk")
2035 (print-short "Roland" "rol@darmstadt.gmd.de")
2036 (print-short "Mike Russell" "mjruss@rchland.vnet.ibm.com")
2037 (print-short "Hajime Saitou" "hajime@jsk.t.u-tokyo.ac.jp")
2038 (print-short "Jan Sandquist" "etxquist@iqa.ericsson.se")
2039 (print-short "Marty Sasaki" "sasaki@spdcc.com")
2040 (print-short "SATO Daisuke" "densuke@ga2.so-net.or.jp")
2041 (print-short "Kenji Sato" "ken@ny.kdd.com")
2042 (print-short "Mike Scheidler" "c23mts@eng.delcoelect.com")
2043 (print-short "Daniel Schepler" "daniel@shep13.wustl.edu")
2044 (print-short "Holger Schauer" "schauer@coling.uni-freiburg.de")
2045 (print-short "Darrel Schneider" "darrel@slc.com")
2046 (print-short "Hayden Schultz" "haydens@ll.mit.edu")
2047 (print-short "Cotton Seed" "cottons@cybercom.net")
2048 (print-short "Axel Seibert" "seiberta@informatik.tu-muenchen.de")
2049 (print-short "Odd-Magne Sekkingstad" "oddms@ii.uib.no")
2050 (print-short "Gregory Neil Shapiro" "gshapiro@sendmail.org")
2051 (print-short "Justin Sheehy" "justin@linus.mitre.org")
2052 (print-short "John Shen" "zfs60@cas.org")
2053 (print-short "Murata Shuuichirou" "mrt@mickey.ai.kyutech.ac.jp")
2054 (print-short "Matt Simmons" "simmonmt@acm.org")
2055 (print-short "Dinesh Somasekhar" "somasekh@ecn.purdue.edu")
2056 (print-short "Jeffrey Sparkes" "jsparkes@bnr.ca")
2057 (print-short "Manoj Srivastava" "srivasta@pilgrim.umass.edu")
2058 (print-short "Francois Staes" "frans@kiwi.uia.ac.be")
2059 (print-short "Anders Stenman" "stenman@isy.liu.se")
2060 (print-short "Jason Stewart" "jasons@cs.unm.edu")
2061 (print-short "Rick Tait" "rickt@gnu.ai.mit.edu")
2062 (print-short "TANAKA Hayashi" "tanakah@mxa.mesh.ne.jp")
2063 (print-short "Samuel Tardieu" "sam@inf.enst.fr")
2064 (print-short "James Thompson" "thompson@wg2.waii.com")
2065 (print-short "Nobu Toge" "toge@accad1.kek.jp")
2066 (print-short "Raymond L. Toy" "toy@rtp.ericsson.se")
2067 (print-short "Remek Trzaska" "remek@npac.syr.edu")
2068 (print-short "TSUTOMU Nakamura" "tsutomu@rs.kyoto.omronsoft.co.jp")
2069 (print-short "Stefanie Teufel" "s.teufel@ndh.net")
2070 (print-short "Gary Thomas" "g.thomas@opengroup.org")
2071 (print-short "John Turner" "turner@xdiv.lanl.gov")
2072 (print-short "UENO Fumihiro" "7m2vej@ritp.ye.IHI.CO.JP")
2073 (print-short "Aki Vehtari" "Aki.Vehtari@hut.fi")
2074 (print-short "Juan E. Villacis" "jvillaci@cs.indiana.edu")
2075 (print-short "Vladimir Vukicevic" "vladimir@intrepid.com")
2076 (print-short "David Walte" "djw18@cornell.edu")
2077 (print-short "Peter Ware" "ware@cis.ohio-state.edu")
2078 (print-short "Christoph Wedler" "wedler@fmi.uni-passau.de")
2079 (print-short "Yoav Weiss" "yoav@zeus.datasrv.co.il")
2080 (print-short "Peter B. West" "p.west@uq.net.au")
2081 (print-short "Rod Whitby" "rwhitby@asc.corp.mot.com")
2082 (print-short "Rich Williams" "rdw@hplb.hpl.hp.com")
2083 (print-short "Raymond Wiker" "raymond@orion.no")
2084 (print-short "Peter Windle" "peterw@SDL.UG.EDS.COM")
2085 (print-short "David C Worenklein" "dcw@gcm.com")
2086 (print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp")
2087 (print-short "Katsumi Yamaoka" "yamaoka@ga.sony.co.jp")
2088 (print-short "Jason Yanowitz" "yanowitz@eternity.cs.umass.edu")
2089 (print-short "La Monte Yarroll" "piggy@hilbert.maths.utas.edu.au")
2090 (print-short "Blair Zajac" "blair@olympia.gps.caltech.edu")
2091 (print-short "Volker Zell" "vzell@de.oracle.com")
2092 (print-short "Daniel Zivkovic" "daniel@canada.sun.com")
2093 (print-short "Karel Zuiderveld" "Karel.Zuiderveld@cv.ruu.nl")
2094 (widget-insert "\n"))
2095 (about-finish-buffer)))
2097 ;;; about.el ends here