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