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