coding.c (complement_process_encoding_system): Fix previous change.
[bpt/emacs.git] / doc / emacs / ack.texi
CommitLineData
6bf7aab6 1@c This is part of the Emacs manual.
b65d8176 2@c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,
6d98672d
GM
3@c 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
6bf7aab6 5@c See file emacs.texi for copying conditions.
2679716a 6@c
6bf7aab6 7@node Acknowledgments, Screen, Concept Index, Top
ba34fe20 8@unnumbered Acknowledgments
6bf7aab6
DL
9
10Many people have contributed code included in the Free Software
11Foundation's distribution of GNU Emacs. To show our appreciation for
26145417 12their public spirit, we list here in alphabetical order those who have
9b0455c7
GM
13written substantial portions. Others too numerous to mention have
14reported and fixed bugs, and added features to many parts of Emacs.
15We thank them for their generosity as well.
16
fa61190c 17This list is intended to mention every contributor of a major package or
9b0455c7
GM
18feature we currently distribute; if you know of someone we have omitted,
19please report that as a manual bug. More comprehensive information is
20available in the @file{ChangeLog} files, summarized in the file
21@file{etc/AUTHORS} in the distribution.
6bf7aab6 22
26145417
RS
23@c We should list here anyone who has contributed a new package,
24@c and anyone who has made major enhancements in Emacs
25@c that many users would notice and consider important.
236fd60d 26@c Remove things that are no longer distributed.
3892ff9c
GM
27@c Note this file is only used ifnottex; otherwise a shorter version in
28@c emacs.texi is used.
26145417 29
6bf7aab6
DL
30@itemize @bullet
31@item
236fd60d
GM
32Per Abrahamsen wrote the customization facilities, as well as
33@file{double.el}, for typing accented characters not normally available
34from the keyboard; @file{xt-mouse.el}, which allows mouse commands
35through Xterm; @file{gnus-cus.el}, which implements customization
36commands for Gnus; @file{gnus-cite.el}, a citation-parsing facility for
37news articles); @file{gnus-score.el}, scoring for Gnus; @file{cpp.el},
38which hides or highlights parts of C programs according to preprocessor
39conditionals; and the widget library files @file{wid-browse.el},
40@file{wid-edit.el}, @file{widget.el}. He also co-wrote
41@file{gnus-soup.el}.
b930de78
EZ
42
43@item
67ffa16f
CY
44Tomas Abrahamsson wrote @file{artist.el}, a package for producing
45@acronym{ASCII} art with a mouse or with keyboard keys.
6bf7aab6
DL
46
47@item
236fd60d
GM
48Jay K.@: Adams wrote @file{jka-compr.el} and @file{jka-cmpr-hook.el},
49providing automatic decompression and recompression for compressed
50files.
6bf7aab6 51
c3a37bd2
CY
52@item
53Michael Albinus wrote @file{dbus.el}, a package that implements the
54D-Bus message bus protocol; @file{zeroconf.el}, a mode for browsing
55Avahi services; and @file{xesam.el}, a Xesam-based search engine
56interface. He and Kai Gro@ss{}johann wrote the Tramp package, which
57provides transparent remote file editing using rcp, ssh, ftp, and
236fd60d
GM
58other network protocols. He and Daniel Pittman wrote
59@file{tramp-cache.el}.
c3a37bd2 60
107bb0f4
KS
61@item
62Ralf Angeli wrote @file{scroll-lock.el}, a minor mode which keeps the
63point vertically fixed by scrolling the window when moving up and down
64in the buffer.
65
6bf7aab6
DL
66@item
67Joe Arceneaux wrote the original text property implementation, and
68implemented support for X11.
69
b930de78 70@item
236fd60d
GM
71Miles Bader wrote @file{image-file.el}, support code for visiting image
72files; @file{minibuf-eldef.el}, a minor mode that hides the minibuffer
73default value when appropriate; @file{rfn-eshadow.el}, shadowing of
74@code{read-file-name} input; @file{mb-depth.el}, display of minibuffer
75depth; @file{button.el}, the library that implements clickable buttons;
76@file{face-remap.el}, a package for changing the default face in
77individual buffers; and @file{macroexp.el} for macro-expansion.
b930de78
EZ
78
79@item
80David Bakhash wrote @file{strokes.el}, a mode for controlling Emacs by
81moving the mouse in particular patterns.
82
83@item
84Eli Barzilay wrote @file{calculator.el}, a desktop calculator for
85Emacs.
86
87@item
67ffa16f 88Steven L.@: Baur wrote @file{footnote.el} which lets you include
236fd60d
GM
89footnotes in email messages; and @file{gnus-audio.el} and
90@file{earcon.el}, which provide sound effects for Gnus. He also wrote
91@file{gnus-setup.el}.
107bb0f4 92
6bf7aab6 93@item
236fd60d 94Alexander L.@: Belikoff, Sergey Berezin, Sacha Chua, David Edmondson,
3892ff9c
GM
95Noah Friedman, Andreas Fuchs, Mario Lang, Ben Mesander, Lawrence
96Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schaefer,
97Alex Schroeder, and Tom Tromey wrote ERC, an advanced Internet Relay
98Chat client (for more information, see the file @file{CREDITS} in the
99ERC distribution).
6bf7aab6 100
27f70a64 101@item
9dfa7983
GM
102Scott Bender, Michael Brouwer, Christophe de Dinechin, Carl Edman,
103Christian Limpach and Adrian Robert developed and maintained the
104NeXTstep port of Emacs.
105
106@item
107Anna M.@: Bigatti wrote @file{cal-html.el}, which produces HTML calendars.
27f70a64 108
b930de78 109@item
3892ff9c
GM
110Ray Blaak and Simon South wrote @file{delphi.el}, a mode for editing
111Delphi (Object Pascal) source code.
b930de78 112
9dfa7983
GM
113@item
114Martin Blais, Stefan Merten, and David Goodger wrote @file{rst.el}, a
115mode for editing reStructuredText documents.
116
6bf7aab6
DL
117@item
118Jim Blandy wrote Emacs 19's input system, brought its configuration and
119build process up to the GNU coding standards, and contributed to the
b930de78 120frame support and multi-face support. Jim also wrote @file{tvi970.el},
3892ff9c
GM
121terminal support for the TeleVideo 970 terminals; and co-wrote
122@file{wyse50.el} (q.v.@:).
b930de78
EZ
123
124@item
125Per Bothner wrote @file{term.el}, a terminal emulator in an Emacs
126buffer.
6bf7aab6
DL
127
128@item
da4cf7c5 129Terrence M.@: Brannon wrote @file{landmark.el}, a neural-network robot
6bf7aab6
DL
130that learns landmarks.
131
132@item
133Frank Bresz wrote @file{diff.el}, a program to display @code{diff}
134output.
135
136@item
236fd60d 137Peter Breton implemented @file{dirtrack.el}, a library for tracking
67ffa16f
CY
138directory changes in shell buffers; @file{filecache.el}, which records
139which directories your files are in; @file{locate.el}, which
140interfaces to the @code{locate} command; @file{find-lisp.el}, an Emacs
141Lisp emulation of the @command{find} program; @file{net-utils.el}; and
b930de78 142the ``generic mode'' feature.
b930de78
EZ
143
144@item
236fd60d 145Emmanuel Briot wrote @file{xml.el}, an XML parser for Emacs; and
3892ff9c
GM
146@file{ada-prj.el}, editing of Ada mode project files, as well as
147co-authoring @file{ada-mode.el} and @file{ada-xref.el}.
6bf7aab6
DL
148
149@item
150Kevin Broadey wrote @file{foldout.el}, providing folding extensions to
151Emacs's outline modes.
152
6bf7aab6 153@item
da4cf7c5 154David M.@: Brown wrote @file{array.el}, for editing arrays and other
6bf7aab6
DL
155tabular data.
156
157@item
b930de78
EZ
158W@l{}odek Bzyl and Ryszard Kubiak wrote @file{ogonek.el}, a package for
159changing the encoding of Polish characters.
160
161@item
162Bill Carpenter provided @file{feedmail.el}, a package for massaging
163outgoing mail messages and sending them through various popular mailers.
164
165@item
166Per Cederqvist and Inge Wallin wrote @file{ewoc.el}, an Emacs widget for
236fd60d
GM
167manipulating object collections. Per Cederqvist, Inge Wallin, and
168Thomas Bellman wrote @file{avl-tree.el}, for balanced binary trees.
6bf7aab6
DL
169
170@item
171Hans Chalupsky wrote @file{advice.el}, an overloading mechanism for
236fd60d 172Emacs Lisp functions; and @file{trace.el}, a tracing facility for Emacs
6bf7aab6
DL
173Lisp.
174
b930de78 175@item
3892ff9c
GM
176Chris Chase, Carsten Dominik, and J.@: D.@: Smith wrote IDLWAVE mode,
177for editing IDL and WAVE CL.
b930de78 178
6bf7aab6 179@item
236fd60d
GM
180Bob Chassell wrote @file{texnfo-upd.el}, @file{texinfo.el}, and
181@file{makeinfo.el}, modes and utilities for working with Texinfo files;
182and @file{page-ext.el}, commands for extended page handling.
b930de78 183
9dfa7983 184@item
236fd60d
GM
185Jihyun Cho wrote @file{hanja-util.el} and @file{hangul.el}, utilities
186for Korean Hanja.
9dfa7983 187
b930de78 188@item
67ffa16f
CY
189Andrew Choi and Yamamoto Mitsuharu wrote the Carbon support, used
190prior to Emacs 23 for Mac OS.
191
192@item
193Chong Yidong was the Emacs co-maintainer for Emacs 23. He made many
3892ff9c
GM
194improvements to the Emacs display engine; and, together with Kai
195Gro@ss{}johann and Alex Schroeder, wrote @file{longlines.el}, a minor
196mode for wrapping long lines.
6bf7aab6
DL
197
198@item
67ffa16f
CY
199James Clark wrote SGML mode, a mode for editing SGML documents; and
200nXML mode, a mode for editing XML documents. He also contributed to
201Emacs's dumping procedures.
6bf7aab6
DL
202
203@item
204Mike Clarkson wrote @file{edt.el}, an emulation of DEC's EDT editor.
205
206@item
207Glynn Clements provided @file{gamegrid.el} and a couple of games that
208use it, Snake and Tetris.
209
236fd60d
GM
210@item
211Andrew Cohen wrote @file{spam-wash.el}, to decode and clean email before
212it is analysed for spam.
213
b930de78
EZ
214@item
215Georges Brun-Cottan and Stefan Monnier wrote @file{easy-mmode.el}, a
216package for easy definition of major and minor modes.
217
6bf7aab6
DL
218@item
219Andrew Csillag wrote M4 mode (@file{m4-mode.el}).
220
221@item
222Doug Cutting and Jamie Zawinski wrote @file{disass.el}, a disassembler
223for compiled Emacs Lisp code.
224
107bb0f4 225@item
64c64841
CY
226Mathias Dahl wrote @file{image-dired.el}, a package for viewing image
227files as ``thumbnails.''
107bb0f4 228
83d60c79
GM
229@item
230Vivek Dasmohapatra wrote @file{htmlfontify.el}, to convert a buffer or
231source tree to HTML.
232
6bf7aab6
DL
233@item
234Michael DeCorte wrote @file{emacs.csh}, a C-shell script that starts a
235new Emacs job, or restarts a paused Emacs if one exists.
236
237@item
238Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
239@file{/usr/uci/post} mailer.
240
241@item
242Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
243text replace the current selection.
244
245@item
2d3328f2 246Eric Ding wrote @file{goto-addr.el},
6bf7aab6 247
431e8396
EZ
248@item
249Jan Dj@"{a}rv added support for the GTK+ toolkit and X drag-and-drop.
250
6bf7aab6 251@item
236fd60d
GM
252Carsten Dominik wrote Ref@TeX{}, a package for setting up labels and
253cross-references in La@TeX{} documents; and co-wrote IDLWAVE mode
254(q.v.@:). He was the main author of Org mode, for maintaining notes,
276bbe96
GM
255todo lists, and project planning. Thomas Baumann, Lennart Borgman,
256Baoqiu Cui, Daniel German, Bastien Guerry, Tassilo Horn, Philip Jackson,
257Tokuya Kameshima, Ross Patterson, Sebastian Rose, Eric Schulte, Andy
258Stewart, David O'Toole, John Wiegley, and Piotr Zielinski also wrote
259various Org mode components.
6bf7aab6
DL
260
261@item
262Scott Draves wrote @file{tq.el}, help functions for maintaining
263transaction queues between Emacs and its subprocesses.
264
b930de78
EZ
265@item
266Benjamin Drieu wrote @file{pong.el}, an implementation of the classical
267pong game.
268
6bf7aab6
DL
269@item
270Viktor Dukhovni wrote support for dumping under SunOS version 4.
271
272@item
67ffa16f 273John Eaton and Kurt Hornik wrote Octave mode.
6bf7aab6
DL
274
275@item
236fd60d 276Rolf Ebert co-wrote Ada mode.
6bf7aab6
DL
277
278@item
67ffa16f
CY
279Stephen Eglen wrote @file{mspools.el}, which tells you which Procmail
280folders have mail waiting in them; and @file{iswitchb.el}, a feature
281for incremental reading and completion of buffer names.
6bf7aab6
DL
282
283@item
67ffa16f 284Torbj@"orn Einarsson wrote @file{f90.el}, a mode for Fortran 90 files.
6bf7aab6
DL
285
286@item
287Tsugutomo Enami co-wrote the support for international character sets.
288
c3a37bd2 289@item
236fd60d
GM
290David Engster wrote @file{mairix.el} and @file{nnmairix.el}, an
291interface to the Mairix indexing tool.
c3a37bd2 292
6bf7aab6
DL
293@item
294Hans Henrik Eriksen wrote @file{simula.el}, a mode for editing SIMULA 87
295code.
296
297@item
298Michael Ernst wrote @file{reposition.el}, a command for recentering a
299function's source code and preceding comment on the screen.
300
301@item
302Ata Etemadi wrote @file{cdl.el}, functions for working with Common Data
303Language source code.
304
305@item
b930de78
EZ
306Frederick Farnbach implemented @file{morse.el}, which converts text to
307Morse code.
308
309@item
310Oscar Figueiredo wrote EUDC, the Emacs Unified Directory Client, which
311is an interface to directory servers via LDAP, CCSO PH/QI, or BBDB; and
312@file{ldap.el}, the LDAP client interface.
6bf7aab6
DL
313
314@item
315Fred Fish wrote the support for dumping COFF executable files.
316
317@item
67ffa16f
CY
318Karl Fogel wrote @file{bookmark.el}, which implements named
319placeholders; @file{mail-hist.el}, a history mechanism for outgoing
320mail messages; and @file{saveplace.el}, for preserving point's
321location in files between editing sessions.
6bf7aab6
DL
322
323@item
b930de78 324Gary Foster wrote @file{crisp.el}, the emulation for CRiSP and Brief
236fd60d
GM
325editors; and @file{scroll-all.el}, a mode for scrolling several buffers
326together.
6bf7aab6
DL
327
328@item
b930de78 329Noah Friedman wrote @file{rlogin.el}, an interface to Rlogin,
6bf7aab6 330@file{type-break.el}, which reminds you to take periodic breaks from
b930de78 331typing, and @code{eldoc-mode}, a mode to show the defined parameters or
236fd60d
GM
332the doc string for the Lisp function near point.
333
334@item
335Shigeru Fukaya wrote a testsuite for the byte-compiler.
6bf7aab6
DL
336
337@item
338Keith Gabryelski wrote @file{hexl.el}, a mode for editing binary files.
339
340@item
341Kevin Gallagher rewrote and enhanced the EDT emulation, and wrote
342@file{flow-ctrl.el}, a package for coping with unsuppressible XON/XOFF
343flow control.
344
345@item
b930de78
EZ
346Kevin Gallo added multiple-frame support for Windows NT and wrote
347@file{w32-win.el}, support functions for the MS-Windows window system.
6bf7aab6 348
431e8396
EZ
349@item
350Juan Le@'{o}n Lahoz Garc@'{i}a wrote @file{wdired.el}, a package for
351performing file operations by directly editing Dired buffers.
352
6bf7aab6 353@item
67ffa16f
CY
354Howard Gayle wrote much of the C and Lisp code for display tables and
355case tables. He also wrote @file{rot13.el}, a command to display the
356plain-text form of a buffer encoded with the Caesar cipher;
236fd60d 357@file{vt100-led.el}, a package for controlling the LEDs on
67ffa16f
CY
358VT100-compatible terminals; and much of the support for ISO-8859
359European character sets (which includes @file{iso-ascii.el},
236fd60d 360@file{iso-insert.el}, @file{iso-swed.el},
67ffa16f 361@file{iso-syntax.el}, @file{iso-transl.el}, and @file{swedish.el}).
6bf7aab6
DL
362
363@item
b930de78
EZ
364Stephen Gildea made the Emacs quick reference card, and made many
365contributions for @file{time-stamp.el}, a package for maintaining
366last-change time stamps in files.
367
368@item
369Julien Gilles wrote @file{gnus-ml.el}, a mailing list minor mode for
370Gnus.
6bf7aab6
DL
371
372@item
67ffa16f 373David Gillespie wrote the Common Lisp compatibility packages;
236fd60d
GM
374@code{Calc}, an advanced calculator and mathematical tool, since
375maintained and developed by Jay Belanger; @file{complete.el}, a partial
376completion mechanism; and @file{edmacro.el}, a package for editing
377keyboard macros.
6bf7aab6
DL
378
379@item
2d3328f2
CY
380Bob Glickstein wrote @file{sregex.el}, a facility for writing regexps
381using a Lisp-like syntax.
6bf7aab6
DL
382
383@item
67ffa16f
CY
384Boris Goldowsky wrote @file{avoid.el}, a package to keep the mouse
385cursor out of the way of the text cursor; @file{shadowfile.el}, a
386package for keeping identical copies of files in more than one place;
b930de78 387@file{format.el}, a package for reading and writing files in various
67ffa16f 388formats; @file{enriched.el}, a package for saving text properties in
236fd60d
GM
389files; @file{facemenu.el}, a package for specifying faces; and
390@file{descr-text.el}, describing text and character properties.
6bf7aab6
DL
391
392@item
393Michelangelo Grigni wrote @file{ffap.el} which visits a file,
394taking the file name from the buffer.
395
396@item
b930de78 397Odd Gripenstam wrote @file{dcl-mode.el} for editing DCL command files.
6bf7aab6
DL
398
399@item
400Michael Gschwind wrote @file{iso-cvt.el}, a package to convert between
76dd3692 401the ISO 8859-1 character set and the notations for non-@acronym{ASCII}
236fd60d
GM
402characters used by @TeX{} and net tradition.
403
404@item
405Bastien Guerry wrote @file{gnus-bookmark.el}, bookmark support for Gnus;
406as well as contributing to Org mode (q.v.@:).
6bf7aab6
DL
407
408@item
409Henry Guillaume wrote @file{find-file.el}, a package to visit files
410related to the currently visited file.
411
412@item
413Doug Gwyn wrote the portable @code{alloca} implementation.
414
415@item
416Ken'ichi Handa implemented most of the support for international
67ffa16f
CY
417character sets, and wrote most of the Emacs 23 font handling code. He
418also wrote @file{composite.el}, which provides a minor mode that
419composes characters automatically when they are displayed;
420@file{isearch-x.el}, a facility for searching non-@acronym{ASCII}
421text; and @file{ps-bdf.el}, a BDF font support for printing
422non-@acronym{ASCII} text on a PostScript printer. Together with Naoto
423Takahashi, he wrote @file{quail.el}, an input facility for typing
424non-@acronym{ASCII} text from an @acronym{ASCII} keyboard.
6bf7aab6 425
107bb0f4
KS
426@item
427Jesper Harder wrote @file{yenc.el}, for decoding yenc encoded messages.
428
6bf7aab6 429@item
67ffa16f
CY
430K. Shane Hartman wrote @file{chistory.el} and @file{echistory.el},
431packages for browsing command history lists; @file{electric.el} and
432@file{helper.el}, which provide an alternative command loop and
433appropriate help facilities; @file{emacsbug.el}, a package for
434reporting Emacs bugs; @file{picture.el}, a mode for editing
435@acronym{ASCII} pictures; and @file{view.el}, a package for perusing
436files and buffers without editing them.
6bf7aab6
DL
437
438@item
439John Heidemann wrote @file{mouse-copy.el} and @file{mouse-drag.el},
440which provide alternative mouse-based editing and scrolling features.
b930de78
EZ
441
442@item
da4cf7c5 443Jon K Hellan wrote @file{utf7.el}, support for mail-safe transformation
b930de78 444format of Unicode.
6bf7aab6
DL
445
446@item
3892ff9c 447Markus Heritsch co-wrote Ada mode.
6bf7aab6
DL
448
449@item
450Karl Heuer wrote the original blessmail script, implemented the
451@code{intangible} text property, and rearranged the structure of the
452@code{Lisp_Object} type to allow for more data bits.
453
454@item
fcf27a65 455Manabu Higashida ported Emacs to MS-DOS.
6bf7aab6
DL
456
457@item
458Anders Holst wrote @file{hippie-exp.el}, a versatile completion and
459expansion package.
460
6b2efdc2 461@item
9dfa7983
GM
462Tassilo Horn wrote DocView mode, allowing viewing of PDF, PostScript and
463DVI documents.
6b2efdc2 464
6bf7aab6 465@item
b930de78
EZ
466Tom Houlder wrote @file{mantemp.el}, which generates manual C@t{++}
467template instantiations.
468
107bb0f4
KS
469@item
470Joakim Hove wrote @file{html2text.el}, a html to plain text converter.
67ffa16f 471
b930de78
EZ
472@item
473Denis Howe wrote @file{browse-url.el}, a package for invoking a WWW
474browser to display a URL.
6bf7aab6
DL
475
476@item
b930de78 477Lars Magne Ingebrigtsen did a major redesign of the Gnus news-reader and
236fd60d
GM
478wrote many of its parts. Several of these are now general components of
479Emacs: @file{dns.el} for Domain Name Service lookups;
480@file{format-spec.el} for formatting arbitrary format strings;
481@file{netrc.el} for parsing of @file{.netrc} files; and
482@file{time-date.el} for general date and time handling. Components of
3892ff9c
GM
483Gnus have also been written by: Nagy Andras, David Blacka, Scott Byer,
484Kevin Greiner, Kai Gro@ss{}johann, Joe Hildebrand, Paul Jarc, Sascha
485L@"{u}decke, David Moore, Jim Radford, Benjamin Rutt, Raymond Scholz,
486Thomas Steffen, Reiner Steib, Didier Verna, Ilja Weis, Katsumi Yamaoka,
487Teodor Zlatanov, and others (@pxref{Contributors,,,gnus, the Gnus Manual}).
6bf7aab6
DL
488
489@item
b930de78 490Andrew Innes contributed extensively to the MS-Windows support.
6bf7aab6 491
471d1274 492@item
da4cf7c5 493Seiichiro Inoue improved Emacs's XIM support.
471d1274 494
9dfa7983
GM
495@item
496Philip Jackson wrote @file{find-cmd.el}, to build a @code{find}
497command-line.
498
431e8396
EZ
499@item
500Ulf Jasper wrote @file{icalendar.el}, a package for converting Emacs
9dfa7983
GM
501diary entries to and from the iCalendar format;
502@file{newsticker.el}, an RSS and Atom based Newsticker; and
503@file{bubbles.el}, a puzzle game.
431e8396 504
6bf7aab6 505@item
236fd60d 506Kyle Jones wrote @file{life.el}, a package to play Conway's ``life'' game.
6bf7aab6 507
b930de78
EZ
508@item
509Terry Jones wrote @file{shadow.el}, a package for finding potential
510load-path problems when some Lisp file ``shadows'' another.
511
512@item
67ffa16f 513Simon Josefsson wrote @file{dns-mode.el}, an editing mode for Domain
236fd60d
GM
514Name System master files; @file{dig.el}, a Domain Name System interface;
515@file{flow-fill.el}, a package for interpreting RFC2646 formatted text
516in messages; @file{fringe.el}, a package for customizing the fringe;
517@file{imap.el}, an Emacs Lisp library for talking to IMAP servers;
518@file{password-cache.el}, a password reader; @file{nnimap.el}, the IMAP
519back-end for Gnus; @file{url-imap.el} for the URL library;
520@file{rfc2104.el}, a hashed message authentication facility; the Gnus
521S/MIME and Sieve components; and @file{tls.el} and @file{starttls.el}
522for the Transport Layer Security protocol.
b930de78 523
107bb0f4 524@item
d155accf 525Arne J@o{}rgensen wrote @file{latexenc.el}, a package to
107bb0f4
KS
526automatically guess the correct coding system in LaTeX files.
527
236fd60d
GM
528@item
529Alexandre Julliard wrote @file{vc-git.el}, support for the Git version
530control system.
531
6bf7aab6
DL
532@item
533Tomoji Kagatani implemented @file{smtpmail.el}, used for sending out
534mail with SMTP.
535
536@item
236fd60d
GM
537Ivan Kanis wrote @file{vc-hg.el}, support for the Mercurial version
538control system.
6bf7aab6
DL
539
540@item
541Henry Kautz wrote @file{bib-mode.el}, a mode for maintaining
542bibliography databases compatible with @code{refer} (the @code{troff}
543version) and @code{lookbib}, and @file{refbib.el}, a package to convert
544those databases to the format used by the LaTeX text formatting package.
545
431e8396
EZ
546@item
547Taichi Kawabata added support for Devanagari script and the Indian
3e8e9265 548languages, and wrote @file{ucs-normalize.el} for Unicode normalization.
431e8396 549
236fd60d
GM
550@item
551Taro Kawagishi implented the MD4 Message Digest Algorithm in Lisp; and
552wrote @file{ntlm.el} and @file{sasl-ntlm.el} for NT LanManager
553authentication support.
554
6bf7aab6
DL
555@item
556Howard Kaye wrote @file{sort.el}, commands to sort text in Emacs
557buffers.
558
559@item
236fd60d
GM
560Michael Kifer wrote @code{ediff}, an interactive interface to the
561@command{diff}, @command{patch}, and @command{merge} programs; and
b930de78 562Viper, the newest emulation for VI.
6bf7aab6
DL
563
564@item
565Richard King wrote the first version of @file{userlock.el} and
566@file{filelock.c}, which provide simple support for multiple users
b930de78
EZ
567editing the same file. He also wrote the initial version of
568@file{uniquify.el}, a facility to make buffer names unique by adding
569parts of the file's name to the buffer name.
6bf7aab6 570
b930de78 571@item
67ffa16f
CY
572Peter Kleiweg wrote @file{ps-mode.el}, a mode for editing PostScript
573files and running a PostScript interpreter interactively from within
574Emacs.
b930de78 575
431e8396 576@item
236fd60d
GM
577Shuhei Kobayashi wrote @file{hex-util.el}, for operating on hexadecimal
578strings; support for HMAC (Keyed-Hashing for Message Authentication);
579and a Lisp implementation of the SHA1 Secure Hash Algorithm.
580
581@item
582Pavel Kobyakov wrote @file{flymake.el}, a minor mode for performing
431e8396
EZ
583on-the-fly syntax checking.
584
b930de78
EZ
585@item
586David M.@: Koppelman wrote @file{hi-lock.el}, a minor mode for
587interactive automatic highlighting of parts of the buffer text.
588
431e8396 589@item
107bb0f4 590Koseki Yoshinori wrote @file{iimage.el}, a minor mode for displaying
431e8396
EZ
591inline images.
592
6bf7aab6
DL
593@item
594Robert Krawitz wrote the original @file{xmenu.c}, part of Emacs's pop-up
595menu support.
596
597@item
236fd60d
GM
598Sebastian Kremer wrote @code{dired-mode}, with contributions by Lawrence
599R.@: Dodd. He also wrote @file{ls-lisp.el}, a Lisp emulation of the
600@code{ls} command for platforms which don't have @code{ls} as a standard
601program.
6bf7aab6
DL
602
603@item
6d98672d 604Ken Stevens wrote @file{ispell.el}, a spell-checker interface.
6bf7aab6
DL
605
606@item
607David K@ringaccent{a}gedal wrote @file{tempo.el}, providing support for
608easy insertion of boilerplate text and other common constructions.
609
610@item
67ffa16f
CY
611Daniel LaLiberte wrote @file{edebug.el}, a source-level debugger for
612Emacs Lisp; @file{cl-specs.el}, specifications to help @code{edebug}
613debug code written using David Gillespie's Common Lisp support;
614@file{cust-print.el}, a customizable package for printing lisp
236fd60d
GM
615objects; and @file{isearch.el}, Emacs's incremental search minor mode.
616He also co-wrote @file{hideif.el} (q.v.@:).
6bf7aab6 617
5cca97ad
GM
618@item
619Karl Landstrom and Daniel Colascione wrote @file{js.el}, a mode for
620editing JavaScript.
621
b930de78 622@item
67ffa16f 623Vinicius Jose Latorre wrote the Emacs printing facilities, as well as
3892ff9c
GM
624@code{ps-print} (with Jim Thompson, Jacques Duthen, and Kenichi Handa),
625a package for pretty-printing Emacs buffers to PostScript printers;
626@file{delim-col.el}, a package to arrange text into columns;
627@file{ebnf2ps.el}, a package that translates EBNF grammar to a syntactic
628chart that can be printed to a PostScript printer; and
629@file{whitespace.el}, a package that detects and cleans up excess
630whitespace in a file. The previous version of @file{whitespace.el},
631used prior to Emacs 23, was written by Rajesh Vaidheeswarran.
b930de78 632
6bf7aab6 633@item
2d3328f2 634Frederic Lepied wrote @file{expand.el}, which uses the abbrev
6bf7aab6
DL
635mechanism for inserting programming constructs.
636
b930de78
EZ
637@item
638Peter Liljenberg wrote @file{elint.el}, a Lint-style code checker for
639Emacs Lisp programs.
640
6bf7aab6
DL
641@item
642Lars Lindberg wrote @file{msb.el}, which provides more flexible menus
236fd60d
GM
643for buffer selection; co-wrote @file{imenu.el} (q.v.@:); and rewrote
644@file{dabbrev.el}, originally written by Don Morrison.
6bf7aab6
DL
645
646@item
b930de78
EZ
647Anders Lindgren wrote @file{autorevert.el}, a package for automatically
648reverting files visited by Emacs that were changed on disk;
649@file{cwarn.el}, a package to highlight suspicious C and C@t{++}
650constructs; and @file{follow.el}, a minor mode to synchronize windows
651that show the same buffer.
652
653@item
431e8396
EZ
654Thomas Link wrote @file{filesets.el}, a package for handling sets of
655files.
656
9dfa7983
GM
657@item
658Juri Linkov wrote @file{misearch.el}, extending isearch to multi-buffer
e99652b0
GM
659searches; the code in @file{files-x.el} for handling file- and
660directory-local variables; and the @code{info-finder} feature that
661creates a virtual Info manual of package keywords.
9dfa7983 662
67ffa16f 663@item
55381962 664K@'{a}roly L@H{o}rentey wrote the ``multi-terminal'' code, which
bffe8aa0
CY
665allows Emacs to run on graphical and text-only terminals
666simultaneously.
67ffa16f 667
236fd60d
GM
668@item
669Martin Lorentzon wrote @file{vc-annotate.el}, support for version
670control annotation.
671
431e8396
EZ
672@item
673Dave Love wrote much of the code dealing with Unicode support and
674Latin-N unification. He added support for many coding systems,
236fd60d
GM
675including the various UTF-7 and UTF-16 coding systems. He also wrote
676@code{autoarg-mode}, a global minor mode whereby digit keys supply
677prefix arguments; @code{autoarg-kp-mode}, which redefines the keypad
678numeric keys to digit arguments; @file{autoconf.el}, a mode for editing
679Autoconf files; @file{cfengine.el}, a mode for editing Cfengine files;
67ffa16f
CY
680@file{elide-head.el}, a package for eliding boilerplate text from file
681headers; @file{hl-line.el}, a minor mode for highlighting the line in
236fd60d
GM
682the current window on which point is; @file{cap-words.el}, a minor mode
683for motion in ``CapitalizedWordIdentifiers''; @file{latin1-disp.el}, a
67ffa16f 684package that lets you display ISO 8859 characters on Latin-1 terminals
236fd60d
GM
685by setting up appropriate display tables; @file{python.el}, a major mode
686for the Python programming language; @file{refill.el}, a mode for
67ffa16f 687automatic paragraph refilling, akin to typical word processors;
236fd60d 688@file{smiley.el}, a facility for displaying smiley faces;
67ffa16f 689@file{sym-comp.el}, a library for performing mode-dependent symbol
236fd60d
GM
690completion; @file{benchmark.el} for timing code execution; and
691@file{tool-bar.el}, a mode to control the display of the Emacs tool bar.
692With Riccardo Murri he wrote @file{vc-bzr.el}, support for the Bazaar
693version control system.
67ffa16f
CY
694
695@item
55381962
GM
696Eric Ludlam wrote the Speedbar package; @file{checkdoc.el}, for checking
697doc strings in Emacs Lisp programs; @file{dframe.el}, providing
698dedicated frame support modes; @file{ezimage.el}, a generalized way to
699place images over text; @file{chart.el} for drawing bar charts etc; and
700the EIEIO (Enhanced Implementation of Emacs Interpreted Objects)
701package. He was also the main author of the CEDET (Collection of Emacs
702Development Environment Tools) package. Portions were also written by
703Jan Moringen, David Ponce, and Joakim Verona.
b930de78 704
1e487ff8 705@item
67ffa16f
CY
706Alan Mackenzie wrote the integrated AWK support in CC Mode, and
707maintained CC Mode from Emacs 22 onwards.
1e487ff8 708
b930de78
EZ
709@item
710Christopher J.@: Madsen wrote @file{decipher.el}, a package for cracking
711simple substitution ciphers.
6bf7aab6
DL
712
713@item
da4cf7c5 714Neil M.@: Mager wrote @file{appt.el}, functions to notify users of their
6bf7aab6 715appointments. It finds appointments recorded in the diary files
236fd60d 716used by the @code{calendar} package.
6bf7aab6
DL
717
718@item
719Ken Manheimer wrote @file{allout.el}, a mode for manipulating and
720formatting outlines, and @file{icomplete.el}, which provides incremental
721completion feedback in the minibuffer.
722
723@item
724Bill Mann wrote @file{perl-mode.el}, a mode for editing Perl code.
725
726@item
727Brian Marick and Daniel LaLiberte wrote @file{hideif.el}, support for
728hiding selected code within C @code{#ifdef} clauses.
729
730@item
86f7c203 731Simon Marshall wrote @file{regexp-opt.el}, which generates a regular
236fd60d 732expression from a list of strings; and the fast-lock and lazy-lock
3892ff9c
GM
733font-lock support modes. He also extended @file{comint.el} and
734@file{shell.el}, originally written by Olin Shivers.
b930de78 735
6bf7aab6 736@item
3892ff9c
GM
737Bengt Martensson, Dirk Herrmann, Marc Shapiro, Mike Newton, Aaron Larson,
738and Stefan Schoef, wrote @file{bibtex.el}, a mode for editing Bib@TeX{}
6bf7aab6 739bibliography files.
177c0ea7 740
6bf7aab6
DL
741@item
742Charlie Martin wrote @file{autoinsert.el}, which provides automatic
743mode-sensitive insertion of text into new files.
744
9dfa7983
GM
745@item
746Yukihiro Matsumoto and Nobuyoshi Nakada wrote Ruby-mode.
747
6bf7aab6
DL
748@item
749Thomas May wrote @file{blackbox.el}, a version of the traditional
750blackbox game.
751
752@item
236fd60d
GM
753Roland McGrath wrote @file{compile.el} (since updated by Daniel
754Pfeiffer), a package for running compilations in a buffer, and then
755visiting the locations reported in error messages; @file{etags.el}, a
756package for jumping to function definitions and searching or replacing
757in all the files mentioned in a @file{TAGS} file; @file{find-dired.el},
758for using @code{dired} commands on output from the @code{find} program,
759with Sebastian Kremer; @file{grep.el} for running the @code{grep}
760command; @file{map-ynp.el}, a general purpose boolean question-asker;
6bf7aab6 761@file{autoload.el}, providing semi-automatic maintenance of autoload
236fd60d
GM
762files.
763
764@item
765Michael McNamara and Wilson Snyder wrote Verilog mode.
6bf7aab6
DL
766
767@item
768David Megginson wrote @file{derived.el}, which allows one to define new
769major modes by inheriting key bindings and commands from existing major
770modes.
771
b930de78
EZ
772@item
773Will Mengarini wrote @file{repeat.el}, a command to repeat the preceding
774command with its arguments.
775
6bf7aab6 776@item
67ffa16f
CY
777Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting
778Common Lisp code; @file{ebuff-menu.el}, an ``electric'' browser for
779buffer listings; @file{ehelp.el}, bindings for browsing help screens;
6bf7aab6 780@file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format,
67ffa16f
CY
781used in mail messages and news articles; @file{terminal.el}, a
782terminal emulator for Emacs subprocesses; and @file{yow.el}, an
783essential utility.
6bf7aab6 784
d282b1c2 785@item
431e8396 786Gerd Moellmann was the Emacs maintainer from the beginning of Emacs 21
67ffa16f
CY
787development until the release of 21.1. He wrote the new display
788engine used from Emacs 21 onwards, and the asynchronous timers
789facility. He also wrote @code{ebrowse}, the C@t{++} browser;
790@file{jit-lock.el}, the Just-In-Time font-lock support mode;
236fd60d
GM
791@file{tooltip.el}, a package for displaying tooltips;
792@file{authors.el}, a package for maintaining the @file{AUTHORS} file;
793and @file{rx.el}, a regular expression constructor.
b930de78 794
b930de78 795@item
67ffa16f 796Stefan Monnier was the Emacs co-maintainer for Emacs 23. He added
236fd60d
GM
797support for Arch and Subversion to VC, re-wrote much of the Emacs server
798to use the built-in networking primitives, and re-wrote the abbrev and
799minibuffer completion code for Emacs 23. He also wrote @code{PCL-CVS},
800a directory-level front end to the CVS version control system;
801@file{reveal.el}, a minor mode for automatically revealing invisible
802text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3}
803conflicts; @file{diff-mode.el}, a mode for viewing and editing context
cdfbcbba
GM
804diffs; @file{css-mode.el} for Cascading Style Sheets;
805@file{bibtex-style.el} for BibTeX Style files; and @file{mpc.el}, a
806client for the ``Music Player Daemon''.
d282b1c2 807
6bf7aab6 808@item
b930de78
EZ
809Morioka Tomohiko wrote several packages for MIME support in Gnus and
810elsewhere.
811
236fd60d
GM
812@item
813Takahashi Naoto co-wrote @file{quail.el} (q.v.@:), and wrote
814@file{robin.el}, another input method.
815
b930de78
EZ
816@item
817Sen Nagata wrote @file{crm.el}, a package for reading multiple strings
818with completion, and @file{rfc2368.el}, support for @code{mailto:}
819URLs.
820
821@item
fcf27a65 822Erik Naggum wrote the time-conversion functions. He also wrote
236fd60d
GM
823@file{disp-table.el}, a package for dealing with display tables;
824@file{mailheader.el}, a package for parsing email headers; and
825@file{parse-time.el}, a package for parsing time strings.
b930de78
EZ
826
827@item
236fd60d
GM
828Thomas Neumann and Eric Raymond wrote @file{make-mode.el},
829a mode for editing makefiles.
b930de78
EZ
830
831@item
832Thien-Thi Nguyen and Dan Nicolaescu wrote @file{hideshow.el}, a minor
833mode for selectively displaying blocks of text.
6bf7aab6
DL
834
835@item
67ffa16f 836Dan Nicolaescu added support for running Emacs as a daemon. He also
9dfa7983 837wrote @file{romanian.el}, support for editing Romanian text;
67ffa16f 838@file{iris-ansi.el}, support for running Emacs on SGI's @code{xwsh}
9dfa7983
GM
839and @code{winterm} terminal emulators; and @file{vc-dir.el}, displaying
840the status of version-controlled directories.
6bf7aab6
DL
841
842@item
843Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.
844
107bb0f4
KS
845@item
846Hrvoje Niksic wrote @file{savehist.el}, for saving the minibuffer
847history between Emacs sessions.
848
6bf7aab6
DL
849@item
850Jeff Norden wrote @file{kermit.el}, a package to help the Kermit
851dialup communications program run comfortably in an Emacs shell buffer.
852
853@item
b930de78
EZ
854Andrew Norman wrote @file{ange-ftp.el}, providing transparent FTP
855support.
856
c3a37bd2
CY
857@item
858Edward O'Connor wrote @file{json.el}, a file for parsing and
859generating JSON files.
860
9dfa7983
GM
861@item
862Kentaro Ohkouchi created the Emacs icons used beginning with Emacs 23.
863
b930de78
EZ
864@item
865Alexandre Oliva wrote @file{gnus-mlspl.el}, a group params-based mail
866splitting mechanism.
867
431e8396
EZ
868@item
869Takaaki Ota wrote @file{table.el}, a package for creating and editing
870embedded text-based tables.
871
872@item
873Pieter E.@: J.@: Pareit wrote @file{mixal-mode.el}, an editing mode for
874the MIX assembly language.
875
b930de78 876@item
2d3328f2
CY
877David Pearson wrote @file{quickurl.el}, a simple method of inserting a
878URL into the current buffer based on text at point; @file{5x5.el}, a
879game to fill all squares on the field.
6bf7aab6
DL
880
881@item
236fd60d 882Jeff Peck wrote @file{sun.el}, key bindings for sunterm keys.
6bf7aab6
DL
883
884@item
885Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of
886the ``Towers of Hanoi'' puzzle.
887
b930de78 888@item
3892ff9c
GM
889William M.@: Perry wrote @file{mailcap.el} (with Lars Magne
890Ingebrigtsen), a MIME media types configuration facility;
891@file{mwheel.el}, a package for supporting mouse wheels; co-wrote (with
892Dave Love) @file{socks.el}, a Socks v5 client; and developed the URL
893package.
b930de78
EZ
894
895@item
896Per Persson wrote @file{gnus-vm.el}, the VM interface for Gnus.
897
6bf7aab6
DL
898@item
899Jens Petersen wrote @file{find-func.el}, which makes it easy to find
900the source code for an Emacs Lisp function or variable.
901
902@item
67ffa16f
CY
903Daniel Pfeiffer wrote @file{conf-mode.el}, a mode for editing
904configuration files; @file{copyright.el}, a package for updating
905copyright notices in files; @file{executable.el}, a package for
906executing interpreter scripts; @file{sh-script.el}, a mode for editing
907shell scripts; @file{skeleton.el}, implementing a concise language for
908writing statement skeletons; and @file{two-column.el}, a minor mode
909for simultaneous two-column editing.
6bf7aab6 910
236fd60d
GM
911Daniel also rewrote @file{apropos.el} (originally written by Joe Wells),
912for finding commands, functions, and variables matching a regular
913expression; and, together with Jim Blandy, co-authored @file{wyse50.el},
3892ff9c
GM
914support for Wyse 50 terminals. He also co-wrote @file{compile.el}
915(q.v.@:) and @file{ada-stmt.el}.
b930de78
EZ
916
917@item
918Richard L.@: Pieri wrote @file{pop3.el}, a Post Office Protocol (RFC
9191460) interface for Emacs.
920
6bf7aab6
DL
921@item
922Fred Pierresteguy and Paul Reilly made Emacs work with X Toolkit
923widgets.
924
3892ff9c
GM
925@item
926Fran@,{c}ois Pinard, Greg McGary, and Bruno Haible wrote @file{po.el},
927support for PO translation files.
928
6bf7aab6
DL
929@item
930Christian Plaunt wrote @file{soundex.el}, an implementation of the
931Soundex algorithm for comparing English words by their pronunciation.
932
b930de78 933@item
67ffa16f
CY
934David Ponce wrote @file{recentf.el}, a package that puts a menu of
935recently visited files in the Emacs menu bar; @file{ruler-mode.el}, a
936minor mode for displaying a ruler in the header line; and
937@file{tree-widget.el}, a package to display hierarchical data
938structures.
b930de78 939
6bf7aab6 940@item
da4cf7c5 941Francesco A.@: Potorti wrote @file{cmacexp.el}, providing a command which
6bf7aab6 942runs the C preprocessor on a region of a file and displays the results.
b930de78 943He also expanded and redesigned the @code{etags} program.
6bf7aab6
DL
944
945@item
236fd60d
GM
946Michael D.@: Prange and Steven A.@: Wood wrote @file{fortran.el}, a mode
947for editing Fortran code.
b930de78 948
6bf7aab6
DL
949@item
950Ashwin Ram wrote @file{refer.el}, commands to look up references in
951bibliography files by keyword.
952
953@item
67ffa16f
CY
954Eric S.@: Raymond wrote @file{vc.el}, an interface to the RCS and SCCS
955source code version control systems, with Paul Eggert; @file{gud.el},
956a package for running source-level debuggers like GDB and SDB in
957Emacs; @file{asm-mode.el}, a mode for editing assembly language code;
958@file{AT386.el}, terminal support package for IBM's AT keyboards;
6bf7aab6 959@file{cookie1.el}, support for ``fortune-cookie'' programs like
67ffa16f
CY
960@file{yow.el} and @file{spook.el}; @file{finder.el}, a package for
961finding Emacs Lisp packages by keyword and topic; @file{keyswap.el},
962code to swap the @key{BS} and @key{DEL} keys; @file{loadhist.el},
963functions for loading and unloading Emacs features;
964@file{lisp-mnt.el}, functions for working with the special headers
965used in Emacs Lisp library files; and code to set and make use of the
966@code{load-history} lisp variable, which records the source file from
967which each lisp function loaded into Emacs came.
6bf7aab6
DL
968
969@item
236fd60d 970Edward M.@: Reingold wrote the extensive calendar and diary support,
14731c8f 971with contributions from Stewart Clamen (@file{cal-mayan.el}), Nachum
3892ff9c
GM
972Dershowitz (@file{cal-hebrew.el}), Paul Eggert (@file{cal-dst.el}),
973Steve Fisk (@file{cal-tex.el}), Michael Kifer (@file{cal-x.el}), Lara
974Rios (@file{cal-menu.el}), and Denis B.@: Roegel (@file{solar.el}).
975Andy Oram contributed to its documentation. Reingold also contributed
976to @file{tex-mode.el}, a mode for editing @TeX{} files, as did William
977F.@: Schelter, Dick King, Stephen Gildea, Michael Prange, and Jacob
978Gore.
b930de78 979
107bb0f4
KS
980@item
981David Reitter wrote @file{mailclient.el} which can send mail via the
982system's designated mail client.
983
b930de78 984@item
2d3328f2
CY
985Alex Rezinsky wrote @file{which-func.el}, a mode that shows the name
986of the current function in the mode line.
6bf7aab6
DL
987
988@item
2d3328f2
CY
989Rob Riepel wrote @file{tpu-edt.el} and its associated files, providing
990an emulation of the VMS TPU text editor emulating the VMS EDT editor,
991and @file{vt-control.el}, providing some control functions for the DEC
992VT line of terminals.
6bf7aab6 993
431e8396 994@item
985bf85b
GM
995Nick Roberts wrote @file{t-mouse.el}, for mouse support in text
996terminals; and @file{gdb-ui.el}, a graphical user interface to GDB.
997Together with Dmitry Dzhus, he wrote @file{gdb-mi.el}, the successor to
998@file{gdb-ui.el}.
6bf7aab6
DL
999
1000@item
1001Danny Roozendaal implemented @file{handwrite.el}, which converts text
1002into ``handwriting.''
1003
1004@item
236fd60d 1005Markus Rost wrote @file{cus-test.el}, a testing framework for customize.
6bf7aab6
DL
1006
1007@item
da4cf7c5 1008Guillermo J.@: Rozas wrote @file{scheme.el}, a mode for editing Scheme and
b930de78 1009DSSSL code, and @file{fakemail.c}, an interface to the System V mailer.
6bf7aab6
DL
1010
1011@item
2d3328f2
CY
1012Ivar Rummelhoff wrote @file{winner.el}, which records recent window
1013configurations so you can move back to them.
6bf7aab6 1014
b930de78 1015@item
2d3328f2 1016Jason Rumney ported the Emacs 21 display engine to MS-Windows, and has
b930de78
EZ
1017contributed extensively to the MS-Windows port of Emacs.
1018
6bf7aab6 1019@item
2d3328f2
CY
1020Wolfgang Rupprecht wrote Emacs 19's floating-point support (including
1021@file{float-sup.el} and @file{floatfns.c}), and @file{sup-mouse.el},
1022support for the Supdup mouse on lisp machines.
6bf7aab6 1023
431e8396
EZ
1024@item
1025Kevin Ryde wrote @file{info-xref.el}, a library for checking
1026references in Info files.
1027
6bf7aab6 1028@item
da4cf7c5 1029James B.@: Salem and Brewster Kahle wrote @file{completion.el}, providing
6bf7aab6
DL
1030dynamic word completion.
1031
1032@item
1033Masahiko Sato wrote @file{vip.el}, an emulation of the VI editor.
1034
b930de78
EZ
1035@item
1036Holger Schauer wrote @file{fortune.el}, a package for using fortune in
1037message signatures.
1038
6bf7aab6
DL
1039@item
1040William Schelter wrote @file{telnet.el}, support for @code{telnet}
1041sessions within Emacs.
1042
1043@item
2d3328f2 1044Ralph Schleicher wrote @file{battery.el}, a package for displaying
6bf7aab6
DL
1045laptop computer battery status, and @file{info-look.el}, a package for
1046looking up Info documentation for symbols in the buffer.
1047
6bf7aab6
DL
1048@item
1049Michael Schmidt and Tom Perrine wrote @file{modula2.el}, a mode for
1050editing Modula-2 code, based on work by Mick Jordan and Peter Robinson.
1051
1052@item
da4cf7c5 1053Ronald S.@: Schnell wrote @file{dunnet.el}, a text adventure game.
6bf7aab6
DL
1054
1055@item
1056Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played
236fd60d
GM
1057against Emacs; and @file{mpuz.el}, a multiplication puzzle.
1058
1059@item
1060Rainer Schoepf contributed to Alpha and OSF1 support.
6bf7aab6 1061
b930de78 1062@item
236fd60d
GM
1063Jan Schormann wrote @file{solitaire.el}, an implementation of the
1064Solitaire game.
b930de78
EZ
1065
1066@item
1067Alex Schroeder wrote @file{ansi-color.el}, a package for translating
236fd60d
GM
1068ANSI color escape sequences to Emacs faces; @file{sql.el}, a package
1069for interactively running an SQL interpreter in an Emacs buffer;
1070@file{cus-theme.el}, an interface for custom themes; @file{master.el}, a
1071package for making a buffer @samp{master} over another; and
1072@file{spam-stat.el}, for statistical detection of junk email. He also
1073wrote parts of the IRC client ERC (q.v.@:).
b930de78 1074
6bf7aab6
DL
1075@item
1076Randal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.
1077
b930de78
EZ
1078@item
1079Oliver Seidel wrote @file{todo-mode.el}, a package for maintaining
1080@file{TODO} list files.
1081
6bf7aab6 1082@item
2d3328f2 1083Manuel Serrano wrote the Flyspell package, which does spell checking
6bf7aab6
DL
1084as you type.
1085
b930de78
EZ
1086@item
1087Hovav Shacham wrote @file{windmove.el}, a set of commands for selecting
1088windows based on their geometrical position on the frame.
1089
6bf7aab6
DL
1090@item
1091Stanislav Shalunov wrote @file{uce.el}, for responding to unsolicited
1092commercial email.
1093
1094@item
2d3328f2
CY
1095Richard Sharman wrote @file{hilit-chg.el}, which uses colors to show
1096recent editing changes.
6bf7aab6
DL
1097
1098@item
67ffa16f 1099Olin Shivers wrote @file{comint.el}, a library for modes running
3892ff9c
GM
1100interactive command-line-oriented subprocesses, and @file{shell.el}, for
1101running inferior shells (both since extended by Simon Marshall);
1102@file{cmuscheme.el}, for running inferior Scheme processes;
1103@file{inf-lisp.el}, for running inferior Lisp process.
6bf7aab6 1104
6bf7aab6
DL
1105@item
1106Espen Skoglund wrote @file{pascal.el}, a mode for editing Pascal code.
1107
1108@item
1109Rick Sladkey wrote @file{backquote.el}, a lisp macro for creating
1110mostly-constant data.
1111
1112@item
1113Lynn Slater wrote @file{help-macro.el}, a macro for writing interactive
1114help for key bindings.
1115
1116@item
1117Chris Smith wrote @file{icon.el}, a mode for editing Icon code.
1118
1119@item
1120David Smith wrote @file{ielm.el}, a mode for interacting with the Emacs
1121Lisp interpreter as a subprocess.
1122
1123@item
da4cf7c5 1124Paul D.@: Smith wrote @file{snmp-mode.el}.
6bf7aab6
DL
1125
1126@item
1127William Sommerfeld wrote @file{scribe.el}, a mode for editing Scribe
1128files, and @file{server.el}, a package allowing programs to send files
1129to an extant Emacs job to be edited.
1130
b930de78
EZ
1131@item
1132Andre Spiegel made many contributions to the Emacs Version Control
1133package, and in particular made it support multiple back ends.
1134
6bf7aab6
DL
1135@item
1136Michael Staats wrote @file{pc-select.el}, which rebinds keys for
1137selecting regions to follow many other systems.
1138
b930de78 1139@item
67ffa16f
CY
1140Richard Stallman invented Emacs. He is the original author of GNU
1141Emacs, and has been Emacs maintainer over several non-contiguous
1142periods. In addition to much of the ``core'' Emacs code, he has
1143written @file{easymenu.el}, a facility for defining Emacs menus;
236fd60d 1144@file{image-mode.el}, support for visiting image files;
3892ff9c 1145@file{menu-bar.el}, the Emacs menu bar support code;
b930de78 1146@file{paren.el}, a package to make matching parentheses stand out in
3892ff9c 1147color; and also co-authored portions of CC mode.
b930de78
EZ
1148
1149@item
1150Sam Steingold wrote @file{gulp.el}, a facility for asking package
1151maintainers for updated versions of their packages via e-mail, and
1152@file{midnight.el}, a package for running a command every midnight.
1153
6bf7aab6
DL
1154@item
1155Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
1156browsing indices made from buffer contents.
1157
1158@item
2d3328f2
CY
1159Peter Stephenson wrote @file{vcursor.el}, which implements a ``virtual
1160cursor'' that you can move with the keyboard and use for copying text.
6bf7aab6
DL
1161
1162@item
b930de78
EZ
1163Ken Stevens wrote the initial version of @file{ispell.el} and maintains
1164that package since Ispell 3.1 release.
6bf7aab6 1165
431e8396
EZ
1166@item
1167Kim F.@: Storm made many improvements to the Emacs display engine,
67ffa16f
CY
1168process support, and networking support. He also wrote
1169@file{bindat.el}, a package for encoding and decoding binary data;
236fd60d 1170CUA mode, which allows Emacs to emulate the standard CUA key
67ffa16f 1171bindings; @file{ido.el}, a package for selecting buffers and files
236fd60d
GM
1172quickly; @file{keypad.el} for simplified keypad bindings; and
1173@file{kmacro.el}, the keyboard macro facility.
431e8396 1174
b930de78
EZ
1175@item
1176Martin Stjernholm co-authored CC Mode, a major editing mode for C,
1e487ff8 1177C@t{++}, Objective-C, Java, Pike, CORBA IDL, and AWK code.
b930de78 1178
6bf7aab6
DL
1179@item
1180Steve Strassman did not write @file{spook.el}, and even if he did, he
1181really didn't mean for you to use it in an anarchistic way.
1182
1183@item
b930de78
EZ
1184Olaf Sylvester wrote @file{bs.el}, a package for manipulating Emacs
1185buffers.
1186
1187@item
8fc77801 1188Tibor @v{S}imko and Milan Zamazal wrote @file{slovak.el}, support for
b930de78
EZ
1189editing text in Slovak language.
1190
107bb0f4
KS
1191@item
1192Luc Teirlinck wrote @file{help-at-pt.el}, providing local help through
1193the keyboard.
1194
b930de78 1195@item
431e8396 1196Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing
99cf5b74 1197image files as ``thumbnails.''
b930de78 1198
6bf7aab6
DL
1199@item
1200Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
1201which completes the partial word before point, based on other nearby
1202words for which it is a prefix. He also wrote the original dumping
1203support.
1204
236fd60d
GM
1205@item
1206Toru Tomabechi contributed to Tibetan support.
1207
c3a37bd2
CY
1208@item
1209Markus Triska wrote @file{linum.el}, a minor mode that displays line
1210numbers in the left margin.
1211
b930de78 1212@item
67ffa16f
CY
1213Tom Tromey and Chris Lindblad wrote @file{tcl.el}, a mode for editing
1214Tcl/Tk source files and running a Tcl interpreter as an Emacs
b930de78
EZ
1215subprocess.
1216
9dfa7983
GM
1217@item
1218Tom Tromey wrote @file{bug-reference.el}, providing clickable links to
1219bug reports.
1220
107bb0f4
KS
1221@item
1222Eli Tziperman wrote @file{rmail-spam-filter.el}, a spam filter for RMAIL.
67ffa16f 1223
b930de78
EZ
1224@item
1225Daiki Ueno wrote @file{starttls.el}, support for Transport Layer
3892ff9c
GM
1226Security protocol; @file{sasl-cram.el} and @file{sasl-digest.el} (with
1227Kenichi Okada), and @file{sasl.el}, support for Simple Authentication
1228and Security Layer (SASL); and the EasyPG (and its predecessor PGG)
1229package, for GnuPG and PGP support.
b930de78 1230
6bf7aab6 1231@item
236fd60d
GM
1232Masanobu Umeda wrote GNUS, a feature-rich reader for Usenet news that
1233was the ancestor of the current Gnus package. He also wrote
1234@file{prolog.el}, a mode for editing Prolog code; @file{rmailsort.el}, a
1235package for sorting messages in RMAIL folders; @file{metamail.el}, an
1236interface to the Metamail program; @file{gnus-kill.el}, the Kill File
1237mode for Gnus; @file{gnus-mh.el}, an mh-e interface for Gnus;
1238@file{gnus-msg.el}, a mail and post interface for Gnus; and
1239@file{timezone.el}, providing functions for dealing with time zones.
b930de78
EZ
1240
1241@item
1242Neil W.@: Van Dyke wrote @file{webjump.el}, a ``hot links'' package.
1243
1244@item
2d3328f2 1245Didier Verna wrote @file{rect.el}, a package of functions for
236fd60d
GM
1246operations on rectangle regions of text. He also contributed to Gnus
1247(q.v.@:).
6bf7aab6
DL
1248
1249@item
1250Ulrik Vieth implemented @file{meta-mode.el}, for editing MetaFont code.
1251
1252@item
b930de78
EZ
1253Geoffrey Voelker wrote the Windows NT support. He also wrote
1254@file{dos-w32.el}, functions shared by the MS-DOS and MS-Windows ports
1255of Emacs, and @file{w32-fns.el}, MS-Windows specific support functions.
6bf7aab6
DL
1256
1257@item
236fd60d
GM
1258Johan Vromans wrote @file{forms.el} and its associated files, a mode for
1259filling in forms. He also wrote @file{iso-acc.el}, a minor mode
1260providing electric accent keys.
6bf7aab6 1261
431e8396 1262@item
236fd60d 1263Colin Walters wrote Ibuffer, an enhanced buffer menu.
6bf7aab6
DL
1264
1265@item
67ffa16f
CY
1266Barry Warsaw wrote @file{assoc.el}, a set of utility functions for
1267working with association lists; @file{cc-mode.el}, a mode for editing
1268C, C@t{++}, and Java code, based on earlier work by Dave Detlefs,
236fd60d 1269Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler
67ffa16f
CY
1270for Emacs Lisp programs; @file{man.el}, a mode for reading UNIX manual
1271pages; @file{regi.el}, providing an AWK-like functionality for use in
1272lisp programs; @file{reporter.el}, providing customizable bug
1273reporting for lisp packages; and @file{supercite.el}, a minor mode for
1274quoting sections of mail messages and news articles.
b930de78 1275
236fd60d
GM
1276@item
1277Christoph Wedler wrote @file{antlr-mode.el}, a major mode for ANTLR
1278grammar files.
1279
6bf7aab6 1280@item
67ffa16f
CY
1281Morten Welinder helped port Emacs to MS-DOS, and introduced face
1282support into the MS-DOS port of Emacs. He also wrote
6bf7aab6 1283@file{desktop.el}, facilities for saving some of Emacs's state between
67ffa16f
CY
1284sessions; @file{timer.el}, the Emacs facility to run commands at a
1285given time or frequency, or when Emacs is idle, and its C-level
1286support code; @file{pc-win.el}, the MS-DOS ``window-system'' support;
b930de78 1287@file{internal.el}, an ``internal terminal'' emulator for the MS-DOS
67ffa16f
CY
1288port of Emacs; @file{arc-mode.el}, the mode for editing compressed
1289archives; @file{s-region.el}, commands for setting the region using
1290the shift key and motion commands; and @file{dos-fns.el}, functions
1291for use under MS-DOS.
b930de78 1292
6bf7aab6 1293@item
236fd60d
GM
1294Joe Wells wrote the original version of @file{apropos.el} (q.v.@:);
1295@file{resume.el}, support for processing command-line arguments after
1296resuming a suspended Emacs job; and @file{mail-extr.el}, a package for
1297extracting names and addresses from mail headers, with contributions
1298from Jamie Zawinski.
6bf7aab6
DL
1299
1300@item
b930de78
EZ
1301Rodney Whitby and Reto Zimmermann wrote @file{vhdl-mode.el}, a major
1302mode for editing VHDL source code.
1303
1304@item
236fd60d
GM
1305John Wiegley wrote @file{align.el}, a set of commands for aligning text
1306according to regular-expression based rules; @file{isearchb.el} for fast
1307buffer switching; @file{timeclock.el}, a package for keeping track of
1308time spent on projects; the Baha'i calendar support;
c3a37bd2 1309@file{pcomplete.el}, a programmable completion facility;
236fd60d
GM
1310@file{remember.el}, a mode for jotting down things to remember;
1311@file{eudcb-mab.el}, an address book backend for the Emacs Unified
1312Directory Client; and @code{eshell}, a command shell implemented
1313entirely in Emacs Lisp. He also contributed to Org mode (q.v.@:).
6bf7aab6
DL
1314
1315@item
1316Ed Wilkinson wrote @file{b2m.c}, a program to convert mail files from
1317RMAIL format to Unix @code{mbox} format.
1318
1319@item
1320Mike Williams wrote @file{mouse-sel.el}, providing enhanced mouse
236fd60d 1321selection; and @file{thingatpt.el}, a library of functions for finding
6bf7aab6
DL
1322the ``thing'' (word, line, s-expression) containing point.
1323
67ffa16f
CY
1324@item
1325Roland Winkler wrote @file{proced.el}, a system process editor.
1326
b930de78 1327@item
236fd60d
GM
1328Bill Wohler wrote MH-E, the Emacs interface to the MH mail system;
1329making use of earlier work by James R.@: Larus. Satyaki Das, Peter S.@:
1330Galbraith, Stephen Gildea, and Jeffrey C.@: Honig also wrote various
1331MH-E components.
b930de78 1332
6bf7aab6 1333@item
da4cf7c5 1334Dale R.@: Worley wrote @file{emerge.el}, a package for interactively
6bf7aab6
DL
1335merging two versions of a file.
1336
b930de78 1337@item
236fd60d 1338Francis J.@: Wright wrote @file{woman.el}, a package for browsing
b930de78
EZ
1339manual pages without the @code{man} command.
1340
6bf7aab6
DL
1341@item
1342Tom Wurgler wrote @file{emacs-lock.el}, which makes it harder
1343to exit with valuable buffers unsaved.
1344
431e8396
EZ
1345@item
1346Masatake Yamato wrote @file{ld-script.el}, an editing mode for GNU
107bb0f4 1347linker scripts, and contributed subword handling in CC mode.
431e8396
EZ
1348
1349@item
1350Jonathan Yavner wrote @file{testcover.el}, a package for keeping track
236fd60d
GM
1351of the testing status of Emacs Lisp code; @file{unsafep.el} to determine
1352if a Lisp form is safe; and the SES spreadsheet package.
431e8396 1353
107bb0f4
KS
1354@item
1355Ryan Yeske wrote @file{rcirc.el} a simple Internet Relay Chat client.
67ffa16f 1356
b930de78 1357@item
2d3328f2
CY
1358Ilya Zakharevich and Bob Olson wrote @file{cperl-mode.el}, a major
1359mode for editing Perl code. Ilya Zakharevich also wrote
1360@file{tmm.el}, a mode for accessing the Emacs menu bar on a text-mode
1361terminal.
b930de78
EZ
1362
1363@item
236fd60d
GM
1364Milan Zamazal wrote @file{czech.el}, support for editing Czech text;
1365@file{glasses.el}, a package for easier reading of source code that
1366uses illegible identifier names; and @file{tildify.el}, commands for
67ffa16f 1367adding hard spaces to text, @TeX{}, and SGML/HTML files.
b930de78
EZ
1368
1369@item
2d3328f2
CY
1370Victor Zandy wrote @file{zone.el}, a package for people who like to
1371zone out in front of Emacs.
b930de78 1372
6bf7aab6 1373@item
67ffa16f
CY
1374Eli Zaretskii made many standard Emacs features work on MS-DOS and
1375Microsoft Windows. He also wrote @file{tty-colors.el}, which
236fd60d
GM
1376implements transparent mapping of X colors to tty colors; and
1377@file{rxvt.el}.
6bf7aab6
DL
1378
1379@item
67ffa16f
CY
1380Jamie Zawinski wrote much of the support for faces and X selections.
1381With Hallvard Furuseth, he wrote the optimizing byte compiler used
1382from Emacs 19 onwards. He also wrote @file{mailabbrev.el}, a package
1383that provides automatic expansion of mail aliases, and
1384@file{tar-mode.el}, which provides simple viewing and editing commands
1385for tar files.
6bf7aab6 1386
73cae835 1387@item
9dfa7983 1388Andrew Zhilin created the Emacs 22 icons.
73cae835 1389
b930de78 1390@item
67ffa16f
CY
1391Shenghuo Zhu wrote @file{binhex.el}, a package for reading and writing
1392binhex files; @file{mm-partial.el}, message/partial support for MIME
1393messages; @file{rfc1843.el}, an HZ decoding package;
1394@file{uudecode.el}, an Emacs Lisp decoder for uuencoded data; and
236fd60d
GM
1395@file{webmail.el}, an interface to Web mail. He also wrote several
1396other Gnus components.
b930de78 1397
6bf7aab6 1398@item
da4cf7c5 1399Ian T.@: Zimmerman wrote @file{gametree.el}.
6bf7aab6 1400
236fd60d
GM
1401@item
1402Reto Zimmermann wrote @file{vera-mode.el}.
1403
6bf7aab6 1404@item
da4cf7c5 1405Neal Ziring and Felix S.@: T.@: Wu wrote @file{vi.el}, an emulation of the
6bf7aab6 1406VI text editor.
a73534a9
GM
1407
1408@item
b930de78
EZ
1409Detlev Zundel wrote @file{re-builder.el}, a package for building regexps
1410with visual feedback.
fcf27a65 1411
d621caf7
GM
1412@end itemize
1413
ab5796a9
MB
1414@ignore
1415 arch-tag: bb1d0fa4-0240-4992-b5d4-8602d1e3d4ba
1416@end ignore