@c This is part of the Emacs manual.@c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.@c See file emacs.texi for copying conditions.@c@node Acknowledgments, Screen, Concept Index, Top@unnumbered AcknowledgmentsMany people have contributed code included in the Free SoftwareFoundation's distribution of GNU Emacs. To show our appreciation fortheir public spirit, we list here in alphabetical order those who havewritten substantial portions.@c We should list here anyone who has contributed a new package,@c and anyone who has made major enhancements in Emacs@c that many users would notice and consider important.@itemize @bullet@itemPer Abrahamsen wrote the customization buffer facilities, as well as@file{double.el} for typing accented characters not normally availablefrom the keyboard, @file{xt-mouse.el} which handles mouse commandsthrough Xterm, @file{gnus-cus.el} which implements customizationcommands for Gnus, @file{gnus-cite.el}, a citation-parsing facilityfor news articles and @file{cpp.el} which hides or highlights parts ofC programs according to preprocessor conditionals.@itemTomas Abrahamsson wrote @file{artist.el}, a package for producing @acronym{ASCII}art with a mouse or with keyboard keys.@itemJay K.@: Adams wrote @file{jka-compr.el}, providing automaticdecompression and recompression for compressed files.@itemRalf Angeli wrote @file{scroll-lock.el}, a minor mode which keeps thepoint vertically fixed by scrolling the window when moving up and downin the buffer.@itemJoe Arceneaux wrote the original text property implementation, andimplemented support for X11.@itemMiles Bader wrote @file{image-file.el}, support code for visitingimage files, @file{minibuf-eldef.el}, a minor mode whereby the defaultvalue is shown in the minibuffer prompt only when appropriate, and@file{button.el}, the library that implements clickable buttons.@itemDavid Bakhash wrote @file{strokes.el}, a mode for controlling Emacs bymoving the mouse in particular patterns.@itemEli Barzilay wrote @file{calculator.el}, a desktop calculator forEmacs.@itemSteven L.@: Baur wrote@c If earcon.el actually works with Emacs 21, it isn't useful for lack@c of sound files. -- fx@c @file{earcon.el}, a facility for sound effects@c for email and news messages,@file{footnote.el} which lets you includefootnotes in email messages, and @file{gnus-audio.el} which providessound effects for Gnus.@itemAlexander L. Belikoff, Sergey Berezin, David Edmondson, AndreasFuchs, Mario Lang, Gergely Nagy, Michael Olson, and Alex Schroedercontributed ERC, an advanced Internet Relay Chat client.@itemBoaz Ben-Zvi wrote @file{profile.el}, to time Emacs Lisp functions.@itemAnna M. Bigatti wrote @file{cal-html.el}, which produces HTML calendars.@itemRay Blaak wrote @file{delphi.el}, a major mode for editing Delphi(Object Pascal) source code.@itemJim Blandy wrote Emacs 19's input system, brought its configuration andbuild process up to the GNU coding standards, and contributed to theframe support and multi-face support. Jim also wrote @file{tvi970.el},terminal support for the TeleVideo 970 terminals.@itemPer Bothner wrote @file{term.el}, a terminal emulator in an Emacsbuffer.@itemTerrence M.@: Brannon wrote @file{landmark.el}, a neural-network robotthat learns landmarks.@itemFrank Bresz wrote @file{diff.el}, a program to display @code{diff}output.@itemPeter Breton implemented:@itemize @minus@item@file{dirtrack} which does better tracking of directory changes in shellbuffers,@item@file{filecache.el} which records which directories your files are in,@item@file{locate.el} which interfaces to the @code{locate} command,@item@file{find-lisp.el}, an Emacs Lisp emulation of the @code{find} program,@item@file{net-utils.el}, and@itemthe ``generic mode'' feature.@end itemize@itemEmmanuel Briot wrote @file{xml.el}, an XML parser for Emacs.@itemKevin Broadey wrote @file{foldout.el}, providing folding extensions toEmacs's outline modes.@c @item@c Vincent Broman wrote @file{ada.el}, a mode for editing Ada code@c (since replaced by @file{ada-mode.el}).@itemDavid M.@: Brown wrote @file{array.el}, for editing arrays and othertabular data.@itemW@l{}odek Bzyl and Ryszard Kubiak wrote @file{ogonek.el}, a package forchanging the encoding of Polish characters.@itemBill Carpenter provided @file{feedmail.el}, a package for massagingoutgoing mail messages and sending them through various popular mailers.@itemPer Cederqvist and Inge Wallin wrote @file{ewoc.el}, an Emacs widget formanipulating object collections.@itemHans Chalupsky wrote @file{advice.el}, an overloading mechanism forEmacs Lisp functions, and @file{trace.el}, a tracing facility for EmacsLisp.@itemChris Chase and Carsten Dominik wrote @file{idlwave.el}, an editing modefor IDL and WAVE CL.@itemBob Chassell wrote @file{texnfo-upd.el} and @file{makeinfo.el}, modesand utilities for working with Texinfo files; and @file{page-ext.el},commands for extended page handling.@itemAndrew Choi wrote the Macintosh support code, and contributed@file{mac-win.el}, support for the Mac window system.@itemJames Clark wrote @file{sgml-mode.el}, a mode for editing SGMLdocuments, and contributed to Emacs's dumping procedures.@itemMike Clarkson wrote @file{edt.el}, an emulation of DEC's EDT editor.@itemGlynn Clements provided @file{gamegrid.el} and a couple of games thatuse it, Snake and Tetris.@itemGeorges Brun-Cottan and Stefan Monnier wrote @file{easy-mmode.el}, apackage for easy definition of major and minor modes.@itemAndrew Csillag wrote M4 mode (@file{m4-mode.el}).@itemDoug Cutting and Jamie Zawinski wrote @file{disass.el}, a disassemblerfor compiled Emacs Lisp code.@itemMathias Dahl wrote @file{image-dired.el}, a package for viewing imagefiles as ``thumbnails.''@itemMichael DeCorte wrote @file{emacs.csh}, a C-shell script that starts anew Emacs job, or restarts a paused Emacs if one exists.@itemGary Delp wrote @file{mailpost.el}, an interface between RMAIL and the@file{/usr/uci/post} mailer.@itemMatthieu Devin wrote @file{delsel.el}, a package to make newly-typedtext replace the current selection.@itemEric Ding contributed @file{goto-addr.el},@itemJan Dj@"{a}rv added support for the GTK+ toolkit and X drag-and-drop.@itemCarsten Dominik wrote @file{reftex.el}, a package for setting uplabels and cross-references in La@TeX{} documents, and @file{org.el},a mode for maintaining notes, todo lists, and project planning.@itemScott Draves wrote @file{tq.el}, help functions for maintainingtransaction queues between Emacs and its subprocesses.@itemBenjamin Drieu wrote @file{pong.el}, an implementation of the classicalpong game.@itemViktor Dukhovni wrote support for dumping under SunOS version 4.@itemJohn Eaton co-wrote Octave mode.@itemRolf Ebert co-wrote Ada mode (@file{ada-mode.el}).@itemStephen Eglen implemented @file{mspools.el}, for use with Procmail,which tells you which mail folders have mail waiting in them, and@file{iswitchb.el}, a feature for incremental reading and completion ofbuffer names.@itemTorbj@"ornEinarsson contributed the Fortran 90 mode (@file{f90.el}).@itemTsugutomo Enami co-wrote the support for international character sets.@itemHans Henrik Eriksen wrote @file{simula.el}, a mode for editing SIMULA 87code.@itemMichael Ernst wrote @file{reposition.el}, a command for recentering afunction's source code and preceding comment on the screen.@itemAta Etemadi wrote @file{cdl.el}, functions for working with Common DataLanguage source code.@itemFrederick Farnbach implemented @file{morse.el}, which converts text toMorse code.@itemOscar Figueiredo wrote EUDC, the Emacs Unified Directory Client, whichis an interface to directory servers via LDAP, CCSO PH/QI, or BBDB; and@file{ldap.el}, the LDAP client interface.@itemFred Fish wrote the support for dumping COFF executable files.@itemKarl Fogel wrote:@itemize @minus@item@file{bookmark.el}, for creating named placeholders, saving them andjumping to them later,@item@file{mail-hist.el}, a history mechanism for outgoing mail messages, and@item@file{saveplace.el}, for preserving point's location in files betweenediting sessions.@end itemize@itemGary Foster wrote @file{crisp.el}, the emulation for CRiSP and Briefeditors, and @file{scroll-lock.el} (now @file{scroll-all.el}) a modefor scrolling several buffers together.@itemNoah Friedman wrote @file{rlogin.el}, an interface to Rlogin,@file{type-break.el}, which reminds you to take periodic breaks fromtyping, and @code{eldoc-mode}, a mode to show the defined parameters orthe doc string for the Lisp function near point. With Roland McGrath,he wrote @file{rsz-mini.el}, a minor mode to automatically resize theminibuffer to fit the text it contains.@itemKeith Gabryelski wrote @file{hexl.el}, a mode for editing binary files.@itemKevin Gallagher rewrote and enhanced the EDT emulation, and wrote@file{flow-ctrl.el}, a package for coping with unsuppressible XON/XOFFflow control.@itemKevin Gallo added multiple-frame support for Windows NT and wrote@file{w32-win.el}, support functions for the MS-Windows window system.@itemJuan Le@'{o}n Lahoz Garc@'{i}a wrote @file{wdired.el}, a package forperforming file operations by directly editing Dired buffers.@itemHoward Gayle wrote:@itemize @minus@itemthe C and lisp code for display tables and case tables,@item@file{rot13.el}, a command to display the plain-text form of a bufferencoded with the Caesar cipher,@item@file{case-table.el}, code to extend the character set and support casetables,@itemmuch of the support for the ISO-8859 European character sets (whichincludes @file{iso-ascii.el}, @file{iso-insert.el}, @file{iso-swed.el},@file{latin-1.el}, @file{iso-syntax.el}, @file{iso-transl.el},@file{swedish.el}), and@item@file{vt100-led.el}, a package for controlling the LED's onVT100-compatible terminals.@end itemize@itemStephen Gildea made the Emacs quick reference card, and made manycontributions for @file{time-stamp.el}, a package for maintaininglast-change time stamps in files.@itemJulien Gilles wrote @file{gnus-ml.el}, a mailing list minor mode forGnus.@itemDavid Gillespie wrote:@itemize @minus@itemThe Common Lisp compatibility packages,@item@code{Calc}, an advanced calculator and mathematical tool,@item@file{complete.el}, a partial completion mechanism, and@item@file{edmacro.el}, a package for editing keyboard macros.@end itemize@itemBob Glickstein contributed the @file{sregex.el} feature, a facility forwriting regexps using a Lisp-like syntax.@itemBoris Goldowsky wrote:@itemize @minus@item@file{avoid.el}, a package to keep the mouse cursor out of the way ofthe text cursor,@item@file{shadowfile.el}, a package for keeping identical copies of files inmore than one place,@item@file{format.el}, a package for reading and writing files in variousformats,@item@file{enriched.el}, a package for saving text properties in files, and@item@file{facemenu.el}, a package for specifying faces.@end itemize@itemMichelangelo Grigni wrote @file{ffap.el} which visits a file,taking the file name from the buffer.@itemOdd Gripenstam wrote @file{dcl-mode.el} for editing DCL command files.@itemKai Gro@ss{}johann and Michael Albinus wrote the Tramp package, whichprovides transparent remote file editing using rcp, ssh, ftp, and othernetwork protocols.@itemMichael Gschwind wrote @file{iso-cvt.el}, a package to convert betweenthe ISO 8859-1 character set and the notations for non-@acronym{ASCII}characters used by @TeX{} and net tradition, and @file{latin-2.el}, codewhich sets up case-conversion and syntax tables for the ISO Latin-2character set.@itemHenry Guillaume wrote @file{find-file.el}, a package to visit filesrelated to the currently visited file.@itemDoug Gwyn wrote the portable @code{alloca} implementation.@itemKen'ichi Handa implemented most of the support for internationalcharacter sets, and wrote @file{isearch-x.el}, a facility for searchingnon-@acronym{ASCII} text. Together with Naoto Takahashi, he wrote@file{quail.el}, a simple input facility for typing non-@acronym{ASCII} text froman @acronym{ASCII} keyboard. Ken'ichi also wrote @file{ps-bdf.el}, a BDF fontsupport for printing non-@acronym{ASCII} text on a PostScript printer.@itemChris Hanson wrote @file{netuname.el}, a package to use HP-UX's RemoteFile Access facility from Emacs.@itemJesper Harder wrote @file{yenc.el}, for decoding yenc encoded messages.@itemK. Shane Hartman wrote:@itemize @minus@item@file{chistory.el} and @file{echistory.el}, packages for browsingcommand history lists,@item@file{electric.el} and @file{helper.el}, providing an alternativecommand loop and appropriate help facilities,@item@file{emacsbug.el}, a package for reporting Emacs bugs,@item@file{picture.el}, a mode for editing @acronym{ASCII} pictures, and@item@file{view.el}, a package for perusing files and buffers without editingthem.@end itemize@itemJohn Heidemann wrote @file{mouse-copy.el} and @file{mouse-drag.el},which provide alternative mouse-based editing and scrolling features.@itemJon K Hellan wrote @file{utf7.el}, support for mail-safe transformationformat of Unicode.@itemMarkus Heritsch co-wrote Ada mode (@file{ada-mode.el}).@itemKarl Heuer wrote the original blessmail script, implemented the@code{intangible} text property, and rearranged the structure of the@code{Lisp_Object} type to allow for more data bits.@itemManabu Higashida ported Emacs to MS-DOS.@itemAnders Holst wrote @file{hippie-exp.el}, a versatile completion andexpansion package.@itemKurt Hornik co-wrote Octave mode.@itemTom Houlder wrote @file{mantemp.el}, which generates manual C@t{++}template instantiations.@itemJoakim Hove wrote @file{html2text.el}, a html to plain text converter.@itemDenis Howe wrote @file{browse-url.el}, a package for invoking a WWWbrowser to display a URL.@itemLars Magne Ingebrigtsen did a major redesign of the Gnus news-reader andwrote many of its parts.@itemAndrew Innes contributed extensively to the MS-Windows support.@itemSeiichiro Inoue improved Emacs's XIM support.@itemUlf Jasper wrote @file{icalendar.el}, a package for converting Emacsdiary entries to and from the iCalendar format, and@file{newsticker.el}, an RSS and Atom based Newsticker.@itemKyle Jones wrote @file{life.el}, a package to play Conway's ``life'' game,and @file{mldrag.el}, a package which allows the user to resize windowsby dragging mode lines and vertical window separators with the mouse.@itemTerry Jones wrote @file{shadow.el}, a package for finding potentialload-path problems when some Lisp file ``shadows'' another.@itemSimon Josefsson wrote:@itemize @minus@item@file{dns-mode.el}, an editing mode for Domain Name System master files,@item@file{flow-fill.el}, a package for interpreting RFC2646 formatted textin messages,@item@file{fringe.el}, a package for customizing the fringe,@item@file{imap.el}, an Emacs Lisp library for talking to IMAP servers,@item@file{nnimap}, the IMAP back-end for Gnus, and@item@file{rfc2104.el}, a hashed message authentication facility.@end itemize@itemArne J@o{}rgensen wrote @file{latexenc.el}, a package toautomatically guess the correct coding system in LaTeX files.@itemTomoji Kagatani implemented @file{smtpmail.el}, used for sending outmail with SMTP.@itemDavid Kaufman wrote @file{yow.c}, an essential utility program for thehopelessly pinheaded.@itemHenry Kautz wrote @file{bib-mode.el}, a mode for maintainingbibliography databases compatible with @code{refer} (the @code{troff}version) and @code{lookbib}, and @file{refbib.el}, a package to convertthose databases to the format used by the LaTeX text formatting package.@itemTaichi Kawabata added support for Devanagari script and the Indianlanguages.@itemHoward Kaye wrote @file{sort.el}, commands to sort text in Emacsbuffers.@itemMichael Kifer wrote @file{ediff.el}, an interactive interface to the@command{diff}, @command{patch}, and @command{merge} programs, andViper, the newest emulation for VI.@itemRichard King wrote the first version of @file{userlock.el} and@file{filelock.c}, which provide simple support for multiple usersediting the same file. He also wrote the initial version of@file{uniquify.el}, a facility to make buffer names unique by addingparts of the file's name to the buffer name.@c We're not using his backquote.el any more.@itemPeter Kleiweg wrote @file{ps-mode.el}, a major mode for editingPostScript files and running a PostScript interpreter interactively fromwithin Emacs.@itemPavel Kobiakov wrote @file{flymake.el}, a minor mode for performingon-the-fly syntax checking.@itemLarry K.@: Kolodney wrote @file{cvtmail.c}, a program to convert the maildirectories used by Gosling Emacs into RMAIL format.@itemDavid M.@: Koppelman wrote @file{hi-lock.el}, a minor mode forinteractive automatic highlighting of parts of the buffer text.@itemKoseki Yoshinori wrote @file{iimage.el}, a minor mode for displayinginline images.@itemRobert Krawitz wrote the original @file{xmenu.c}, part of Emacs's pop-upmenu support.@itemSebastian Kremer wrote Emacs 19's @code{dired-mode}, with contributionsby Lawrence R.@: Dodd. He also wrote @file{ls-lisp.el}, a Lisp emulationof the @code{ls} command for platforms which don't have @code{ls} as astandard program.@itemGeoff Kuenning wrote Emacs 19's @file{ispell.el}, based on work by KenStevens and others.@itemDavid K@ringaccent{a}gedal wrote @file{tempo.el}, providing support foreasy insertion of boilerplate text and other common constructions.@itemDaniel LaLiberte wrote:@itemize @minus@item@file{edebug.el}, a source-level debugger for Emacs Lisp,@item@file{cl-specs.el}, specifications to help @code{edebug} debug codewritten using David Gillespie's Common Lisp support,@item@file{cust-print.el}, a customizable package for printing lisp objects,@item@file{eval-reg.el}, a re-implementation of @code{eval-region} in EmacsLisp, and@item@file{isearch.el}, Emacs's incremental search minor mode.@end itemize@itemJames R.@: Larus wrote @file{mh-e.el}, an interface to the MH mail system.@itemVinicius Jose Latorre wrote the Emacs printing facilities, as well as:@itemize @minus@item@code{ps-print}, a package for pretty-printing Emacs buffers toPostScript printers,@item@file{delim-col.el}, a package to arrange text into columns,@item@file{ebnf2ps.el}, a package that translates EBNF grammar to a syntacticchart that can be printed to a PostScript printer.@end itemize@itemFrederic Lepied contributed @file{expand.el}, which uses the abbrevmechanism for inserting programming constructs.@itemPeter Liljenberg wrote @file{elint.el}, a Lint-style code checker forEmacs Lisp programs.@itemLars Lindberg wrote @file{msb.el}, which provides more flexible menusfor buffer selection, and rewrote @file{dabbrev.el}.@itemAnders Lindgren wrote @file{autorevert.el}, a package for automaticallyreverting files visited by Emacs that were changed on disk;@file{cwarn.el}, a package to highlight suspicious C and C@t{++}constructs; and @file{follow.el}, a minor mode to synchronize windowsthat show the same buffer.@itemThomas Link wrote @file{filesets.el}, a package for handling sets offiles.@itemDave Love wrote much of the code dealing with Unicode support andLatin-N unification. He added support for many coding systems,including those in @file{code-pages.el} and the various UTF-7 andUTF-16 coding systems. He also wrote:@itemize @minus@item@code{autoarg-mode}, a global minor mode whereby digit keys supplyprefix arguments, and @code{autoarg-kp-mode} which redefines the keypadnumeric keys to digit arguments,@item@file{autoconf.el}, a mode for editing Autoconf @file{configure.in}files,@item@file{cfengine.el}, a mode for editing Cfengine files,@item@file{elide-head.el}, a package for eliding boilerplate text, such ascopyright notices, from file headers,@item@file{hl-line.el}, a package that provides a minor mode for highlightingthe line in the current window on which point is,@item@file{latin-8.el} and @file{latin-9.el}, code which sets upcase-conversion and syntax tables for the ISO Latin-8 and Latin-9character sets,@item@file{latin1-disp.el}, a package that lets you display ISO 8859characters on Latin-1 terminals by setting up appropriate displaytables,@item @file{python.el}, a major mode for the Python programming language.@item@file{refill.el}, a mode for automatic paragraph refilling, akin totypical word processors,@item@file{smiley-ems.el}, a facility for displaying smiley faces, and@item@file{tool-bar.el}, a mode to control the display of the Emacs tool bar.@end itemize@itemEric Ludlam wrote the Speedbar package and the following packages:@itemize @minus@item@file{checkdoc.el}, for checking doc strings in Emacs Lisp programs,@item@file{dframe.el}, providing dedicatd frame support modes, and@item@file{ezimage.el}, a generalized way to place images over text.@end itemize@itemAlan Mackenzie wrote the integrated AWK support in CC Mode.@itemChristopher J.@: Madsen wrote @file{decipher.el}, a package for crackingsimple substitution ciphers.@itemNeil M.@: Mager wrote @file{appt.el}, functions to notify users of theirappointments. It finds appointments recorded in the diary filesgenerated by Edward M.@: Reingold's @code{calendar} package.@itemKen Manheimer wrote @file{allout.el}, a mode for manipulating andformatting outlines, and @file{icomplete.el}, which provides incrementalcompletion feedback in the minibuffer.@itemBill Mann wrote @file{perl-mode.el}, a mode for editing Perl code.@itemBrian Marick and Daniel LaLiberte wrote @file{hideif.el}, support forhiding selected code within C @code{#ifdef} clauses.@itemSimon Marshall wrote @file{regexp-opt.el}, which generates a regularexpression from a list of strings. He also extended @file{comint.el},originally written by Olin Shivers.@itemBengt Martensson, Marc Shapiro, Mike Newton, Aaron Larson, and StefanSchoef, wrote @file{bibtex.el}, a mode for editing Bib@TeX{}bibliography files.@itemCharlie Martin wrote @file{autoinsert.el}, which provides automaticmode-sensitive insertion of text into new files.@itemThomas May wrote @file{blackbox.el}, a version of the traditionalblackbox game.@itemRoland McGrath wrote:@itemize @minus@item@file{compile.el}, a package for running compilations in a buffer, andthen visiting the locations reported in error messages,@item@file{etags.el}, a package for jumping to function definitions andsearching or replacing in all the files mentioned in a @file{TAGS} file,@item@file{find-dired.el}, for using @code{dired} commands on output from the@code{find} program, with Sebastian Kremer,@item@file{map-ynp.el}, a general purpose boolean question-asker,@item@file{autoload.el}, providing semi-automatic maintenance of autoloadfiles, and@item@file{upd-copyr.el}, providing semi-automatic maintenance of copyrightnotices in source code.@end itemize@itemDavid Megginson wrote @file{derived.el}, which allows one to define newmajor modes by inheriting key bindings and commands from existing majormodes.@itemWill Mengarini wrote @file{repeat.el}, a command to repeat the precedingcommand with its arguments.@itemWayne Mesard wrote @file{hscroll.el} which does horizontal scrollingautomatically.@itemBrad Miller wrote @file{gnus-gl.el}, a Gnus interface for GroupLens.@itemRichard Mlynarik wrote:@itemize @minus@item@file{cl-indent.el}, a package for indenting Common Lisp code,@item@file{ebuff-menu.el}, an ``electric'' browser for buffer listings,@item@file{ehelp.el}, bindings for browsing help screens,@item@file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format,used in mail messages and news articles,@item@file{terminal.el}, a terminal emulator for Emacs subprocesses, and@item@file{yow.el}, an essential utility (try @kbd{M-x yow}).@end itemize@itemGerd Moellmann was the Emacs maintainer from the beginning of Emacs 21development until the release of 21.1. He wrote:@itemize @minus@itemthe new display engine for Emacs 21,@itemthe asynchronous timers facility (@file{atimer.c}),@itemthe @code{ebrowse} C@t{++} browser,@item@file{jit-lock.el}, the Just-In-Time font-lock support mode,@item@file{tooltip.el}, a package for displaying tooltips, and@item@file{authors.el} package for maintaining the @file{AUTHORS} files.@end itemize@itemStefan Monnier added support for Arch, Subversion, and Meta-CVS to VC,and re-wrote much of the Emacs server to use the built-in networkingprimitives. He also wrote:@itemize @minus@item@code{PCL-CVS}, a directory-level front end to the CVS version controlsystem,@item@file{reveal.el}, a minor mode for automatically revealing invisibletext,@item@file{smerge-mode.el}, a minor mode for resolving @code{diff3}conflicts, and@item@file{diff-mode.el}, a mode for viewing and editing context diffs.@end itemize@itemMorioka Tomohiko wrote several packages for MIME support in Gnus andelsewhere.@itemSen Nagata wrote @file{crm.el}, a package for reading multiple stringswith completion, and @file{rfc2368.el}, support for @code{mailto:}URLs.@itemErik Naggum wrote the time-conversion functions. He also wrote@file{disp-table.el}, a package for dealing with display tables,@file{latin-4.el} and @file{latin-5.el}, code which sets upcase-conversion and syntax tables for the ISO Latin-4 and Latin-5character sets, @file{mailheader.el}, a package for parsing emailheaders, and @file{parse-time.el}, a package for parsing time strings.@itemThomas Neumann and Eric Raymond wrote @file{makefile.el} (now@file{make-mode.el}), a mode for editing makefiles.@itemThien-Thi Nguyen and Dan Nicolaescu wrote @file{hideshow.el}, a minormode for selectively displaying blocks of text.@itemDan Nicolaescu wrote @file{romanian.el}, support for editing Romaniantext, and @file{iris-ansi.el}, support for running Emacs on SGI's@code{xwsh} and @code{winterm} terminal emulators.@itemJurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.@itemHrvoje Niksic wrote @file{savehist.el}, for saving the minibufferhistory between Emacs sessions.@itemJeff Norden wrote @file{kermit.el}, a package to help the Kermitdialup communications program run comfortably in an Emacs shell buffer.@itemAndrew Norman wrote @file{ange-ftp.el}, providing transparent FTPsupport.@itemAlexandre Oliva wrote @file{gnus-mlspl.el}, a group params-based mailsplitting mechanism.@itemTakaaki Ota wrote @file{table.el}, a package for creating and editingembedded text-based tables.@itemPieter E.@: J.@: Pareit wrote @file{mixal-mode.el}, an editing mode forthe MIX assembly language.@itemDavid Pearson contributed @file{quickurl.el}, a simple method ofinserting a URL into the current buffer based on text at point;@file{5x5.el}, a game to fill all squares on the field.@itemJeff Peck wrote:@itemize @minus@item@file{emacstool.c}, support for running Emacs under SunView/Sun Windows,@item@file{sun.el}, key bindings for sunterm keys,@item@file{sun-curs.el}, cursor definitions for Sun Windows, and@item@file{sun-fns.el} and @file{sun-mouse.el}, providing mouse support forSun Windows.@end itemize@itemDamon Anton Permezel wrote @file{hanoi.el}, an animated demonstration ofthe ``Towers of Hanoi'' puzzle.@itemWilliam M.@: Perry wrote @file{mailcap.el}, a MIME media typesconfiguration facility, @file{mwheel.el}, a package for supportingmouse wheels, and the URL package.@itemPer Persson wrote @file{gnus-vm.el}, the VM interface for Gnus.@itemJens Petersen wrote @file{find-func.el}, which makes it easy to findthe source code for an Emacs Lisp function or variable.@itemDaniel Pfeiffer wrote:@itemize @minus@item@file{conf-mode.el}, a major mode for editing configuration files,@item@file{copyright.el}, a package for updating copyright notices in files,@item@file{executable.el}, a package for executing interpreter scripts,@item@file{sh-script.el}, a mode for editing shell scripts,@item@file{skeleton.el}, implementing a concise language for writingstatement skeletons, and@item@file{two-column.el}, a minor mode for simultaneous two-column editing.@end itemizeDaniel also rewrote @file{apropos.el}, originally written by Joe Wells,and, together with Jim Blandy, co-authored @file{wyse50.el}, support forWyse 50 terminals.@itemRichard L.@: Pieri wrote @file{pop3.el}, a Post Office Protocol (RFC1460) interface for Emacs.@itemFred Pierresteguy and Paul Reilly made Emacs work with X Toolkitwidgets.@itemChristian Plaunt wrote @file{soundex.el}, an implementation of theSoundex algorithm for comparing English words by their pronunciation.@itemDavid Ponce wrote:@itemize @minus@item@file{recentf.el}, a package that puts a menu of recently visitedfiles in the Emacs menu bar,@item@file{ruler-mode.el}, a minor mode for displaying a ruler in theheader line, and@item@file{tree-widget.el}, a package to display hierarchical data structures.@end itemize@itemFrancesco A.@: Potorti wrote @file{cmacexp.el}, providing a command whichruns the C preprocessor on a region of a file and displays the results.He also expanded and redesigned the @code{etags} program.@itemMichael D.@: Prange and Steven A.@: Wood wrote @file{fortran.el}, a mode forediting FORTRAN code.@c We're not distributing his tex-mode.el anymore; we're using Ed Reingold's.@itemMukesh Prasad contributed @file{vmsproc.el}, a facility for runningasynchronous subprocesses on VMS.@itemMarko Rahamaa wrote @file{latin-3.el}, code which sets upcase-conversion and syntax tables for the ISO Latin-3 character set.@itemAshwin Ram wrote @file{refer.el}, commands to look up references inbibliography files by keyword.@itemEric S.@: Raymond wrote:@itemize @minus@item@file{vc.el}, an interface to the RCS and SCCS source code versioncontrol systems, with Paul Eggert,@item@file{gud.el}, a package for running source-level debuggers like GDBand SDB in Emacs,@item@file{asm-mode.el}, a mode for editing assembly language code,@item@file{AT386.el}, terminal support package for IBM's AT keyboards,@item@file{cookie1.el}, support for ``fortune-cookie'' programs like@file{yow.el} and @file{spook.el},@item@file{finder.el}, a package for finding Emacs Lisp packages by keywordand topic,@item@file{keyswap.el}, code to swap the @key{BS} and @key{DEL} keys,@item@file{loadhist.el}, functions for loading and unloading Emacs features,@item@file{lisp-mnt.el}, functions for working with the special headers usedin Emacs Lisp library files, and@itemcode to set and make use of the @code{load-history} lisp variable, whichrecords the source file from which each lisp function loaded into Emacscame.@end itemize@itemEdward M.@: Reingold wrote the extensive calendar and diary support (try@kbd{M-x calendar}), with contributions from Stewart Clamen, NachumDershowitz, Paul Eggert, Steve Fisk, Michael Kifer, and Lara Rios. AndyOram contributed to its documentation. Reingold has also contributed to@file{tex-mode.el}, a mode for editing @TeX{} files, as have WilliamF.@: Schelter, Dick King, Stephen Gildea, Michael Prange, and Jacob Gore.@itemDavid Reitter wrote @file{mailclient.el} which can send mail via thesystem's designated mail client.@itemAlex Rezinsky contributed @file{which-func.el}, a mode that shows thename of the current function in the mode line.@itemRob Riepel contributed @file{tpu-edt.el} and its associated files,providing an emulation of the VMS TPU text editor emulating the VMS EDTeditor, and @file{vt-control.el}, providing some control functions forthe DEC VT line of terminals.@itemNick Roberts wrote @file{gdb-ui.el}, the graphical user interface toGDB.@itemRoland B.@: Roberts contributed much of the VMS support distributed withEmacs 19, along with Joseph M.@: Kelsey, and @file{vms-pmail.el}, supportfor using Emacs within VMS MAIL.@itemJohn Robinson wrote @file{bg-mouse.el}, support for the mouse on the BBNBitgraph terminal.@itemDanny Roozendaal implemented @file{handwrite.el}, which converts textinto ``handwriting.''@itemWilliam Rosenblatt wrote @file{float.el}, implementing a floating-pointnumeric type using Lisp cons cells and integers.@itemGuillermo J.@: Rozas wrote @file{scheme.el}, a mode for editing Scheme andDSSSL code, and @file{fakemail.c}, an interface to the System V mailer.@itemIvar Rummelhoff provided @file{winner.el}, which recordsrecent window configurations so you can move back to them.@itemJason Rumney has ported the Emacs 21 display engine to MS-Windows, andcontributed extensively to the MS-Windows port of Emacs.@itemWolfgang Rupprecht contributed Emacs 19's floating-point support(including @file{float-sup.el} and @file{floatfns.c}), and@file{sup-mouse.el}, support for the Supdup mouse on lisp machines.@itemKevin Ryde wrote @file{info-xref.el}, a library for checkingreferences in Info files.@itemJames B.@: Salem and Brewster Kahle wrote @file{completion.el}, providingdynamic word completion.@itemMasahiko Sato wrote @file{vip.el}, an emulation of the VI editor.@itemHolger Schauer wrote @file{fortune.el}, a package for using fortune inmessage signatures.@itemWilliam Schelter wrote @file{telnet.el}, support for @code{telnet}sessions within Emacs.@itemRalph Schleicher contributed @file{battery.el}, a package for displayinglaptop computer battery status, and @file{info-look.el}, a package forlooking up Info documentation for symbols in the buffer.@itemMichael Schmidt and Tom Perrine wrote @file{modula2.el}, a mode forediting Modula-2 code, based on work by Mick Jordan and Peter Robinson.@itemRonald S.@: Schnell wrote @file{dunnet.el}, a text adventure game.@itemPhilippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game playedagainst Emacs, and @file{mpuz.el}, a multiplication puzzle.@itemJan Schormann wrote @file{solitaire.el}, an Emacs Lisp implementation ofthe Solitaire game.@itemAlex Schroeder wrote @file{ansi-color.el}, a package for translatingANSI color escape sequences to Emacs faces, and @file{sql.el}, a packagefor interactively running an SQL interpreter in an Emacs buffer.@itemRandal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.@itemOliver Seidel wrote @file{todo-mode.el}, a package for maintaining@file{TODO} list files.@itemManuel Serrano contributed the Flyspell package that does spell checkingas you type.@itemHovav Shacham wrote @file{windmove.el}, a set of commands for selectingwindows based on their geometrical position on the frame.@itemStanislav Shalunov wrote @file{uce.el}, for responding to unsolicitedcommercial email.@itemRichard Sharman contributed @file{hilit-chg.el}, which uses colorsto show recent editing changes.@itemOlin Shivers wrote:@itemize @minus@item@file{comint.el}, a library for modes running interactive command-line-oriented subprocesses,@item@file{cmuscheme.el}, for running inferior Scheme processes,@item@file{inf-lisp.el}, for running inferior Lisp process, and@item@file{shell.el}, for running inferior shells.@end itemize@itemEspen Skoglund wrote @file{pascal.el}, a mode for editing Pascal code.@itemRick Sladkey wrote @file{backquote.el}, a lisp macro for creatingmostly-constant data.@itemLynn Slater wrote @file{help-macro.el}, a macro for writing interactivehelp for key bindings.@itemChris Smith wrote @file{icon.el}, a mode for editing Icon code.@itemDavid Smith wrote @file{ielm.el}, a mode for interacting with the EmacsLisp interpreter as a subprocess.@itemPaul D.@: Smith wrote @file{snmp-mode.el}.@itemWilliam Sommerfeld wrote @file{scribe.el}, a mode for editing Scribefiles, and @file{server.el}, a package allowing programs to send filesto an extant Emacs job to be edited.@itemAndre Spiegel made many contributions to the Emacs Version Controlpackage, and in particular made it support multiple back ends.@itemMichael Staats wrote @file{pc-select.el}, which rebinds keys forselecting regions to follow many other systems.@itemRichard Stallman invented Emacs, and then wrote:@itemize @minus@item@file{easymenu.el}, a facility for defining Emacs menus,@item@file{menu-bar.el}, the Emacs menu bar support code,@item@file{paren.el}, a package to make matching parentheses stand out incolor, and@itemmost of the rest of Emacs code.@end itemize@itemSam Steingold wrote @file{gulp.el}, a facility for asking packagemaintainers for updated versions of their packages via e-mail, and@file{midnight.el}, a package for running a command every midnight.@itemAke Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework forbrowsing indices made from buffer contents.@itemPeter Stephenson contributed @file{vcursor.el}, which implements a``virtual cursor'' that you can move with the keyboard and use forcopying text.@itemKen Stevens wrote the initial version of @file{ispell.el} and maintainsthat package since Ispell 3.1 release.@itemJonathan Stigelman wrote @file{hilit19.el}, a package providingautomatic highlighting in source code buffers, mail readers, and othercontexts.@itemKim F.@: Storm made many improvements to the Emacs display engine,process support, and networking support. He also wrote:@itemize @minus@item@file{bindat.el}, a package for encoding and decoding binary data.@item@file{cua.el}, which allows Emacs to emulate the standard CUA keybindings.@item@file{ido.el}, a package for selecting buffers and files quickly.@item@file{kmacro.el}, the keyboard macro facility.@end itemize@itemMartin Stjernholm co-authored CC Mode, a major editing mode for C,C@t{++}, Objective-C, Java, Pike, CORBA IDL, and AWK code.@itemSteve Strassman did not write @file{spook.el}, and even if he did, hereally didn't mean for you to use it in an anarchistic way.@itemOlaf Sylvester wrote @file{bs.el}, a package for manipulating Emacsbuffers.@itemTibor @v{S}imko and Milan Zamazal wrote @file{slovak.el}, support forediting text in Slovak language.@itemNaoto Takahashi wrote @file{utf-8.el}, support for encoding anddecoding UTF-8 data.@itemLuc Teirlinck wrote @file{help-at-pt.el}, providing local help throughthe keyboard.@itemJean-Philippe Theberge wrote @file{thumbs.el}, a package for viewingimage files as ``thumbnails.''@itemJens T.@: Berger Thielemann wrote @file{word-help.el}, which ispart of the basis for @file{info-look.el}.@itemSpencer Thomas wrote the original @file{dabbrev.el}, providing a commandwhich completes the partial word before point, based on other nearbywords for which it is a prefix. He also wrote the original dumpingsupport.@itemJim Thompson wrote @file{ps-print.el}, which convertsEmacs text to PostScript.@itemTom Tromey and Chris Lindblad wrote @file{tcl.el}, a major mode forediting Tcl/Tk source files and running a Tcl interpreter as an Emacssubprocess.@itemEli Tziperman wrote @file{rmail-spam-filter.el}, a spam filter for RMAIL.@itemDaiki Ueno wrote @file{starttls.el}, support for Transport LayerSecurity protocol, and the PGG package adding GnuPG and PGP support.@itemMasanobu Umeda wrote:@itemize @minus@itemGNUS, a feature-full reader for Usenet news,@item@file{prolog.el}, a mode for editing Prolog code,@item@file{rmailsort.el}, a package for sorting messages in RMAIL folders,@item@file{metamail.el}, an interface to the Metamail program,@item@file{gnus-kill.el}, the Kill File mode for Gnus,@item@file{gnus-mh.el}, an mh-e interface for Gnus,@item@file{gnus-msg.el}, a mail and post interface for Gnus,@item@file{tcp.el}, emulation of the @code{open-network-stream} function forsome Emacs configurations which lack it, and@item@file{timezone.el}, providing functions for dealing with time zones.@end itemize@itemRajesh Vaidheeswarran wrote @file{whitespace.el}, a package thatdetects and cleans up excess whitespace in a file.@itemNeil W.@: Van Dyke wrote @file{webjump.el}, a ``hot links'' package.@itemDidier Verna contributed @file{rect.el}, a package of functions foroperations on rectangle regions of text.@itemUlrik Vieth implemented @file{meta-mode.el}, for editing MetaFont code.@itemGeoffrey Voelker wrote the Windows NT support. He also wrote@file{dos-w32.el}, functions shared by the MS-DOS and MS-Windows portsof Emacs, and @file{w32-fns.el}, MS-Windows specific support functions.@itemJohan Vromans wrote @file{forms.el} and its associated files, amode for filling in forms.@itemColin Walters wrote @file{ibuffer.el}, a Dired-like major mode foroperating on buffers.@itemBarry Warsaw wrote:@itemize @minus@item@file{assoc.el}, a set of utility functions for working with associationlists,@item@file{cc-mode.el}, a major mode for editing C, C@t{++}, and Java code,based on earlier work by Dave Detlefs, Stewart Clamen, and RichardStallman,@item@file{elp.el}, a new profiler for Emacs Lisp programs.@item@file{man.el}, a mode for reading UNIX manual pages,@item@file{regi.el}, providing an AWK-like functionality for use in lispprograms,@item@file{reporter.el}, providing customizable bug reporting for lisppackages, and@item@file{supercite.el}, a minor mode for quoting sections of mail messagesand news articles.@end itemize@itemMorten Welinder introduced face support into the MS-DOS port of Emacs,and also wrote:@itemize @minus@item@file{desktop.el}, facilities for saving some of Emacs's state betweensessions,@item@file{timer.el}, the Emacs facility to run commands at a given time orfrequency, or when Emacs is idle, and its C-level support code,@item@file{pc-win.el}, the MS-DOS ``window-system'' support,@item@file{internal.el}, an ``internal terminal'' emulator for the MS-DOSport of Emacs,@item@file{arc-mode.el}, the mode for editing compressed archives,@item@file{s-region.el}, commands for setting the region using the shift keyand motion commands, and@item@file{dos-fns.el}, functions for use under MS-DOS.@end itemizeHe also helped port Emacs to MS-DOS.@itemJoseph Brian Wells wrote:@itemize @minus@item@file{apropos.el}, a command to find commands, functions, and variableswhose names contain matches for a regular expression,@item@file{resume.el}, support for processing command-line arguments afterresuming a suspended Emacs job, and@item@file{mail-extr.el}, a package for extracting names and addresses frommail headers, with contributions from Jamie Zawinski.@end itemize@itemRodney Whitby and Reto Zimmermann wrote @file{vhdl-mode.el}, a majormode for editing VHDL source code.@itemJohn Wiegley wrote @file{align.el}, a set of commands for aligning textaccording to regular-expression based rules; @file{timeclock.el}, apackage for keeping track of time spent on projects;@file{pcomplete.el}, a programmable completion facility; and@code{eshell}, a command shell implemented entirely in Emacs Lisp.@itemEd Wilkinson wrote @file{b2m.c}, a program to convert mail files fromRMAIL format to Unix @code{mbox} format.@itemMike Williams wrote @file{mouse-sel.el}, providing enhanced mouseselection, and @file{thingatpt.el}, a library of functions for findingthe ``thing'' (word, line, s-expression) containing point.@itemBill Wohler wrote the Emacs interface to the MH mail system.@itemDale R.@: Worley wrote @file{emerge.el}, a package for interactivelymerging two versions of a file.@itemFrancis J.@: Wright wrote @code{WoMan}, a package for browsingmanual pages without the @code{man} command.@itemTom Wurgler wrote @file{emacs-lock.el}, which makes it harderto exit with valuable buffers unsaved.@itemMasatake Yamato wrote @file{ld-script.el}, an editing mode for GNUlinker scripts, and contributed subword handling in CC mode.@itemJonathan Yavner wrote @file{testcover.el}, a package for keeping trackof the testing status of Emacs Lisp code, and the SES spreadsheetpackage.@itemRyan Yeske wrote @file{rcirc.el} a simple Internet Relay Chat client.@itemIlya Zakharevich and Bob Olson contributed @file{cperl-mode.el}, a majormode for editing Perl code. Ilya Zakharevich also wrote @file{tmm.el},a mode for accessing the Emacs menu bar on a text-mode terminal.@itemMilan Zamazal wrote @file{czech.el}, support for editing Czech text,@file{glasses.el}, a package for easier reading of source code whichuses illegible identifier names such as @code{cantReadThisVariable}, and@file{tildify.el}, commands for adding hard spaces to text, @TeX{}, andSGML/HTML files.@itemVictor Zandy contributed @file{zone.el}, a package for people who liketo zone out in front of Emacs.@itemEli Zaretskii made many standard Emacs features work on MS-DOS. He alsowrote @file{tty-colors.el}, which implements transparent mapping of Xcolors to tty colors, and (together with Kenichi Handa)@file{codepage.el}, a package for editing text encoded in DOS/Windowscode pages.@itemJamie Zawinski wrote:@itemize @minus@itemEmacs 19's optimizing byte compiler, with Hallvard Furuseth,@itemmuch of the support for faces and X selections,@item@file{mailabbrev.el}, a package providing automatic expansion of mailaliases, and@item@file{tar-mode.el}, providing simple viewing and editing commands fortar files.@end itemize@itemAndrew Zhilin created the Emacs icons used beginning with Emacs 22.@itemShenghuo Zhu wrote:@itemize @minus@item@file{binhex.el}, a package for reading and writing binhex files,@item@file{mm-partial.el}, message/partial support for MIME messages,@item@file{rfc1843.el}, an HZ decoding package,@item@file{uudecode.el}, an Emacs Lisp decoder for uuencoded data,@item@file{webmail.el}, an interface to Web mail.@end itemize@itemIan T.@: Zimmerman wrote @file{gametree.el}.@itemNeal Ziring and Felix S.@: T.@: Wu wrote @file{vi.el}, an emulation of theVI text editor.@itemDetlev Zundel wrote @file{re-builder.el}, a package for building regexpswith visual feedback.@end itemizeOthers too numerous to mention have reported and fixed bugs, and addedfeatures to many parts of Emacs. (Many are mentioned in the@file{ChangeLog} files which are summarized in the file @file{AUTHORS}in the distribution.) We thank them for their generosity as well.This list intended to mention every contributor of a major package orfeature we currently distribute; if you know of someone we have omitted,please report that as a manual bug.@ignore arch-tag: bb1d0fa4-0240-4992-b5d4-8602d1e3d4ba@end ignore