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