comp.emacs 上的一个帖子Emacs references: pointers to ports, packages, papers, lisp

Announce: "Emacs references: pointers to ports, packages, papers, lisp"

    [X]Emacs FAQ is available to you via keypress C-h F.
    Official GNU Emacs FAQ available also at

    List of Emacs resources at
    from where this is an excerpt. Have a look ar Stephen's condenced
    lisp list at

       1.0 Document id
           1.1 Description
           1.2 Emacs first aid
              1.2.1 Finding old Emacs packges or articles
              1.2.2 Emacs mailing lists and newsgroups
              1.2.3 IRC and Emacs channels
              1.2.4 Emacs webring(s)
              1.2.5 Emacs and XEmacs usage percentages
           1.3 Developer contact addresses and site list

       2.0 General information
           2.1 Free software pointers
           2.2 Free Software articles
           2.3 Other documents
           2.4 Jokes
              2.4.1 The Word Emacs
              2.4.2 New commands in Emacs
           2.5 GNU Emacs
           2.6 GNU Emacs history
           2.7 XEmacs - Emacs the next generation
           2.8 Emacs or XEmacs future plans
           2.9 Emacs and XEmacs compatibility issues
           2.10 Emacs resources
           2.11 Emacs books, free
           2.12 Emacs books, commercial
           2.13 Lisp references
           2.14 Emacs and misc links

       3.0 Win32
           3.1 Win32 Emacs ports
           3.2 Win32 XEmacs ports
              3.2.1 Compiling XEmacs with cygwin
              3.2.2 CVS access
              3.2.3 Tips for debugging
           3.3 Emacs-like Win32 ports
           3.4 NTEmacs and clisp
           3.5 NTEmacs and lisp package
           3.6 NTEmacs and printing
              3.6.1 NT print
              3.6.2 Gnu enscript
           3.7 Cygwin
              3.7.1 Reporting Cygwin problems
           3.8 Win32 Unix software ports
           3.9 Win32 terminal programs
           3.10 Win32 ftp clients
           3.11 Win32 programs and Emacs feel
           3.12 Win32 miscellaneous

       4.0 Emacs tips
           4.1 Emacs startup and load-path
           4.2 Loading files from .emacs
           4.3 Many emacs startup files
           4.4 Editing files as ROOT
           4.5 Saving files as Unix

       5.0 Byte compiling files
           5.1 Compiling lisp files
           5.2 Shell alias
           5.3 Dired byte compilation

       6.0 Reporting bugs or improvements
           6.1 Activating debug
           6.2 Use uncompiled packages
           6.3 Use package's contact function
           6.4 Requesting changes

       7.0 Library kits
           7.1 CEDET, Collection of Emacs Dev Env Tools
           7.2 Tiny Tools kit
           7.3 Ttn Emacs kit
           7.4 Dot files

       8.0 Gnus
           8.1 Gnus homepage
           8.2 Gnus grouplens
           8.3 Gnus-eyecandy.el
           8.4 Gnus-bbdb.el (*)
           8.5 Gnus-filterhist.el
           8.6 Gnus-junk.el, Send UBE complaint
           8.7 Gnus-ml.el, Mailing list minor mode for gnus (*)
           8.8 Gnus-todo.el
           8.9 Deja.el, Search dejanews with nnweb
           8.10 Message-utils.el
           8.11 Message-x.el, customizable completion in message headers
           8.12 Messkeyw.el, automatic keyword support during composition
           8.13 Ngn.el, insert newsgroup name into buffer using completion
           8.14 Nnmaildir.el, one group per maildir
           8.15 Nnir.el, search mail with various search engines
           8.16 Nnir-grepmail.el --- A grepmail plugin for nnir.el
           8.17 Nnimap.el, IMAP client (*)
           8.18 Fogey-subscribe.el
           8.19 Rmail-spam-filter.el
           8.20 TinyGnus.el, additional gnus utilities
           8.21 Uce.el, reply to unsolicited commercial email
           8.22 Spamprod.el, generate spam complaint email
           8.23 Vcard.el (*)

       9.0 Mail
           9.1 Getting remote mail
           9.2 Bbdb.el, email database (*)
           9.3 Bbdb-pgp.el (*)
           9.4 Bbdb-mail-folders.el
           9.5 Bbdb-expire.el, expiry and expire-proof entries for the BBDB
           9.6 Blackbook.el, manage email aliases easily
           9.7 EUDC, the Emacs Unified Directory Client (LDAP)
           9.8 Epop.el, General POP support for all MUAs
           9.9 Footnote.el (*)
           9.10 Fortunesig.el
           9.11 Feedmail.el, replacement for sendmail (*)
           9.12 Ldbdb.el, Little Brother's Database interface
           9.13 MH Mail user agent
           9.14 Rmail-extras.el, support remote inboxes
           9.15 Rmailsort.el, sort by date-author-time permanently
           9.16 Signature.el
           9.17 Tc.el, a lightweight to supercite
           9.18 TinyMail.el, email minor mode + email notification package
           9.19 TinyRmail.el, additional RMAIL utilities
           9.20 Unmunge.el
           9.21 Vm-complain.el, send spam complaint

       10.0 Mime
           10.1 Mime package setups, articles or pages
           10.2 Rmime.el
           10.3 Tm.el
           10.4 Semi and apel
           10.5 Extra tools for mime viewers

       11.0 WWW
           11.1 Apache-mode.el
           11.2 Browse-help.el, WWW context-sensitive help
           11.3 Css-mode.el, Cascading style sheet handling
           11.4 Emacs-wiki.el, Emacs-friendly markup
           11.5 Hbmk.el, Manage bookmarks in HTML
           11.6 Html menus, write html page
           11.7 Html-helper-mode.el - Visual basic, ASP, JSP
           11.8 Html-toc.el
           11.9 Htmlize.el, font-lock to html converter (*), XEmacs
           11.10 Httpd.el, Emacs inetd webserver
           11.11 Iso-sgml.el
           11.12 Mkhtml.el, Create HTML with links
           11.13 Psgml-mode.el, HTML, XML, SGML (*)
           11.14 Psgml extension
           11.15 Quickurl.el, insert URL at point
           11.16 TinyUrl, url finder minor mode
           11.17 Watson.el, query search engines
           11.18 Web-mode.el, cvsweb
           11.19 Wup.el, web page distribution
           11.20 XAE, XML Authoring Environment
           11.21 Xml-lite.el, an indentation-engine for XML
           11.22 XSLT (Apache Xalan)

       12.0 Version control
           12.1 Version control books
              12.1.1 RCS Books
              12.1.2 CVS Books
           12.2 Comparision of version control sotfware
           12.3 CVS software
           12.4 CVS and Emacs
           12.5 Installing CVS to NT Emacs
              12.5.1 INTRODUCTION
              12.5.2 THE DISTRIBUTION
              12.5.3 INSTALLATION
              12.5.4 USING CVS UNDER EMACS
           12.6 Accurev software
           12.7 Clearcase software
           12.8 RCS software
           12.9 PRCS, Project Revision Control System
           12.10 PCVS
           12.11 StarTeam source control system
           12.12 Perforce P4 revision control software
           12.13 Starteam.el, VC-type mode for StarTeam
           12.14 WinNT MKS Source Integrity revision control software
           12.15 Visual SourceSafe
           12.16 Razor
           12.17 BitKeeper
           12.18 Version control articles
           12.19 SCM Continuous Change Management
           12.20 SCM CodeSave
           12.21 SCM, Software Configuration Management links

       13.0 Programming
           13.1 Ascii.el
           13.2 C and Java code browser (Xref-Speller)
           13.3 C-mode-addons.el, some addon functions for c-mode
           13.4 C-includes.el
           13.5 Cc-mode (*)
           13.6 Cc-mode with correct tab-indent
           13.7 Cc-tempo-electric.el
           13.8 Cperl-mode.el (*), [X]Emacs
           13.9 Delphi mode
           13.10 ECB, Emacs code Browser
           13.11 EDE, Emacs development environment
           13.12 Eiffel-mode.el
           13.13 Else-mode.el, language sensitive editing package
           13.14 Glasses.el, MakeThis Make_This
           13.15 IDL Interactive Data Language (*)
           13.16 Java buffi.el, compile multiple java projects
           13.17 Java Expert System Shell (jess-mode)
           13.18 Java Jdok.el, Javadoc template generator
           13.19 Java-Find.el, find and visit Java source files
           13.20 Java-Font-Lock20.el
           13.21 Javahelp.el, Contextual java help
           13.22 Jcall.el, call Java from Elisp
           13.23 Jde.el, Java Development Environment (JDE or JDEE)
           13.24 Java-open.el
           13.25 Java Template, jtemplate.el
           13.26 Lazy-look.el, context-sensitive language help
           13.27 Lisp variants
           13.28 Macro mode m4 (*)
           13.29 Maplev.el, Maple code
           13.30 Mathlab-mode.el
           13.31 M56k.el, mode for Motorola's DSP56300 assembly code
           13.32 Multiple major modes in same buffer
              13.32.1 mml.el
              13.32.2 mml.el
              13.32.3 multi-mode.el
              13.32.4 two-mode.el
           13.33 OO-Browser
           13.34 Showing tabs in buffer
              13.34.1 Ascii-display.el
              13.34.2 Tab-display.el

       14.0 Lisp programming
           14.1 Writing portable XEmacs and Emacs code
           14.2 Autolisp.el, edit AutoCAD AutoLISP files
           14.3 Bm-hcmplt.el, facility to display descriptions of completions
           14.4 Checkdoc.el (*), Emacs
           14.5 Cl-array.el, CL's multi-dimensional arrays
           14.6 Closure.el (*), Emacs
           14.7 Crm.el, completing read multiple
           14.8 Eieio, subset of CLOS (Common Lisp Object System)
           14.9 Elder.el, emacs lisp document writer
           14.10 Eldoc.el, show Emacs lisp function arglist (*), [X]Emacs
           14.11 Elint, Emacs lisp syntax checker
           14.12 Ell.el, Browse the Emacs Lisp List
           14.13 Elp.el, emacs lisp profiler (*), [X]Emacs
           14.14 Eval-expr.el, Better eval expression prompt
           14.15 Extre.el, extended regular expression syntax support
           14.16 Find-func.el, find func definition near point (*) [X]Emacs
           14.17 Getdoc.el
           14.18 Gnueval.el, fill out GNU evaluation form
           14.19 Hyperspec.el, browse Common Lisp specs
           14.20 Ilisp.el, Inferior Lisp replacement
           14.21 Lisp-index.el, Index Lisp files, with descriptions
           14.22 Lispdir.el
           14.23 Regexp-opt.el (*), Emacs
           14.24 Minibuffer-complete-cycle.el, cycle Completion buffer
           14.25 Obarray-fns.el, obarray-manipulating routines
           14.26 Regress.el
           14.27 Require statement tracing
           14.28 Run-command.el, lib for running external commands
           14.29 Sregex.el (*)
           14.30 Texidoc.el, have texi embedded in defvar
           14.31 Timerfunction.el
           14.32 Tmenu.el, a text based interface to the menubar
           14.33 Working.el, show progress while working
           14.34 Xray.el, display internal object structures

       15.0 Modes
              15.0.1 Mason-mode.el
           15.1 PHP modes
           15.2 Project-am.el, a project mode for emacs based on automake
           15.3 Ps-mode.el, mode for editing postscript code
           15.4 Tmmofl.el, toggles other minor modes based on font lock info
           15.5 Sawmill.el
           15.6 SML-mode.el
           15.7 Verilog-mode.el
           15.8 Winmgr-mode.el, generic window manager mode
           15.9 W32-help.el

       16.0 Shell
           16.1 ANSI-color.el, translate ANSI into text-properties (*)
           16.2 Dircolors.el, provide the same facility of ls --color inside emacs
           16.3 Eshell.el, Emacs shell
           16.4 Fshell.el
           16.5 Mode-compile, remote compilation
           16.6 Which.el, where is command

       17.0 Processes
           17.1 Analog.el, monitor lists of files or command output
           17.2 Df.el, show disk usage
           17.3 Run-command.el, running external commands
           17.4 Top.el, running top(1) in emacs window
           17.5 Wget.el, wget interface for emacs

       18.0 Networking and Clients
           18.1 AIM - AOL Instant messenger
           18.2 Dig.el, Domain Name System dig interface (*), Gnus
           18.3 Firewall.el, A tunnel for network connection
           18.4 ICQ - I Seek You, XEmacs and Linux ONLY (eicq)
           18.5 Junkbust.el, configuring the Internet Junkbuster Proxy
           18.6 Lookup.el, electronic dictionaries

       19.0 System files
           19.1 Protocols.el, reading the contents of /etc/protocols
           19.2 Services.el, reading the contents of /etc/services

       20.0 Find-file, ftp, ssh
           20.1 Iman.el, man and info page completion
           20.2 Efs, successor to ange-ftp (*). XEmacs only
           20.3 Filecache.el, files using a pre-loaded cache
           20.4 Fff.el, fast file finder
           20.5 Ff-paths.el, searches certain paths to find files
           20.6 Tramp.el, transparent remote accs, ssh

       21.0 Dired
           21.1 Dired-a.el, extensions to dired
           21.2 Dired-single.el, reuse the current dired buffer
           21.3 Js-dired.el, lisp ls emulation for win32
           21.4 Browsing ls-lR
           21.5 Mc.el, Midnight commander emulation
           21.6 Md5-dired.el, make dired sensitive to file changes
           21.7 Dired-dd.el, Dired Drag and Drop
           21.8 Dired-single.el
           21.9 Dired-sort.el, sort by date-type-size-field
           21.10 Dired-sort-menu.el,
           21.11 Dired-tar.el
           21.12 Wdired.el, rename files in dired

       22.0 Compression and cryptography
           22.1 Browse-tar.el
           22.2 Crypt++
           22.3 Mailcrypt.el (*)
           22.4 Mc-safe-sign-message.el
           22.5 Ssl-hacks.el
           22.6 TinyPgp.el

       23.0 Tags
           23.1 Sure-tags.el

       24.0 Backup
           24.1 Auto-save.el (*)
           24.2 Backup-dir.el, place backups to separate dir (*)
           24.3 Backup-subdir.el, backup files in separate directory
           24.4 Ebackup.el, Enhanced backup operation for Emacs

       25.0 Drawing
           25.1 Artist.el, hi-tech character based drawing package
           25.2 Boxquote.el, wrapping text
           25.3 Gnuplot.el, mouse driven GUI for gnuplot program
           25.4 Rebox.el, Handling of comment boxes in various styles
           25.5 Rect-mark.el, deleting-manipulating-moving rectangles
           25.6 Table.el,

       26.0 Writing, reading and modifying documents
           26.1 AUCTeX
           26.2 Auto-capitalize.el, capitalize the first word
           26.3 Auto-correcting words
           26.4 Clipper.el, save strings of data for further use
           26.5 Blank-mode.el, Minor mode to visualize whitespace
           26.6 Deleting text
              26.6.1 General deleting utilities
              26.6.2 Deleting whitespace
           26.7 Dict.el, retrieving definitions of words
           26.8 DocBook IDE
           26.9 Faq-mode-el, reading faqs
           26.10 Flyspell.el and Ispell (*)
           26.11 Glyph-highlight.el, display non-ascii chars
           26.12 Ietf.el, IETF Document Retrieval
           26.13 Longlines.el, automatically wrap long lines Some text
           26.14 Maniac.el, fill like maniac
           26.15 Mult-press.el, home, end key-magic
           26.16 Pc-keys.el, Smart home and end keys
           26.17 Rewrite.el, rewrite text files with regexps
           26.18 RFC.el
           26.19 Rfc-page.el
           26.20 Rfc-util.el, RFC-util interface for emacs
           26.21 Rfcview.el, view IETF RFCs
           26.22 Translation.el, translation minor mode
           26.23 QA.el
           26.24 TinyTf.el, white paper minor mode
           26.25 Templates: tempo, skeleton, expand, dmacro
           26.26 Extra tools for document handling

       27.0 Organizing content
           27.1 Bookmark-menu.el, setup a menu of bookmarks
           27.2 Desire.el, Emacs startup file organir
           27.3 Esheet.el, Emacs spreadsheet
           27.4 Hideshow.el, display blocks of code (*), [X]Emacs, Emacs
           27.5 Hier-imenu.el, Hierarchical index menu for emacs
           27.6 Folding.el, keep your text or code organised (*), XEmacs
           27.7 Outline modes
           27.8 Outline-imenu.el
           27.9 SES, Emacs spreadsheet

       28.0 Tracking changes
           28.1 Autorevert.el (*), Emacs
           28.2 Blinking-cursor.el (*), XEmacs
           28.3 Change-mode.el, changes made get highlighted (*)
           28.4 Csdiff.el, component software diff
           28.5 Etail.el, tail -f
           28.6 Himark.el
           28.7 Hi-lock.el, highlight words (*), Emacs 21
           28.8 Highlight-current-line.el
           28.9 Hl-line.el, highlight the current line (*), Emacs
           28.10 Highline.el, Minor mode to highlight current line in buffer
           28.11 Linemenu.el, highlight current line
           28.12 Live-mode.el, periodically revert-file
           28.13 Mic-paren.el, highlight sexps (*), Xemacs
           28.14 Notes-mode.el, indexing system for on-line note-taking
           28.15 Records.el
           28.16 Remember.el, mode for remembering data
           28.17 Simplemerge.el, resolving CVS conflicts (*), Emacs
           28.18 Tail.el, tail -f
           28.19 Tinymy.el, y-or-n-p autorevert by timer process
           28.20 Time - Timecard-mode.el
           28.21 Time - Timeclock.el (*)
           28.22 Time - Timelog.el
           28.23 Todoo.el, editing todo files
           28.24 Todo-mode.el (*), Emacs
           28.25 Worklog-mode.el, keep track of stuff you do
           28.26 X-symbol (*), XEmacs

       29.0 Buffers
           29.1 A day with buffers
           29.2 Popup menu based buffer selection utilities
           29.3 Typing buffer name in echo area
           29.4 Buffer utilities
           29.5 Rolling buffers in same window
           29.6 Window selecting utilities
           29.7 Demax.el, Delete too narrow windows

       30.0 Desktop
           30.1 Overview of to state change packages
           30.2 Desktop.el and extensions to it
           30.3 Grabbox.el, project bookmarks
           30.4 Protbuf.el, protect buffers from accidental killing
           30.5 Session.el
           30.6 TinyDesk.el, simple file and dir information saver
           30.7 Windows.el

       31.0 Screen and window
           31.1 Escreen.el, mimic sun's screen(1)
           31.2 Follow-mouse.el
           31.3 Resize-help-window.el
           31.4 Screen-lines.el, minor mode
           31.5 Screenlines.el
           31.6 Winner.el, restore old window configurations
           31.7 Winring.el, Window configuration rings (*), Emacs 20.4

       32.0 Mouse
           32.1 Mouse-copy.el
           32.2 Mouse-extra.el, one-click text copy and move
           32.3 Strokes.el, mouse stroke commands (*), XEmacs
           32.4 Xt-mouse.el, mouse support for non-windowed emacs (*), [X]Emacs

       33.0 Amusement
           33.1 Ascii animation
           33.2 Comics.el, read
           33.3 Elite game
           33.4 Faith.el, Spread the word of Emacs
           33.5 Thinks.el, draw bubbles
           33.6 Zone.el, screen saver
           33.7 Paperclip-mode.el

       34.0 Music
           34.1 Cddb.el, CD DataBase interface
           34.2 Cda.el, interface to CD players
           34.3 Cdrw.el, frontend to various commandline CDROM
           34.4 Mp3-tools.el A simple Linux MP3 Tag Editor
           34.5 Mp3player.el, Interface to mpg123
           34.6 Workbone.el, CD player for program workbone

       35.0 Miscellaneous
           35.1 After-save-commands.el, update xrdb(1) after save
           35.2 Align.el (*)
           35.3 Apm.el, Power Management From Within (X)Emacs
           35.4 Archie.el, archie server search
           35.5 Autoarg.el, easy arguent passing to commands
           35.6 Auto-arg.el, passing arguents easily to commands
           35.7 Bm-man.el, unix man page completion
           35.8 Buffer-perm-map.el
           35.9 C-comment-edit2.el
           35.10 Calc.el
           35.11 Calculator.el, A simple pocket calculator for Emacs
           35.12 Color-mode.el
           35.13 Color-themes.el, preview and install color themes
           35.14 Comment.el
           35.15 Cib.el, Complete into Buffer for Emacs
           35.16 Complete-menu.el, complete items from x-popup
           35.17 Ctypes.el, custom defined types for font lock
           35.18 Dekeys, disable and enable keys without modifying keymaps
           35.19 Diminish-mode.el, modeline display help
           35.20 Etalk, run talk(1) in emacs buffer
           35.21 File-log.el, keep change information for each file.
           35.22 Gdialog.el, Widget frontend for directory-recursive text searches
           35.23 Igrep.el, an improved interface to grep
           35.24 Initsplit, code to split customizations into different files
           35.25 Irc, internet relay char system (*)
           35.26 Ishl.el, incremental search highlighting (*), Emacs
           35.27 Lprint, print to your local printer
           35.28 Mathlab.el
           35.29 Master.el, scroll other buffer
           35.30 Mss.el, Make smart Win32 shortcuts
           35.31 Multi-term.el, manage multiple term buffers
           35.32 Narrow-stack.el, recursive narrow
           35.33 Next-screen-line.el, Move logical next line even if long display
           35.34 Pager.el, Keep page up and down position
           35.35 Pcomplete, context aware complete
           35.36 Power-macros.el, assign macro to key
           35.37 Printing.el, Printing utilities.
           35.38 Redo.el, Redo/undo system (*), XEmacs
           35.39 Rpm.el, Redhat Linux package browser
           35.40 Rpm for Mandrake
           35.41 Rpm-spec-mode.el
           35.42 Setnu.el, permanent line numbers (*), XEmacs
           35.43 Sql modes
           35.44 Sqlplus-html.el, Render SQL*Plus HTML output on-the-fly.
           35.45 Tablature-mode.el
           35.46 Vi-dot.el, repeat the preceding command

       36.0 Ported xemacs or emacs packages
           36.1 Crisp.el, xemacs brief editor emulation
           36.2 Pc-select.el, select region with cursor keys (*), Emacs
           36.3 Ffap.el, find file at point (*), Emacs
           36.4 Printing.el
           36.5 Print - a2ps-print.el
           36.6 Ps-print.el, print font lock color buffers (*)
           36.7 Ps-print-interface.el
           36.8 Uptimes.el, Emacs uptime

       37.0 Emulation packages
           37.1 Cua.el, Windows key-bindings
           37.2 Fsf-mouse.el, FSF mouse emulation in XEmacs
           37.3 Fsf-compat, FSF function library in XEmacs

       38.0 Ancient packages or included in Emacs
           38.1 Browse-url.el, delegate url to www browsers (*)
           38.2 Custom.el (*), Emacs and XEmacs
           38.3 Fdb.el, ignore emacs error signals
           38.4 Filladapt.el, adaptive filling
           38.5 Mview.el, view minor mode
           38.6 Suggbind.el, keybind command reminder
           38.7 Smtpmail.el (*)
           38.8 Supercite.el, mail citing package (*)
           38.9 Term.el (*)
           38.10 W3.el browser (*)

       39.0 Directory listings of site-lisp
           39.1 File structure 2001-01
           39.2 File structure 2000-11
           39.3 File structure 1999
           39.4 Old structure of simple ~/elisp

Emacs first aid

        o   _Ell_ In addition to this page, a concise package list can be
            found from Stephen's Emacs Lisp List page at
        o   Emacs Wiki at Full link list
        o   Emacs Gnus community at
        o   Lisp archive project at
            lisp package page at and
        o   Newsgroup archives at
            and `' (aka. Quimby) has a full gnu.* feed.  No
            expiry is  done one these groups, so they can be used if you're
            looking for old articles.
        o   _Sourceforge_ Emacs projects. All the sourceforge projects have
            ftp area where you can pick the packages. The best method is to
            use CVS access for easy and efficient update. Learn more about
            CVS at Here is link to all Sourceforge
        o   _Savannah_ mimics the sourceforge for GNU projects at
        o   EmacsLisp Org.
        o   Dot Emacs home
        o   Emacs com. There is NO EMACS SITE at -
            because it is owned by "Zippy Technology"

        Emacs webring

        Formerly Emacs webring was hosted in Yahoo by Christoph Conrad
        and Ingo Koch. The current Emacs webring is hosted at by Steve Kemp.

2.0 General information

    2.1 Free software pointers

        o   _Open_ _Source_ - Free Redistribution.
        o   _GPL_ - GNU General Public License
        o   _LGPL_ Gnu Lesser General Public License
        o   _Perl_ _Artistic_ License
        o   _OPL_, Open Publication License
        o   Papers for _granting_ _copyright_ to FSF
            Or Phone to FSF office: +1 617 542 5942
        o   _GNU_ documentation for Bison, bash, cpp, gzip, make, rcs...
        o   _Opinions_ on various licenses and terms. See paper that
            discusses GPL vs. BSD at
            Open source or Free Software? See
            very good article titled "LinuxMonth: Open Source Licenses
            Explained" at or full article at

    2.2 Free Software articles

       "Richard Stallman (aka RMS), The saint of free software"
        Article by Andrew Leonard <> under Quotes used by permission of Andrew.

          ... But Stallman just doesn't care about pragmatic arguments -
          he declares he would prefer to use a free software program even
          if it wasn't the best solution for his needs. His stance makes
          some factions of the burgeoning "open source" community
          uncomfortable - so uncomfortable, in fact, that the very choice
          of the name "open source" demonstrates an attempt to distance
          those factions from the unsavory radicalism of Richard Stallman
          ..."The reason I care especially," said Stallman, "is that there
          is a philosophy associated with the GNU project"

       "Richard Stallman (aka RMS), The saint of free software (redux)"
        Article by Andrew Leonard <> under Quotes used by permission of Andrew.

          ...Last week, I profiled Richard Stallman, a central figure in the
          ongoing saga of the free software movement. Within minutes of the
          publication of the story, "The saint of free software," my
          e-mailbox began filling up with a provocative outpouring from
          Stallman's colleagues, friends and enemies.

       "An Ode to Richard Stallman"
        Linux Gazette issue #37 1999-02 By Stephen Adler <>.
        Quotes used by permission of Stephen.

          ...Jay begins. He tells us a story about how the free software
          movement started with Richard. Back some time ago at the MIT
          software labs, Richard was trying to print to some ding doing
          printer and couldn't. There was a software bug which stood
          between him and his printout. Richard wanted to solve the problem
          by getting the source code and fixing it. He couldn't, the source
          code was not available and more important, could not be made
          available because the company who sold MIT the printer would not
          hand over the code. The code was locked up behind legal doors and
          Stallman was not going to be able to solve this problem. Thus the
          beginning of the free software movement which has evolved into
          what we know today.

          ...[Stallman] The free software effort is about freedom, not
          software which costs nothing. A freedom which goes beyond source
          code and into the way we interact as a community. Free software
          is a manifestation of this freedom and is an example of it. I
          think it's best to see this in the opposite sense. When you are
          encumbered with software which you cannot change, even if you
          have the source code in front of you but are not allowed legally
          to change and distribute the changes, then your personal,
          inherent freedom has been taken from you.

       "More Articles on Richard Stallman"


   <power search>
            Date: Jun 6 1998
            Subject:  non-free documentation and GNU groups
            Search: FSF


        o   Articles concerning free software or Emacs documentation.
            See Thread starting with Barry Margolin 1998/11/17 which says
            that non-free software should not be advertised in GNU groups
        o   Thread about non-free _advertising_ in Gnu groups.
            ...Non-free Emacs documentation publishers should say in the
            cover of the book that with Emacs they get free docs already:

    2.3 Other documents

       "Netiquette" WWW version of the book
        Netiquette by Virginia Shea, published by Albion Books

        .#URL-HOME/emacs-keys.html    - Key binding help file
        .#URL-HOME/emacs-package-make.html - Checklist for making elisp packages
        .#URL-HOME/emacs-font.html    - Fontifying/Faces article file
        .#URL-HOME/emacs-code.html    - My personal thoughts about Emacs lisp

    2.4 Jokes

       2.4.1 The Word Emacs

        In the early days, when memory was tight and machines slow people
        got upset how much memory Emacs used. And it still uses all the
        memory it can get if you use GNUS with unlimited cache setting. You
        heard this a lot back then. And no wonder Emacs uses so many key
        combinations, because Emacs is actually.... [this is from Gnus
        manual...] What the word in reality means, is explained in the
        Emacs FAQ. See also the Emacs distribution and file `etc/JOKES'.

            Q: What does the word "EMACS mean again?"
            A: "Eight Megabytes And Constantly Swapping"
            (E)macs (M)akes (a) (C)omputer (S)low

       2.4.2 New commands in Emacs

          2000-12-03 thread under subject "Re: Gnu Emacs
          21?", participating writers Eli Zaretskii, Andre Spiegel, Stefan
          Monnier, Kai Gro?johann and the answering guy: Per Abrahamsen

   I need to graduate sometime

        With sufficient Emacs training, you will gain access to command:
        M-x write-thesis RET

   Err... I cannot find that in the manual... What does this command
   do when invoked with a prefix argument? I am also confused about
   the implementation of this command. How is the interaction
   between the supervisor and student simulated in lisp? And what
   function does emacs use to emulate extracting that last chapter
   before the deadline from the student, and the student getting the
   supervisor to actually read the damn thing. I tried an apropos
   search for "thesis-blood-from-stone" but got nothing....

        Without a prefix argument, it writes a master's thesis. You get a
        PhD thesis when you invoke it with a prefix argument, and as far as
        I recall, the quality of the resulting work can somehow be tuned by
        using numeric arguments. However, to avoid flooding the libraries
        on earth, I have heard that the command can only be invoked exactly
        once per user.

   Yes. You can imagine my dismay when I accidentally typed `M-x'
   `write-thesis' `RET' rather than the intended `M-x' `write-the-sis'
   `RET'. Perhaps when 21 is released I will get another shot. It is
   simply crushing to think I may have to write a thesis the
   old-fashioned way.

        Don't just whine about it here! Submit a bug report with M-x
        report-emacs-bug RET If you find some point of the documentation
        lacking or unclear. How do you expect the Emacs documentation ever
        to improve if the users are too lazy to even report the bugs and
        deficits they encounter? Sheesh, kids these days, they expect
        everything to be prepared for them, and have no sense of giving
        back! When *I* was young, we didn't ask what Emacs could do for us.
        We asked what we could do for Emacs. Kids of today could learn *a
        lot* from that! What does this command do when invoked with a
        prefix argument?

   What does the command do if you call it programmatically?

        Writes multiple theses, of course. What did you expect? Please read
        tutorial (type `C-h' `t') before bothering with such elementary
        questions. Each message costs the net hundreds if not thousands of

        (Poor fellow replied...) And you there, yes, you man. Don't attempt
        to answer a question when you obviously haven't a clue. Maybe you
        "tested" the command, and it did as you said, but that is just an
        accident. The type of thesis generated depends on 1) the previous
        generated thesis[1], and 2) an examination of the content of all
        the files the user have opened with Emacs[2]. It is not like the
        command is magic or anything.

        _Footnotes:_ [1] So if the previous generated thesis was a
        Master Thesis, the next will default to a PhD. Thesis. [2] So use
        W3 to read as many relevant online articles as possible, before
        invoking the command. And *don't* browse for porn unless that is
        what you want to graduate in.

   What a stupid user interface. Maybe you elders were content with
   something like that, but it is certainly not the type of thing
   users would expect in the 21st century. I bow before the
   enormous wisdom that must have gone into M-x write-thesis, but
   we need to find a way to use it effectively.

   What if I need to write multiple Master's Theses before embarking
   on my first PhD? And what if I write multiple PhD theses, and
   then again, a Master's Thesis to qualify for yet another PhD?
   Clearly, these possibilities weren't considered at all when
   designing the user interface of M-x write-thesis; you elders were
   content with that simplistic default mode (and DON'T tell me that
   I just need to hack a few lisp expressions to get what I want.
   I'm not attempting to write a PhD about EMACS, and besides I've
   got other things to do than spending hours or even days for
   writing a thesis!).

        When Emacs prompt you with: Thesis level (default `Master'):
        press TAB to see a list of available choices, then type the name
        of the one you prefer. You can use TAB to complete the answer
        after typing a unique prefix, or (I know you young ones love this)
        choose an answer by clicking the middle button while the mouse
        pointer is above the answer in the *Completions* buffer. If you
        don't have a mouse and are afraid to type, you can even switch to
        the *Completions* buffer, move the cursor to the answer, and press
        RET to select it. Isn't that amazing!

   I don't see how using the prefix argument to write multiple
   theses makes any sense at all. By what do these theses differ,
   then? They are all based on the currently loaded buffers, no? So
   am I supposed to actually READ them and find out which I like
   most or what?

   And what if I write multiple PhD theses, and then again, a
   Master's Thesis to qualify for yet another PhD?
   I suggest using the prefix argument to distinguish between a
   Master's Thesis and a PhD Thesis, period. Very simple, very easy
   to understand. Just a pity that this change won't make it into
   Emacs 21.1 anymore, as we're already too late in the pretest.

        This would make it inconsistent with `self-insert-command'. Or do
        you propose that `self-insert-command' should be modified as well,
        so the prefix argument changes the inserted character? I can see it
        now, `C-u' `2' `i' inserts `k', `C-u' `-' `2' `i' inserts `g'.
        _Another_ _choice:_ Switch to *XEmacs*, and you'll have it. The
        code has been written since Emacs 18.62, but GNU refused to accept
        it because `M-x' `write-thesis' won't print the standard GPL blurb
        before the thesis and the assignment paper after it...

   I wonder how do I choose between *roff and LaTeX as the thesis
   format? Hm. [time passes] Ah, see the variable

        Just a warning, it doesn't work if you set it directly. Either call
        `set-thesis-format' from your .emacs, or set the variable with

   [Q1] All this stuff seems to be very complicated to a beginner like
   me. Anybody can send me some code to put a easily accessible menu
   option to write my thesis? I don't see the point in spend time
   learning new key-combos and writing things only to write my
   thesis. Just two mouse clicks should be enough (or one, with the
   new buttons of the GNU Emacs 21).

   [Q2] I remember a neat hack floating around that allowed you to
   specify the subject with a prefix argument, in case you've
   browsed too much crappy sites. But _deja_ of course doesn't have
   the article any more. Anybody still has it somewhere ?

        Prefix argument... sigh. Not me, but the _standard_ thesis
        package has `thesis-ignored-buffers', which is a regexp of buffer
        names that will be ignored when writing the thesis.

    2.5 GNU Emacs

        o   _Homepage_ (Contact <>) and
   The Project Leader
            is Gerd Moellmann <> <> at
            Report Development bugs to <>
        o   _Download_ at
        o   Official GNU Emacs _FAQ_ at
        o   _CVS_ server access instructions
            CVS from

            cvs -d login
            password: [press enter]
            cvs -d co emacs

        o   Emacs 21 press release at

    2.6 GNU Emacs history

          See Richard Stallman's Personal Homepage at

       "Why GNU?"_
        See whole article at
        Article by Denis Havlik <> published under Quotes used by permission of Denis.

          "First part of the speech was "why did I start GNU project" info.
          Official RMS biography only says: Stallman graduated from Harvard
          in 1974 with a BA in physics. During his college years, he also
          worked as a staff hacker at the MIT Artificial Intelligence Lab,
          learning operating system development by doing it. He wrote the
          first extensible Emacs text editor there in 1975. In January 1984
          he resigned from MIT to start the GNU Project. Without stating
          the REASON why he left the MIT lab and started GNU project."

          "When Richard M. Stallman started his programmers career, world
          of programming was much different from what it looks like today:
          back then, ND-agreements and shrink-wrap licenses simply didn't
          exist, and sharing code was considered normal behavior. Then
          someone came to idea that he can make a lot of money by NOT
          sharing the source code, and started the avalanche which
          ultimately led to Single-click patent and UCITA. The form in
          which RMS first encountered this brave new world for the first
          time was somewhat bizarre: Xerox donated a laser printer to the
          MIT lab he worked in, and this printer was controlled by
          proprietary software. This printer was great, but it often
          jammed, and "no source" meant that they had no way of
          implementing the "printer jammed" warning as they did for other
          printers, used in the lab. As you can imagine, walking up and
          down or camping next to printer turned out into a somewhat
          annoying experience... Worse yet, some time later, Stallman
          actually met a college which had source code of printer
          controlling software, and refused to share it because he signed
          the NDA! Instead of accepting this bizarre situation as "normal",
          RMS turned around, quit the job at MIT and started the GNU
          project. (the rest is a history)"

       "EMACS: The Extensible, Customizable Display Editor"
        by Richard M. Stallman 1981-03-26

       "(TECO) Multics Emacs: The History, Design and Implementation"

       "AI memo 519a describing the early development of Emacs."
        "EMACS: The Extensible, Customizable Display Editor" by
        Richard M. Stallman 1981-03-26

       "Biography of Guy Steele who designed the original Emacs"
        Guy is also the author of book "Common Lisp the Language, 2nd
        Edition".  The bio used to be located at
        - Current
        location unknown, so the text has been copied here.

        _About_ _Guy_ _L._ _Steele_ _Jr._ Guy L. Steele Jr. is a
        Distinguished Engineer at Sun Microsystems, Inc. He received his
        A.B. in applied mathematics from Harvard College (1975), and his
        S.M. and Ph.D. in computer science and artificial intelligence from
        M.I.T. (1977 and 1980). He has also been an assistant professor of
        computer science at Carnegie-Mellon University; a member of
        technical staff at Tartan Laboratories in Pittsburgh, Pennsylvania;
        and a senior scientist at Thinking Machines Corporation. He joined
        Sun Microsystems in 1994.

        He is author or co-author of five books: Common Lisp: The Language
        (Digital Press); C: A Reference Manual (Prentice-Hall); The
        Hacker's Dictionary (Harper & Row), which has been revised as The
        New Hacker's Dictionary, edited by Eric Raymond with introduction
        and illustrations by Guy Steele (MIT Press); The High Performance
        Fortran Handbook (MIT Press); and The Java Language Specification

        He has published more than two dozen papers on the subject of the
        Lisp language and Lisp implementation, including a series with
        Gerald Jay Sussman that defined the Scheme dialect of Lisp. One of
        these, "Multiprocessing Compactifying Garbage Collection," won
        first place in the ACM 1975 George E. Forsythe Student Paper
        Competition. Other papers published in Communications of the ACM
        are "Design of a LISP-Based Microprocessor" with Gerald Jay Sussman
        (November 1980) and "Data Parallel Algorithms" with W. Daniel
        Hillis (December 1986). He has also published papers on other
        subjects, including compilers, parallel processing, and constraint
        languages. One song he composed has been published in CACM ("The
        Telnet Song", April 1984).

        The Association for Computing Machinery awarded him the 1988 Grace
        Murray Hopper Award and named him an ACM Fellow in 1994. He was
        elected a Fellow of the American Association for Artificial
        Intelligence in 1990. He led the team that received a 1990 Gordon
        Bell Prize honorable mention for achieving the fastest speed to
        that date for a production application: 14.182 Gigaflops. He was
        also awarded the 1996 ACM SIGPLAN Programming Languages Achievement

        He has served on accredited standards committees X3J11 (C language)
        and X3J3 (Fortran) and is currently chairman of X3J13 (Common
        Lisp). He was also a member of the IEEE committee that produced the
        IEEE Standard for the Scheme Programming Language, IEEE Std
        1178-1990. He represents Sun Microsystems in the High Performance
        Fortran Forum, which produced the High Performance Fortran
        specification in May, 1993.

        He has served on Ph.D. thesis committees for eight students. He has
        served as program chair for the 1984 ACM Lisp Conference and for
        the 15th ACM POPL conference (1988) and 23rd ACM POPL conference
        (1996); he also served on program committees for 30 other
        conferences. He served a five-year term on the ACM Turing Award
        committee, chairing it in 1990. He served a five-year term on the
        ACM Grace Murray Hopper Award committee, chairing it in 1992.

        He has had chess problems published in Chess Life and Review and is
        a Life Member of the United States Chess Federation. He has sung in
        the bass section of the MIT Choral Society (John Oliver, conductor)
        and the Masterworks Chorale (Allen Lannom, conductor) as well as in
        choruses with the Pittsburgh Symphony Orchestra at Great Woods
        (Michael Tilson Thomas, conductor) and with the Boston Concert
        Opera (David Stockton, conductor). He has played the role of Lun
        Tha in The King and I and the title role in Li'l Abner.

        He designed the original EMACS command set and was the first
        person to port TeX.

        At Sun Microsystems he is  responsible for research in language
        design and implementation strategies, and architectural and
        software support, and for the specification of the Java programming

    2.7 XEmacs - Emacs the next generation

        Send patches to: <>. Rsync service is
        available. Try "rsync" for more about the
        service, visit See Q1.1.2 in FAQ for
        Beta tester mailing lists: <> with
        BODY subscribe <> with BODY subscribe

        o   _Homepage_
            Mirror sites
            Ftp area
            CVS information at
        o   XEmacs _betas_
        o   XEmacs _FAQ_
            and Hyperachive at
        o   _Xemacs-L_ Mailing lists. Send an email message to
            <> with the magic word `lists' in the body
            for a complete list of available mailing lists. subscribe list
        o   _Ben_ _Wing_ - The architect of XEmacs 20.x line
        o   Erik Sundermann's XEmacs Customization Page
        o   Robin Socha's EXCELLENT XEmacs page
        o   List of XEmacs packages and _maintainer_ _info_
        o   NT Win32 XEmacs versions (=> See Win32 Emacs section)
        o   _CVS_ access

            cvs  -z3 -d checkout \
            -d xemacs-21.2 -r release-21-2 xemacs

        o   You can Upload to
            and use the Lisp Packaging system with:

            (setq package-get-remote '(("" "xemacs/beta/incoming")))

    2.8 Emacs or XEmacs future plans

        There has been talk on making `let' to work like in modern
        languages, i.e. binding variables locally(lexical scoping), and
        making Elisp mode line Common Lisp, possibly replacing Elisp
        altogether. It's big a task and won't happen soon, but it is on the
        sketch board.

        o   Lisp Engine Changes, Implementation of a Lisp Engine
        o   Perlmacs - Perl as Emacs extension language

          [Comment from the DING-L] ...Scary.
          manipulate a buffer in Perl, you either have to call
          the lisp routines, or use buffer-string to convert the buffer to
          a string that Perl can use, which is ... icky. But what worries
          me more is I'm not clear on how safe the wedding is. like, I
          don't know if things work right if you 'die' out of a Perl
          function called from a lisp function called from a Perl function.
          and the intertwined garbage collection is a mess.

    2.9 Emacs and XEmacs compatibility issues

        About Emacs package *easy-mmode.el* Incompatible re-implementation
        of XEmacs `add-minor-mode', see article
        and article
        and article

    2.10 Emacs resources

        o   Gnusosftware (for windows?)
        o   GNU Emacs 19 teaching class (GOOD)
        o   Jayakrishnan's EXCELLENT Emacs page
        o   Kai Grossjohan's Emacs tutorials: TAB, key-bindings, Gnus
        o   Holger's Emacs Resources (short)
        o   List of Emacs implementations (historical)
   by Craig Finseth
        o   PHOAKS - people helping one another

    2.11 Emacs books, free

        o   Emacs _Lisp_ _Reference_ Manual.
            (older pointer below; prefer the above instead)
   elisp-manual-* (20.5)
        o   GNU Emacs _Manual_ - M. Richard Stallman's book on
            emacs and
            and edition
            2.4 of the GNU Emacs Lisp Reference Manual, corresponding to
            GNU Emacs version 19.29
        o   Emacs CL Package documentation (19.x) at
        o   _Programming_ _in_ _Emacs_ _Lisp_ - Elisp introduction. (by
            Robert J.  Chassell <> lisp-intro-1.xx)
            ...This is an elementary introduction to programming in Emacs
            Lisp for people who are not programmers, and who are not
            necessarily interested in programming, but who do want to
            customize or extend their computing environment.
            and and
            HTML format on-line at
        o   _Nguyen_ _Thien-Thi's_ Emacs tutorial
            directory contains a simple elisp tutorial, presented in
            several lessons. After going through the lessons, you should be
            familiar enough with Emacs Lisp to read and write elisp
            programs of moderate complexity, and to continue your studies
        o   Emacs for the Modern World (1991) by Craig A. Finseth

    2.12 Emacs books, commercial

        First, this is strictly not an Emacs Lisp book, but highly
        recommended if you write or consider writing Emacs lisp programs. A book published by Morgan
        Kaufmann, Paperbound, xxviii + 946 pages, ISBN 1-55860-191-0.
        Another highly regarded book is "On LISP: Advanced Techniques for
        Common LISP " by Paul Graham (Out of print) may
        still have copies, try also and See also

       "(2001-06) GNU Emacs and XEmacs"
        ._Author:_ by Larry Ayers ISBN 0-7615-2446-0. 700 Pages.

          [Eric Marsden] I was the technical editor for this book. However,
          I don't get paid anything per book sold. The book is very
          approachable and readable in style, as you'll expect if you've
          read Larry Ayers' articles in the online Linux Gazette.
          Downside: it's more linux-specific than necessary in some places
          (probably for marketing reasons). Why buy the book given that
          the Emacs manuals are excellent? The style is different, probably
          easier to read and navigate for beginners. There are many tips,
          hints, screenshots, code snippets which you won't find in the
          manual, which is more a reference guide. And the book covers many
          modules which aren't described in the manuals. Given that it has
          around 550 pages, it can go into quite a lot of detail, including

        o   history of Emacs and the free software movement
        o   Motivation of the utility of an extensible editor
        o   intro to Customize
        o   notions of elisp, including dissection of an add-on module
        o   how to install packages (sections for Emacs and XEmacs)
        o   discussion of several builtin packages: bookmarks, ediff etc
        o   intro to VM, ange-ftp/EFS, w3, doctor, great chapter on Gnus
        o   where to find help (manual, C-h keys, apropos, USENET)
        o   CD with Emacs and XEmacs source and binaries, doc, add-on

       "(1999-04) Sams Teach Yourself Emacs in 24 Hours"
        ._Author:_ By Jesper Pedersen
        ISBN 0-672-31594-7 or (ProductSupport->0-672-31594-7)
        McMillan book publishing company. 445 pages.

        Aimed for the Emacs and XEmacs, Win32 NT Emacs beginner. Not only
        standard Emacs is discussed, but also Gnus (pgnus 0.80+ MIME) and
        3rd party software like BBDB. The CD includes 650MB: Win32 NT Emacs
        20.3.1, 20.4 pretest, Cygwin 19, 20.1, various Cygwin Unix tool
        ports and 200+ Lisp packages and libraries that are not yet
        included in Emacs distribution.

       "(1997-04) Writing GNU Emacs Extensions"
        ._Book _description_
        ._Book _files_
        ._Author:_ Bob Glickstein, O'Reilly & Assoc, ISBN 1-56592-261-1, 233 pages.

          [1997-08-13 Paul Seelig
          <>] This is probably meant for
          people who need to really customize their Emacs and is therefore
          meant for advanced users.

          [1997-05-02 comp.emacs <>] This is an excellent
          book for anyone who knows programming, but doesn't know Lisp or
          how it can be used with Emacs. It starts by teaching a few simple
          skills for finding out what functions are bound to what keys (and
          how), and then goes into making minor modifications to existing
          functionality by hooking functions. It goes through a light
          introduction to Lisp, and then dives into Minor and Major Modes.
          It winds up with a long chapter describing the development of a
          substantial major mode. Appendices include a Lisp quick
          reference, tips on debugging and profiling code, how to package
          and share code, and how to obtain and compile Emacs.

          The writing is stream of consciousness, but is tightly focused on
          specific topics, and has the feel of looking over someone's
          shoulder as they explore Emacs at the keyboard. Many footnotes
          and asides give "try it yourself" tidbits that show the commands
          used to test Emacs and get information from it. During the
          development of code, a simple attempt is made and then critiqued,
          resulting in the introduction of a more refined method for
          accomplishing the same thing. Each chapter builds on the last,
          and is fairly quickly paced. Very few words are wasted.

          For old hands at writing packages like efs and w3, this book
          would not add anything to what you already know. Also: While it
          is specifically focused on Emacs, it speaks well to those us who
          use XEmacs; the focus of the book is Lisp code, and how to modify
          Emacs with it, not graphics, X, or specific packages. I've been
          waiting for a recently written book on Emacs to be published by
          O' Reilly and Associates for a long time. I'm glad I picked this
          one up.

       "(1996-09) Learning GNU Emacs 2nd edition"
        ._Book_ _description_
        ._Author:_ Debra Cameron, Bill Roseblatt, Eric Raymond
        O'Reilly + Associates,ISBN 1-56592-152-6, 557 pages.

          [1997-08-13 Paul Seelig <>]
          This is a fine book and is worth every penny IMHO. If you plan to
          only *use* Emacs without any Lisp hacking just stick with this
          one. Very good for beginners and advanced users.

          [anon commented] ..has typos and lot of misinformation
          either things that were plain wrong or things that were
          excessively complexly written, ...authors, didn't have much
          experience with Emacs Lisp.

          [2000-02-05 Brian Masinick <>] For what it is
          worth, I agree more with the first writer than the second; that
          is, I think that Learning GNU Emacs is a decent book. I bought
          the first edition, and have not purchased the second edition. The
          first edition really dealt with GNU Emacs in the 18.55-59 time
          frame. Admittedly, many user interface issues have changed.
          Still, even today, the first edition is a useful tool to learn
          the basics of Emacs. I cannot speak for the second edition, but I
          suspect that it is already quite out of date, given the recent
          changes to customization. As far as Elisp code, it is true,
          Cameron and Rosenblatt (and now Raymond?) are not expert Lisp or
          Emacs Lisp coders. Their simple examples are adequate; for more
          complicated extensions, I think the other text, about Writing GNU
          Emacs Extensions, is a more appropriate source. Like others, I
          recommend the FSF texts as the definitive resources, particularly
          when it comes to Emacs Lisp.

       "(1992) GNU Emacs: UNIX Text Editing and Programming"
         ._Authors:_ Michael A. Schoonover, John S. Bowie and William R. Arnold,,3828,0201563452,00.html
        Addison-Wesley, ISBN: 0-201-56345-2, Pages: 640

3.0 Win32

    3.1 Win32 Emacs ports

        ._MailingList:_ majordomo <>

        In the download site, *barebin* has just the .exe's and a few other
        files, and is only useful in conjunction with the "src" tarball.
        This gives you the full source to everything, if you happen to want
        that. *bin* is usable by itself, but doesn't include the elisp
        source (that is provided by the "lisp" tarball). If you know you
        want the elisp source, you can just get "fullbin", which is
        basically "bin+lisp". *leim* is the Library of Emacs Input Methods,
        which is only of interest if you want to enter non-ascii characters
        in a convenient way. --Andrew Innes

        o   Setting up NT Emacs by Charles Curley
        o   Win3x/95/NT -- Emacs 19.34 port by Eli Zaretskii There is also
            another version of Emacs for Win32s: the version compiled with
            the DJGPP port of GNU C. This version runs on MS-DOS and
            MS-Windows (Windows 3.X, 9X and NT) and supports long file
            names on Windows 9X. The canonical place to get a pre-compiled
            binary for this version:
        o   Tertius NT Emacs and Cygwin page

    3.2 Win32 XEmacs ports

        Beta versions of XEmacs now run on 32-bit Windows platforms (NT
        and 95). The current betas require having an X server to run
        XEmacs; however, a native NT/95 port is in alpha. The NT
        development is now coordinated by a mailing list at
        <>. If you are willing to contribute or want to
        follow the progress, mail to <> to

        ._NetInstall:_ [NEW!!]

        See also ports at by
        Fabrice Popineau and
        and for files like

       3.2.1 Compiling XEmacs with cygwin

        [Cygwin-L 2000-07-28 Rod Whitby] XEmacs 21.1.10, 21.2.34 and
        21.2.35 have all compiled out of the box for me with Cygwin 1.1.2
        and the pre-release 1.1.3, using the following configure line for
        Cygwin. There is one small problem with building 21.2.35 where
        src/xemacs.exe is not getting the executable bit set during the
        build (when dumped from temacs.exe). Just "chmod ugo+x
        src/xemacs.exe", and type make again.

            ./configure --with-x=no --site-includes=/usr/local/include \
            --site-libraries=/usr/local/lib --with-dragndrop

            ./configure  \
            --with-mule \
            --package-path=/usr/local/lib/xemacs/site-packages:/usr/local/lib/xemacs/xemacs-packages:/usr/local/lib/xemacs/mule-packages \
            --cppflags=-I/usr/local/include \
            --site-prefixes=/usr/local/pgsql \
            --with_file_coding=yes \
            --with-sound=native \

       3.2.2 CVS access

        Compression level *-z3* is recommended, because any higher value
        would put too much burden on the small xemacs CVS server.

            cvs -d login
            password: zawinski
            cvs -f -z3 -d checkout xemacs-packages

       3.2.3 Tips for debugging

            xemacs -vanilla -debug-paths




©2003 Google


电子邮件地址不会被公开。 必填项已用*标注