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.
double.el
' for typing accented characters not normally available
from the keyboard, `xt-mouse.el
' which handles mouse commands
through Xterm, and `cpp.el
' which hides or highlights parts of C
programs according to preprocessor conditionals.
jka-compr.el
', providing automatic
decompression and recompression for compressed files.
profile.el
', to time Emacs Lisp functions.
landmark.el
', a neural-network robot
that learns landmarks.
diff.el
', a program to display diff
output.
dirtrack
' which does better tracking of
directory changes in shell buffers, `filecache.el
' which records
which directories your files are in, `locate.el
' which interfaces
to the locate
command, `net-utils.el
', and the ``generic
mode'' feature.
foldout.el
', providing folding extensions to
Emacs's outline modes.
ada.el
', a mode for editing Ada code
(since replaced by `ada-mode.el
').
array.el
', for editing arrays and other
tabular data.
feedmail.el
'.
advice.el
', an overloading mechanism for
Emacs Lisp functions, and `trace.el
', a tracing facility for Emacs
Lisp.
texnfo-upd.el
' and `makeinfo.el
', modes
and utilities for working with Texinfo files.
sgml-mode.el
', a mode for editing SGML
documents, and contributed to Emacs's dumping procedures.
edt.el
', an emulation of DEC's EDT editor.
gamegrid.el
' and a couple of games that
use it, Snake and Tetris.
m4-mode.el
').
disass.el
', a disassembler
for compiled Emacs Lisp code.
emacs.csh
', a C-shell script that starts a
new Emacs job, or restarts a paused Emacs if one exists.
mailpost.el
', an interface between RMAIL and the
`/usr/uci/post
' mailer.
delsel.el
', a package to make newly-typed
text replace the current selection.
goto-addr.el
',
reftex.el
', a package for setting up
labels and cross-references for LaTeX.
tq.el
', help functions for maintaining
transaction queues between Emacs and its subprocesses.
octave.el
' and related files).
ada-mode.el
').
mspools.el
', for use with Procmail,
which tells you which mail folders have mail waiting in them, and
`iswitchb.el
', a feature for incremental reading and completion of
buffer names.
f90.el
').
simula.el
', a mode for editing SIMULA 87
code.
reposition.el
', a command for recentering a
function's source code and preceding comment on the screen.
cdl.el
', functions for working with Common Data
Language source code.
morse.el
', which converts text to
morse code.
bookmark.el
', for creating named placeholders, saving them and
jumping to them later,
mail-hist.el
', a history mechanism for outgoing mail messages, and
saveplace.el
', for preserving point's location in files between
editing sessions.
crisp.el
' and
`scroll-lock.el
'.
rlogin.el
', an interface to Rlogin, and
`type-break.el
', which reminds you to take periodic breaks from
typing. With Roland McGrath, he wrote `rsz-mini.el
', a minor mode
to automatically resize the minibuffer to fit the text it contains.
hexl.el
', a mode for editing binary files.
flow-ctrl.el
', a package for coping with unsuppressible XON/XOFF
flow control.
rot13.el
', a command to display the plaintext form of a buffer
encoded with the Caesar cipher,
iso-ascii.el
', `iso-insert.el
', `iso-swed.el
',
`iso-syntax.el
', `iso-transl.el
', and `swedish.el
'), and
vt100-led.el
', a package for controlling the LED's on
VT100-compatible terminals.
complete.el
', a partial completion mechanism, and
edmacro.el
', a package for editing keyboard macros.
sregex.el
' feature.
avoid.el
', a package to keep the mouse
cursor out of the way of the text cursor; `shadowfile.el
', a
package for keeping identical copies of files in more than one place;
`enriched.el
', a package for saving text properties in files;
and `facemenu.el
', a package for specifying faces.
ffap.el
' which visits a file,
taking the file name from the buffer.
dcl-mode.el
'.
iso-cvt.el
', a package to convert between
the ISO 8859-1 character set and the notations for non-ASCII
characters used by TeX and net tradition.
find-file.el
', a package to visit files
related to the currently visited file.
alloca
implementation.
netuname.el
', a package to use HP-UX's Remote
File Access facility from Emacs.
chistory.el
' and `echistory.el
', packages for browsing
command history lists,
electric.el
' and `helper.el
', providing an alternative
command loop and appropriate help facilities,
emacsbug.el
', a package for reporting Emacs bugs,
picture.el
', a mode for editing ASCII pictures, and
view.el
', a package for perusing files and buffers without editing
them.
mouse-copy.el
' and `mouse-drag.el
',
which provide alternative mouse-based editing and scrolling features.
ada-mode.el
').
intangible
text property, and rearranged the structure of the
Lisp_Object
type to allow for more data bits.
hippie-exp.el
', a versatile completion and
expansion package.
octave.el
' and related files).
mantemp.el
', which generates manual C++ template
instantiations.
life.el
', a package to play Conway's ``life'' game,
and `mldrag.el
', a package which allows the user to resize windows
by dragging mode lines and vertical window separators with the mouse.
smtpmail.el
', used for sending out
mail with SMTP.
yow.c
', an essential utility program for the
hopelessly pinheaded.
bib-mode.el
', a mode for maintaining
bibliography databases compatible with refer
(the troff
version) and lookbib
, and `refbib.el
', a package to convert
those databases to the format used by the LaTeX text formatting package.
sort.el
', commands to sort text in Emacs
buffers.
ediff.el
', an interactive interface to the
diff
and patch
programs, and Viper, the newest emulation
for VI.
userlock.el
' and
`filelock.c
', which provide simple support for multiple users
editing the same file.
cvtmail.c
', a program to convert the mail
directories used by Gosling Emacs into RMAIL format.
xmenu.c
', part of Emacs's pop-up
menu support.
dired-mode
, with contributions
by Lawrence R. Dodd.
ispell.el
', based on work by Ken
Stevens and others.
tempo.el
', providing support for
easy insertion of boilerplate text and other common constructions.
edebug.el
', a source-level debugger for Emacs Lisp,
cl-specs.el
', specifications to help edebug
debug code
written using David Gillespie's Common Lisp support,
cust-print.el
', a customizable package for printing lisp objects,
eval-reg.el
', a re-implementation of eval-region
in Emacs
Lisp, and
isearch.el
', Emacs 19's incremental search minor mode.
mh-e.el
', an interface to the MH mail system.
expand.el
', which uses the abbrev
mechanism for inserting programming constructs.
msb.el
', which provides more flexible menus
for buffer selection, and rewrote `dabbrev.el
'.
checkdoc.el
'.
appt.el
', functions to notify users of their
appointments. It finds appointments recorded in the diary files
generated by Edward M. Reingold's calendar
package.
allout.el
', a mode for manipulating and
formatting outlines, and `icomplete.el
', which provides incremental
completion feedback in the minibuffer.
perl-mode.el
', a mode for editing Perl code.
hideif.el
', support for
hiding selected code within C #ifdef
clauses.
fast-lock.el
', which caches the face data computed by Font Lock mode,
lazy-lock.el
', which delays fontification in Font Lock mode
until text is actually displayed, and
regexp-opt.el
', which generates a regular expression from a list
of strings.
bibtex.el
', a mode for editing BibTeX
bibliography files.
autoinsert.el
', which provides automatic
mode-sensitive insertion of text into new files.
blackbox.el
', a version of the traditional
blackbox game.
compile.el
', a package for running compilations in a buffer, and
then visiting the locations reported in error messages,
etags.el
', a package for jumping to function definitions and
searching or replacing in all the files mentioned in a `TAGS
' file,
find-dired.el
', for using dired
commands on output from the
find
program, with Sebastian Kremer,
map-ynp.el
', a general purpose boolean question-asker,
autoload.el
', providing semi-automatic maintenance of autoload
files, and
upd-copyr.el
', providing semi-automatic maintenance of copyright
notices in source code.
derived.el
', which allows one to define new
major modes by inheriting key bindings and commands from existing major
modes.
hscroll.el
' which does horizontal scrolling
automatically.
cl-indent.el
', a package for indenting Common Lisp code,
ebuff-menu.el
', an ``electric'' browser for buffer listings,
ehelp.el
', bindings for browsing help screens,
rfc822.el
', a parser for E-mail addresses in the RFC-822 format,
used in mail messages and news articles,
terminal.el
', a terminal emulator for Emacs subprocesses, and
yow.el
', an essential utility (try M-x yow).
aixcc.lex
', a pre-processor designed to help
Emacs parse the error messages produced by the AIX C compiler.
makefile.el
', a mode for
editing makefiles.
ws-mode.el
', providing WordStar emulation.
kermit.el
', a package to help the Kermit
dialup communications program run comfortably in an Emacs shell buffer.
ange-ftp.el
', providing transparent FTP support.
emacstool.c
', support for running Emacs under SunView/Sun Windows,
sun-curs.el
', cursor definitions for Sun Windows, and
sun-fns.el
', providing mouse support for Sun Windows.
hanoi.el
', an animated demonstration of
the ``Towers of Hanoi'' puzzle.
find-func.el
', which makes it easy to find
the source code for an Emacs Lisp function or variable.
executable.el
'
sh-script.el
', a mode for editing shell scripts,
skeleton.el
', implementing a concise language for writing
statement skeletons, and
two-column.el
', a minor mode for simultaneous two-column editing.
soundex.el
', an implementation of the
Soundex algorithm for comparing English words by their pronunciation.
cmacexp.el
', providing a command which
runs the C preprocessor on a region of a file and displays the results.
fortran.el
', a mode for
editing FORTRAN code.
refer.el
', commands to look up references in
bibliography files by keyword.
vc.el
', an interface to the RCS and SCCS source code version
control systems, with Paul Eggert,
gud.el
', a package for running source-level debuggers like GDB
and SDB in Emacs,
asm-mode.el
', a mode for editing assembly language code,
cookie1.el
', support for ``fortune-cookie'' programs like
`yow.el
' and `spook.el
',
finder.el
', a package for finding Emacs Lisp packages by keyword
and topic,
lisp-mnt.el
', functions for working with the special headers used
in Emacs Lisp library files, and
load-history
lisp variable, which
records the source file from which each lisp function loaded into Emacs
came.
tex-mode.el
', a mode for editing
TeX files, as have William F. Schelter, Dick King, Stephen Gildea,
Michael Prange, and Jacob Gore.
tpu-edt.el
' and its associated files,
providing an emulation of the VMS TPU text editor emulating the VMS EDT
editor, and `vt-control.el
', providing some control functions for
the DEC VT line of terminals.
vms-pmail.el
', support
for using Emacs within VMS MAIL.
bg-mouse.el
', support for the mouse on the BBN
Bitgraph terminal.
handwrite.el
', which converts text
into ``handwriting.''
float.el
', implementing a floating-point
numeric type using Lisp cons cells and integers.
scheme.el
', a mode for editing Scheme
code, and `fakemail.c
', an interface to the System V mailer.
winner.el
', which records
recent window configurations so you can move back to them.
float-sup.el
' and `floatfns.c
'), and
`sup-mouse.el
', support for the Supdup mouse on lisp machines.
completion.el
', providing
dynamic word completion.
vip.el
', an emulation of the VI editor.
telnet.el
', support for telnet
sessions within Emacs.
battery.el
', a package for displaying
laptop computer battery status, and `info-look.el
', a package for
looking up Info documentation for symbols in the buffer.
tcl.el
', a mode for editing Tcl/Tk scripts.
modula2.el
', a mode for
editing Modula-2 code, based on work by Mick Jordan and Peter Robinson.
dunnet.el
', a text adventure game.
gomoku.el
', a Go Moku game played
against Emacs, and `mpuz.el
', a multiplication puzzle.
pp.el
', a pretty-printer for lisp objects.
uce.el
', for responding to unsolicited
commercial email.
hilit-chg.el
', which uses colors
to inclidate recent editing changes.
comint.el
', a library for modes running interactive command-line-
oriented subprocesses,
cmuscheme.el
', for running inferior Scheme processes,
inf-lisp.el
', for running inferior Lisp process, and
shell.el
', for running inferior shells.
gulp.el
'.
pascal.el
', a mode for editing Pascal code.
backquote.el
', a lisp macro for creating
mostly-constant data.
help-macro.el
', a macro for writing interactive
help for key bindings.
icon.el
', a mode for editing Icon code.
ielm.el
', a mode for interacting with the Emacs
Lisp interpreter as a subprocess.
snmp-mode.el
'.
scribe.el
', a mode for editing Scribe
files, and `server.el
', a package allowing programs to send files
to an extant Emacs job to be edited.
pc-select.el
', which rebinds keys for
selecting regions to follow many other systems.
imenu.el
', a framework for
browsing indices made from buffer contents.
vcursor.el
', which implements a
``virtual cursor'' that you can move with the keyboard and use for
copying text.
midnight.el
'.
hilit19.el
', a package providing
automatic highlighting in source code buffers, mail readers, and other
contexts.
spook.el
', and even if he did, he
really didn't mean for you to use it in an anarchistic way.
word-help.el
', which is
part of the basis for `info-look.el
'.
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.
ps-print.el
', which converts
Emacs text to Postscript.
prolog.el
', a mode for editing Prolog code,
rmailsort.el
', a package for sorting messages in RMAIL folders,
metamail.el
', an interface to the Metamail program,
tcp.el
', emulation of the open-network-stream
function for
some Emacs configurations which lack it, and
timezone.el
', providing functions for dealing with time zones.
webjump.el
', a ``hot links'' package.
meta-mode.el
', for editing MetaFont code.
forms.el
' and its associated files, defining a
mode for filling in forms, and `iso-acc.el
', a minor mode providing
electric accent keys for text using the ISO-8859 character set.
assoc.el
', a set of utility functions for working with association
lists,
cc-mode.el
', a major mode for editing C and C++ code, based on
earlier work by Dave Detlefs, Stewart Clamen, and Richard Stallman,
elp.el
', a new profiler for Emacs Lisp programs.
man.el
', a mode for reading UNIX manual pages,
regi.el
', providing an AWK-like control structure for
use in lisp programs, and
reporter.el
', providing customizable bug reporting for lisp
packages.
supercite.el
', a minor mode for quoting sections of mail messages
and news articles,
desktop.el
', facilities for saving some of Emacs's state between
sessions,
s-region.el
', commands for setting the region using the shift key
and motion commands, and
dos-fns.el
', functions for use under MS-DOS.
He also helped port Emacs to MS-DOS.
apropos.el
', a command to find commands, functions, and variables
whose names contain matches for a regular expression,
resume.el
', support for processing command-line arguments after
resuming a suspended Emacs job, and
mail-extr.el
', a package for extracting names and addresses from
mail headers, with contributions from Jamie Zawinski.
vhdl-mode.el
'.
b2m.c
', a program to convert mail files from
RMAIL format to Unix mbox
format.
mouse-sel.el
', providing enhanced mouse
selection, and `thingatpt.el
', a library of functions for finding
the ``thing'' (word, line, s-expression) containing point.
emerge.el
', a package for interactively
merging two versions of a file.
emacs-lock.el
', which makes it harder
to exit with valuable buffers unsaved.
mailabbrev.el
', a package providing automatic expansion of mail
aliases, and
tar-mode.el
', providing simple viewing and editing commands for
tar files.
gametree.el
'.
vi.el
', an emulation of the
VI text editor.
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.
Concept Index Top Screen