(FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
[bpt/emacs.git] / man / ack.texi
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 1994,1995,1996,1997,1999,2000 Free Software Foundation, Inc.
3 @c See file emacs.texi for copying conditions.
4 @node Acknowledgments, Screen, Concept Index, Top
5 @chapter Acknowledgments
6
7 Many people have contributed code included in the Free Software
8 Foundation's distribution of GNU Emacs. To show our appreciation for
9 their public spirit, we list here, in alphabetical order, those who have
10 written substantial portions.
11
12 @itemize @bullet
13 @item
14 Per Abrahamsen wrote the customization buffer facilities, as well as
15 @file{double.el} for typing accented characters not normally available
16 from the keyboard, @file{xt-mouse.el} which handles mouse commands
17 through Xterm, and @file{cpp.el} which hides or highlights parts of C
18 programs according to preprocessor conditionals.
19
20 @item
21 Jay K. Adams wrote @file{jka-compr.el}, providing automatic
22 decompression and recompression for compressed files.
23
24 @item
25 Joe Arceneaux wrote the original text property implementation, and
26 implemented support for X11.
27
28 @item
29 Boaz Ben-Zvi wrote @file{profile.el}, to time Emacs Lisp functions.
30
31 @item
32 Jim Blandy wrote Emacs 19's input system, brought its configuration and
33 build process up to the GNU coding standards, and contributed to the
34 frame support and multi-face support.
35
36 @item
37 Terrence M. Brannon wrote @file{landmark.el}, a neural-network robot
38 that learns landmarks.
39
40 @item
41 Frank Bresz wrote @file{diff.el}, a program to display @code{diff}
42 output.
43
44 @item
45 Peter Breton implemented @file{dirtrack} which does better tracking of
46 directory changes in shell buffers, @file{filecache.el} which records
47 which directories your files are in, @file{locate.el} which interfaces
48 to the @code{locate} command, @file{net-utils.el}, and the ``generic
49 mode'' feature.
50
51 @item
52 Kevin Broadey wrote @file{foldout.el}, providing folding extensions to
53 Emacs's outline modes.
54
55 @item
56 Vincent Broman wrote @file{ada.el}, a mode for editing Ada code
57 (since replaced by @file{ada-mode.el}).
58
59 @item
60 David M. Brown wrote @file{array.el}, for editing arrays and other
61 tabular data.
62
63 @item
64 Bill Carpenter provided @file{feedmail.el}.
65
66 @item
67 Hans Chalupsky wrote @file{advice.el}, an overloading mechanism for
68 Emacs Lisp functions, and @file{trace.el}, a tracing facility for Emacs
69 Lisp.
70
71 @item
72 Bob Chassell wrote @file{texnfo-upd.el} and @file{makeinfo.el}, modes
73 and utilities for working with Texinfo files.
74
75 @item
76 James Clark wrote @file{sgml-mode.el}, a mode for editing SGML
77 documents, and contributed to Emacs's dumping procedures.
78
79 @item
80 Mike Clarkson wrote @file{edt.el}, an emulation of DEC's EDT editor.
81
82 @item
83 Glynn Clements provided @file{gamegrid.el} and a couple of games that
84 use it, Snake and Tetris.
85
86 @item
87 Andrew Csillag wrote M4 mode (@file{m4-mode.el}).
88
89 @item
90 Doug Cutting and Jamie Zawinski wrote @file{disass.el}, a disassembler
91 for compiled Emacs Lisp code.
92
93 @item
94 Michael DeCorte wrote @file{emacs.csh}, a C-shell script that starts a
95 new Emacs job, or restarts a paused Emacs if one exists.
96
97 @item
98 Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
99 @file{/usr/uci/post} mailer.
100
101 @item
102 Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
103 text replace the current selection.
104
105 @item
106 Eric Ding contributed @file{goto-addr.el},
107
108 @item
109 Carsten Dominik wrote @file{reftex.el}, a package for setting up
110 labels and cross-references for La@TeX{}.
111
112 @item
113 Scott Draves wrote @file{tq.el}, help functions for maintaining
114 transaction queues between Emacs and its subprocesses.
115
116 @item
117 Viktor Dukhovni wrote support for dumping under SunOS version 4.
118
119 @item
120 John Eaton co-wrote Octave mode (@file{octave.el} and related files).
121
122 @item
123 Rolf Ebert co-wrote Ada mode (@file{ada-mode.el}).
124
125 @item
126 Stephen Eglen implemented @file{mspools.el}, for use with Procmail,
127 which tells you which mail folders have mail waiting in them, and
128 @file{iswitchb.el}, a feature for incremental reading and completion of
129 buffer names.
130
131 @item
132 @c iftex
133 Torbj@"orn
134 @c end iftex
135 @c ifinfo
136 @c Torbjorn
137 @c end ifinfo
138 Einarsson contributed F90 mode (@file{f90.el}).
139
140 @item
141 Tsugutomo Enami co-wrote the support for international character sets.
142
143 @item
144 Hans Henrik Eriksen wrote @file{simula.el}, a mode for editing SIMULA 87
145 code.
146
147 @item
148 Michael Ernst wrote @file{reposition.el}, a command for recentering a
149 function's source code and preceding comment on the screen.
150
151 @item
152 Ata Etemadi wrote @file{cdl.el}, functions for working with Common Data
153 Language source code.
154
155 @item
156 Frederick Farnback implemented @file{morse.el}, which converts text to
157 morse code.
158
159 @item
160 Fred Fish wrote the support for dumping COFF executable files.
161
162 @item
163 Karl Fogel wrote:
164 @itemize @bullet
165 @item
166 @file{bookmark.el}, for creating named placeholders, saving them and
167 jumping to them later,
168 @item
169 @file{mail-hist.el}, a history mechanism for outgoing mail messages, and
170 @item
171 @file{saveplace.el}, for preserving point's location in files between
172 editing sessions.
173 @end itemize
174
175 @item
176 Gary Foster wrote the emulation for CRiSP: @file{crisp.el} and
177 @file{scroll-lock.el}.
178
179 @item
180 Noah Friedman wrote @file{rlogin.el}, an interface to Rlogin, and
181 @file{type-break.el}, which reminds you to take periodic breaks from
182 typing. With Roland McGrath, he wrote @file{rsz-mini.el}, a minor mode
183 to automatically resize the minibuffer to fit the text it contains.
184
185 @item
186 Keith Gabryelski wrote @file{hexl.el}, a mode for editing binary files.
187
188 @item
189 Kevin Gallagher rewrote and enhanced the EDT emulation, and wrote
190 @file{flow-ctrl.el}, a package for coping with unsuppressible XON/XOFF
191 flow control.
192
193 @item
194 Kevin Gallo added multiple-frame support for Windows NT.
195
196 @item
197 Howard Gayle wrote:
198 @itemize @bullet
199 @item
200 the C and lisp code for display tables and case tables,
201 @item
202 @file{rot13.el}, a command to display the plaintext form of a buffer
203 encoded with the Caesar cipher,
204 @item
205 much of the support for the ISO-8859 European character set (which
206 includes @file{iso-ascii.el}, @file{iso-insert.el}, @file{iso-swed.el},
207 @file{iso-syntax.el}, @file{iso-transl.el}, and @file{swedish.el}), and
208 @item
209 @file{vt100-led.el}, a package for controlling the LED's on
210 VT100-compatible terminals.
211 @end itemize
212
213 @item
214 Stephen Gildea made the Emacs quick reference card.
215
216 @item
217 David Gillespie wrote:
218 @itemize @bullet
219 @item
220 Emacs 19's Common Lisp compatibility packages, replacing the old package
221 by Cesar Augusto Quiroz Gonzalez,
222 @item
223 @file{complete.el}, a partial completion mechanism, and
224 @item
225 @file{edmacro.el}, a package for editing keyboard macros.
226 @end itemize
227
228 @item
229 Bob Glickstein contributed the @file{sregex.el} feature.
230
231 @item
232 Boris Goldowsky wrote @file{avoid.el}, a package to keep the mouse
233 cursor out of the way of the text cursor; @file{shadowfile.el}, a
234 package for keeping identical copies of files in more than one place;
235 @file{enriched.el}, a package for saving text properties in files;
236 and @file{facemenu.el}, a package for specifying faces.
237
238 @item
239 Michelangelo Grigni wrote @file{ffap.el} which visits a file,
240 taking the file name from the buffer.
241
242 @item
243 Odd Gripenstam wrote @file{dcl-mode.el}.
244
245 @item
246 Michael Gschwind wrote @file{iso-cvt.el}, a package to convert between
247 the ISO 8859-1 character set and the notations for non-@code{ASCII}
248 characters used by @TeX{} and net tradition.
249
250 @item
251 Henry Guillaume wrote @file{find-file.el}, a package to visit files
252 related to the currently visited file.
253
254 @item
255 Doug Gwyn wrote the portable @code{alloca} implementation.
256
257 @item
258 Ken'ichi Handa implemented most of the support for international
259 character sets.
260
261 @item
262 Chris Hanson wrote @file{netuname.el}, a package to use HP-UX's Remote
263 File Access facility from Emacs.
264
265 @item
266 K. Shane Hartman wrote:
267 @itemize @bullet
268 @item
269 @file{chistory.el} and @file{echistory.el}, packages for browsing
270 command history lists,
271 @item
272 @file{electric.el} and @file{helper.el}, providing an alternative
273 command loop and appropriate help facilities,
274 @item
275 @file{emacsbug.el}, a package for reporting Emacs bugs,
276 @item
277 @file{picture.el}, a mode for editing ASCII pictures, and
278 @item
279 @file{view.el}, a package for perusing files and buffers without editing
280 them.
281 @end itemize
282
283 @item
284 John Heidemann wrote @file{mouse-copy.el} and @file{mouse-drag.el},
285 which provide alternative mouse-based editing and scrolling features.
286
287 @item
288 Markus Heritsch co-wrote Ada mode (@file{ada-mode.el}).
289
290 @item
291 Karl Heuer wrote the original blessmail script, implemented the
292 @code{intangible} text property, and rearranged the structure of the
293 @code{Lisp_Object} type to allow for more data bits.
294
295 @item
296 Manabu Higashida ported Emacs to the MS-DOS operating system.
297
298 @item
299 Anders Holst wrote @file{hippie-exp.el}, a versatile completion and
300 expansion package.
301
302 @item
303 Kurt Hornik co-wrote Octave mode (@file{octave.el} and related files).
304
305 @item
306 Tom Houlder wrote @file{mantemp.el}, which generates manual C++ template
307 instantiations.
308
309 @item
310 Lars Ingebrigtsen did a major redesign of the GNUS newsreader.
311
312 @item
313 Andrew Innes contributed extensively to the Windows NT support.
314
315 @item
316 Kyle Jones wrote @file{life.el}, a package to play Conway's ``life'' game,
317 and @file{mldrag.el}, a package which allows the user to resize windows
318 by dragging mode lines and vertical window separators with the mouse.
319
320 @item
321 Tomoji Kagatani implemented @file{smtpmail.el}, used for sending out
322 mail with SMTP.
323
324 @item
325 David Kaufman wrote @file{yow.c}, an essential utility program for the
326 hopelessly pinheaded.
327
328 @item
329 Henry Kautz wrote @file{bib-mode.el}, a mode for maintaining
330 bibliography databases compatible with @code{refer} (the @code{troff}
331 version) and @code{lookbib}, and @file{refbib.el}, a package to convert
332 those databases to the format used by the LaTeX text formatting package.
333
334 @item
335 Howard Kaye wrote @file{sort.el}, commands to sort text in Emacs
336 buffers.
337
338 @item
339 Michael Kifer wrote @file{ediff.el}, an interactive interface to the
340 @code{diff} and @code{patch} programs, and Viper, the newest emulation
341 for VI.
342
343 @item
344 Richard King wrote the first version of @file{userlock.el} and
345 @file{filelock.c}, which provide simple support for multiple users
346 editing the same file.
347 @c We're not using his backquote.el any more.
348
349 @item
350 Larry K. Kolodney wrote @file{cvtmail.c}, a program to convert the mail
351 directories used by Gosling Emacs into RMAIL format.
352
353 @item
354 Robert Krawitz wrote the original @file{xmenu.c}, part of Emacs's pop-up
355 menu support.
356
357 @item
358 Sebastian Kremer wrote Emacs 19's @code{dired-mode}, with contributions
359 by Lawrence R. Dodd.
360
361 @item
362 Geoff Kuenning wrote Emacs 19's @file{ispell.el}, based on work by Ken
363 Stevens and others.
364
365 @item
366 David K@ringaccent{a}gedal wrote @file{tempo.el}, providing support for
367 easy insertion of boilerplate text and other common constructions.
368
369 @item
370 Daniel LaLiberte wrote:
371 @itemize @bullet
372 @item
373 @file{edebug.el}, a source-level debugger for Emacs Lisp,
374 @item
375 @file{cl-specs.el}, specifications to help @code{edebug} debug code
376 written using David Gillespie's Common Lisp support,
377 @item
378 @file{cust-print.el}, a customizable package for printing lisp objects,
379 @item
380 @file{eval-reg.el}, a re-implementation of @code{eval-region} in Emacs
381 Lisp, and
382 @item
383 @file{isearch.el}, Emacs 19's incremental search minor mode.
384 @end itemize
385
386 @item
387 James R. Larus wrote @file{mh-e.el}, an interface to the MH mail system.
388
389 @item
390 Frederic Lepied contributed @file{expand.el}, which uses the abbrev
391 mechanism for inserting programming constructs.
392
393 @item
394 Lars Lindberg wrote @file{msb.el}, which provides more flexible menus
395 for buffer selection, and rewrote @file{dabbrev.el}.
396
397 @item
398 Eric Ludlam wrote the Speedbar package and @file{checkdoc.el}.
399
400 @item
401 Neil M. Mager wrote @file{appt.el}, functions to notify users of their
402 appointments. It finds appointments recorded in the diary files
403 generated by Edward M. Reingold's @code{calendar} package.
404
405 @item
406 Ken Manheimer wrote @file{allout.el}, a mode for manipulating and
407 formatting outlines, and @file{icomplete.el}, which provides incremental
408 completion feedback in the minibuffer.
409
410 @item
411 Bill Mann wrote @file{perl-mode.el}, a mode for editing Perl code.
412
413 @item
414 Brian Marick and Daniel LaLiberte wrote @file{hideif.el}, support for
415 hiding selected code within C @code{#ifdef} clauses.
416
417 @item
418 Simon Marshall wrote:
419 @itemize @bullet
420 @item
421 @file{fast-lock.el}, which caches the face data computed by Font Lock mode,
422 @item
423 @file{lazy-lock.el}, which delays fontification in Font Lock mode
424 until text is actually displayed, and
425 @item
426 @file{regexp-opt.el}, which generates a regular expression from a list
427 of strings.
428 @end itemize
429
430 @item
431 Bengt Martensson, Mark Shapiro, Mike Newton, Aaron Larson, and Stefan
432 Schoef, wrote @file{bibtex.el}, a mode for editing Bib@TeX{}
433 bibliography files.
434
435 @item
436 Charlie Martin wrote @file{autoinsert.el}, which provides automatic
437 mode-sensitive insertion of text into new files.
438
439 @item
440 Thomas May wrote @file{blackbox.el}, a version of the traditional
441 blackbox game.
442
443 @item
444 Roland McGrath wrote:
445 @itemize @bullet
446 @item
447 @file{compile.el}, a package for running compilations in a buffer, and
448 then visiting the locations reported in error messages,
449 @item
450 @file{etags.el}, a package for jumping to function definitions and
451 searching or replacing in all the files mentioned in a @file{TAGS} file,
452 @item
453 @file{find-dired.el}, for using @code{dired} commands on output from the
454 @code{find} program, with Sebastian Kremer,
455 @item
456 @file{map-ynp.el}, a general purpose boolean question-asker,
457 @item
458 @file{autoload.el}, providing semi-automatic maintenance of autoload
459 files, and
460 @item
461 @file{upd-copyr.el}, providing semi-automatic maintenance of copyright
462 notices in source code.
463 @end itemize
464
465 @item
466 David Megginson wrote @file{derived.el}, which allows one to define new
467 major modes by inheriting key bindings and commands from existing major
468 modes.
469
470 @item
471 Wayne Mesard wrote @file{hscroll.el} which does horizontal scrolling
472 automatically.
473
474 @item
475 Richard Mlynarik wrote:
476 @itemize @bullet
477 @item
478 @file{cl-indent.el}, a package for indenting Common Lisp code,
479 @item
480 @file{ebuff-menu.el}, an ``electric'' browser for buffer listings,
481 @item
482 @file{ehelp.el}, bindings for browsing help screens,
483 @item
484 @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format,
485 used in mail messages and news articles,
486 @item
487 @file{terminal.el}, a terminal emulator for Emacs subprocesses, and
488 @item
489 @file{yow.el}, an essential utility (try @kbd{M-x yow}).
490 @end itemize
491
492 @item
493 Gerd Moellmann wrote the new display engine for Emacs 21, the
494 @code{ebrowse} C@t{++} browser, and @file{jit-lock.el},
495 @file{tooltip.el}, and @file{authors.el} packages.
496
497 @item
498 Keith Moore wrote @file{aixcc.lex}, a pre-processor designed to help
499 Emacs parse the error messages produced by the AIX C compiler.
500
501 @item
502 Erik Naggum wrote the time-conversion functions, and has tested the
503 latest source code daily.
504
505 @item
506 Thomas Neumann and Eric Raymond wrote @file{makefile.el}, a mode for
507 editing makefiles.
508
509 @item
510 Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.
511
512 @item
513 Jeff Norden wrote @file{kermit.el}, a package to help the Kermit
514 dialup communications program run comfortably in an Emacs shell buffer.
515
516 @item
517 Andrew Norman wrote @file{ange-ftp.el}, providing transparent FTP support.
518
519 @item
520 Jeff Peck wrote:
521 @itemize @bullet
522 @item
523 @file{emacstool.c}, support for running Emacs under SunView/Sun Windows,
524 @item
525 @file{sun-curs.el}, cursor definitions for Sun Windows, and
526 @item
527 @file{sun-fns.el}, providing mouse support for Sun Windows.
528 @end itemize
529
530 @item
531 Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of
532 the ``Towers of Hanoi'' puzzle.
533
534 @item
535 Jens Petersen wrote @file{find-func.el}, which makes it easy to find
536 the source code for an Emacs Lisp function or variable.
537
538 @item
539 Daniel Pfeiffer wrote:
540 @itemize @bullet
541 @item
542 @file{executable.el}
543 @item
544 @file{sh-script.el}, a mode for editing shell scripts,
545 @item
546 @file{skeleton.el}, implementing a concise language for writing
547 statement skeletons, and
548 @item
549 @file{two-column.el}, a minor mode for simultaneous two-column editing.
550 @end itemize
551
552 @item
553 Fred Pierresteguy and Paul Reilly made Emacs work with X Toolkit
554 widgets.
555
556 @item
557 Christian Plaunt wrote @file{soundex.el}, an implementation of the
558 Soundex algorithm for comparing English words by their pronunciation.
559
560 @item
561 Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which
562 runs the C preprocessor on a region of a file and displays the results.
563
564 @item
565 Michael D. Prange and Steven A. Wood wrote @file{fortran.el}, a mode for
566 editing FORTRAN code.
567 @c We're not distributing his tex-mode.el anymore; we're using Ed Reingold's.
568
569 @item
570 Ashwin Ram wrote @file{refer.el}, commands to look up references in
571 bibliography files by keyword.
572
573 @item
574 Eric S. Raymond wrote:
575 @itemize @bullet
576 @item
577 @file{vc.el}, an interface to the RCS and SCCS source code version
578 control systems, with Paul Eggert,
579 @item
580 @file{gud.el}, a package for running source-level debuggers like GDB
581 and SDB in Emacs,
582 @item
583 @file{asm-mode.el}, a mode for editing assembly language code,
584 @item
585 @file{cookie1.el}, support for ``fortune-cookie'' programs like
586 @file{yow.el} and @file{spook.el},
587 @item
588 @file{finder.el}, a package for finding Emacs Lisp packages by keyword
589 and topic,
590 @item
591 @file{lisp-mnt.el}, functions for working with the special headers used
592 in Emacs Lisp library files, and
593 @item
594 code to set and make use of the @code{load-history} lisp variable, which
595 records the source file from which each lisp function loaded into Emacs
596 came.
597 @end itemize
598
599 @item
600 Edward M. Reingold wrote the extensive calendar and diary support (try
601 @kbd{M-x calendar}), with contributions from Stewart Clamen, Paul
602 Eggert, and Lara Rios. Andy Oram contributed to its documentation.
603 Reingold has also contributed to @file{tex-mode.el}, a mode for editing
604 @TeX{} files, as have William F. Schelter, Dick King, Stephen Gildea,
605 Michael Prange, and Jacob Gore.
606
607 @item
608 Rob Riepel contributed @file{tpu-edt.el} and its associated files,
609 providing an emulation of the VMS TPU text editor emulating the VMS EDT
610 editor, and @file{vt-control.el}, providing some control functions for
611 the DEC VT line of terminals.
612
613 @item
614 Roland B. Roberts contributed much of the VMS support distributed with
615 Emacs 19, along with Joseph M. Kelsey, and @file{vms-pmail.el}, support
616 for using Emacs within VMS MAIL.
617
618 @item
619 John Robinson wrote @file{bg-mouse.el}, support for the mouse on the BBN
620 Bitgraph terminal.
621
622 @item
623 Danny Roozendaal implemented @file{handwrite.el}, which converts text
624 into ``handwriting.''
625
626 @item
627 William Rosenblatt wrote @file{float.el}, implementing a floating-point
628 numeric type using Lisp cons cells and integers.
629
630 @item
631 Guillermo J. Rozas wrote @file{scheme.el}, a mode for editing Scheme
632 code, and @file{fakemail.c}, an interface to the System V mailer.
633
634 @item
635 Ivar Rummelhoff provided @file{winner.el}, which records
636 recent window configurations so you can move back to them.
637
638 @item
639 Wolfgang Rupprecht contributed Emacs 19's floating-point support
640 (including @file{float-sup.el} and @file{floatfns.c}), and
641 @file{sup-mouse.el}, support for the Supdup mouse on lisp machines.
642
643 @item
644 James B. Salem and Brewster Kahle wrote @file{completion.el}, providing
645 dynamic word completion.
646
647 @item
648 Masahiko Sato wrote @file{vip.el}, an emulation of the VI editor.
649
650 @item
651 William Schelter wrote @file{telnet.el}, support for @code{telnet}
652 sessions within Emacs.
653
654 @item
655 Ralph Schleicher contributed @file{battery.el}, a package for displaying
656 laptop computer battery status, and @file{info-look.el}, a package for
657 looking up Info documentation for symbols in the buffer.
658
659 @item
660 Gregor Schmid wrote @file{tcl.el}, a mode for editing Tcl/Tk scripts.
661
662 @item
663 Michael Schmidt and Tom Perrine wrote @file{modula2.el}, a mode for
664 editing Modula-2 code, based on work by Mick Jordan and Peter Robinson.
665
666 @item
667 Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game.
668
669 @item
670 Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played
671 against Emacs, and @file{mpuz.el}, a multiplication puzzle.
672
673 @item
674 Randal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.
675
676 @item
677 Manuel Serrano contributed the Flyspell package that does spell checking
678 as you type.
679
680 @item
681 Stanislav Shalunov wrote @file{uce.el}, for responding to unsolicited
682 commercial email.
683
684 @item
685 Richard Sharman contributed @file{hilit-chg.el}, which uses colors
686 to inclidate recent editing changes.
687
688 @item
689 Olin Shivers wrote:
690 @itemize @bullet
691 @item
692 @file{comint.el}, a library for modes running interactive command-line-
693 oriented subprocesses,
694 @item
695 @file{cmuscheme.el}, for running inferior Scheme processes,
696 @item
697 @file{inf-lisp.el}, for running inferior Lisp process, and
698 @item
699 @file{shell.el}, for running inferior shells.
700 @end itemize
701
702 @item
703 Espen Skoglund wrote @file{pascal.el}, a mode for editing Pascal code.
704
705 @item
706 Rick Sladkey wrote @file{backquote.el}, a lisp macro for creating
707 mostly-constant data.
708
709 @item
710 Lynn Slater wrote @file{help-macro.el}, a macro for writing interactive
711 help for key bindings.
712
713 @item
714 Chris Smith wrote @file{icon.el}, a mode for editing Icon code.
715
716 @item
717 David Smith wrote @file{ielm.el}, a mode for interacting with the Emacs
718 Lisp interpreter as a subprocess.
719
720 @item
721 Paul D. Smith wrote @file{snmp-mode.el}.
722
723 @item
724 William Sommerfeld wrote @file{scribe.el}, a mode for editing Scribe
725 files, and @file{server.el}, a package allowing programs to send files
726 to an extant Emacs job to be edited.
727
728 @item
729 Michael Staats wrote @file{pc-select.el}, which rebinds keys for
730 selecting regions to follow many other systems.
731
732 @item
733 Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
734 browsing indices made from buffer contents.
735
736 @item
737 Peter Stephenson contributed @file{vcursor.el}, which implements a
738 ``virtual cursor'' that you can move with the keyboard and use for
739 copying text.
740
741 @item
742 Sam Steingold wrote @file{gulp.el} and @file{midnight.el}.
743
744 @item
745 Jonathan Stigelman wrote @file{hilit19.el}, a package providing
746 automatic highlighting in source code buffers, mail readers, and other
747 contexts.
748
749 @item
750 Steve Strassman did not write @file{spook.el}, and even if he did, he
751 really didn't mean for you to use it in an anarchistic way.
752
753 @item
754 Jens T. Berger Thielemann wrote @file{word-help.el}, which is
755 part of the basis for @file{info-look.el}.
756
757 @item
758 Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
759 which completes the partial word before point, based on other nearby
760 words for which it is a prefix. He also wrote the original dumping
761 support.
762
763 @item
764 Jim Thompson wrote @file{ps-print.el}, which converts
765 Emacs text to Postscript.
766
767 @item
768 Masanobu Umeda wrote:
769 @itemize @bullet
770 @item
771 GNUS, a featureful reader for Usenet news,
772 @item
773 @file{prolog.el}, a mode for editing Prolog code,
774 @item
775 @file{rmailsort.el}, a package for sorting messages in RMAIL folders,
776 @item
777 @file{metamail.el}, an interface to the Metamail program,
778 @item
779 @file{tcp.el}, emulation of the @code{open-network-stream} function for
780 some Emacs configurations which lack it, and
781 @item
782 @file{timezone.el}, providing functions for dealing with time zones.
783 @end itemize
784
785 @item
786 Neil W. Van Dyke wrote @file{webjump.el}, a ``hot links'' package.
787
788 @item
789 Ulrik Vieth implemented @file{meta-mode.el}, for editing MetaFont code.
790
791 @item
792 Geoffrey Voelker wrote the Windows NT support.
793
794 @item
795 Johan Vromans wrote @file{forms.el} and its associated files, defining a
796 mode for filling in forms, and @file{iso-acc.el}, a minor mode providing
797 electric accent keys for text using the ISO-8859 character set.
798
799 @item
800 Barry Warsaw wrote:
801 @itemize @bullet
802 @item
803 @file{assoc.el}, a set of utility functions for working with association
804 lists,
805 @item
806 @file{cc-mode.el}, a major mode for editing C and C++ code, based on
807 earlier work by Dave Detlefs, Stewart Clamen, and Richard Stallman,
808 @item
809 @file{elp.el}, a new profiler for Emacs Lisp programs.
810 @item
811 @file{man.el}, a mode for reading UNIX manual pages,
812 @item
813 @file{regi.el}, providing an AWK-like control structure for
814 use in lisp programs, and
815 @item
816 @file{reporter.el}, providing customizable bug reporting for lisp
817 packages.
818 @item
819 @file{supercite.el}, a minor mode for quoting sections of mail messages
820 and news articles,
821 @end itemize
822
823 @item
824 Morten Welinder introduced face support into the MS-DOS port of Emacs,
825 and also wrote:
826 @itemize @bullet
827 @item
828 @file{desktop.el}, facilities for saving some of Emacs's state between
829 sessions,
830 @item
831 @file{timer.el}, the Emacs facility to run commands at a given time or
832 frequency, or when Emacs is idle,
833 @item
834 @file{pc-win.el}, the MS-DOS ``window-system'' support,
835 @item
836 @file{arc-mode.el}, the mode for editing compressed archives,
837 @item
838 @file{s-region.el}, commands for setting the region using the shift key
839 and motion commands, and
840 @item
841 @file{dos-fns.el}, functions for use under MS-DOS.
842 @end itemize
843
844 He also helped port Emacs to MS-DOS.
845
846 @item
847 Joseph Brian Wells wrote:
848 @itemize @bullet
849 @item
850 @file{apropos.el}, a command to find commands, functions, and variables
851 whose names contain matches for a regular expression,
852 @item
853 @file{resume.el}, support for processing command-line arguments after
854 resuming a suspended Emacs job, and
855 @item
856 @file{mail-extr.el}, a package for extracting names and addresses from
857 mail headers, with contributions from Jamie Zawinski.
858 @end itemize
859
860 @item
861 Rodney Whitby and Reto Zimmermann wrote @file{vhdl-mode.el}.
862
863 @item
864 Ed Wilkinson wrote @file{b2m.c}, a program to convert mail files from
865 RMAIL format to Unix @code{mbox} format.
866
867 @item
868 Mike Williams wrote @file{mouse-sel.el}, providing enhanced mouse
869 selection, and @file{thingatpt.el}, a library of functions for finding
870 the ``thing'' (word, line, s-expression) containing point.
871
872 @item
873 Dale R. Worley wrote @file{emerge.el}, a package for interactively
874 merging two versions of a file.
875
876 @item
877 Tom Wurgler wrote @file{emacs-lock.el}, which makes it harder
878 to exit with valuable buffers unsaved.
879
880 @item
881 Eli Zaretskii made many standard Emacs features work on MS-DOS. He also
882 wrote @file{tty-colors.el}, which implements transparent mapping of X
883 colors to tty colors, and (together with Kenichi Handa)
884 @file{codepage.el}, a package for editing text encoded in DOS/Windows
885 code pages.
886
887 @item
888 Jamie Zawinski wrote:
889 @itemize @bullet
890 @item
891 Emacs 19's optimizing byte compiler, with Hallvard Furuseth,
892 @item
893 much of the support for faces and X selections,
894 @item
895 @file{mailabbrev.el}, a package providing automatic expansion of mail
896 aliases, and
897 @item
898 @file{tar-mode.el}, providing simple viewing and editing commands for
899 tar files.
900 @end itemize
901
902 @item
903 Ian T. Zimmerman wrote @file{gametree.el}.
904
905 @item
906 Neal Ziring and Felix S. T. Wu wrote @file{vi.el}, an emulation of the
907 VI text editor.
908
909 @item
910 John Wiegley wrote @file{align.el}, a set of commands for aligning
911 text according to regular-expression based rules.
912
913 @item
914 INOUE Seiichiro improved Emacs' XIM support. Thanks to HORIKAWA Hisashi
915 for suggestions.
916 @end itemize
917
918 Others too numerous to mention have reported and fixed bugs, and added
919 features to many parts of Emacs. We thank them for their generosity as
920 well.
921
922 This list intended to mention every contributor of a major package or
923 feature we currently distribute; if you know of someone we have omitted,
924 please report that as a manual bug.