comparison lisp/prim/about.el @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children ac2d302a0011
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 ;;; about.el --- the About The Authors page (shameless self promotion).
2 ;;;
3
4 ;; Copyright (c) 1995, 1996 XEmacs Advocacy Organization.
5
6 ;; This file is part of XEmacs.
7
8 ;; XEmacs is free software; you can redistribute it and/or modify it
9 ;; under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation; either version 2, or (at your option)
11 ;; any later version.
12
13 ;; XEmacs is distributed in the hope that it will be useful, but
14 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 ;; General Public License for more details.
17
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with XEmacs; see the file COPYING. If not, write to the Free
20 ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
21
22 ;;; Synched up with: Not in FSF.
23
24 ;;; This is kind of a kludge. We were going to use W3 to do this, but
25 ;;; it's too slow to load, and HTML gives you too little control over
26 ;;; the layout (especially indentation and inter-paragraph spacing).
27 ;;; Maybe the text should have been written in limited HTML anyway,
28 ;;; and I should have hacked up a simple and fast parser for it, but
29 ;;; it's done now...
30 ;;;
31 ;;; Code: Jamie Zawinski <jwz@netscape.com>
32 ;;; Text: Ben Wing <wing@666.com>, Jamie Zawinski <jwz@netscape.com>
33 ;;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
34 ;;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
35 ;;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
36 ;;; and Chuck Thompson <cthomp@xemacs.org>
37 ;;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
38 ;;; 19.13 and 19.14 updating done by Chuck Thompson.
39
40 (require 'browse-url)
41 (defvar about-xref-map (let ((map (make-sparse-keymap)))
42 (define-key map 'button1 'about-xemacs-xref)
43 (define-key map 'button2 'about-xemacs-xref)
44 (define-key map '(return) 'about-xemacs-xref)
45 map))
46
47 ;; This historically significant variable has been removed from service.
48 (defvar what-are-we-calling-it-today "XEmacs")
49
50 (defun about-face (text face)
51 (let ((p (point))
52 e)
53 (insert text)
54 (setq e (make-extent p (point)))
55 ;;(set-extent-property e 'start-open t)
56 (set-extent-face e face)
57 e))
58
59 (defun about-xref (text xref help)
60 (let ((e (about-face text 'bold)))
61 (set-extent-property e 'keymap about-xref-map)
62 (set-extent-property e 'mouse-face 'highlight)
63 (set-extent-property e 'xref xref)
64 (set-extent-property e 'help-echo help)
65 e))
66
67 ;;;###autoload
68 (defun about-xemacs ()
69 (interactive)
70 (switch-to-buffer (get-buffer-create "About XEmacs"))
71 (delete-other-windows)
72 (buffer-disable-undo (current-buffer))
73 (widen)
74 (set (make-local-variable 'tab-width) 8)
75 (setq buffer-read-only t)
76 (view-mode nil 'kill-buffer) ;; assume the new view-less
77 (let* ((buffer-read-only nil)
78 (emacs-short-version (concat emacs-major-version "." emacs-minor-version))
79 (emacs-about-version (format "version %s; June 1996" emacs-short-version))
80 (indent-tabs-mode t)
81 )
82 (erase-buffer)
83 (insert "\n")
84 (indent-to (startup-center-spaces xemacs-logo))
85 (let ((e (make-extent (point) (point))))
86 (set-extent-begin-glyph e xemacs-logo))
87 (insert "\n\n")
88 (indent-to (startup-center-spaces "(formerly known as Lucid Emacs)"))
89 (insert "(formerly known as Lucid Emacs)")
90 (insert "\n\n")
91 (indent-to (startup-center-spaces emacs-about-version))
92 (about-xref emacs-about-version 'news "The latest NEWS of XEmacs")
93 (insert "\n\n")
94
95 (insert "\n\t")
96 (about-face "XEmacs" 'italic)
97 (insert " is a powerful, extensible text editor with full GUI
98 support, initially based on an early version of GNU Emacs 19 from
99 the Free Software Foundation and since kept up to date with recent
100 versions of that product. XEmacs stems from a ")
101 (about-xref "collaboration" 'history "An XEmacs History Lesson")
102 (insert "\n\tof Lucid, Inc. with Sun Microsystems, Inc. and the University
103 of Illinois with additional support having been provided by
104 Amdahl Corporation and INS Engineering Corporation.\n\n\t")
105
106 (insert "In almost all circumstances, Emacs-Lisp code written for
107 GNU Emacs versions 18 and 19 will run under XEmacs without
108 requiring any modifications, or at most will require small
109 changes to accommodate an improved functional interface.\n\n\t")
110
111 (insert "XEmacs provides a great number of ")
112 (about-xref "new features" 'features "See a list of the new features.")
113 (insert ". More details
114 on XEmacs's functionality, including bundled packages can be
115 obtained through the ")
116
117 (about-xref "`info`" 'info "Look at the info pages")
118 (insert " on-line information system.
119
120 The WWW page for XEmacs can be browsed, using any WWW browser, at\n\t\t")
121 (about-xref "http://www.xemacs.org/" 'w3-xemacs "Go to the XEmacs World Wide Web page")
122 (insert "\n\n\tNote that w3 (XEmacs's own browser), might need customization
123 (due to firewalls) in order to work correctly.\n\n\t")
124
125 (insert "XEmacs is the result of the time and effort of many people.
126 The developers responsible for the " emacs-short-version " release are:
127
128 * ") (about-xref "Chuck Thompson" 'cthomp "Find out more about Chuck Thompson") (insert " <cthomp@xemacs.org>
129 * ") (about-xref "Ben Wing" 'wing "Find out more about Ben Wing") (insert " <wing@xemacs.org>
130
131 * ") (about-xref "And many other contributors..." 'others "Read about the legion of XEmacs hackers") (insert "
132
133 Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10,
134 the last release actually named Lucid Emacs. Richard Mlynarik
135 was crucial to most of those releases.
136
137 * ") (about-xref "Jamie Zawinski" 'jwz "Find out more about Jamie Zawinski") (insert " <jwz@netscape.com>
138 * ") (about-xref "Richard Mlynarik" 'mly "Find out more about Richard Mlynarik") (insert " <mly@adoc.xerox.com>")
139 (insert "\n\n\tClick ")
140 (about-xref "here" 'kill-buffer "Exit the About page")
141 (insert " to remove (kill) this buffer.")
142 (goto-char (point-min)))
143 )
144
145 (defun about-load-mosaic (&optional who-to-load)
146 (save-excursion
147 (set-buffer (get-buffer-create "About XEmacs"))
148 (toggle-read-only 0)
149
150 (let ((rest (if who-to-load (list who-to-load)
151 '(cthomp wing stig jwz mly vladimir baw piper bw wmperry)))
152 (got-error nil))
153 (while rest
154 (let* ((who (car rest))
155 (who-xpm (expand-file-name
156 (concat (symbol-name who)
157 (if (memq (device-class (selected-device))
158 '(color grayscale))
159 ""
160 "m")
161 ".xpm")
162 data-directory)))
163 (or (file-exists-p who-xpm) (setq who-xpm (concat who-xpm ".Z")))
164 (if (eq nil (assoc who (buffer-local-variables)))
165 (make-local-variable who))
166 (if (and (boundp who)
167 (glyphp (symbol-value who)))
168 nil
169 (message "One moment please...")
170 (condition-case c
171 (save-restriction
172 (set who nil)
173 (narrow-to-region (point) (point))
174 (insert-file-contents who-xpm)
175 (if (looking-at "\037\235") ;may already be decompressed...
176 (call-process-region (point-min) (point-max)
177 "zcat" t t nil))
178 (set who (make-glyph
179 (prog1 (buffer-string)
180 (delete-region (point-min) (point-max)))))
181 )
182 (error
183 (setq got-error t)
184 (message nil)
185 (display-error c nil)
186 (sit-for 2)))))
187 (setq rest (cdr rest)))
188 (or got-error (message nil)))
189 (toggle-read-only 1)
190 ))
191
192 (defun about-add-mosaic ()
193 (goto-char (point-min))
194 (about-load-mosaic)
195
196 ;; HERE TO PLACE ADDITIONAL MUGSHOTS
197
198 (goto-char (point-max))
199 (insert "\n ")
200
201 (let ((rest '(cthomp wing stig linebreak jwz mly vladimir linebreak baw piper bw linebreak wmperry))
202 (got-error nil))
203 (while rest
204 (if (eq (car rest) 'linebreak)
205 (insert "\n\n ")
206 (let* ((who (car rest))
207 (b (get-buffer "About XEmacs"))
208 (p (symbol-value-in-buffer who b nil)))
209 (or (glyphp p) (setq p nil))
210 (and p
211 (let ((e (make-extent (point) (point))))
212 (set-extent-begin-glyph e p)
213 (set-extent-property e 'keymap about-xref-map)
214 (set-extent-property e 'xref who)))
215 (insert " ")
216 (sit-for 0)))
217 (setq rest (cdr rest)))
218 (insert "\n")
219 (goto-char (point-min))
220 (or got-error (message nil)))
221 )
222
223 (defun about-xemacs-xref ()
224 (interactive "@")
225 (let* ((e (or current-mouse-event last-input-event))
226 (extent (or (and (null e) (extent-at (point)))
227 (and (mouse-event-p e) (event-glyph-extent e))
228 (extent-at (if (mouse-event-p e)
229 (event-point e)
230 (point))
231 (if (mouse-event-p e)
232 (event-buffer e)
233 (current-buffer))
234 'xref)))
235 (xref (extent-property extent 'xref))
236 prev-page)
237 ;; prev-page is used for the core people's pages since they can be
238 ;; reached from two different locations
239 (if (equal (buffer-name) "About XEmacs")
240 (setq prev-page 'about)
241 ;; Kill the sub-buffers when going back to the top, so that we
242 ;; don't hold pointers to the bitmaps longer than necessary.
243 (if (not (eq xref 'w3-jamie))
244 (progn
245 (kill-buffer (current-buffer))
246 (setq prev-page 'others))))
247 (cond
248 ((eq xref 'about)
249 (about-xemacs))
250 ((eq xref 'info)
251 (info))
252 ((or (eq xref 'w3-xemacs) (eq xref 'w3-jamie))
253 (funcall browse-url-browser-function
254 (if (eq xref 'w3-xemacs)
255 "http://www.xemacs.org/"
256 "http://www.netscape.com/people/jwz/")))
257 ((eq xref 'kill-buffer)
258 (kill-buffer (current-buffer)))
259 ((eq xref 'news)
260 (view-emacs-news)
261 (view-mode nil 'kill-buffer) ;; assume the new view-less
262 (save-excursion
263 (goto-char (point-min))
264 (let ((buffer-read-only nil))
265 (insert "\nClick ")
266 (about-xref "here" prev-page "Return to previous page")
267 (insert " to go back to the previous page.\n\n")
268 (set-buffer-modified-p nil)
269 )))
270 (t
271 (switch-to-buffer (get-buffer-create
272 (cond ((eq xref 'jwz) "About Jamie Zawinski")
273 ((eq xref 'cthomp) "About Chuck Thompson")
274 ((eq xref 'wing) "About Ben Wing")
275 ((eq xref 'mly) "About Richard Mlynarik")
276 ((eq xref 'vladimir) "About Vladimir Ivanovic")
277 ((eq xref 'baw) "About Barry Warsaw")
278 ((eq xref 'wmperry) "About William Perry")
279 ((eq xref 'bw) "About Bob Weiner")
280 ((eq xref 'piper) "About Andy Piper")
281 ((eq xref 'stig) "About Jonathan Stigelman")
282 ((eq xref 'others) "About Everyone")
283 ((eq xref 'features) "New XEmacs Features")
284 ((eq xref 'history) "XEmacs History")
285 )))
286 (delete-other-windows)
287 (buffer-disable-undo (current-buffer))
288 (widen)
289 (setq buffer-read-only t)
290 (view-mode nil 'kill-buffer) ;; assume the new view-less
291 (let ((buffer-read-only nil)
292 (case-fold-search nil)
293 )
294 (if (and (not (eq xref 'others)) (not (eq xref 'history))
295 (not (eq xref 'features)))
296 (about-load-mosaic xref))
297 (erase-buffer)
298 (let* ((b (get-buffer "About XEmacs"))
299 (p (and b (symbol-value-in-buffer xref b nil))))
300 (or (glyphp p) (setq p nil))
301 (cond (p
302 (insert "\n\t")
303 (set-extent-begin-glyph (make-extent (point) (point)) p)
304 (insert "\n\t"))
305 (t
306 (insert "\n\t"))))
307 (cond
308 ((eq xref 'history)
309 (insert "Click ")
310 (about-xref "here" prev-page "Return to previous page")
311 (insert " to go back to the previous page.\n\n\t")
312
313 (about-face "XEmacs" 'bold)
314 (insert "\n\n\n\t")
315 (about-face "The Lucid, Inc. Point of View" 'italic)
316 (insert "
317
318 At the time of the inception of Lucid Emacs (the former name
319 of XEmacs), Lucid's latest product was Energize, a C/C++
320 development environment. Rather than invent (and force our
321 users to learn) a new user interface, we chose to build part
322 of our environment on top of the world's best editor, GNU
323 Emacs. (Though our product is commercial, the work we did on
324 GNU Emacs is free software, and is useful in its own right.)
325
326 We needed a version of Emacs with mouse-sensitive regions,
327 multiple fonts, the ability to mark sections of a buffer as
328 read-only, the ability to detect which parts of a buffer has
329 been modified, and many other features.
330
331 For our purposes, the existing version of Epoch was not
332 sufficient; it did not allow us to put arbitrary pixmaps/icons
333 in buffers, `undo' did not restore changes to regions, regions
334 did not overlap and merge their attributes in the way we needed,
335 and several other things.
336
337 We could have devoted our time to making Epoch do what we needed
338 (and, in fact, we spent some time doing that in 1990) but, since
339 the FSF planned to include Epoch-like features in their version
340 19, we decided that our efforts would be better spent improving
341 Emacs 19 instead of Epoch.
342
343 Our original hope was that our changes to Emacs would be
344 incorporated into the \"official\" v19. However, scheduling
345 conflicts arose, and we found that, given the amount of work
346 still remaining to be done, we didn't have the time or manpower
347 to do the level of coordination that would be necessary to get
348 our changes accepted by the FSF. Consequently, we released our
349 work as a forked branch of Emacs, instead of delaying any
350 longer.
351
352 Roughly a year after Lucid Emacs 19.0 was released, a beta
353 version of the FSF branch of Emacs 19 was released. The FSF
354 version is better in some areas, and worse in others, as
355 reflects the differing focus of our development efforts.
356
357 We plan to continue developing and supporting Lucid Emacs, and
358 merging in bug fixes and new features from the FSF branch as
359 appropriate; we do not plan to discard any of the functionality
360 that we implemented which RMS has chosen not to include in his
361 version.
362
363 Certain elements of Lucid Emacs, or derivatives of them, have
364 been ported to the FSF version. We have not been doing work in
365 this direction, because we feel that Lucid Emacs has a cleaner
366 and more extensible substrate, and that any kind of merger
367 between the two branches would be far easier by merging the FSF
368 changes into our version than the other way around.
369
370 We have been working closely with the Epoch developers to merge
371 in the remaining Epoch functionality which Lucid Emacs does not
372 yet have. Epoch and Lucid Emacs will soon be one and the same
373 thing. Work is being done on a compatibility package which will
374 allow Epoch 4 code to run in XEmacs with little or no change.")
375
376 (insert "\n\n\n\t")
377 (about-face "The Sun Microsystems, Inc. Point of View" 'italic)
378 (insert "
379
380 Emacs 18 has been around for a long, long time. Version 19 was
381 supposed to be the successor to v18 with X support. It was
382 going to be available \"real soon\" for a long time (some
383 people remember hearing about v19 as early as 1984!), but it
384 never came out. v19 development was going very, very slowly,
385 and from the outside it seemed that it was not moving at all.
386 In the meantime other people gave up waiting for v19 and
387 decided to build their own X-aware Emacsen. The most important
388 of these was probably Epoch, which came from University of
389 Illinois (\"UofI\") and was based on v18.
390
391 Around three or four years ago what was then called SunPro (a
392 division of Sun Microsystems, Inc.) decided that it wanted an
393 integrated editor. They contracted with UofI to provide a
394 number of basic enhancements to the functionality in Epoch.
395 UofI initially was planning to deliver this on top of Epoch
396 code.
397
398 In the meantime (actually some time before they talked with UofI)
399 Lucid had decided that it also wanted to provide an integrated
400 environment with an integrated editor. Lucid decided that the
401 v19 basis was a better one than v18 and thus decided not to use
402 Epoch but instead work with Richard Stallman, the head of the
403 Free Software Foundation and principle author of Emacs, on
404 getting v19 out. At some point Stallman and Lucid parted ways.
405 Lucid kept working and got a v19 out that they called Lucid
406 Emacs 19.
407
408 After Lucid's v19 came out it became clear to UofI and SunPro
409 that the right thing to do was to push for an integration of
410 both Lucid Emacs and Epoch, and to get the deliverables that
411 SunPro was asking from UofI on top of this integrated
412 platform. Through the last three or four years, SunPro has
413 been actively supporting this product and has been investing a
414 comparable amount of effort into it as Lucid has. Substantial
415 portions of the current code have originated under the support
416 of SunPro, either directly in SunPro, or in UofI but paid for
417 by SunPro. This code was kept away from Lucid for a while,
418 but later was made available to them. Initially Lucid didn't
419 know that SunPro was supporting UofI, but later they were open
420 about it.
421
422 Around two years ago the SunPro-related code started showing up
423 in Lucid Emacs. This started with the infusion of the Epoch
424 redisplay code.
425
426 At this moment there is basically no difference in the source
427 trees between what is at UofI and at Sun. All the development
428 sites are in sync.
429
430 SunPro originally called the integrated product ERA, for
431 \"Emacs Rewritten Again\". SunPro and Lucid eventually came
432 to an agreement to find a name for the product that was not
433 specific to either company. An additional constraint that
434 Lucid placed on the name was that it must contain the word
435 \"Emacs\" in it -- thus \"ERA\" was not acceptable. The
436 tentatively agreed-upon name was \"XEmacs\", and this has
437 been the name of the product since version 19.11.)")
438
439 (insert "\n\n\n\t")
440 (about-face "SunPro is now DevPro (SunSoft Developer Products)\n" 'italic)
441 (insert "
442 In mid-'94 Sun completed a reorganization where SunPro moved to
443 SunSoft. As a consequence, SunPro is now called SunSoft Developer
444 Products, or DevPro for short. ")
445
446 (insert "\n\n\n\t")
447 (about-face "Lucid goes under\n" 'italic)
448 (insert "
449 Around mid-'94, Lucid went out of business. Development on
450 XEmacs, however, has continued unabated under the auspices of
451 Sun Microsystems and the University of Illinois, with help
452 from Amdahl Corporation and INS Engineering Corporation.
453 Sun plans to continue to support XEmacs into the future.")
454
455 (insert "\n\n\n\t")
456 (about-face "The Amdahl Corporation point of view" 'italic)
457 (insert "
458
459 Amdahl Corporation's Storage Products Group (SPG) uses XEmacs
460 as the focal point of a environment for development of the
461 microcode used in Amdahl's large-scale disk arrays, or DASD's.
462 SPG has joint ventures with Japanese companies, and decided
463 in late 1994 to contract out for work on XEmacs in order
464 to hasten the development of Mule support (i.e. support for
465 Japanese, Chinese, etc.) in XEmacs and as a gesture of goodwill
466 towards the XEmacs community for all the work they have done
467 on making a powerful, modern, freely available text editor.
468 Through this contract, Amdahl provided a large amount of work
469 in XEmacs in the form of rewriting the basic text-processing
470 mechanisms to allow for Mule support and writing a large
471 amount of the support for multiple devices.
472
473 Although Amdahl is no longer hiring a full-time contractor,
474 they are still funding part-time work on XEmacs and providing
475 resources for further XEmacs development.")
476
477 (insert "\n\n\n\t")
478 (about-face "The INS Engineering point of view" 'italic)
479 (insert "
480
481 INS Engineering Corporation, based in Tokyo, bought rights
482 to sell Energize when Lucid went out of business. Unhappy
483 with the performance of the Japanese support in XEmacs 19.11,
484 INS also contributed to the XEmacs development from late 1994
485 to early 1995.")
486
487 (insert "\n\n\n\t")
488 (insert "Click ")
489 (about-xref "here" prev-page "Return to previous page")
490 (insert " to go back to the previous page.\n\n\t")
491 )
492 ((eq xref 'jwz)
493 (about-face "Jamie Zawinski" 'bold)
494 (insert "\t\t\"")
495 (about-face "So much to do, so little time." 'italic)
496 (insert "\"\n")
497 (insert "\n
498 Jamie Zawinski was primarily to blame for Lucid Emacs from its
499 inception in 1991, to 1994 when Lucid Inc. finally died. He is
500 now to be found at Netscape Communications, hacking on Netscape
501 Navigator (he did the first Unix version and the mail reader).
502 Thankfully his extensive sleep deprivation experiments conducted
503 during 1994 and 1995 are now a thing of the past, but his
504 predilection for dark, Gothic music remains unabated.
505
506 Come visit his glorified .plan file at
507
508 ")
509 (about-xref "http://www.netscape.com/people/jwz/" 'w3-jamie "Visit Jamie's WWW page")
510 (insert "\n\n\tClick ")
511 (about-xref "here" prev-page "Return to previous page")
512 (insert " to go back to the previous page.\n")
513 )
514 ((eq xref 'cthomp)
515 (about-face "Chuck Thompson" 'bold)
516 (insert " <cthomp@xemacs.org>
517
518 Chuck, through being in the wrong place at the right time, has
519 gotten stuck with being Jamie's replacement as the primary
520 maintainer of XEmacs. This has caused his hair to begin
521 falling out and quadrupled his daily coffee dosage. Though he
522 works at and for the University of Illinois his funding for
523 XEmacs work actually came from Sun Microsystems.
524
525 He has worked on XEmacs since November 1992, which fact
526 occasionally gives him nightmares. As of October 1995, he no
527 longer works full-time on XEmacs, though he does continue as
528 an active maintainer. His main contributions have been the
529 greatly enhanced redisplay engine, scrollbar support, the
530 toolbars, configure support and numerous other minor features
531 and fixes.
532
533 Rumors that Chuck is aka Black Francis aka Frank Black are
534 completely unfounded.")
535
536 (insert "\n\n\tClick ")
537 (about-xref "here" prev-page "Return to previous page")
538 (insert " to go back to the previous page.\n")
539 )
540 ((eq xref 'wing)
541 (about-face "Ben Wing" 'bold)
542 (insert " <wing@666.com>
543
544 I'm not a thug -- I just play one on video.
545 My roommate says I'm a San Francisco \"Mission Critter\".\n\n\t")
546 (about-face "Gory stuff follows:" 'italic)
547 (insert "
548
549 In 1992 I left a stuffy East-Coast university, set out into the
550 real world, and ended up a co-founder of Pearl Software. As
551 part of this company, I became the principal architect of
552 Win-Emacs, a port of Lucid Emacs to Microsoft Windows and
553 Windows NT (for more info, e-mail to ")
554 (about-face "info@pearlsoft.com" 'italic)
555 (insert ").
556
557 Since April 1993, I've worked on XEmacs as a contractor
558 for various companies, changing hats faster than Ronald Reagan's
559 hair color (oops, did I just show my age?). My main contributions
560 to XEmacs include rewriting large parts of the internals and the
561 gory Xt/Xlib interfacing, adding the Mule support, implementing
562 the external client widget, improving the documentation (especially
563 the Emacs Lisp manual), and being a general nuisance ... er,
564 brainstormer for many of the new features of XEmacs.
565
566 Recently I took a job at Dimension X, where I'm working on a
567 Java-based toolkit for developing VRML applications.")
568 (insert "\n\n\tClick ")
569 (about-xref "here" prev-page "Return to previous page")
570 (insert " to go back to the previous page.\n")
571 )
572 ((eq xref 'mly)
573 (about-face "Richard Mlynarik" 'bold)
574 (insert " <mly@adoc.xerox.com>
575
576 Cars are Evil. Ride a bike.")
577
578 (insert "\n\n\tClick ")
579 (about-xref "here" prev-page "Return to previous page")
580 (insert " to go back to the previous page.\n")
581 )
582 ((eq xref 'vladimir)
583 (about-face "Vladimir Ivanovic" 'bold)
584 (insert " <vladimir@mri.com>
585
586 Former technical lead for XEmacs at DevPro (formerly SunPro),
587 a division of Sun Microsystems. He is now with Microtec
588 Research Inc., working on embedded systems development
589 tools.")
590
591 (insert "\n\n\tClick ")
592 (about-xref "here" prev-page "Return to previous page")
593 (insert " to go back to the previous page.\n")
594 )
595
596 ((eq xref 'baw)
597 (about-face "Barry Warsaw" 'bold)
598 (insert " <bwarsaw@cnri.reston.va.us>
599
600 Author of cc-mode for C++, C, and Objective-C editing, and
601 Supercite for mail and news citing. Also various and sundry other
602 Emacs utilities, fixes, enhancements and kludgery as whimsy,
603 boredom, and ToT dictate (but not necessarily in that order).
604
605
606 Daddy
607 © 1994 Warsaw
608 ========
609 Drive me Daddy, drive me quick
610 Push my pedal, shift my stick
611 Fill me up with golden gas
612 My rubber squeals, I go real fast
613
614 Milk me Daddy, milk me now
615 Milk me like a big ol' cow
616 I've got milk inside my udder
617 Churn it up and make some butter")
618
619 (insert "\n\n\tClick ")
620 (about-xref "here" prev-page "Return to previous page")
621 (insert " to go back to the previous page.\n")
622 )
623
624 ((eq xref 'bw)
625 (about-face "Bob Weiner" 'bold)
626 (insert " <weiner@mot.com>
627
628 Author of the Hyperbole everyday information management
629 hypertext system and the OO-Browser multi-language code
630 browser. He also designed the InfoDock integrated tool
631 framework for software engineers. It runs atop XEmacs and is
632 available from \"/anonymous@ftp.xemacs.org:pub/infodock\".
633 His interests include user interfaces, information management,
634 CASE tools, communications and enterprise integration.")
635
636 (insert "\n\n\tClick ")
637 (about-xref "here" prev-page "Return to previous page")
638 (insert " to go back to the previous page.\n")
639 )
640
641 ((eq xref 'piper)
642 (about-face "Andy Piper" 'bold)
643 (insert " <andyp@parallax.co.uk>
644
645 Author of the original \"fake\" XEmacs toolbar, and outl-mouse for
646 mouse gesture based outlining. Accomplished kludge contributor.")
647
648 (insert "\n\n\tClick ")
649 (about-xref "here" prev-page "Return to previous page")
650 (insert " to go back to the previous page.\n")
651 )
652
653 ((eq xref 'stig)
654 (about-face "Jonathan Stigelman" 'bold)
655 (insert " <stig@hackvan.com>
656
657 Stig is sort of a tool fetishist. He has a hate/love relationship
658 with computers and he hacks on XEmacs because it's a good tool that
659 makes computers somewhat less of a nuisance. Besides XEmacs, Stig
660 especially likes his Leatherman, his Makita, and his lockpicks.
661 Stig wants a MIG welder and air tools.
662
663 Stig likes to perch, hang from the ceiling, and climb on the walls.
664 Stig has a cool van. Stig would like to be able to telecommute
665 from, say, the north rim of the Grand Canyon or the midst of Baja.")
666
667 (insert "\n\n\tClick ")
668 (about-xref "here" prev-page "Return to previous page")
669 (insert " to go back to the previous page.\n")
670 )
671
672 ((eq xref 'wmperry)
673 (about-face "William Perry" 'bold)
674 (insert " <wmperry@spry.com>
675
676 Author of Emacs-w3, the builtin web browser that comes with XEmacs,
677 and various additions to the C code (e.g. the database support,
678 the PNG support, some of the GIF/JPEG support, the strikethru
679 face attribute support).
680
681 He is currently working on adding really cool stylesheets to the
682 web, which will stress the new capabilities of XEmacs to the limit.
683
684 He only gets paid for working on an HTTP server for Spry, but will
685 hack emacs for beer.")
686
687 (insert "\n\n\tClick ")
688 (about-xref "here" prev-page "Return to previous page")
689 (insert " to go back to the previous page.\n")
690 )
691
692 ((eq xref 'others)
693 (insert "Click ")
694 (about-xref "here" 'about "Return to previous page")
695 (insert " to go back to the previous page\n\n\t")
696
697 (about-face "Other Contributors to XEmacs" 'italic)
698
699 (insert "
700
701 Like most free software, XEmacs is a collaborative effort.
702 These are some of the contributors; we have no doubt forgotten
703 someone; we apologize! You can see some of our faces further below.
704
705 Martin Buchholz <Martin.Buchholz@sun.com>
706 Technical lead for XEmacs at DevPro (formerly SunPro), a
707 division of Sun Microsystems. Martin used to do XEmacs as a
708 `hobby' while at IBM, and was crazy enough to try to do it
709 for a living at Sun. Martin is currently working mostly on
710 Internationalization.
711
712 ") (about-xref "Vladimir Ivanovic" 'vladimir "Find out more about Vladimir Ivanovic") (insert " <vladimir@mri.com>
713 Former technical lead for XEmacs at Sun Microsystems. He is
714 now with Microtec Research Inc., working on embedded systems
715 development tools.
716
717 ") (about-xref "Jonathan Stigelman" 'stig "Find out more about Jonathan Stigelman") (insert " <stig@hackvan.com>
718 Peripatetic uninominal Emacs hacker. Stig sometimes operates
719 out of a big white van set up for nomadic living and hacking.
720 Implemented the faster stay-up Lucid menus and hyper-apropos.
721 Contributor of many dispersed improvements in the core Lisp code,
722 and back-seat contributor for several of it's major packages.
723
724 ") (about-xref "Barry Warsaw" 'baw "Find out more about Barry Warsaw") (insert " <bwarsaw@cnri.reston.va.us>
725 Author of cc-mode for C++, C, and Objective-C editing, and
726 Supercite for mail and news citing. Also various and sundry other
727 Emacs utilities, fixes, enhancements and kludgery as whimsy,
728 boredom, and ToT dictate (but not necessarily in that order).
729
730 ") (about-xref "Andy Piper" 'piper "Find out more about Andy Piper") (insert " <andyp@parallax.co.uk>
731 Created the prototype for the toolbars. Has been the first to make
732 use of many of the new XEmacs graphics features.
733
734 ") (about-xref "Bob Weiner" 'bw "Find out more about Bob Weiner") (insert " <weiner@mot.com>
735 Author of the Hyperbole everyday information management
736 hypertext system and the OO-Browser multi-language code
737 browser. He also designed the InfoDock integrated tool
738 framework for software engineers. It runs atop XEmacs and is
739 available from \"/anonymous@ftp.xemacs.org:pub/infodock\".
740 His interests include user interfaces, information management,
741 CASE tools, communications and enterprise integration.
742
743 ") (about-xref "William Perry" 'wmperry "Find out more about Bill Perry") (insert " <wmperry@spry.com>
744 Author of W3, a package for browsing the World Wide Web
745 which is included in the standard XEmacs distribution.
746 Although W3 runs on all versions of Emacs, Bill has been
747 quick to take advantage of the unique features of XEmacs
748 (such as embedded images and windows). Thus, the XEmacs
749 version of W3 is significantly more powerful than versions
750 running in other Emacs variants.
751
752 Kyle Jones <kyle@crystal.wonderworks.com>
753 Author of VM (View Mail), a mail-reading package that is
754 included in the standard XEmacs distribution, and
755 contributor of many improvements and bug fixes. Unlike most
756 other mail-reading packages, VM uses the standard Unix-mail
757 format for its mailboxes; thus, you can use VM concurrently
758 with standard mail readers such as Unix mail and ELM.
759
760 Darrell Kindred <Darrell.Kindred@cmu.edu>
761 Unofficial maintainer of the xemacs-beta list of extant
762 bugs and contributor of an extraordinary number of
763 important bug fixes, many of them in areas that neither
764 Chuck nor Ben was particularly enthusiastic about
765 investigating.
766
767 Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
768 Author of EOS, a package included in the standard XEmacs
769 distribution that integrates XEmacs with the SPARCworks
770 development environment from SunPro. Past lead for XEmacs
771 at SunPro; advocated the validity of using Epoch, and later
772 Lemacs, at SunPro through several early prototypes.
773
774 Matthieu Devin <devin@rs.com>
775 Part of the original (pre-19.0) Lucid Emacs development team.
776 Matthieu wrote the initial Energize interface, designed the
777 toolkit-independent Lucid Widget library, and fixed enough
778 redisplay bugs to last a lifetime. The features in Lucid
779 Emacs were largely inspired by Matthieu's initial prototype
780 of an Energize interface using Epoch.
781
782 Harlan Sexton <hbs@odi.com>
783 Part of the original (pre-19.0) Lucid Emacs development team.
784 Harlan designed and implemented many of the low level data
785 structures which are original to the Lucid version of Emacs,
786 including extents and hash tables.
787
788 Eric Benson <eb@kaleida.com>
789 Part of the original (pre-19.0) Lucid Emacs development team.
790 Eric played a big part in the design of many aspects of the
791 system, including the new command loop and keymaps, fixed
792 numerous bugs, and has been a reliable beta tester ever
793 since.
794
795 John Rose <john.rose@sun.com>
796 Author of many extensions to the `extents' code, including
797 the initial implementation of `duplicable' properties.
798
799 Hans Muller <hmuller@eng.sun.com>
800 Author of the code used to connect XEmacs with ToolTalk,
801 and of an early client of the external Emacs widget.
802
803 In addition to those just mentioned, the following people have
804 spent a great deal of effort providing feedback, testing beta
805 versions of XEmacs, providing patches to the source code,
806 or doing all of the above. We couldn't have done it without
807 them.
808
809 Nagi M. Aboulenein <aboulene@ponder.csci.unt.edu>
810 Gary Adams <gra@zeppo.East.Sun.COM>
811 Gennady Agranov <agranov@csa.CS.Technion.Ac.IL>
812 Mark Allender <allender@vnet.IBM.COM>
813 Butch Anton <butch@zaphod.uchicago.edu>
814 Fred Appelman <Fred.Appelman@cv.ruu.nl>
815 Tor Arntsen <tor@spacetec.no>
816 Mike Battaglia <mbattagl@dsccc.com>
817 Steven L Baur <steve@miranova.com>
818 Neal Becker <neal@ctd.comsat.com>
819 Paul Bibilo <peb@delcam.com>
820 Jan Borchers <job@tk.uni-linz.ac.at>
821 Mark Borges <mdb@cdc.noaa.gov>
822 David P. Boswell <daveb@tau.space.thiokol.com>
823 Tim Bradshaw <tfb@edinburgh.ac.uk>
824 Rick Braumoeller <rickb@mti.sgi.com>
825 Matthew J. Brown <mjb@doc.ic.ac.uk>
826 Alastair Burt <burt@dfki.uni-kl.de>
827 Rick Busdiecker <rfb@lehman.com>
828 Richard Caley <rjc@cstr.edinburgh.ac.uk>
829 Stephen Carney <carney@gvc.dec.com>
830 Philippe Charton <charton@lmd.ens.fr>
831 Peter Cheng <peter.cheng@sun.com>
832 Jin S. Choi <jin@atype.com>
833 Serenella Ciongoli <czs00@ladybug.oes.amdahl.com>
834 Richard Cognot <cognot@ensg.u-nancy.fr>
835 Andy Cohen <cohen@andy.bu.edu>
836 Christopher Davis <ckd@kei.com>
837 Michael Diers <mdiers@logware.de>
838 William G. Dubuque <wgd@martigny.ai.mit.edu>
839 Samuel J. Eaton <samuele@cogs.susx.ac.uk>
840 Carl Edman <cedman@Princeton.EDU>
841 Dave Edmondson <davided@sco.com>
842 Eric Eide <eeide@asylum.cs.utah.edu>
843 David Fletcher <frodo@tsunami.com>
844 Paul Flinders <ptf@delcam.co.uk>
845 Jered J Floyd <jered@mit.edu>
846 Jerry Frain <jerry@sneffels.tivoli.com>
847 Benjamin Fried <bf@morgan.com>
848 Barry Friedman <friedman@bnr.ca>
849 Lew Gaiter III <lew@StarFire.com>
850 Tim Geisler <Tim.Geisler@informatik.uni-muenchen.de>
851 Dave Gillespie <daveg@synaptics.com>
852 Christian F. Goetze <cg@bigbook.com>
853 Wolfgang Grieskamp <wg@cs.tu-berlin.de>
854 James Grinter <jrg@demon.net>
855 Ben Gross <bgross@uiuc.edu>
856 Dirk Grunwald <grunwald@foobar.cs.Colorado.EDU>
857 Dipankar Gupta <dg@hplb.hpl.hp.com>
858 Markus Gutschke <gutschk@GOEDEL.UNI-MUENSTER.DE>
859 Adam Hammer <hammer@cs.purdue.edu>
860 Magnus Hammerin <magnush@epact.se>
861 ChangGil Han <cghan@phys401.phys.pusan.ac.kr>
862 Derek Harding <dharding@lssec.bt.co.uk>
863 John Haxby <J.Haxby@isode.com>
864 Jareth \"JHod\" Hein <jhod@po.iijnet.or.jp>
865 Benedikt Heinen <beh@icemark.thenet.ch>
866 Stephan Herrmann <sh@first.gmd.de>
867 Charles Hines <chuck_hines@VNET.IBM.COM>
868 David Hughes <djh@harston.cv.com>
869 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
870 Andrew Innes <andrewi@harlequin.co.uk>
871 Markku Jarvinen <Markku.Jarvinen@simpukka.funet.fi>
872 Robin Jeffries <robin.jeffries@sun.com>
873 Philip Johnson <johnson@uhics.ics.Hawaii.Edu>
874 J. Kean Johnston <jkj@paradigm-sa.com>
875 Doug Keller <dkeller@vnet.ibm.com>
876 Gregor Kennedy <gregork@dadd.ti.com>
877 Michael Kifer <kifer@cs.sunysb.edu>
878 Yasuhiko Kiuchi <kiuchi@dsp.ksp.fujixerox.co.jp>
879 Jens Lautenbacher <jens@lemcbed.lem.uni-karlsruhe.de>
880 Simon Leinen <simon@instrumatic.ch>
881 James LewisMoss <moss@cs.sc.edu>
882 Mats Lidell <mats.lidell@contactor.se>
883 Matt Liggett <mliggett@seven.ucs.indiana.edu>
884 Christian Limpach <Christian.Limpach@nice.ch>
885 Robert Lipe <robertl@arnet.com>
886 Damon Lipparelli <lipp@aa.net>
887 Hamish Macdonald <hamish@bnr.ca>
888 Ian MacKinnon <imac@rd.abs.alcatel.co.uk>
889 Patrick MacRoberts <macro@hpcobr30.cup.hp.com>
890 Tonny Madsen <Tonny.Madsen@netman.dk>
891 Ketil Z Malde <ketil@ii.uib.no>
892 Steve March <smarch@quaver.urbana.mcd.mot.com>
893 Simon Marshall <Simon.Marshall@mail.esrin.esa.it>
894 Dave Mason <dmason@plg.uwaterloo.ca>
895 Jaye Mathisen <mrcpu@cdsnet.net>
896 Michael Meissner <meissner@osf.org>
897 David M. Meyer <meyer@ns.uoregon.edu>
898 Brad Miller <bmiller@cs.umn.edu>
899 John Morey <jmorey@crl.com>
900 Rob Mori <rob.mori@sun.com>
901 Heiko Muenkel <muenkel@tnt.uni-hannover.de>
902 Arup Mukherjee <arup+@cs.cmu.edu>
903 Colas Nahaboo <Colas.Nahaboo@sophia.inria.fr>
904 Lynn D. Newton <lynn@ives.phx.mcd.mot.com>
905 Georg Nikodym <Georg.Nikodym@canada.sun.com>
906 Andy Norman <ange@hplb.hpl.hp.com>
907 Joseph J. Nuspl Jr. <nuspl@cc.purdue.edu>
908 Kim Nyberg <kny@tekla.fi>
909 David Ofelt <ofelt@getalife.Stanford.EDU>
910 Greg Onufer <Greg.Onufer@eng.sun.com>
911 Achim Oppelt <aoppelt@theorie3.physik.uni-erlangen.de>
912 Sudeep Kumar Palat <palat@idt.unit.no>
913 Marc Paquette <Marc.Paquette@Softimage.com>
914 Jens-U H Petersen <petersen@kurims.kyoto-u.ac.jp>
915 Thomas A. Peterson <tap@src.honeywell.com>
916 Peter Pezaris <pez@dwwc.com>
917 Tibor Polgar <tlp00@eng.amdahl.com>
918 E. Rehmi Post <rehmi@asylum.sf.ca.us>
919 Paul M Reilly <pmr@pajato.com>
920 Jack Repenning <jackr@sgi.com>
921 Daniel Rich <drich@cisco.com>
922 Roland Rieke <rol@darmstadt.gmd.de>
923 Russell Ritchie <ritchier@msc.ie>
924 Mike Russell <mjruss@rchland.vnet.ibm.com>
925 Jan Sandquist <etxquist@iqa.ericsson.se>
926 Marty Sasaki <sasaki@spdcc.com>
927 Mike Scheidler <c23mts@eng.delcoelect.com>
928 Darrel Schneider <darrel@slc.com>
929 Hayden Schultz <haydens@ll.mit.edu>
930 Cotton Seed <cottons@cybercom.net>
931 Axel Seibert <seiberta@informatik.tu-muenchen.de>
932 Odd-Magne Sekkingstad <oddms@ii.uib.no>
933 John Shen <zfs60@cas.org>
934 Jeffrey Sparkes <jsparkes@bnr.ca>
935 Michael Sperber <sperber@informatik.uni-tuebingen.de>
936 Manoj Srivastava <srivasta@pilgrim.umass.edu>
937 Francois Staes <frans@kiwi.uia.ac.be>
938 Jason Stewart <jasons@cs.unm.edu>
939 Rick Tait <rickt@gnu.ai.mit.edu>
940 James Thompson <thompson@wg2.waii.com>
941 Morioka Tomohiko <morioka@jaist.ac.jp>
942 Raymond L. Toy <toy@rtp.ericsson.se>
943 John Turner <turner@xdiv.lanl.gov>
944 Vladimir Vukicevic <vladimir@intrepid.com>
945 Peter Ware <ware@cis.ohio-state.edu>
946 Yoav Weiss <yoav@zeus.datasrv.co.il>
947 Rod Whitby <rwhitby@asc.corp.mot.com>
948 Rich Williams <rdw@hplb.hpl.hp.com>
949 David C Worenklein <dcw@gcm.com>
950 Takeshi Yamada <yamada@sylvie.kecl.ntt.jp>
951 Jason Yanowitz <yanowitz@eternity.cs.umass.edu>
952 La Monte Yarroll <piggy@hilbert.maths.utas.edu.au>
953 Blair Zajac <blair@olympia.gps.caltech.edu>
954 Daniel Zivkovic <daniel@canada.sun.com>
955 Karel Zuiderveld <Karel.Zuiderveld@cv.ruu.nl>
956 and the makers of Jolt Cola (tm)")
957 (goto-char (point-min))
958 (while (re-search-forward "^[ \t]*\\([^<>\n]+\\) <[^>\n]+>$"
959 nil t)
960 (set-extent-face (make-extent (match-beginning 1) (match-end 1))
961 'bold))
962 (goto-char (point-min))
963 (while (re-search-forward "^[ \t]*<\\([^>\n]+\\)>$" nil t)
964 (set-extent-face (make-extent (match-beginning 1) (match-end 1))
965 'bold))
966
967 (goto-char (point-max))
968 (insert "\n")
969 (about-add-mosaic)
970 (goto-char (point-max))
971 (insert "\n\n\tClick ")
972 (about-xref "here" 'about "Return to previous page")
973 (insert " to go back to the previous page.\n")
974 )
975 ((eq xref 'features)
976 (insert "Click ")
977 (about-xref "here" 'about "Return to previous page")
978 (insert " to go back to the previous page\n\n\t")
979
980 (about-face "New Features in XEmacs" 'bold-italic)
981
982 (insert "\n
983 * A real toolbar.
984 * Proper integration with Xt and Motif (including Motif menubars
985 and scrollbars). Motif look-alike menubars and scrollbars
986 are provided for those systems without real Motif support.
987 * Face support on TTY's, including color.
988 * Horizontal and vertical scrollbars in all windows.
989 * Support for variable-width and variable height fonts.
990 * Support for display on multiple simultaneous X and/or TTY devices.
991 * Support for arbitrary pixmaps in a buffer.
992 * Access to the ToolTalk API.
993 * Support for using XEmacs frames as Xt widgets.
994 * Support for overlapping regions (or extents) and efficient handling
995 of a large number of such extents in a single buffer.
996 * Powerful, flexible control over the display characteristics
997 of most of the visual aspects of XEmacs through the use
998 of specifiers, which allow separate values to be specified
999 for individual buffers, windows, frames, devices, device classes,
1000 and device types.
1001 * A clean interface to the menubar, window-system events, and key
1002 combinations."))
1003 ))
1004 (goto-char (point-min))
1005 ))))