cks@white.toronto.edu (Chris Siebenmann) (06/27/89)
Some time back I sugested reorganizing the lisp directory and adding a README describing each file so that people could more easily find interesting things. Here's my first pass at such a README and reorganization; comments are welcome (please mail major ones, and I'll post a revised readme in a week or so). In general, it would be very helpful if authors of new elisp files could put a one-line description of the file as the first line. A lot of the .el files do have this, but some either lack one or have an erroneous one. Divisions --------- lisp - things used in Emacs building lisp/local - things different at each site/machine Emacs was compiled on. lisp/core - things loaded in loadup.el; emacs will not load & run without these (or the things in lisp, or lisp/local) lisp/modes - Major modes for editing things lisp/modes/<mode> - Extra files for profligate major modes lisp/interfaces - Things that interface to other programs, such as subordinate lisps or the MH mail system. lisp/diversions - Fun and amusing things (which are intended to be nothing else). lisp/packages - User-usable collections of Lisp functions that aren't either interfaces, major modes, or diversions. lisp/functions - "packages" that aren't user-callable, or aren't usually directly [auto]loaded by the user. lisp/utils - Utilities primarily useful to Emacs maintainers and hackers, but not to ordinary users. lisp/term - terminal-specific files lisp/term/<name> - Extra files for profligate terminals lisp/misc - stuff that doesn't seem to fit anywhere. Lisp files breakdown -------------------- [format: name description where it goes Files already in lisp/terms are not listed. ] abbrev.el Abbreviation mode commands lisp/core abbrevlist.el List one abbrev table alphabetically ordered. lisp/misc ada.el Ada editing mode lisp/modes add-log.el Change log maintenance commands for Emacs lisp/packages autoinsert.el Automatic mode-dependent insertion of text into new files. lisp/packages backquote.el Backquote package for Elisp programmers lisp/core bibtex.el Simple BibTeX mode for GNU Emacs lisp/modes blackbox.el Blackbox game in Emacs Lisp lisp/diversions buff-menu.el Buffer menu main function and support functions. lisp/core bytecomp.el Compilation of Lisp code into byte code. lisp/utils c-fill.el C comment mode - An auto-filled comment mode for gnu c-mode. lisp/modes c-mode.el C code editing commands for Emacs lisp/core cal.el Generate & display calenders for months and years (??) lisp/packages chistory.el List command history of commands typed in minibuffer lisp/packages cl-indent.el Major mode for editing (Common) Lisp code lisp/modes cl.el Common-Lisp extensions for GNU Emacs Lisp. lisp/functions cmacexp.el Expand C macros using the preprocessor (??) lisp/misc compare-w.el Compare text between windows for Emacs. lisp/packages compile.el Run compiler under Emacs, and parse its error messages. lisp/interfaces dabbrev.el Dynamic abbreviation package for GNU Emacs. lisp/packages dbx.el Run dbx under Emacs lisp/interfaces debug.el Debuggers and related commands for Emacs lisp/utils dired.el View and "edit" directories lisp/modes disass.el Disassembler for compiled Emacs Lisp code lisp/utils disassociate.el Scamble text amusingly lisp/diversions doctex.el Grind GNU Emacs DOC file into LaTeX input lisp/utils doctor.el Psychological help for frustrated users. lisp/diversions ebuf-menu.el Electric buffer mode, improved buffer-menu-mode (??) lisp/modes echistory.el Electric minibuffer command history lisp/packages edt-doc.el Documentation for the EDT package lisp/modes ? (should be bundled with edt.el?) edt.el EDT emulation package lisp/modes ehelp.el Electric help mode lisp/modes electric.el Window maker and Command loop for `electric' modes. lisp/functions emacsbugs.el Command to report Emacs bugs to appropriate mailing list. lisp/misc files.el File input and output commands for Emacs lisp/core fill.el Fill commands lisp/core flame.el Generate sentences of random flames. lisp/diversions float.el Floating point arithmetic package. lisp/functions fortran.el A mode for editing Fortran programs lisp/modes ftp.el File input and output over a network using FTP lisp/packages gdb.el Run gdb under Emacs lisp/interfaces gosmacs.el Rebindings to imitate Gosmacs. lisp/misc grow-vers.el when building emacs, bump version number lisp hanoi.el The towers of hanoi game lisp/diversions help.el Help commands for Emacs lisp/core helper.el utility help package for electric modes lisp/functions hideif.el Hides selected code within ifdef. lisp/packages icon.el A mode for editing programs in the Icon language lisp/modes inc-vers.el when building emacs, increment the version number lisp indent.el Indentation commands for Emacs lisp/core info.el Info package for showing FSF manuals lisp/modes informat.el Info support functions package lisp/functions isearch.el Incremental search commands lisp/core kermit.el Additions to shell mode for use with kermit, etc. lisp/packages keypad.el Terminal-independent keypad and function key bindings. lisp/functions ledit.el Emacs side of ledit interface for editing Lisp with Emacs (??) lisp/interfaces life.el Conway's `Life' for GNU Emacs lisp/diversions lisp-mode.el Major mode for editing Lisp code. lisp/core lisp.el Lisp editing commands for Emacs lisp/core loaddefs.el Define standard autoloads and keys of other files. lisp loadup.el Load up standardly loaded Lisp files lisp lpr.el Print Emacs buffer on line printer. lisp/packages macros.el Non-primitive commands for keyboard macros. lisp/packages mail-utils.el Utility functions used both by rmail and rnews lisp/functions mailalias.el Expand mailing address aliases defined in ~/.mailrc. lisp/functions mailpost.el For people using rmail without sendmail & with MH lisp/functions makesum.el Generate key binding summary for Emacs lisp/packages man.el Read in and display parts of Unix manual. lisp/packages medit.el Emacs under MDL; interface Emacs and MEDIT package lisp/interfaces meese.el ??? lisp/misc mh-e.el GNU Emacs frontend to the MH mail system lisp/interfaces mim-mode.el Mim (MDL in MDL) mode. lisp/modes mim-syntax.el Syntax checker for Mim (MDL). lisp/packages mlconvert.el Convert buffer of Mocklisp code to real lisp. lisp/utils mlsupport.el Run-time support for mocklisp code. lisp/utils modula2.el Modula-2 editing support package lisp/modes novice.el Handling of disabled commands ("novice mode") for Emacs. lisp/packages nroff-mode.el major mode for editing nroff source lisp/modes options.el Edit Options command for Emacs. lisp/modes outline.el Outline mode commands for Emacs lisp/modes page.el Page motion commands for emacs. lisp/core paragraphs.el Paragraph and sentence parsing. lisp/core paths.el Define pathnames for use by various Emacs commands. lisp picture.el "Picture mode" -- editing using quarter-plane screen model. lisp/modes prolog.el Major mode for editing Prolog & running it under Emacs lisp/modes (linked into lisp/interfaces?) rect.el Rectangle functions for GNU Emacs. lisp/packages register.el Register commands for Emacs. lisp/core replace.el Replace commands for Emacs. lisp/core rfc822.el Hairy rfc822 parser for mail and news and suchlike lisp/functions rmail.el "RMAIL" mail reader for Emacs. lisp/modes rmailedit.el "RMAIL edit mode" Edit the current message. lisp/modes/rmail rmailkwd.el "RMAIL" mail reader for Emacs. lisp/modes (?? whats the difference between rmail.el & this?) rmailmsc.el Misc. rmail functions. lisp/modes/rmail rmailout.el "RMAIL" mail reader for Emacs: output message to a file. lisp/modes/rmail rmailsum.el "RMAIL" mail reader for Emacs: produce summaries lisp/modes/rmail rnews.el USENET news reader for gnu emacs lisp/modes rnewspost.el USENET news poster/mailer for GNU Emacs lisp/modes/rnews saveconf.el Save Emacs buffer and window config between editing sessions. lisp/packages scheme.el Scheme mode, and its idiosyncratic commands. lisp/modes scribe.el scribe mode, and its ideosyncratic commands. lisp/modes sendmail.el Mail sending commands for Emacs. lisp/modes server.el Lisp code for GNU Emacs running as server process. lisp/interfaces shell.el Run subshell under Emacs lisp/interfaces simple.el Basic editing commands for Emacs lisp/core simula.el Simula mode lisp/modes site-init.el Various site-specific setups. lisp/local sort.el Commands to sort text in an Emacs buffer. lisp/packages spell.el pelling correction interface for Emacs. lisp/packages spook.el Spook phrase utility; frustrate automated keyword scanners lisp/diversions startup.el Process Emacs shell arguments lisp/core studley.el StudlyCaps (tm)(r)(c)(xxx) lisp/misc subr.el Basic lisp subroutines for Emacs lisp/core sun-cursors.el Cursor definitions for Sun windows lisp/terms/sun sun-fns.el Subroutines of Mouse handling for Sun windows lisp/terms/sun sun-keys.el Support (cleanly) for Sun function keys. lisp/terms/sun sun-mouse.el Mouse handling for Sun windows lisp/terms/sun sup-mouse.el GNU Emacs code for lambda/supdup mouse lisp/terms tabify.el Tab conversion commands for Emacs lisp/packages tags.el Tags facility for Emacs. lisp/packages telnet.el telnet around from inside Emacs. lisp/interfaces terminal.el Terminal emulator for GNU Emacs. lisp/interfaces tex-mode.el A mode for editing TeX files. lisp/modes tex-start.el allow one to invoke GNU Emacs inside TeX82 (??) lisp/misc texinfmt.el Convert texinfo files to info files. lisp/packages texinfo.el Major mode for editing texinfo files. lisp/modes text-mode.el Major mode for editing text buffers. lisp/core time.el Display time and load in mode line of Emacs. lisp/packages uncompress.el Automatically uncompress and compress files you edit (??) lisp/packages underline.el Insert or remove underlining (done by overstriking) in Emacs. lisp/functions undigest.el "RMAIL" mail reader for Emacs: undigest a mail digest lisp/modes/rmail unused.el Editing commands in GNU Emacs that turned out not to be used. lisp/misc userlock.el Handle some locking lisp/core version.el Record version number of Emacs. lisp/local vi.el Emulate the vi editor, like vip.el lisp/modes view.el Peruse file or buffer without editing. lisp/modes vip.el Emulate the vi editor, like vi.el lisp/modes vms-patch.el Override parts of files.el for VMS. lisp/core vmsproc.el Run asynchronous VMS subprocesses under Emacs lisp/core window.el GNU Emacs window commands aside from those written in C. lisp/core x-menu.el X10/X11 menu handling functions. lisp/terms/x x-mouse.el Mouse support for X window system. lisp/terms/x xsheme.el Run Scheme under Emacs lisp/interfaces yow.el Produce Zippy the Pinhead quotes lisp/diversions -- "I shall clasp my hands together and bow to the corners of the world." Number Ten Ox, "Bridge of Birds" Chris Siebenmann ...!utgpu!{ncrcan,ontmoh!moore}!ziebmef!cks cks@white.toronto.edu or ...!utgpu!{,csri!}cks
tale@pawl.rpi.edu (David C Lawrence) (06/27/89)
My only complaint about this whole scheme is that the current library loader would need to be changed to descend subirectories in emacs/lisp. Right now the only subdirectory to lisp is term and that usually only gets called during start-up processing. I don't want to have to type M-x load-l SPC diversions/life.el RET for a simple diversion (perhaps a poor example, but the concept is extensible). Hopefully the overhead in a loader which checks directories (like man(1)) would not be too great. Dave -- (setq mail '("tale@pawl.rpi.edu" "tale@itsgw.rpi.edu" "tale@rpitsmts.bitnet")) "I realize the Internet isn't the whole world, but it is the center of it." -- Greg Woods