*** empty log message ***
[bpt/emacs.git] / man / ack.texi
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 1994, 1995, 1996, 1997, 1999 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 those who have written substantial
10 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 Keith Moore wrote @file{aixcc.lex}, a pre-processor designed to help
494 Emacs parse the error messages produced by the AIX C compiler.
495
496 @item
497 Erik Naggum wrote the time-conversion functions, and has tested the
498 latest source code daily.
499
500 @item
501 Thomas Neumann and Eric Raymond wrote @file{makefile.el}, a mode for
502 editing makefiles.
503
504 @item
505 Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.
506
507 @item
508 Jeff Norden wrote @file{kermit.el}, a package to help the Kermit
509 dialup communications program run comfortably in an Emacs shell buffer.
510
511 @item
512 Andrew Norman wrote @file{ange-ftp.el}, providing transparent FTP support.
513
514 @item
515 Jeff Peck wrote:
516 @itemize @bullet
517 @item
518 @file{emacstool.c}, support for running Emacs under SunView/Sun Windows,
519 @item
520 @file{sun-curs.el}, cursor definitions for Sun Windows, and
521 @item
522 @file{sun-fns.el}, providing mouse support for Sun Windows.
523 @end itemize
524
525 @item
526 Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of
527 the ``Towers of Hanoi'' puzzle.
528
529 @item
530 Jens Petersen wrote @file{find-func.el}, which makes it easy to find
531 the source code for an Emacs Lisp function or variable.
532
533 @item
534 Daniel Pfeiffer wrote:
535 @itemize @bullet
536 @item
537 @file{executable.el}
538 @item
539 @file{sh-script.el}, a mode for editing shell scripts,
540 @item
541 @file{skeleton.el}, implementing a concise language for writing
542 statement skeletons, and
543 @item
544 @file{two-column.el}, a minor mode for simultaneous two-column editing.
545 @end itemize
546
547 @item
548 Fred Pierresteguy and Paul Reilly made Emacs work with X Toolkit
549 widgets.
550
551 @item
552 Christian Plaunt wrote @file{soundex.el}, an implementation of the
553 Soundex algorithm for comparing English words by their pronunciation.
554
555 @item
556 Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which
557 runs the C preprocessor on a region of a file and displays the results.
558
559 @item
560 Michael D. Prange and Steven A. Wood wrote @file{fortran.el}, a mode for
561 editing FORTRAN code.
562 @c We're not distributing his tex-mode.el anymore; we're using Ed Reingold's.
563
564 @item
565 Ashwin Ram wrote @file{refer.el}, commands to look up references in
566 bibliography files by keyword.
567
568 @item
569 Eric S. Raymond wrote:
570 @itemize @bullet
571 @item
572 @file{vc.el}, an interface to the RCS and SCCS source code version
573 control systems, with Paul Eggert,
574 @item
575 @file{gud.el}, a package for running source-level debuggers like GDB
576 and SDB in Emacs,
577 @item
578 @file{asm-mode.el}, a mode for editing assembly language code,
579 @item
580 @file{cookie1.el}, support for ``fortune-cookie'' programs like
581 @file{yow.el} and @file{spook.el},
582 @item
583 @file{finder.el}, a package for finding Emacs Lisp packages by keyword
584 and topic,
585 @item
586 @file{lisp-mnt.el}, functions for working with the special headers used
587 in Emacs Lisp library files, and
588 @item
589 code to set and make use of the @code{load-history} lisp variable, which
590 records the source file from which each lisp function loaded into Emacs
591 came.
592 @end itemize
593
594 @item
595 Edward M. Reingold wrote the extensive calendar and diary support (try
596 @kbd{M-x calendar}), with contributions from Stewart Clamen, Paul
597 Eggert, and Lara Rios. Andy Oram contributed to its documentation.
598 Reingold has also contributed to @file{tex-mode.el}, a mode for editing
599 @TeX{} files, as have William F. Schelter, Dick King, Stephen Gildea,
600 Michael Prange, and Jacob Gore.
601
602 @item
603 Rob Riepel contributed @file{tpu-edt.el} and its associated files,
604 providing an emulation of the VMS TPU text editor emulating the VMS EDT
605 editor, and @file{vt-control.el}, providing some control functions for
606 the DEC VT line of terminals.
607
608 @item
609 Roland B. Roberts contributed much of the VMS support distributed with
610 Emacs 19, along with Joseph M. Kelsey, and @file{vms-pmail.el}, support
611 for using Emacs within VMS MAIL.
612
613 @item
614 John Robinson wrote @file{bg-mouse.el}, support for the mouse on the BBN
615 Bitgraph terminal.
616
617 @item
618 Danny Roozendaal implemented @file{handwrite.el}, which converts text
619 into ``handwriting.''
620
621 @item
622 William Rosenblatt wrote @file{float.el}, implementing a floating-point
623 numeric type using Lisp cons cells and integers.
624
625 @item
626 Guillermo J. Rozas wrote @file{scheme.el}, a mode for editing Scheme
627 code, and @file{fakemail.c}, an interface to the System V mailer.
628
629 @item
630 Ivar Rummelhoff provided @file{winner.el}, which records
631 recent window configurations so you can move back to them.
632
633 @item
634 Wolfgang Rupprecht contributed Emacs 19's floating-point support
635 (including @file{float-sup.el} and @file{floatfns.c}), and
636 @file{sup-mouse.el}, support for the Supdup mouse on lisp machines.
637
638 @item
639 James B. Salem and Brewster Kahle wrote @file{completion.el}, providing
640 dynamic word completion.
641
642 @item
643 Masahiko Sato wrote @file{vip.el}, an emulation of the VI editor.
644
645 @item
646 William Schelter wrote @file{telnet.el}, support for @code{telnet}
647 sessions within Emacs.
648
649 @item
650 Ralph Schleicher contributed @file{battery.el}, a package for displaying
651 laptop computer battery status, and @file{info-look.el}, a package for
652 looking up Info documentation for symbols in the buffer.
653
654 @item
655 Gregor Schmid wrote @file{tcl.el}, a mode for editing Tcl/Tk scripts.
656
657 @item
658 Michael Schmidt and Tom Perrine wrote @file{modula2.el}, a mode for
659 editing Modula-2 code, based on work by Mick Jordan and Peter Robinson.
660
661 @item
662 Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game.
663
664 @item
665 Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played
666 against Emacs, and @file{mpuz.el}, a multiplication puzzle.
667
668 @item
669 Randal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.
670
671 @item
672 Manuel Serrano contributed the Flyspell package that does spell checking
673 as you type.
674
675 @item
676 Stanislav Shalunov wrote @file{uce.el}, for responding to unsolicited
677 commercial email.
678
679 @item
680 Richard Sharman contributed @file{hilit-chg.el}, which uses colors
681 to inclidate recent editing changes.
682
683 @item
684 Olin Shivers wrote:
685 @itemize @bullet
686 @item
687 @file{comint.el}, a library for modes running interactive command-line-
688 oriented subprocesses,
689 @item
690 @file{cmuscheme.el}, for running inferior Scheme processes,
691 @item
692 @file{inf-lisp.el}, for running inferior Lisp process, and
693 @item
694 @file{shell.el}, for running inferior shells.
695 @end itemize
696
697 @item
698 Sam Shteingold wrote @file{gulp.el}.
699
700 @item
701 Espen Skoglund wrote @file{pascal.el}, a mode for editing Pascal code.
702
703 @item
704 Rick Sladkey wrote @file{backquote.el}, a lisp macro for creating
705 mostly-constant data.
706
707 @item
708 Lynn Slater wrote @file{help-macro.el}, a macro for writing interactive
709 help for key bindings.
710
711 @item
712 Chris Smith wrote @file{icon.el}, a mode for editing Icon code.
713
714 @item
715 David Smith wrote @file{ielm.el}, a mode for interacting with the Emacs
716 Lisp interpreter as a subprocess.
717
718 @item
719 Paul D. Smith wrote @file{snmp-mode.el}.
720
721 @item
722 William Sommerfeld wrote @file{scribe.el}, a mode for editing Scribe
723 files, and @file{server.el}, a package allowing programs to send files
724 to an extant Emacs job to be edited.
725
726 @item
727 Michael Staats wrote @file{pc-select.el}, which rebinds keys for
728 selecting regions to follow many other systems.
729
730 @item
731 Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
732 browsing indices made from buffer contents.
733
734 @item
735 Peter Stephenson contributed @file{vcursor.el}, which implements a
736 ``virtual cursor'' that you can move with the keyboard and use for
737 copying text.
738
739 @item
740 Sam Steingold wrote @file{midnight.el}.
741
742 @item
743 Jonathan Stigelman wrote @file{hilit19.el}, a package providing
744 automatic highlighting in source code buffers, mail readers, and other
745 contexts.
746
747 @item
748 Steve Strassman did not write @file{spook.el}, and even if he did, he
749 really didn't mean for you to use it in an anarchistic way.
750
751 @item
752 Jens T. Berger Thielemann wrote @file{word-help.el}, which is
753 part of the basis for @file{info-look.el}.
754
755 @item
756 Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
757 which completes the partial word before point, based on other nearby
758 words for which it is a prefix. He also wrote the original dumping
759 support.
760
761 @item
762 Jim Thompson wrote @file{ps-print.el}, which converts
763 Emacs text to Postscript.
764
765 @item
766 Masanobu Umeda wrote:
767 @itemize @bullet
768 @item
769 GNUS, a featureful reader for Usenet news,
770 @item
771 @file{prolog.el}, a mode for editing Prolog code,
772 @item
773 @file{rmailsort.el}, a package for sorting messages in RMAIL folders,
774 @item
775 @file{metamail.el}, an interface to the Metamail program,
776 @item
777 @file{tcp.el}, emulation of the @code{open-network-stream} function for
778 some Emacs configurations which lack it, and
779 @item
780 @file{timezone.el}, providing functions for dealing with time zones.
781 @end itemize
782
783 @item
784 Neil W. Van Dyke wrote @file{webjump.el}, a ``hot links'' package.
785
786 @item
787 Ulrik Vieth implemented @file{meta-mode.el}, for editing MetaFont code.
788
789 @item
790 Geoffrey Voelker wrote the Windows NT support.
791
792 @item
793 Johan Vromans wrote @file{forms.el} and its associated files, defining a
794 mode for filling in forms, and @file{iso-acc.el}, a minor mode providing
795 electric accent keys for text using the ISO-8859 character set.
796
797 @item
798 Barry Warsaw wrote:
799 @itemize @bullet
800 @item
801 @file{assoc.el}, a set of utility functions for working with association
802 lists,
803 @item
804 @file{cc-mode.el}, a major mode for editing C and C++ code, based on
805 earlier work by Dave Detlefs, Stewart Clamen, and Richard Stallman,
806 @item
807 @file{elp.el}, a new profiler for Emacs Lisp programs.
808 @item
809 @file{man.el}, a mode for reading UNIX manual pages,
810 @item
811 @file{regi.el}, providing an AWK-like control structure for
812 use in lisp programs, and
813 @item
814 @file{reporter.el}, providing customizable bug reporting for lisp
815 packages.
816 @item
817 @file{supercite.el}, a minor mode for quoting sections of mail messages
818 and news articles,
819 @end itemize
820
821 @item
822 Morten Welinder wrote:
823 @itemize @bullet
824 @item
825 @file{desktop.el}, facilities for saving some of Emacs's state between
826 sessions,
827 @item
828 @file{s-region.el}, commands for setting the region using the shift key
829 and motion commands, and
830 @item
831 @file{dos-fns.el}, functions for use under MS-DOS.
832 @end itemize
833
834 He also helped port Emacs to MS-DOS.
835
836 @item
837 Joseph Brian Wells wrote:
838 @itemize @bullet
839 @item
840 @file{apropos.el}, a command to find commands, functions, and variables
841 whose names contain matches for a regular expression,
842 @item
843 @file{resume.el}, support for processing command-line arguments after
844 resuming a suspended Emacs job, and
845 @item
846 @file{mail-extr.el}, a package for extracting names and addresses from
847 mail headers, with contributions from Jamie Zawinski.
848 @end itemize
849
850 @item
851 Rodney Whitby and Reto Zimmermann wrote @file{vhdl-mode.el}.
852
853 @item
854 Ed Wilkinson wrote @file{b2m.c}, a program to convert mail files from
855 RMAIL format to Unix @code{mbox} format.
856
857 @item
858 Mike Williams wrote @file{mouse-sel.el}, providing enhanced mouse
859 selection, and @file{thingatpt.el}, a library of functions for finding
860 the ``thing'' (word, line, s-expression) containing point.
861
862 @item
863 Dale R. Worley wrote @file{emerge.el}, a package for interactively
864 merging two versions of a file.
865
866 @item
867 Tom Wurgler wrote @file{emacs-lock.el}, which makes it harder
868 to exit with valuable buffers unsaved.
869
870 @item
871 Eli Zaretskii made many standard Emacs features work on MS-DOS.
872
873 @item
874 Jamie Zawinski wrote:
875 @itemize @bullet
876 @item
877 Emacs 19's optimizing byte compiler, with Hallvard Furuseth,
878 @item
879 much of the support for faces and X selections,
880 @item
881 @file{mailabbrev.el}, a package providing automatic expansion of mail
882 aliases, and
883 @item
884 @file{tar-mode.el}, providing simple viewing and editing commands for
885 tar files.
886 @end itemize
887
888 @item
889 Ian T. Zimmerman wrote @file{gametree.el}.
890
891 @item
892 Neal Ziring and Felix S. T. Wu wrote @file{vi.el}, an emulation of the
893 VI text editor.
894
895 @item
896 John Wiegley wrote @file{align.el}, a set of commands for aligning
897 text according to regular-expression based rules.
898
899 @item
900 INOUE Seiichiro improved Emacs' XIM support. Thanks to HORIKAWA Hisashi
901 for suggestions.
902 @end itemize
903
904 Others too numerous to mention have reported and fixed bugs, and added
905 features to many parts of Emacs. We thank them for their generosity as
906 well.
907
908 This list intended to mention every contributor of a major package or
909 feature we currently distribute; if you know of someone we have omitted,
910 please report that as a manual bug.