@c This is part of the Emacs manual.
@c Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Acknowledgments, Screen, Concept Index, Top
@chapter Acknowledgments

Many people have contributed code included in the Free Software
Foundation's distribution of GNU Emacs.  To show our appreciation for
their public spirit, we list here those who have written substantial
portions.

@itemize @bullet
@item
Per Abrahamsen wrote @file{double.el}, for typing accented characters
not normally available from the keyboard, @file{xt-mouse.el}, which
handles mouse commands through Xterm, and @file{cpp.el}, which hides or
highlights parts of C programs according to preprocessor conditionals.

@item
Jay K. Adams wrote @file{jka-compr.el}, providing automatic
decompression and recompression for compressed files.

@item
Joe Arceneaux wrote the original text property implementation, and
implemented support for X11.

@item
Boaz Ben-Zvi wrote @file{profile.el}, to time Emacs Lisp functions.

@item
Jim Blandy wrote Emacs 19's input system, brought its configuration and
build process up to the GNU coding standards, and contributed to the
frame support and multi-face support.

@item
Frank Bresz wrote @file{diff.el}, a program to display @code{diff}
output.

@item
Kevin Broadey wrote @file{foldout.el}, providing folding extensions to
Emacs's outline modes.

@item
Vincent Broman wrote @file{ada.el}, a mode for editing Ada code.

@item
David M. Brown wrote @file{array.el}, for editing arrays and other
tabular data.

@item
Hans Chalupsky wrote @file{advice.el}, an overloading mechanism for
Emacs Lisp functions, and @file{trace.el}, a tracing facility for Emacs
Lisp.

@item
Bob Chassell wrote @file{texnfo-upd.el} and @file{makeinfo.el}, modes
and utilities for working with Texinfo files.

@item
James Clark wrote @file{sgml-mode.el}, a mode for editing SGML
documents, and contributed to Emacs's dumping procedures.

@item
Mike Clarkson wrote @file{edt.el}, an emulation of DEC's EDT editor.

@item
Doug Cutting and Jamie Zawinski wrote @file{disass.el}, a disassembler
for compiled Emacs Lisp code.

@item
Michael DeCorte wrote @file{emacs.csh}, a C-shell script that starts a
new Emacs job, or restarts a paused Emacs if one exists.

@item
Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
@file{/usr/uci/post} mailer.

@item
Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
text replace the current selection.

@item
Scott Draves wrote @file{tq.el}, help functions for maintaining
transaction queues between Emacs and its subprocesses.

@item
Viktor Dukhovni wrote support for dumping under SunOS version 4.

@item
Rolf Ebert co-wrote Ada mode (@file{ada-mode.el}).

@item
@iftex
Torbj@"orn
@end iftex
@ifinfo
Torbjorn
@end ifinfo
Einarsson contributed F90 mode (@file{f90.el}).

@item
Hans Henrik Eriksen wrote @file{simula.el}, a mode for editing SIMULA 87
code.

@item
Michael Ernst wrote @file{reposition.el}, a command for recentering a
function's source code and preceding comment on the screen.

@item
Ata Etemadi wrote @file{cdl.el}, functions for working with Common Data
Language source code.

@item
Fred Fish wrote the support for dumping COFF executable files.

@item
Karl Fogel wrote:
@itemize @bullet
@item
@file{bookmark.el}, for creating named placeholders, saving them and
jumping 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 between
editing sessions.
@end itemize

@item
Noah Friedman wrote @file{rlogin.el}, an interface to rlogin, and
@file{type-break.el}, which reminds you to take periodic breaks from
typing.  With Roland McGrath, he wrote @file{rsz-mini.el}, a minor mode
to automatically resize the minibuffer to fit the text it contains.

@item
Keith Gabryelski wrote @file{hexl.el}, a mode for editing binary files.

@item
Kevin Gallagher rewrote and enhanced the EDT emulation, and wrote
@file{flow-ctrl.el}, a package for coping with unsuppressible XON/XOFF
flow control.

@item
Kevin Gallo added multiple-frame support for Windows NT.

@item
Howard Gayle wrote:
@itemize @bullet
@item
the C and lisp code for display tables and case tables,
@item
@file{rot13.el}, a command to display the plaintext form of a buffer
encoded with the Caesar cipher,
@item
much of the support for the ISO-8859 European character set (which
includes @file{iso-ascii.el}, @file{iso-insert.el}, @file{iso-swed.el},
@file{iso-syntax.el}, @file{iso-transl.el}, and @file{swedish.el}), and
@item
@file{vt100-led.el}, a package for controlling the LED's on
VT100-compatible terminals.
@end itemize

@item
Stephen Gildea made the Emacs quick reference card.

@item
David Gillespie wrote:
@itemize @bullet
@item
Emacs 19's Common Lisp compatibility packages, replacing the old package
by Cesar Augusto Quiroz Gonzalez,
@item
@file{complete.el}, a partial completion mechanism, and
@item
@file{edmacro.el}, a package for editing keyboard macros.
@end itemize

@item
Boris Goldowsky wrote @file{avoid.el}, a package to keep the mouse
cursor out of the way of the text cursor; @file{shadowfile.el}, a
package for keeping identical copies of files in more than one place;
@file{enriched.el}, a package for saving text properties in files;
and @file{facemenu.el}, a package for specifying faces.

@item
Michael Gschwind wrote @file{iso-cvt.el}, a package to convert between
the ISO 8859-1 character set and the notations for non-@code{ASCII}
characters used by @TeX{} and net tradition.

@item
Henry Guillaume wrote @file{find-file.el}, a package to visit a file
which is related to the currently visited fil

@item
Doug Gwyn wrote the portable @code{alloca} implementation.

@item
Chris Hanson wrote @file{netuname.el}, a package to use HP-UX's Remote
File Access facility from Emacs.

@item
K. Shane Hartman wrote:
@itemize @bullet
@item
@file{chistory.el} and @file{echistory.el}, packages for browsing
command history lists,
@item
@file{electric.el} and @file{helper.el}, providing an alternative
command loop and appropriate help facilities,
@item
@file{emacsbug.el}, a package for reporting Emacs bugs,
@item
@file{picture.el}, a mode for editing ASCII pictures, and
@item
@file{view.el}, a package for perusing files and buffers without editing
them.
@end itemize

@item
Markus Heritsch co-wrote Ada mode (@file{ada-mode.el}).

@item
Karl 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.

@item
Manabu Higashida ported Emacs to the MS-DOS operating system.

@item
Anders Holst wrote @file{hippie-exp.el}, a versatile completion and
expansion package.

@item
Lars Ingebrigtsen did a major redesign of the GNUS newsreader.

@item
Andrew Innes contributed extensively to the Windows NT support.

@item
Kyle 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 windows
by dragging mode lines and vertical window separators with the mouse.

@item
David Kaufman wrote @file{yow.c}, an essential utility program for the
hopelessly pinheaded.

@item
Henry Kautz wrote @file{bib-mode.el}, a mode for maintaining
bibliography databases compatible with @code{refer} (the @code{troff}
version) and @code{lookbib}, and @file{refbib.el}, a package to convert
those databases to the format used by the LaTeX text formatting package.

@item
Howard Kaye wrote @file{sort.el}, commands to sort text in Emacs
buffers.

@item
Michael Kifer wrote @file{ediff.el}, an interactive interface to the
@code{diff} and @code{patch} programs, and Viper, the newest emulation
for VI.

@item
Richard King wrote the first version of @file{userlock.el} and
@file{filelock.c}, which provide simple support for multiple users
editing the same file.
@c We're not using his backquote.el any more.

@item
Larry K. Kolodney wrote @file{cvtmail.c}, a program to convert the mail
directories used by Gosling Emacs into RMAIL format.

@item
Robert Krawitz wrote the original @file{xmenu.c}, part of Emacs's pop-up
menu support.

@item
Sebastian Kremer wrote Emacs 19's @code{dired-mode}, with contributions
by Lawrence R. Dodd.

@item
Geoff Kuenning wrote Emacs 19's @file{ispell.el}, based on work by Ken
Stevens and others.

@item
David
@ifinfo
Kågedal
@end ifinfo
@iftex
K@aa gedal
@end iftex
wrote @file{tempo.el}, providing support for easy
insertion of boilerplate text and other common constructions.

@item
Daniel LaLiberte wrote:
@itemize @bullet
@item
@file{edebug.el}, a source-level debugger for Emacs Lisp,
@item
@file{cl-specs.el}, specifications to help @code{edebug} debug code
written 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 Emacs
Lisp, and
@item
@file{isearch.el}, Emacs 19's incremental search minor mode.
@end itemize

@item
James R. Larus wrote @file{mh-e.el}, an interface to the MH mail system.

@item
Lars Lindberg wrote @file{msb.el}, which provides more flexible menus
for buffer selection, and rewrote @file{dabbrev.el}.

@item
Neil M. Mager wrote @file{appt.el}, functions to notify users of their
appointments.  It finds appointments recorded in the diary files
generated by Edward M. Reingold's @code{calendar} package.

@item
Ken Manheimer wrote @file{allout.el}, a mode for manipulating and
formatting outlines, and @file{icomplete.el}, which provides incremental
completion feedback in the minibuffer.

@item
Bill Mann wrote @file{perl-mode.el}, a mode for editing Perl code.

@item
Brian Marick and Daniel LaLiberte wrote @file{hideif.el}, support for
hiding selected code within C @code{#ifdef} clauses.

@item
Simon Marshall wrote:
@itemize @bullet
@item
@file{fast-lock.el}, which caches the face data computed by Font Lock mode, and
@item
@file{lazy-lock.el}, which delays fontification in Font Lock mode
until text is actually displayed.
@end itemize

@item
Bengt Martensson, Mark Shapiro, Mike Newton, Aaron Larson, and Stefan
Schoef, wrote @file{bibtex.el}, a mode for editing Bib@TeX{}
bibliography files.
 
@item
Charlie Martin wrote @file{autoinsert.el}, which provides automatic
mode-sensitive insertion of text into new files.

@item
Thomas May wrote @file{blackbox.el}, a version of the traditional
blackbox game.

@item
Roland McGrath wrote:
@itemize @bullet
@item
@file{compile.el}, a package for running compilations in a buffer, and
then visiting the locations reported in error messages,
@item
@file{etags.el}, a package for jumping to function definitions and
searching 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 autoload
files, and
@item
@file{upd-copyr.el}, providing semi-automatic maintenance of copyright
notices in source code.
@end itemize

@item
David Megginson wrote @file{derived.el}, which allows one to define new
major modes by inheriting key bindings and commands from existing major
modes.

@item
Richard Mlynarik wrote:
@itemize @bullet
@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

@item
Keith Moore wrote @file{aixcc.lex}, a pre-processor designed to help
Emacs parse the error messages produced by the AIX C compiler.

@item
Thomas Neumann and Eric Raymond wrote @file{makefile.el}, a mode for
editing makefiles.

@item
Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.

@item
Jeff Norden wrote @file{kermit.el}, a package to help the Kermit
dialup communications program run comfortably in an Emacs shell buffer.

@item
Andrew Norman wrote @file{ange-ftp.el}, providing transparent FTP support.

@item
Jeff Peck wrote:
@itemize @bullet
@item
@file{emacstool.c}, support for running Emacs under SunView/Sun Windows,
@item
@file{sun-curs.el}, cursor definitions for Sun Windows, and 
@item
@file{sun-fns.el}, providing mouse support for Sun Windows.
@end itemize

@item
Damon Anton Permezel wrote @file{hanoi.el}, an animated demonstration of
the ``Towers of Hanoi'' puzzle.

@item
Daniel Pfeiffer wrote:
@itemize @bullet
@item
@file{sh-script.el}, a mode for editing shell scripts,
@item
@file{skeleton.el}, implementing a concise language for writing
statement skeletons, and
@item
@file{two-column.el}, a minor mode for simultaneous two-column editing.
@end itemize

@item
Fred Pierresteguy and Paul Reilly made Emacs work with X Toolkit
widgets.

@item
Christian Plaunt wrote @file{soundex.el}, an implementation of the
Soundex algorithm for comparing English words by their pronunciation.

@item
Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which
runs the C preprocessor on a region of a file and displays the results.

@item
Michael D. Prange and Steven A. Wood wrote @file{fortran.el}, a mode for
editing FORTRAN code.
@c We're not distributing his tex-mode.el anymore; we're using Ed Reingold's.

@item
Ashwin Ram wrote @file{refer.el}, commands to look up references in
bibliography files by keyword.

@item
Eric S. Raymond wrote:
@itemize @bullet
@item
@file{vc.el}, an interface to the RCS and SCCS source code version
control systems, with Paul Eggert,
@item
@file{gud.el}, a package for running source-level debuggers like GDB
and SDB in Emacs,
@item
@file{asm-mode.el}, a mode for editing assembly language code,
@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 keyword
and topic,
@item
@file{lisp-mnt.el}, functions for working with the special headers used
in Emacs Lisp library files, and
@item
code to set and make use of the @code{load-history} lisp variable, which
records the source file from which each lisp function loaded into Emacs
came.
@end itemize

@item
Edward M. Reingold wrote the extensive calendar and diary support (try
@kbd{M-x calendar}), with contributions from Stewart Clamen, Paul
Eggert, and Lara Rios.  Andy Oram contributed to its documentation.
Reingold has also contributed to @file{tex-mode.el}, a mode for editing
@TeX{} files, as have William F. Schelter, Dick King, Stephen Gildea,
Michael Prange, and Jacob Gore.

@item
Rob Riepel contributed @file{tpu-edt.el} and its associated files,
providing an emulation of the VMS TPU text editor emulating the VMS EDT
editor, and @file{vt-control.el}, providing some control functions for
the DEC VT line of terminals.

@item
Roland B. Roberts contributed much of the VMS support distributed with
Emacs 19, along with Joseph M. Kelsey, and @file{vms-pmail.el}, support
for using Emacs within VMS MAIL.

@item
John Robinson wrote @file{bg-mouse.el}, support for the mouse on the BBN
Bitgraph terminal.

@item
William Rosenblatt wrote @file{float.el}, implementing a floating-point
numeric type using lisp pairs and fixnums.

@item
Guillermo J. Rozas wrote @file{scheme.el}, a mode for editing Scheme
code, and @file{fakemail.c}, an interface to the System V mailer.

@item
Wolfgang 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.

@item
James B. Salem and Brewster Kahle wrote @file{completion.el}, providing
dynamic word completion.

@item
Masahiko Sato wrote @file{vip.el}, an emulation of the VI editor.

@item
William Schelter wrote @file{telnet.el}, support for @code{telnet}
sessions within Emacs.

@item
Gregor Schmid wrote @file{tcl.el}, a mode for editing Tcl/Tk scripts.

@item
Michael Schmidt and Tom Perrine wrote @file{modula2.el}, a mode for
editing Modula-2 code, based on work by Mick Jordan and Peter Robinson.

@item
Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game.

@item
Philippe Schnoebelen wrote @file{gomoku.el}, a gomoku game played
against Emacs, and @file{mpuz.el}, a multiplication puzzle.

@item
Randal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.

@item
Olin Shivers wrote:
@itemize @bullet
@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

@item
Espen Skoglund wrote @file{pascal.el}, a mode for editing Pascal code.

@item
Rick Sladkey wrote @file{backquote.el}, a lisp macro for creating
mostly-constant data.

@item
Lynn Slater wrote @file{help-macro.el}, a macro for writing interactive
help for key bindings.

@item
Chris Smith wrote @file{icon.el}, a mode for editing Icon code.

@item
David Smith wrote @file{ielm.el}, a mode for interacting with the Emacs
Lisp interpreter as a subprocess.

@item
William Sommerfeld wrote @file{scribe.el}, a mode for editing Scribe
files, and @file{server.el}, a package allowing programs to send files
to an extant Emacs job to be edited.

@item
Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
browsing indices made from buffer contents.

@item
Jonathan Stigelman wrote @file{hilit19.el}, a package providing
automatic highlighting in source code buffers, mail readers, and other
contexts.

@item
Steve Strassman did not write @file{spook.el}, and even if he did, he
really didn't mean for you to use it in an anarchistic way.

@item
Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
which completes the partial word before point, based on other nearby
words for which it is a prefix.  He also wrote the original dumping
support.

@item
Jim Thompson wrote @file{ps-print.el}, which converts
Emacs text to Postscript.

@item
Masanobu Umeda wrote:
@itemize @bullet
@item
GNUS, a featureful 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{tcp.el}, emulation of the @code{open-network-stream} function for
some Emacs configurations which lack it, and
@item
@file{timezone.el}, providing functions for dealing with time zones.
@end itemize

@item
Geoffrey Voelker wrote the Windows NT support.

@item
Johan Vromans wrote @file{forms.el} and its associated files, defining a
mode for filling in forms, and @file{iso-acc.el}, a minor mode providing
electric accent keys for text using the ISO-8859 character set.

@item
Barry Warsaw wrote:
@itemize @bullet
@item
@file{assoc.el}, a set of utility functions for working with association
lists,
@item
@file{cc-mode.el}, a major mode for editing C and C++ code, based on
earlier work by Dave Detlefs, Stewart Clamen, and Richard Stallman,
@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 control structure for
use in lisp programs, and
@item
@file{reporter.el}, providing customizable bug reporting for lisp
packages.
@item
@file{supercite.el}, a minor mode for quoting sections of mail messages
and news articles,
@end itemize

@item
Morten Welinder wrote:
@itemize @bullet
@item
@file{desktop.el}, facilities for saving some of Emacs's state between
sessions,
@item
@file{s-region.el}, commands for setting the region using the shift key
and motion commands, and
@item
@file{dos-fns.el}, functions for use under MS-DOS.
@end itemize

He also helped port Emacs to MS-DOS.

@item
Joseph Brian Wells wrote:
@itemize @bullet
@item
@file{apropos.el}, a command to find commands, functions, and variables
whose names contain matches for a regular expression,
@item
@file{resume.el}, support for processing command-line arguments after
resuming a suspended Emacs job, and
@item
@file{mail-extr.el}, a package for extracting names and addresses from
mail headers, with contributions from Jamie Zawinski.
@end itemize

@item
Ed Wilkinson wrote @file{b2m.c}, a program to convert mail files from
RMAIL format to Unix @code{mbox} format.

@item
Mike Williams wrote @file{mouse-sel.el}, providing enhanced mouse
selection, and @file{thingatpt.el}, a library of functions for finding
the ``thing'' (word, line, s-expression) containing point.

@item
Dale R. Worley wrote @file{emerge.el}, a package for interactively
merging two versions of a file.

@item
Tom Wurgler wrote @file{emacs-lock.el}, which makes it harder
to exit with valuable buffers unsaved.

@item
Eli Zaretskii made many standard Emacs features work on MS-DOS.

@item
Jamie Zawinski wrote:
@itemize @bullet
@item
Emacs 19's optimizing byte compiler, with Hallvard Furuseth,
@item
much of the support for faces and X selections,
@item
@file{mailabbrev.el}, a package providing automatic expansion of mail
aliases, and
@item
@file{tar-mode.el}, providing simple viewing and editing commands for
tar files.
@end itemize

@item
Neal Ziring and Felix S. T. Wu wrote @file{vi.el}, an emulation of the
VI text editor.
@end itemize

Others too numerous to mention have reported and fixed bugs, and added
features to many parts of Emacs.  We thank them for their generosity as
well.

This list intended to mention every contributor of a major package or
feature we currently distribute; if you know of someone we have omitted,
please report that as a manual bug.
