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