update.
[chise/xemacs-chise.git-] / info / xemacs.info-21
index 24632e9..f55fcc1 100644 (file)
@@ -1,5 +1,5 @@
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0b from
+xemacs/xemacs.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
@@ -30,753 +30,954 @@ versions, except that the sections entitled "The GNU Manifesto",
 translation approved by the author instead of in the original English.
 
 \1f
-File: xemacs.info,  Node: Variable Index,  Next: Concept Index,  Prev: Command Index,  Up: Top
+File: xemacs.info,  Node: Manifesto,  Next: Key Index,  Prev: Glossary,  Up: Top
 
-Variable Index
-**************
+The GNU Manifesto
+*****************
 
-* Menu:
+What's GNU?  GNU's Not Unix!
+============================
+
+   GNU, which stands for GNU's Not Unix, is the name for the complete
+Unix-compatible software system which I am writing so that I can give it
+away free to everyone who can use it.  Several other volunteers are
+helping me.  Contributions of time, money, programs, and equipment are
+greatly needed.
+
+   So far we have an Emacs text editor with Lisp for writing editor
+commands, a source level debugger, a yacc-compatible parser generator,
+a linker, and around 35 utilities.  A shell (command interpreter) is
+nearly completed.  A new portable optimizing C compiler has compiled
+itself and may be released this year.  An initial kernel exists, but
+many more features are needed to emulate Unix.  When the kernel and
+compiler are finished, it will be possible to distribute a GNU system
+suitable for program development.  We will use TeX as our text
+formatter, but an nroff is being worked on.  We will use the free,
+portable X window system as well.  After this we will add a portable
+Common Lisp, an Empire game, a spreadsheet, and hundreds of other
+things, plus online documentation.  We hope to supply, eventually,
+everything useful that normally comes with a Unix system, and more.
+
+   GNU will be able to run Unix programs, but will not be identical to
+Unix.  We will make all improvements that are convenient, based on our
+experience with other operating systems.  In particular, we plan to
+have longer filenames, file version numbers, a crashproof file system,
+filename completion perhaps, terminal-independent display support, and
+perhaps eventually a Lisp-based window system through which several
+Lisp programs and ordinary Unix programs can share a screen.  Both C
+and Lisp will be available as system programming languages.  We will
+try to support UUCP, MIT Chaosnet, and Internet protocols for
+communication.
+
+   GNU is aimed initially at machines in the 68000/16000 class with
+virtual memory, because they are the easiest machines to make it run
+on.  The extra effort to make it run on smaller machines will be left
+to someone who wants to use it on them.
+
+   To avoid horrible confusion, please pronounce the `G' in the word
+`GNU' when it is the name of this project.
+
+Why I Must Write GNU
+====================
+
+   I consider that the golden rule requires that if I like a program I
+must share it with other people who like it.  Software sellers want to
+divide the users and conquer them, making each user agree not to share
+with others.  I refuse to break solidarity with other users in this
+way.  I cannot in good conscience sign a nondisclosure agreement or a
+software license agreement.  For years I worked within the Artificial
+Intelligence Lab to resist such tendencies and other inhospitalities,
+but eventually they had gone too far: I could not remain in an
+institution where such things are done for me against my will.
+
+   So that I can continue to use computers without dishonor, I have
+decided to put together a sufficient body of free software so that I
+will be able to get along without any software that is not free.  I
+have resigned from the AI lab to deny MIT any legal excuse to prevent
+me from giving GNU away.
+
+Why GNU Will Be Compatible With Unix
+====================================
+
+   Unix is not my ideal system, but it is not too bad.  The essential
+features of Unix seem to be good ones, and I think I can fill in what
+Unix lacks without spoiling them.  And a system compatible with Unix
+would be convenient for many other people to adopt.
+
+How GNU Will Be Available
+=========================
+
+   GNU is not in the public domain.  Everyone will be permitted to
+modify and redistribute GNU, but no distributor will be allowed to
+restrict its further redistribution.  That is to say, proprietary
+modifications will not be allowed.  I want to make sure that all
+versions of GNU remain free.
+
+Why Many Other Programmers Want to Help
+=======================================
+
+   I have found many other programmers who are excited about GNU and
+want to help.
+
+   Many programmers are unhappy about the commercialization of system
+software.  It may enable them to make more money, but it requires them
+to feel in conflict with other programmers in general rather than feel
+as comrades.  The fundamental act of friendship among programmers is the
+sharing of programs; marketing arrangements now typically used
+essentially forbid programmers to treat others as friends.  The
+purchaser of software must choose between friendship and obeying the
+law.  Naturally, many decide that friendship is more important.  But
+those who believe in law often do not feel at ease with either choice.
+They become cynical and think that programming is just a way of making
+money.
+
+   By working on and using GNU rather than proprietary programs, we can
+be hospitable to everyone and obey the law.  In addition, GNU serves as
+an example to inspire and a banner to rally others to join us in
+sharing.  This can give us a feeling of harmony which is impossible if
+we use software that is not free.  For about half the programmers I
+talk to, this is an important happiness that money cannot replace.
+
+How You Can Contribute
+======================
+
+   I am asking computer manufacturers for donations of machines and
+money.  I'm asking individuals for donations of programs and work.
+
+   One consequence you can expect if you donate machines is that GNU
+will run on them at an early date.  The machines should be complete,
+ready-to-use systems, approved for use in a residential area, and not
+in need of sophisticated cooling or power.
+
+   I have found very many programmers eager to contribute part-time
+work for GNU.  For most projects, such part-time distributed work would
+be very hard to coordinate; the independently-written parts would not
+work together.  But for the particular task of replacing Unix, this
+problem is absent.  A complete Unix system contains hundreds of utility
+programs, each of which is documented separately.  Most interface
+specifications are fixed by Unix compatibility.  If each contributor
+can write a compatible replacement for a single Unix utility, and make
+it work properly in place of the original on a Unix system, then these
+utilities will work right when put together.  Even allowing for Murphy
+to create a few unexpected problems, assembling these components will
+be a feasible task.  (The kernel will require closer communication and
+will be worked on by a small, tight group.)
+
+   If I get donations of money, I may be able to hire a few people full
+or part time.  The salary won't be high by programmers' standards, but
+I'm looking for people for whom building community spirit is as
+important as making money.  I view this as a way of enabling dedicated
+people to devote their full energies to working on GNU by sparing them
+the need to make a living in another way.
+
+Why All Computer Users Will Benefit
+===================================
+
+   Once GNU is written, everyone will be able to obtain good system
+software free, just like air.
+
+   This means much more than just saving everyone the price of a Unix
+license.  It means that much wasteful duplication of system programming
+effort will be avoided.  This effort can go instead into advancing the
+state of the art.
+
+   Complete system sources will be available to everyone.  As a result,
+a user who needs changes in the system will always be free to make them
+himself, or hire any available programmer or company to make them for
+him.  Users will no longer be at the mercy of one programmer or company
+which owns the sources and is in sole position to make changes.
+
+   Schools will be able to provide a much more educational environment
+by encouraging all students to study and improve the system code.
+Harvard's computer lab used to have the policy that no program could be
+installed on the system if its sources were not on public display, and
+upheld it by actually refusing to install certain programs.  I was very
+much inspired by this.
+
+   Finally, the overhead of considering who owns the system software
+and what one is or is not entitled to do with it will be lifted.
+
+   Arrangements to make people pay for using a program, including
+licensing of copies, always incur a tremendous cost to society through
+the cumbersome mechanisms necessary to figure out how much (that is,
+which programs) a person must pay for.  And only a police state can
+force everyone to obey them.  Consider a space station where air must
+be manufactured at great cost: charging each breather per liter of air
+may be fair, but wearing the metered gas mask all day and all night is
+intolerable even if everyone can afford to pay the air bill.  And the
+TV cameras everywhere to see if you ever take the mask off are
+outrageous.  It's better to support the air plant with a head tax and
+chuck the masks.
+
+   Copying all or parts of a program is as natural to a programmer as
+breathing, and as productive.  It ought to be as free.
+
+Some Easily Rebutted Objections to GNU's Goals
+==============================================
+
+     "Nobody will use it if it is free, because that means they can't
+     rely on any support."
+
+     "You have to charge for the program to pay for providing the
+     support."
+
+   If people would rather pay for GNU plus service than get GNU free
+without service, a company to provide just service to people who have
+obtained GNU free ought to be profitable.
+
+   We must distinguish between support in the form of real programming
+work and mere handholding.  The former is something one cannot rely on
+from a software vendor.  If your problem is not shared by enough
+people, the vendor will tell you to get lost.
+
+   If your business needs to be able to rely on support, the only way
+is to have all the necessary sources and tools.  Then you can hire any
+available person to fix your problem; you are not at the mercy of any
+individual.  With Unix, the price of sources puts this out of
+consideration for most businesses.  With GNU this will be easy.  It is
+still possible for there to be no available competent person, but this
+problem cannot be blamed on distribution arrangements.  GNU does not
+eliminate all the world's problems, only some of them.
+
+   Meanwhile, the users who know nothing about computers need
+handholding: doing things for them which they could easily do
+themselves but don't know how.
+
+   Such services could be provided by companies that sell just
+hand-holding and repair service.  If it is true that users would rather
+spend money and get a product with service, they will also be willing
+to buy the service having got the product free.  The service companies
+will compete in quality and price; users will not be tied to any
+particular one.  Meanwhile, those of us who don't need the service
+should be able to use the program without paying for the service.
+
+     "You cannot reach many people without advertising, and you must
+     charge for the program to support that."
+
+     "It's no use advertising a program people can get free."
+
+   There are various forms of free or very cheap publicity that can be
+used to inform numbers of computer users about something like GNU.  But
+it may be true that one can reach more microcomputer users with
+advertising.  If this is really so, a business which advertises the
+service of copying and mailing GNU for a fee ought to be successful
+enough to pay for its advertising and more.  This way, only the users
+who benefit from the advertising pay for it.
+
+   On the other hand, if many people get GNU from their friends, and
+such companies don't succeed, this will show that advertising was not
+really necessary to spread GNU.  Why is it that free market advocates
+don't want to let the free market decide this?
+
+     "My company needs a proprietary operating system to get a
+     competitive edge."
+
+   GNU will remove operating system software from the realm of
+competition.  You will not be able to get an edge in this area, but
+neither will your competitors be able to get an edge over you.  You and
+they will compete in other areas, while benefitting mutually in this
+one.  If your business is selling an operating system, you will not
+like GNU, but that's tough on you.  If your business is something else,
+GNU can save you from being pushed into the expensive business of
+selling operating systems.
+
+   I would like to see GNU development supported by gifts from many
+manufacturers and users, reducing the cost to each.
+
+     "Don't programmers deserve a reward for their creativity?"
 
-* abbrev-all-caps:                       Expanding Abbrevs.
-* abbrev-file-name:                      Saving Abbrevs.
-* abbrev-mode:                           Abbrevs.
-* after-load-alist:                      Loading.
-* after-save-hook:                       Saving.
-* all-christian-calendar-holidays:       Holiday Customizing.
-* all-hebrew-calendar-holidays:          Holiday Customizing.
-* all-islamic-calendar-holidays:         Holiday Customizing.
-* appt-audible:                          Appt Customizing.
-* appt-display-duration:                 Appt Customizing.
-* appt-display-mode-line:                Appt Customizing.
-* appt-message-warning-time:             Appt Customizing.
-* appt-msg-window:                       Appt Customizing.
-* appt-visible:                          Appt Customizing.
-* auto-fill-inhibit-regexp:              Fill Commands.
-* auto-lower-frame:                      XEmacs under X.
-* auto-mode-alist:                       Choosing Modes.
-* auto-raise-frame:                      XEmacs under X.
-* auto-save-default:                     Auto Save Control.
-* auto-save-interval:                    Auto Save Control.
-* auto-save-timeout:                     Auto Save Control.
-* auto-save-visited-file-name:           Auto Save Files.
-* backup-by-copying:                     Backup Copying.
-* backup-by-copying-when-linked:         Backup Copying.
-* backup-by-copying-when-mismatch:       Backup Copying.
-* bell-volume:                           Audible Bell.
-* blink-matching-paren:                  Matching.
-* blink-matching-paren-distance:         Matching.
-* buffer-file-coding-system:             Recognize Coding.
-* buffer-file-name:                      Visiting.
-* buffer-file-truename:                  Visiting.
-* buffer-read-only:                      Misc Buffer.
-* buffer-tag-table:                      Find Tag.
-* c-argdecl-indent:                      C Indent.
-* c-auto-newline:                        C Indent.
-* c-brace-imaginary-offset:              C Indent.
-* c-brace-offset:                        C Indent.
-* c-continued-statement-offset:          C Indent.
-* c-indent-level:                        C Indent.
-* c-label-offset:                        C Indent.
-* c-mode-hook:                           Program Modes.
-* c-mode-map:                            Keymaps.
-* c-tab-always-indent:                   C Indent.
-* calendar-date-display-form:            Date Display Format.
-* calendar-daylight-savings-ends:        Daylight Savings.
-* calendar-daylight-savings-ends-time:   Daylight Savings.
-* calendar-daylight-savings-starts:      Daylight Savings.
-* calendar-daylight-time-offset:         Daylight Savings.
-* calendar-daylight-time-zone-name:      Sunrise/Sunset.
-* calendar-holiday-marker:               Calendar Customizing.
-* calendar-holidays:                     Holiday Customizing.
-* calendar-latitude:                     Sunrise/Sunset.
-* calendar-load-hook:                    Calendar Customizing.
-* calendar-location-name:                Sunrise/Sunset.
-* calendar-longitude:                    Sunrise/Sunset.
-* calendar-standard-time-zone-name:      Sunrise/Sunset.
-* calendar-time-display-form:            Time Display Format.
-* calendar-time-zone:                    Sunrise/Sunset.
-* calendar-today-marker:                 Calendar Customizing.
-* calendar-week-start-day:               Move to Beginning or End.
-* case-fold-search <1>:                  Replacement and Case.
-* case-fold-search:                      Search Case.
-* case-replace:                          Replacement and Case.
-* christian-holidays:                    Holiday Customizing.
-* coding:                                Recognize Coding.
-* command-history:                       Repetition.
-* command-line-args:                     Command Switches.
-* comment-column:                        Comments.
-* comment-end:                           Comments.
-* comment-indent-hook:                   Comments.
-* comment-line-start:                    Fortran Comments.
-* comment-line-start-skip:               Fortran Comments.
-* comment-multi-line:                    Comments.
-* comment-start:                         Comments.
-* comment-start-skip:                    Comments.
-* compare-ignore-case:                   Comparing Files.
-* compile-command:                       Compilation.
-* completion-auto-help:                  Completion.
-* completion-ignored-extensions:         Completion.
-* create-frame-hook:                     XEmacs under X.
-* ctl-arrow:                             Display Vars.
-* ctl-x-map:                             Keymaps.
-* current-input-method:                  Select Input Method.
-* data-directory:                        Startup Paths.
-* data-directory-list:                   Startup Paths.
-* debug-on-error:                        Lisp Debug.
-* debug-on-quit:                         Lisp Debug.
-* default-buffer-file-coding-system:     Specify Coding.
-* default-directory:                     File Names.
-* default-directory-alist:               File Names.
-* default-frame-alist:                   XEmacs under X.
-* default-input-method:                  Select Input Method.
-* default-major-mode:                    Choosing Modes.
-* delete-auto-save-files:                Auto Save Files.
-* describe-function-show-arglist:        Help.
-* diary-date-forms:                      Diary Customizing.
-* diary-display-hook:                    Fancy Diary Display.
-* diary-entry-marker:                    Calendar Customizing.
-* diary-file:                            Format of Diary File.
-* diary-list-include-blanks:             Fancy Diary Display.
-* diary-mail-days:                       Diary Commands.
-* diff-switches:                         Comparing Files.
-* dired-kept-versions:                   Dired Deletion.
-* dired-listing-switches:                Dired Enter.
-* display-buffer-function:               Pop Up Window.
-* doc-directory:                         Startup Paths.
-* echo-keystrokes:                       Display Vars.
-* emacs-lisp-mode-hook:                  Program Modes.
-* emacs-roots:                           Startup Paths.
-* EMACSDATA:                             Startup Paths.
-* EMACSLOADPATH:                         Startup Paths.
-* EMACSLOCKDIR:                          Startup Paths.
-* EMACSPATH:                             Startup Paths.
-* enable-local-variables:                File Variables.
-* enable-recursive-minibuffers:          Minibuffer Edit.
-* esc-map:                               Keymaps.
-* european-calendar-style:               Date Formats.
-* exec-directory:                        Startup Paths.
-* exec-path:                             Startup Paths.
-* explicit-shell-file-name:              Interactive Shell.
-* file-coding-system-alist:              Recognize Coding.
-* file-name-coding-system:               Specify Coding.
-* fill-column:                           Fill Commands.
-* fill-prefix:                           Fill Prefix.
-* find-file-compare-truenames:           Visiting.
-* find-file-hooks:                       Visiting.
-* find-file-not-found-hooks:             Visiting.
-* find-file-run-dired:                   Visiting.
-* find-file-use-truenames:               Visiting.
-* fortran-check-all-num-for-matching-do: ForIndent Vars.
-* fortran-comment-indent-char:           Fortran Comments.
-* fortran-comment-indent-style:          Fortran Comments.
-* fortran-comment-line-column:           Fortran Comments.
-* fortran-comment-region:                Fortran Comments.
-* fortran-continuation-char:             ForIndent Conv.
-* fortran-continuation-indent:           ForIndent Vars.
-* fortran-do-indent:                     ForIndent Vars.
-* fortran-electric-line-number:          ForIndent Num.
-* fortran-if-indent:                     ForIndent Vars.
-* fortran-line-number-indent:            ForIndent Num.
-* fortran-minimum-statement-indent:      ForIndent Vars.
-* frame-icon-title-format <1>:           Command Switches.
-* frame-icon-title-format:               XEmacs under X.
-* frame-title-format <1>:                Command Switches.
-* frame-title-format:                    XEmacs under X.
-* general-holidays:                      Holiday Customizing.
-* global-map:                            Keymaps.
-* hebrew-holidays:                       Holiday Customizing.
-* help-map:                              Keymaps.
-* holidays-in-diary-buffer:              Diary Customizing.
-* indent-tabs-mode:                      Just Spaces.
-* Info-directory-list:                   Startup Paths.
-* INFOPATH:                              Startup Paths.
-* initial-calendar-window-hook:          Calendar Customizing.
-* initial-major-mode:                    Entering Emacs.
-* input-method-highlight-flag:           Input Methods.
-* input-method-verbose-flag:             Input Methods.
-* input-ring-size:                       Interactive Shell.
-* insert-default-directory <1>:          File Names.
-* insert-default-directory:              Minibuffer File.
-* isearch-mode-map:                      Keymaps.
-* islamic-holidays:                      Holiday Customizing.
-* kept-new-versions:                     Backup Deletion.
-* kept-old-versions:                     Backup Deletion.
-* keyboard-translate-table:              Intro to Keystrokes.
-* kill-ring-max:                         Earlier Kills.
-* LaTeX-mode-hook:                       TeX Print.
-* lisp-body-indention:                   Lisp Indent.
-* lisp-directory:                        Startup Paths.
-* lisp-indent-offset:                    Lisp Indent.
-* lisp-interaction-mode-hook:            Program Modes.
-* lisp-mode-hook:                        Program Modes.
-* lisp-mode-map:                         Keymaps.
-* list-diary-entries-hook:               Included Diary Files.
-* list-directory-brief-switches:         ListDir.
-* list-directory-verbose-switches:       ListDir.
-* load-path <1>:                         Loading.
-* load-path:                             Startup Paths.
-* local-holidays:                        Holiday Customizing.
-* lock-directory:                        Startup Paths.
-* lpr-switches:                          Hardcopy.
-* mail-abbrev-mailrc-file:               Mail Headers.
-* mail-abbrev-mode-regexp:               Mail Headers.
-* mail-alias-seperator-string:           Mail Headers.
-* mail-archive-file-name:                Mail Headers.
-* mail-header-separator:                 Mail Format.
-* mail-mode-hook:                        Mail Mode.
-* make-backup-files:                     Backup.
-* make-tags-files-invisible:             Find Tag.
-* mark-diary-entries-hook:               Included Diary Files.
-* mark-diary-entries-in-calendar:        Calendar Customizing.
-* mark-holidays-in-calendar:             Calendar Customizing.
-* mark-ring:                             Mark Ring.
-* mark-ring-max:                         Mark Ring.
-* meta-flag:                             Meta Key.
-* minibuffer-confirm-incomplete:         Completion.
-* minibuffer-local-completion-map:       Keymaps.
-* minibuffer-local-map:                  Keymaps.
-* minibuffer-local-must-match-map:       Keymaps.
-* minibuffer-local-ns-map:               Keymaps.
-* mode-line-inverse-video:               Mode Line.
-* modeline-pointer-glyph:                Mouse Selection.
-* muddle-mode-hook:                      Program Modes.
-* next-screen-context-lines:             Scrolling.
-* no-redraw-on-reenter:                  Display Vars.
-* nongregorian-diary-listing-hook:       Hebrew/Islamic Entries.
-* nongregorian-diary-marking-hook:       Hebrew/Islamic Entries.
-* nontext-pointer-glyph:                 Mouse Selection.
-* nroff-mode-hook:                       Nroff Mode.
-* number-of-diary-entries:               Diary Customizing.
-* other-holidays:                        Holiday Customizing.
-* outline-mode-hook:                     Outline Mode.
-* outline-regexp:                        Outline Format.
-* page-delimiter:                        Pages.
-* paragraph-separate:                    Paragraphs.
-* paragraph-start:                       Paragraphs.
-* parse-sexp-ignore-comments:            Syntax Entry.
-* PATH:                                  Startup Paths.
-* picture-mode-hook:                     Picture.
-* picture-tab-chars:                     Tabs in Picture.
-* plain-TeX-mode-hook:                   TeX Print.
-* print-diary-entries-hook:              Diary Customizing.
-* repeat-complex-command-map:            Keymaps.
-* require-final-newline:                 Saving.
-* save-abbrevs:                          Saving Abbrevs.
-* scheme-mode-hook:                      Program Modes.
-* scroll-conservatively:                 Scrolling.
-* scroll-step:                           Scrolling.
-* search-slow-speed:                     Incremental Search.
-* search-slow-window-lines:              Incremental Search.
-* selective-display-ellipses <1>:        Outline Visibility.
-* selective-display-ellipses:            Display Vars.
-* sentence-end:                          Sentences.
-* shell-cd-regexp:                       Interactive Shell.
-* shell-file-name:                       Single Shell.
-* shell-popd-regexp:                     Interactive Shell.
-* shell-prompt-pattern:                  Shell Mode.
-* shell-pushd-regexp:                    Interactive Shell.
-* sound-alist:                           Audible Bell.
-* superlock-file:                        Startup Paths.
-* tab-stop-list:                         Tab Stops.
-* tab-width:                             Display Vars.
-* tag-mark-stack-max:                    Find Tag.
-* tag-table-alist <1>:                   Find Tag.
-* tag-table-alist:                       Select Tags Table.
-* tags-always-build-completion-table:    Select Tags Table.
-* tags-build-completion-table:           Find Tag.
-* tags-file-name <1>:                    Find Tag.
-* tags-file-name:                        Select Tags Table.
-* term-file-prefix:                      Terminal Init.
-* term-setup-hook:                       Terminal Init.
-* TeX-mode-hook:                         TeX Print.
-* text-mode-hook:                        Text Mode.
-* text-pointer-glyph:                    Mouse Selection.
-* today-invisible-calendar-hook:         Calendar Customizing.
-* today-visible-calendar-hook:           Calendar Customizing.
-* track-eol:                             Basic.
-* trim-versions-without-asking:          Backup Deletion.
-* truncate-lines:                        Continuation Lines.
-* truncate-partial-width-windows:        Split Window.
-* vc-command-messages:                   Variables for Check-in/out.
-* vc-comment-alist:                      Version Headers.
-* vc-default-back-end:                   Editing with VC.
-* vc-header-alist:                       Version Headers.
-* vc-initial-comment:                    Editing with VC.
-* vc-keep-workfiles:                     Editing with VC.
-* vc-log-mode-hook:                      Log Entries.
-* vc-make-backup-files:                  Editing with VC.
-* vc-mistrust-permissions:               Variables for Check-in/out.
-* vc-path:                               Variables for Check-in/out.
-* vc-static-header-alist:                Version Headers.
-* vc-suppress-confirm:                   Variables for Check-in/out.
-* version-control:                       Backup Names.
-* view-calendar-holidays-initially:      Calendar Customizing.
-* view-diary-entries-initially:          Calendar Customizing.
-* window-min-height:                     Change Window.
-* window-min-width:                      Change Window.
-* write-file-hooks:                      Saving.
-* x-frame-defaults:                      XEmacs under X.
-* zmacs-region-stays:                    Active Regions.
-* zmacs-regions:                         Active Regions.
+   If anything deserves a reward, it is social contribution.
+Creativity can be a social contribution, but only in so far as society
+is free to use the results.  If programmers deserve to be rewarded for
+creating innovative programs, by the same token they deserve to be
+punished if they restrict the use of these programs.
+
+     "Shouldn't a programmer be able to ask for a reward for his
+     creativity?"
+
+   There is nothing wrong with wanting pay for work, or seeking to
+maximize one's income, as long as one does not use means that are
+destructive.  But the means customary in the field of software today
+are based on destruction.
+
+   Extracting money from users of a program by restricting their use of
+it is destructive because the restrictions reduce the amount and the
+ways that the program can be used.  This reduces the amount of wealth
+that humanity derives from the program.  When there is a deliberate
+choice to restrict, the harmful consequences are deliberate destruction.
+
+   The reason a good citizen does not use such destructive means to
+become wealthier is that, if everyone did so, we would all become
+poorer from the mutual destructiveness.  This is Kantian ethics; or,
+the Golden Rule.  Since I do not like the consequences that result if
+everyone hoards information, I am required to consider it wrong for one
+to do so.  Specifically, the desire to be rewarded for one's creativity
+does not justify depriving the world in general of all or part of that
+creativity.
+
+     "Won't programmers starve?"
+
+   I could answer that nobody is forced to be a programmer.  Most of us
+cannot manage to get any money for standing on the street and making
+faces.  But we are not, as a result, condemned to spend our lives
+standing on the street making faces, and starving.  We do something
+else.
+
+   But that is the wrong answer because it accepts the questioner's
+implicit assumption: that without ownership of software, programmers
+cannot possibly be paid a cent.  Supposedly it is all or nothing.
+
+   The real reason programmers will not starve is that it will still be
+possible for them to get paid for programming; just not paid as much as
+now.
+
+   Restricting copying is not the only basis for business in software.
+It is the most common basis because it brings in the most money.  If it
+were prohibited, or rejected by the customer, software business would
+move to other bases of organization which are now used less often.
+There are always numerous ways to organize any kind of business.
+
+   Probably programming will not be as lucrative on the new basis as it
+is now.  But that is not an argument against the change.  It is not
+considered an injustice that sales clerks make the salaries that they
+now do.  If programmers made the same, that would not be an injustice
+either.  (In practice they would still make considerably more than
+that.)
+
+     "Don't people have a right to control how their creativity is
+     used?"
+
+   "Control over the use of one's ideas" really constitutes control over
+other people's lives; and it is usually used to make their lives more
+difficult.
+
+   People who have studied the issue of intellectual property rights
+carefully (such as lawyers) say that there is no intrinsic right to
+intellectual property.  The kinds of supposed intellectual property
+rights that the government recognizes were created by specific acts of
+legislation for specific purposes.
+
+   For example, the patent system was established to encourage
+inventors to disclose the details of their inventions.  Its purpose was
+to help society rather than to help inventors.  At the time, the life
+span of 17 years for a patent was short compared with the rate of
+advance of the state of the art.  Since patents are an issue only among
+manufacturers, for whom the cost and effort of a license agreement are
+small compared with setting up production, the patents often do not do
+much harm.  They do not obstruct most individuals who use patented
+products.
+
+   The idea of copyright did not exist in ancient times, when authors
+frequently copied other authors at length in works of non-fiction.  This
+practice was useful, and is the only way many authors' works have
+survived even in part.  The copyright system was created expressly for
+the purpose of encouraging authorship.  In the domain for which it was
+invented--books, which could be copied economically only on a printing
+press--it did little harm, and did not obstruct most of the individuals
+who read the books.
+
+   All intellectual property rights are just licenses granted by society
+because it was thought, rightly or wrongly, that society as a whole
+would benefit by granting them.  But in any particular situation, we
+have to ask: are we really better off granting such license?  What kind
+of act are we licensing a person to do?
+
+   The case of programs today is very different from that of books a
+hundred years ago.  The fact that the easiest way to copy a program is
+from one neighbor to another, the fact that a program has both source
+code and object code which are distinct, and the fact that a program is
+used rather than read and enjoyed, combine to create a situation in
+which a person who enforces a copyright is harming society as a whole
+both materially and spiritually; in which a person should not do so
+regardless of whether the law enables him to.
+
+     "Competition makes things get done better."
+
+   The paradigm of competition is a race: by rewarding the winner, we
+encourage everyone to run faster.  When capitalism really works this
+way, it does a good job; but its defenders are wrong in assuming it
+always works this way.  If the runners forget why the reward is offered
+and become intent on winning, no matter how, they may find other
+strategies--such as, attacking other runners.  If the runners get into
+a fist fight, they will all finish late.
+
+   Proprietary and secret software is the moral equivalent of runners
+in a fist fight.  Sad to say, the only referee we've got does not seem
+to object to fights; he just regulates them ("For every ten yards you
+run, you can fire one shot").  He really ought to break them up, and
+penalize runners for even trying to fight.
+
+     "Won't everyone stop programming without a monetary incentive?"
+
+   Actually, many people will program with absolutely no monetary
+incentive.  Programming has an irresistible fascination for some
+people, usually the people who are best at it.  There is no shortage of
+professional musicians who keep at it even though they have no hope of
+making a living that way.
+
+   But really this question, though commonly asked, is not appropriate
+to the situation.  Pay for programmers will not disappear, only become
+less.  So the right question is, will anyone program with a reduced
+monetary incentive?  My experience shows that they will.
+
+   For more than ten years, many of the world's best programmers worked
+at the Artificial Intelligence Lab for far less money than they could
+have had anywhere else.  They got many kinds of non-monetary rewards:
+fame and appreciation, for example.  And creativity is also fun, a
+reward in itself.
+
+   Then most of them left when offered a chance to do the same
+interesting work for a lot of money.
+
+   What the facts show is that people will program for reasons other
+than riches; but if given a chance to make a lot of money as well, they
+will come to expect and demand it.  Low-paying organizations do poorly
+in competition with high-paying ones, but they do not have to do badly
+if the high-paying ones are banned.
+
+     "We need the programmers desperately.  If they demand that we stop
+     helping our neighbors, we have to obey."
+
+   You're never so desperate that you have to obey this sort of demand.
+Remember: millions for defense, but not a cent for tribute!
+
+     "Programmers need to make a living somehow."
+
+   In the short run, this is true.  However, there are plenty of ways
+that programmers could make a living without selling the right to use a
+program.  This way is customary now because it brings programmers and
+businessmen the most money, not because it is the only way to make a
+living.  It is easy to find other ways if you want to find them.  Here
+are a number of examples.
+
+   A manufacturer introducing a new computer will pay for the porting of
+operating systems onto the new hardware.
+
+   The sale of teaching, hand-holding, and maintenance services could
+also employ programmers.
+
+   People with new ideas could distribute programs as freeware and ask
+for donations from satisfied users or sell hand-holding services.  I
+have met people who are already working this way successfully.
+
+   Users with related needs can form users' groups and pay dues.  A
+group would contract with programming companies to write programs that
+the group's members would like to use.
+
+   All sorts of development can be funded with a Software Tax:
+
+     Suppose everyone who buys a computer has to pay a certain percent
+     of the price as a software tax.  The government gives this to an
+     agency like the NSF to spend on software development.
+
+     But if the computer buyer makes a donation to software development
+     himself, he can take a credit against the tax.  He can donate to
+     the project of his own choosing--often, chosen because he hopes to
+     use the results when
+
+     it is done.  He can take a credit for any amount of donation up to
+     the total tax he had to pay.
+
+     The total tax rate could be decided by a vote of the payers of the
+     tax, weighted according to the amount they will be taxed on.
+
+     The consequences:
+
+        * The computer-using community supports software development.
+
+        * This community decides what level of support is needed.
+
+        * Users who care which projects their share is spent on can
+          choose this for themselves.
+
+   In the long run, making programs free is a step toward the
+post-scarcity world, where nobody will have to work very hard just to
+make a living.  People will be free to devote themselves to activities
+that are fun, such as programming, after spending the necessary ten
+hours a week on required tasks such as legislation, family counseling,
+robot repair, and asteroid prospecting.  There will be no need to be
+able to make a living from programming.
+
+   We have already greatly reduced the amount of work that the whole
+society must do for its actual productivity, but only a little of this
+has translated itself into leisure for workers because much
+nonproductive activity is required to accompany productive activity.
+The main causes of this are bureaucracy and isometric struggles against
+competition.  Free software will greatly reduce these drains in the
+area of software production.  We must do this, in order for technical
+gains in productivity to translate into less work for us.
 
 \1f
-File: xemacs.info,  Node: Concept Index,  Next: Frame,  Prev: Variable Index,  Up: Top
+File: xemacs.info,  Node: Key Index,  Next: Command Index,  Prev: Manifesto,  Up: Top
 
-Concept Index
-*************
+Key (Character) Index
+*********************
 
 * Menu:
 
-* .mailrc file:                          Mail Headers.
-* Abbrev mode:                           Minor Modes.
-* abbrevs:                               Abbrevs.
-* aborting:                              Quitting.
-* accumulating text:                     Accumulating Text.
-* active fields (customization buffer):  Customization Groups.
-* active regions:                        Active Regions.
-* adding menu items:                     Menu Customization.
-* adding menus:                          Menu Customization.
-* againformation:                        Dissociated Press.
-* Apps menu <1>:                         Apps Menu.
-* Apps menu:                             Pull-down Menus.
-* apropos:                               Help.
-* architecture-specific directories:     Startup Paths.
-* arguments (from shell):                Command Switches.
-* ASCII:                                 Intro to Keystrokes.
-* Asm mode:                              Asm Mode.
-* astronomical day numbers:              Calendar Systems.
-* audible bell, changing:                Audible Bell.
-* Auto Delete Selection menu item:       Options Menu.
-* Auto Fill mode <1>:                    Minor Modes.
-* Auto Fill mode <2>:                    Comments.
-* Auto Fill mode:                        Auto Fill.
-* Auto-Save mode:                        Auto Save.
-* autoload:                              Loading.
-* backup file:                           Backup.
-* batch mode:                            Command Switches.
-* bell, changing:                        Audible Bell.
-* binary packages:                       Package Terminology.
-* binding:                               Commands.
-* blank lines <1>:                       Comments.
-* blank lines:                           Blank Lines.
-* body lines (Outline mode):             Outline Format.
-* bold font:                             Face Customization.
-* boredom:                               Amusements.
-* buffer:                                Frame.
-* buffer menu:                           Several Buffers.
-* buffers:                               Buffers.
-* Buffers menu <1>:                      Buffers Menu.
-* Buffers menu:                          Pull-down Menus.
-* Buffers Menu Length... menu item:      Options Menu.
-* Buffers Sub-Menus menu item:           Options Menu.
-* buggestion:                            Dissociated Press.
-* bugs:                                  Bugs.
-* byte code:                             Compiling Libraries.
-* C:                                     Programs.
-* C mode:                                Program Modes.
-* calendar:                              Calendar/Diary.
-* calendar and LaTeX:                    LaTeX Calendar.
-* calendar, first day of week:           Move to Beginning or End.
-* candle lighting times:                 Sexp Diary Entries.
-* case conversion <1>:                   Case.
-* case conversion:                       Fixing Case.
-* Case Sensitive Search menu item:       Options Menu.
-* centering:                             Fill Commands.
-* change log:                            Change Log.
-* changing buffers:                      Select Buffer.
-* changing menu items:                   Menu Customization.
-* character set:                         Intro to Keystrokes.
-* checking in files:                     Concepts of VC.
-* checking out files:                    Concepts of VC.
-* Chinese:                               Mule.
-* Chinese calendar:                      Calendar Systems.
-* Clear menu item:                       Edit Menu.
-* clipboard selections:                  X Clipboard Selection.
-* coding systems:                        Coding Systems.
-* command <1>:                           Key Bindings.
-* command:                               Commands.
-* command history:                       Repetition.
-* command line arguments:                Command Switches.
-* command name:                          Key Bindings.
-* comments:                              Comments.
-* comparing files:                       Comparing Files.
-* compilation errors:                    Compilation.
-* compiling files:                       Compilation.
-* completion:                            Completion.
-* completion (symbol names):             Lisp Completion.
-* continuation line:                     Continuation Lines.
-* Control-Meta:                          Lists.
-* Coptic calendar:                       Calendar Systems.
-* Copy menu item:                        Edit Menu.
-* copying files:                         Misc File Ops.
-* copying text <1>:                      Accumulating Text.
-* copying text:                          Yanking.
-* core distribution:                     Using Packages.
-* crashes:                               Auto Save.
-* creating directories:                  File Names.
-* creating files:                        Visiting.
-* current buffer:                        Buffers.
-* current stack frame:                   Lisp Debug.
-* cursor <1>:                            Basic.
-* cursor:                                Point.
-* customization <1>:                     Customization.
-* customization <2>:                     Lisp Indent.
-* customization:                         Commands.
-* customization buffer:                  Easy Customization.
-* customization groups:                  Customization Groups.
-* customizing faces:                     Face Customization.
-* cut buffers:                           X Selection Commands.
-* Cut menu item:                         Edit Menu.
-* cutting:                               Killing.
-* day of year:                           General Calendar.
-* daylight savings time:                 Daylight Savings.
-* debugger:                              Lisp Debug.
-* default argument:                      Minibuffer.
-* defuns:                                Defuns.
-* Delete Frame menu item:                File Menu.
-* deleting menu items:                   Menu Customization.
-* deletion <1>:                          Killing.
-* deletion:                              Basic.
-* deletion (of files) <1>:               Misc File Ops.
-* deletion (of files):                   Dired.
-* diary:                                 Diary.
-* diary buffer:                          Fancy Diary Display.
-* diary file:                            Format of Diary File.
-* ding:                                  Audible Bell.
-* directories:                           Startup Paths.
-* directory hierarchies:                 Startup Paths.
-* directory listing:                     ListDir.
-* Dired:                                 Dired.
-* disabled command:                      Disabling.
-* disabling menu items:                  Menu Customization.
-* Distribution:                          License.
-* doctor:                                Total Frustration.
-* drastic changes:                       Reverting.
-* dribble file:                          Bugs.
-* early package hierarchies:             Startup Paths.
-* echo area:                             Echo Area.
-* Edit menu <1>:                         Edit Menu.
-* Edit menu:                             Pull-down Menus.
-* editable fields (customization buffer): Customization Groups.
-* editing level, recursive <1>:          Quitting.
-* editing level, recursive:              Recursive Edit.
-* EDT:                                   Emulation.
-* Eliza:                                 Total Frustration.
-* Emacs initialization file:             Init File.
-* Emacs-Lisp mode:                       Lisp Eval.
-* enabling menu items:                   Menu Customization.
-* encoding of characters:                Mule.
-* End Macro Recording menu item:         Edit Menu.
-* entering Emacs:                        Entering Emacs.
-* entering XEmacs:                       Entering Emacs.
-* environment:                           Single Shell.
-* error log:                             Compilation.
-* etags program:                         Create Tags Table.
-* Ethiopic calendar:                     Calendar Systems.
-* Execute Last Macro menu item:          Edit Menu.
-* Exit Emacs menu item:                  File Menu.
-* exiting <1>:                           Recursive Edit.
-* exiting:                               Exiting.
-* expansion (of abbrevs):                Abbrevs.
-* expression:                            Lists.
-* file dates:                            Interlocking.
-* file directory:                        ListDir.
-* File menu <1>:                         File Menu.
-* File menu:                             Pull-down Menus.
-* file names:                            File Names.
-* file protection:                       Interlocking.
-* files <1>:                             Visiting.
-* files <2>:                             Files.
-* files:                                 Basic.
-* fill prefix:                           Fill Prefix.
-* filling:                               Filling.
-* Font menu item:                        Options Menu.
-* fonts and faces:                       Face Customization.
-* formfeed:                              Pages.
-* Fortran mode:                          Fortran.
-* frame:                                 Frame.
-* French Revolutionary calendar:         Calendar Systems.
-* function <1>:                          Key Bindings.
-* function:                              Commands.
-* General Public License:                License.
-* global keymap:                         Keymaps.
-* global substitution:                   Replace.
-* graphic characters:                    Basic.
-* Greek:                                 Mule.
-* Gregorian calendar:                    Other Calendars.
-* grinding:                              Grinding.
-* hardcopy:                              Hardcopy.
-* header (TeX mode):                     TeX Print.
-* headers (of mail message):             Mail Headers.
-* heading lines (Outline mode):          Outline Format.
-* Hebrew calendar:                       Calendar Systems.
-* help:                                  Help.
-* Help menu <1>:                         Help Menu.
-* Help menu:                             Pull-down Menus.
-* hierarchies:                           Startup Paths.
-* history of commands:                   Repetition.
-* holiday forms:                         Holiday Customizing.
-* holidays:                              Holidays.
-* horizontal scrolling:                  Horizontal Scrolling.
-* ignoriginal:                           Dissociated Press.
-* indentation <1>:                       Comments.
-* indentation <2>:                       Grinding.
-* indentation:                           Indentation.
-* inferior process:                      Compilation.
-* init file:                             Init File.
-* input methods:                         Input Methods.
-* Insert File... menu item:              File Menu.
-* insertion:                             Basic.
-* international scripts:                 Mule.
-* interval operator (in regexps):        Etags Regexps.
-* invisible lines:                       Outline Mode.
-* IPA:                                   Mule.
-* Islamic calendar:                      Calendar Systems.
-* ISO commercial calendar:               Calendar Systems.
-* italic font:                           Face Customization.
-* Japanese:                              Mule.
-* Julian calendar:                       Calendar Systems.
-* Julian day numbers:                    Calendar Systems.
-* justification:                         Fill Commands.
-* key rebinding, permanent:              Init File.
-* key rebinding, this session:           Rebinding.
-* keyboard macros:                       Keyboard Macros.
-* keycode:                               Super and Hyper Keys.
-* keymap <1>:                            Keymaps.
-* keymap:                                Commands.
-* keystroke:                             Intro to Keystrokes.
-* keysym:                                Intro to Keystrokes.
-* keysyms:                               Super and Hyper Keys.
-* Kill Buffer menu item:                 File Menu.
-* kill ring:                             Yanking.
-* killing:                               Killing.
-* killing Emacs:                         Exiting.
-* Korean:                                Mule.
-* language environments:                 Language Environments.
-* last package hierarchies:              Startup Paths.
-* late package hierarchies:              Startup Paths.
-* LaTeX:                                 TeX Mode.
-* libraries:                             Lisp Libraries.
-* license to copy XEmacs:                License.
-* line number:                           Position Info.
-* Lisp:                                  Programs.
-* Lisp mode:                             Program Modes.
-* list:                                  Lists.
-* loading libraries:                     Loading.
-* loading Lisp code:                     Lisp Libraries.
-* local keymap:                          Keymaps.
-* local variables:                       Locals.
-* local variables in files:              File Variables.
-* locking and version control:           Concepts of VC.
-* log entry:                             Editing with VC.
-* mail <1>:                              Reading Mail.
-* mail:                                  Sending Mail.
-* major modes:                           Major Modes.
-* make:                                  Compilation.
-* mark:                                  Mark.
-* mark ring <1>:                         Mark and Region.
-* mark ring:                             Mark Ring.
-* Markov chain:                          Dissociated Press.
-* master file:                           Concepts of VC.
-* matching parentheses:                  Matching.
-* Mayan calendar:                        Calendar Systems.
-* Mayan calendar round:                  Mayan Calendar.
-* Mayan haab calendar:                   Mayan Calendar.
-* Mayan long count:                      Mayan Calendar.
-* Mayan tzolkin calendar:                Mayan Calendar.
-* menus <1>:                             Change Window.
-* menus:                                 Pull-down Menus.
-* message <1>:                           Reading Mail.
-* message:                               Sending Mail.
-* Meta:                                  Words.
-* minibuffer <1>:                        Keymaps.
-* minibuffer <2>:                        M-x.
-* minibuffer:                            Minibuffer.
-* minor modes:                           Minor Modes.
-* mistakes, correcting <1>:              Fixit.
-* mistakes, correcting:                  Undo.
-* mocklisp:                              Mocklisp.
-* mode hook:                             Program Modes.
-* mode line <1>:                         Minor Modes.
-* mode line:                             Mode Line.
-* mode, Term:                            Term Mode.
-* modified (buffer):                     Visiting.
-* modifier key:                          Intro to Keystrokes.
-* modifier mapping:                      Super and Hyper Keys.
-* moon, phases of:                       Lunar Phases.
-* mouse operations:                      Additional Mouse Operations.
-* mouse selection:                       Mouse Selection.
-* moving inside the calendar:            Calendar Motion.
-* moving text:                           Yanking.
-* MULE:                                  Mule.
-* multi-frame XEmacs:                    XEmacs under X.
-* multibyte characters:                  Mule.
-* named configurations (RCS):            Snapshot Caveats.
-* narrowing:                             Narrowing.
-* New Frame menu item:                   File Menu.
-* newline:                               Basic.
-* non-incremental search:                Non-Incremental Search.
-* nroff:                                 Nroff Mode.
-* numeric arguments:                     Arguments.
-* omer count:                            Sexp Diary Entries.
-* Open File, New Frame... menu item:     File Menu.
-* Open File... menu item:                File Menu.
-* option <1>:                            Examining.
-* option:                                Variables.
-* Options menu <1>:                      Options Menu.
-* Options menu:                          Pull-down Menus.
-* other editors:                         Emulation.
-* outlines:                              Outline Mode.
-* outragedy:                             Dissociated Press.
-* Overstrike menu item:                  Options Menu.
-* Overwrite mode:                        Minor Modes.
-* package hierarchies:                   Startup Paths.
-* package path:                          Startup Paths.
-* packages:                              Packages.
-* page number:                           Position Info.
-* pages:                                 Pages.
-* paragraphs:                            Paragraphs.
-* parasha, weekly:                       Sexp Diary Entries.
-* Paren Highlighting menu item:          Options Menu.
-* parentheses:                           Matching.
-* Paste menu item:                       Edit Menu.
-* pasting:                               Yanking.
-* path:                                  Startup Paths.
-* paths:                                 Startup Paths.
-* per-buffer variables:                  Locals.
-* Persian calendar:                      Calendar Systems.
-* phases of the moon:                    Lunar Phases.
-* pictures:                              Picture.
-* point <1>:                             Basic.
-* point:                                 Point.
-* pointer face:                          Mouse Selection.
-* pointer shapes:                        Mouse Selection.
-* prefix key sequence:                   Key Sequences.
-* presidentagon:                         Dissociated Press.
-* primary selections:                    X Selection Commands.
-* Print Buffer menu item:                File Menu.
-* prompt:                                Minibuffer.
-* properbose:                            Dissociated Press.
-* Pull-down Menus <1>:                   Change Window.
-* Pull-down Menus:                       Pull-down Menus.
-* query replace:                         Query Replace.
-* quitting:                              Quitting.
-* quitting (in search):                  Incremental Search.
-* quoting:                               Basic.
-* random sentences:                      CONX.
-* RCS:                                   Concepts of VC.
-* Read Only menu item:                   Options Menu.
-* read-only buffer:                      Misc Buffer.
-* rebinding keys, permanently:           Init File.
-* rebinding keys, this session:          Rebinding.
-* rectangle <1>:                         Rectangles in Picture.
-* rectangle:                             RegRect.
-* rectangles:                            Rectangles.
-* recursive editing level <1>:           Quitting.
-* recursive editing level:               Recursive Edit.
-* redefining keys:                       Key Bindings Using Strings.
-* regexp:                                Regexp Search.
-* region <1>:                            Case.
-* region:                                Mark.
-* registered file:                       Concepts of VC.
-* registers:                             Registers.
-* regular expression:                    Regexp Search.
-* regular packages:                      Package Terminology.
-* removing directories:                  File Names.
-* replacement:                           Replace.
-* restriction:                           Narrowing.
-* Revert Buffer menu item:               File Menu.
-* root of a hierarchy:                   Startup Paths.
-* rosh hodesh:                           Sexp Diary Entries.
-* Russian:                               Mule.
-* Save Buffer As ... menu item:          File Menu.
-* Save Buffer menu item:                 File Menu.
-* Save Options:                          Options Menu.
-* saving:                                Visiting.
-* saving option value:                   Changing an Option.
-* SCCS:                                  Concepts of VC.
-* Scheme mode:                           Program Modes.
-* scrolling:                             Scrolling.
-* scrolling in the calendar:             Scroll Calendar.
-* searching:                             Search.
-* selected buffer:                       Buffers.
-* selected window:                       Basic Window.
-* selective display:                     Outline Mode.
-* self-documentation:                    Help.
-* sentences:                             Sentences.
-* setting option value:                  Changing an Option.
-* setting variables:                     Examining.
-* sexp:                                  Lists.
-* sexp diary entries:                    Sexp Diary Entries.
-* shell commands:                        Shell.
-* Shell mode:                            Shell Mode.
-* shift modifer:                         Representing Keystrokes.
-* shrinking XEmacs frame:                Exiting.
-* simultaneous editing:                  Interlocking.
-* single-file packages:                  Package Terminology.
-* site-specific directories:             Startup Paths.
-* Size menu item:                        Options Menu.
-* snapshots and version control:         Snapshots.
-* sorting:                               Sorting.
-* sorting diary entries:                 Fancy Diary Display.
-* source packages:                       Package Terminology.
-* spelling:                              Spelling.
-* Split Frame:                           File Menu.
-* Start Macro Recording menu item:       Edit Menu.
-* startup paths:                         Startup Paths.
-* string substitution:                   Replace.
-* subshell:                              Shell.
-* subtree (Outline mode):                Outline Visibility.
-* sunrise and sunset:                    Sunrise/Sunset.
-* suspending:                            Exiting.
-* switching buffers:                     Select Buffer.
-* Syntax Highlighting menu item:         Options Menu.
-* syntax table <1>:                      Syntax.
-* syntax table:                          Words.
-* tags table:                            Tags.
-* Teach Extended Commands menu item:     Options Menu.
-* techniquitous:                         Dissociated Press.
-* television:                            Appending Kills.
-* Term mode:                             Term Mode.
-* termscript file:                       Bugs.
-* TeX:                                   TeX Mode.
-* text:                                  Text.
-* Text mode:                             Text Mode.
-* Tools menu <1>:                        Tools Menu.
-* Tools menu:                            Pull-down Menus.
-* top level:                             Mode Line.
-* transposition <1>:                     Lists.
-* transposition <2>:                     Words.
-* transposition:                         Transpose.
-* truncation:                            Continuation Lines.
-* typos:                                 Fixit.
-* Un-split (Keep Others):                File Menu.
-* Un-split (Keep This):                  File Menu.
-* undo:                                  Undo.
-* Undo menu item:                        Edit Menu.
-* variable:                              Variables.
-* variables:                             Commands.
-* version control:                       Version Control.
-* version-specific directories:          Startup Paths.
-* vi:                                    Emulation.
-* viewing:                               Misc File Ops.
-* Viper:                                 Emulation.
-* visiting:                              Visiting.
-* visiting files:                        Visiting.
-* weeks, which day they start on:        Move to Beginning or End.
-* Weight menu item:                      Options Menu.
-* widening:                              Narrowing.
-* window:                                Frame.
-* windows:                               Windows.
-* Windows menu:                          Change Window.
-* word search:                           Word Search.
-* words <1>:                             Case.
-* words <2>:                             Words.
-* words:                                 Fixing Case.
-* work file:                             Concepts of VC.
-* X resources:                           X Resources.
-* yahrzeits <1>:                         Sexp Diary Entries.
-* yahrzeits:                             From Other Calendar.
-* yanking:                               Yanking.
-
+* ! (query-replace):                     Query Replace.
+* " (TeX mode):                          TeX Editing.
+* , (query-replace):                     Query Replace.
+* . (Calendar mode):                     Specified Dates.
+* . (query-replace):                     Query Replace.
+* ? (Calendar mode):                     General Calendar.
+* ^ (query-replace):                     Query Replace.
+* a (Calendar mode):                     Holidays.
+* BS:                                    Inserting Text.
+* button1:                               Intro to Keystrokes.
+* button1up:                             Intro to Keystrokes.
+* button2:                               Intro to Keystrokes.
+* button2up:                             Intro to Keystrokes.
+* button3:                               Intro to Keystrokes.
+* button3up:                             Intro to Keystrokes.
+* C-<:                                   Setting Mark.
+* C->:                                   Setting Mark.
+* C-@ (Calendar mode):                   Mark and Region.
+* C-\:                                   Select Input Method.
+* C-] <1>:                               Quitting.
+* C-]:                                   Recursive Edit.
+* C-_:                                   Undo.
+* C-a:                                   Moving Point.
+* C-a (Calendar mode):                   Move to Beginning or End.
+* C-b:                                   Moving Point.
+* C-b (Calendar mode):                   Calendar Unit Motion.
+* C-c:                                   Key Sequences.
+* C-c ' (Picture mode):                  Insert in Picture.
+* C-c . (Picture mode):                  Insert in Picture.
+* C-c / (Picture mode):                  Insert in Picture.
+* C-c ; (Fortran mode):                  Fortran Comments.
+* C-c < (Picture mode):                  Insert in Picture.
+* C-c > (Picture mode):                  Insert in Picture.
+* C-c \ (Picture mode):                  Insert in Picture.
+* C-c ^ (Picture mode):                  Insert in Picture.
+* C-c ` (Picture mode):                  Insert in Picture.
+* C-c C-\ (Shell mode):                  Shell Mode.
+* C-c C-b (Outline mode):                Outline Motion.
+* C-c C-b (Picture mode):                Insert in Picture.
+* C-c C-b (TeX mode):                    TeX Print.
+* C-c C-c (Edit Abbrevs):                Editing Abbrevs.
+* C-c C-c (Edit Tab Stops):              Tab Stops.
+* C-c C-c (Mail mode):                   Mail Mode.
+* C-c C-c (Occur mode):                  Other Repeating Search.
+* C-c C-c (Shell mode):                  Shell Mode.
+* C-c C-d (Picture mode):                Basic Picture.
+* C-c C-d (Shell mode):                  Shell Mode.
+* C-c C-f (LaTeX mode):                  TeX Editing.
+* C-c C-f (Outline mode):                Outline Motion.
+* C-c C-f (Picture mode):                Insert in Picture.
+* C-c C-f C-c (Mail mode):               Mail Mode.
+* C-c C-f C-s (Mail mode):               Mail Mode.
+* C-c C-f C-t (Mail mode):               Mail Mode.
+* C-c C-h (Outline mode):                Outline Visibility.
+* C-c C-i (Outline mode):                Outline Visibility.
+* C-c C-j (Term mode):                   Term Mode.
+* C-c C-k (Picture mode):                Rectangles in Picture.
+* C-c C-k (Term mode):                   Term Mode.
+* C-c C-k (TeX mode):                    TeX Print.
+* C-c C-l (Calendar mode):               General Calendar.
+* C-c C-l (TeX mode):                    TeX Print.
+* C-c C-n (Fortran mode):                Fortran Motion.
+* C-c C-n (Outline mode):                Outline Motion.
+* C-c C-o (Shell mode):                  Shell Mode.
+* C-c C-p (Fortran mode):                Fortran Motion.
+* C-c C-p (Outline mode):                Outline Motion.
+* C-c C-p (TeX mode):                    TeX Print.
+* C-c C-q (Mail mode):                   Mail Mode.
+* C-c C-q (Term mode):                   Paging in Term.
+* C-c C-q (TeX mode):                    TeX Print.
+* C-c C-r (Fortran mode):                Fortran Columns.
+* C-c C-r (Shell mode):                  Shell Mode.
+* C-c C-r (TeX mode):                    TeX Print.
+* C-c C-s (Mail mode):                   Mail Mode.
+* C-c C-s (Outline mode):                Outline Visibility.
+* C-c C-u (Outline mode):                Outline Motion.
+* C-c C-u (Shell mode):                  Shell Mode.
+* C-c C-w (Fortran mode):                Fortran Columns.
+* C-c C-w (Mail mode):                   Mail Mode.
+* C-c C-w (Picture mode):                Rectangles in Picture.
+* C-c C-w (Shell mode):                  Shell Mode.
+* C-c C-x (Picture mode):                Rectangles in Picture.
+* C-c C-y (Mail mode):                   Mail Mode.
+* C-c C-y (Picture mode):                Rectangles in Picture.
+* C-c C-y (Shell mode):                  Shell Mode.
+* C-c C-z (Shell mode):                  Shell Mode.
+* C-c TAB (Picture mode):                Tabs in Picture.
+* C-c { (TeX mode):                      TeX Editing.
+* C-c } (TeX mode):                      TeX Editing.
+* C-d:                                   Killing.
+* C-d (Shell mode):                      Shell Mode.
+* C-e:                                   Moving Point.
+* C-e (Calendar mode):                   Move to Beginning or End.
+* C-END:                                 Moving Point.
+* C-f:                                   Moving Point.
+* C-f (Calendar mode):                   Calendar Unit Motion.
+* C-g <1>:                               Quitting.
+* C-g:                                   Minibuffer.
+* C-g (isearch-mode):                    Incremental Search.
+* C-h <1>:                               Help.
+* C-h:                                   Key Sequences.
+* C-h A:                                 Apropos.
+* C-h b:                                 Misc Help.
+* C-h C:                                 Coding Systems.
+* C-h c:                                 Key Help.
+* C-h C-\:                               Select Input Method.
+* C-h C-c:                               Misc Help.
+* C-h C-d:                               Misc Help.
+* C-h C-f:                               Misc Help.
+* C-h C-h:                               Help.
+* C-h C-k:                               Misc Help.
+* C-h C-w:                               Misc Help.
+* C-h f:                                 Documentation.
+* C-h F:                                 Misc Help.
+* C-h f:                                 Name Help.
+* C-h h:                                 Mule Intro.
+* C-h I:                                 Select Input Method.
+* C-h i:                                 Misc Help.
+* C-h k:                                 Key Help.
+* C-h L:                                 Language Environments.
+* C-h l:                                 Misc Help.
+* C-h m:                                 Misc Help.
+* C-h n:                                 Misc Help.
+* C-h p:                                 Library Keywords.
+* C-h s:                                 Syntax Change.
+* C-h t <1>:                             Misc Help.
+* C-h t:                                 Basic.
+* C-h v <1>:                             Examining.
+* C-h v <2>:                             Documentation.
+* C-h v:                                 Name Help.
+* C-h w:                                 Name Help.
+* C-HOME:                                Moving Point.
+* C-k:                                   Killing.
+* C-l <1>:                               Scrolling.
+* C-l:                                   Moving Point.
+* C-l (query-replace):                   Query Replace.
+* C-LEFT:                                Moving Point.
+* C-M-@ <1>:                             Lists.
+* C-M-@:                                 Marking Objects.
+* C-M-\ <1>:                             Multi-line Indent.
+* C-M-\:                                 Indentation Commands.
+* C-M-a:                                 Defuns.
+* C-M-a (Fortran mode):                  Fortran Motion.
+* C-M-b:                                 Lists.
+* C-M-c:                                 Recursive Edit.
+* C-M-d:                                 Lists.
+* C-M-e:                                 Defuns.
+* C-M-e (Fortran mode):                  Fortran Motion.
+* C-M-f:                                 Lists.
+* C-M-h <1>:                             Defuns.
+* C-M-h:                                 Marking Objects.
+* C-M-h (Fortran mode):                  Fortran Motion.
+* C-M-k <1>:                             Lists.
+* C-M-k:                                 Killing.
+* C-M-n:                                 Lists.
+* C-M-o:                                 Indentation Commands.
+* C-M-p:                                 Lists.
+* C-M-q:                                 Multi-line Indent.
+* C-M-q (Fortran mode):                  ForIndent Commands.
+* C-M-t <1>:                             Lists.
+* C-M-t:                                 Transpose.
+* C-M-u:                                 Lists.
+* C-M-v <1>:                             Other Window.
+* C-M-v:                                 Minibuffer Edit.
+* C-M-w:                                 Appending Kills.
+* C-M-x <1>:                             External Lisp.
+* C-M-x:                                 Lisp Eval.
+* C-n:                                   Moving Point.
+* C-n (Calendar mode):                   Calendar Unit Motion.
+* C-o:                                   Blank Lines.
+* C-p:                                   Moving Point.
+* C-p (Calendar mode):                   Calendar Unit Motion.
+* C-q:                                   Inserting Text.
+* C-q (isearch-mode):                    Incremental Search.
+* C-r:                                   Incremental Search.
+* C-r (isearch-mode):                    Incremental Search.
+* C-r (query-replace):                   Query Replace.
+* C-RIGHT:                               Moving Point.
+* C-s:                                   Incremental Search.
+* C-s (isearch-mode):                    Incremental Search.
+* C-SPC:                                 Setting Mark.
+* C-SPC (Calendar mode):                 Mark and Region.
+* C-t <1>:                               Transpose.
+* C-t:                                   Moving Point.
+* C-u:                                   Arguments.
+* C-u - C-x ;:                           Comments.
+* C-u C-@:                               Mark Ring.
+* C-u C-SPC:                             Mark Ring.
+* C-u C-x v v:                           Editing with VC.
+* C-u TAB:                               Multi-line Indent.
+* C-v <1>:                               Scrolling.
+* C-v:                                   Moving Point.
+* C-v (Calendar mode):                   Scroll Calendar.
+* C-w:                                   Killing.
+* C-w (isearch-mode):                    Incremental Search.
+* C-w (query-replace):                   Query Replace.
+* C-x:                                   Key Sequences.
+* C-x $:                                 Selective Display.
+* C-x (:                                 Basic Kbd Macro.
+* C-x ):                                 Basic Kbd Macro.
+* C-x .:                                 Fill Prefix.
+* C-x 0:                                 Change Window.
+* C-x 1:                                 Change Window.
+* C-x 2:                                 Split Window.
+* C-x 3:                                 Split Window.
+* C-x 4:                                 Pop Up Window.
+* C-x 4 .:                               Find Tag.
+* C-x 4 b:                               Select Buffer.
+* C-x 4 d:                               Dired Enter.
+* C-x 4 f:                               Visiting.
+* C-x 4 m:                               Sending Mail.
+* C-x 5 b:                               Select Buffer.
+* C-x 5 C-f:                             Visiting.
+* C-x ;:                                 Comments.
+* C-x <:                                 Horizontal Scrolling.
+* C-x < (Calendar mode):                 Scroll Calendar.
+* C-x =:                                 Position Info.
+* C-x >:                                 Horizontal Scrolling.
+* C-x > (Calendar mode):                 Scroll Calendar.
+* C-x [:                                 Pages.
+* C-x [ (Calendar mode):                 Calendar Unit Motion.
+* C-x ]:                                 Pages.
+* C-x ] (Calendar mode):                 Calendar Unit Motion.
+* C-x ^:                                 Change Window.
+* C-x `:                                 Compilation.
+* C-x a g:                               Defining Abbrevs.
+* C-x a i g:                             Defining Abbrevs.
+* C-x a i l:                             Defining Abbrevs.
+* C-x a l:                               Defining Abbrevs.
+* C-x b:                                 Select Buffer.
+* C-x C-b:                               List Buffers.
+* C-x C-c:                               Exiting.
+* C-x C-d:                               ListDir.
+* C-x C-e:                               Lisp Eval.
+* C-x C-l:                               Case.
+* C-x C-o <1>:                           Killing.
+* C-x C-o:                               Blank Lines.
+* C-x C-p <1>:                           Pages.
+* C-x C-p:                               Marking Objects.
+* C-x C-q:                               Misc Buffer.
+* C-x C-q (version control):             Editing with VC.
+* C-x C-s:                               Saving.
+* C-x C-t:                               Transpose.
+* C-x C-u:                               Case.
+* C-x C-v:                               Visiting.
+* C-x C-w:                               Saving.
+* C-x C-x:                               Setting Mark.
+* C-x C-x (Calendar mode):               Mark and Region.
+* C-x d:                                 Dired Enter.
+* C-x DEL <1>:                           Sentences.
+* C-x DEL <2>:                           Kill Errors.
+* C-x DEL:                               Killing.
+* C-x e:                                 Basic Kbd Macro.
+* C-x ESC ESC:                           Repetition.
+* C-x f:                                 Fill Commands.
+* C-x h:                                 Marking Objects.
+* C-x k:                                 Kill Buffer.
+* C-x l:                                 Pages.
+* C-x m:                                 Sending Mail.
+* C-x n n:                               Narrowing.
+* C-x n w:                               Narrowing.
+* C-x o:                                 Other Window.
+* C-x q:                                 Kbd Macro Query.
+* C-x r +:                               RegNumbers.
+* C-x r b:                               Bookmarks.
+* C-x r g:                               RegText.
+* C-x r i:                               RegText.
+* C-x r j:                               RegPos.
+* C-x r l:                               Bookmarks.
+* C-x r m:                               Bookmarks.
+* C-x r n:                               RegNumbers.
+* C-x r r:                               RegRect.
+* C-x r s:                               RegText.
+* C-x r SPC:                             RegPos.
+* C-x r w:                               RegConfig.
+* C-x RET:                               Mule Intro.
+* C-x RET c:                             Specify Coding.
+* C-x RET C-\:                           Select Input Method.
+* C-x RET f:                             Specify Coding.
+* C-x RET k:                             Specify Coding.
+* C-x RET p:                             Specify Coding.
+* C-x RET t:                             Specify Coding.
+* C-x s:                                 Saving.
+* C-x TAB:                               Indentation Commands.
+* C-x u:                                 Undo.
+* C-x v =:                               Old Versions.
+* C-x v a:                               Change Logs and VC.
+* C-x v c:                               Editing with VC.
+* C-x v d:                               VC Status.
+* C-x v h:                               Version Headers.
+* C-x v i:                               Editing with VC.
+* C-x v l:                               VC Status.
+* C-x v r:                               Making Snapshots.
+* C-x v s:                               Making Snapshots.
+* C-x v u:                               Editing with VC.
+* C-x v ~:                               Old Versions.
+* C-x }:                                 Change Window.
+* C-y:                                   Kill Ring.
+* C-y (isearch-mode):                    Incremental Search.
+* C-z:                                   Exiting.
+* control key:                           Intro to Keystrokes.
+* d (Calendar mode):                     Diary Commands.
+* DEL <1>:                               Program Modes.
+* DEL <2>:                               Major Modes.
+* DEL <3>:                               Kill Errors.
+* DEL:                                   Killing.
+* DEL (isearch-mode):                    Incremental Search.
+* DEL (query-replace):                   Query Replace.
+* DOWN:                                  Moving Point.
+* END:                                   Moving Point.
+* ESC <1>:                               Meta Key.
+* ESC:                                   Key Sequences.
+* ESC (query-replace):                   Query Replace.
+* F1:                                    Help.
+* g CHAR (Calendar mode):                From Other Calendar.
+* g d (Calendar mode):                   Specified Dates.
+* g m l (Calendar mode):                 Mayan Calendar.
+* h (Calendar mode):                     Holidays.
+* Help:                                  Help.
+* HOME:                                  Moving Point.
+* hyper key <1>:                         Super and Hyper Keys.
+* hyper key <2>:                         Representing Keystrokes.
+* hyper key:                             Intro to Keystrokes.
+* i a (Calendar mode):                   Special Diary Entries.
+* i b (Calendar mode):                   Special Diary Entries.
+* i c (Calendar mode):                   Special Diary Entries.
+* i d (Calendar mode):                   Adding to Diary.
+* i m (Calendar mode):                   Adding to Diary.
+* i w (Calendar mode):                   Adding to Diary.
+* i y (Calendar mode):                   Adding to Diary.
+* LEFT:                                  Moving Point.
+* LFD <1>:                               Basic Indent.
+* LFD <2>:                               Major Modes.
+* LFD:                                   String Key Sequences.
+* LFD (TeX mode):                        TeX Editing.
+* m (Calendar mode):                     Diary Commands.
+* M (Calendar mode):                     Lunar Phases.
+* M-!:                                   Single Shell.
+* M-$:                                   Spelling.
+* M-%:                                   Query Replace.
+* M-':                                   Expanding Abbrevs.
+* M-(:                                   Balanced Editing.
+* M-):                                   Balanced Editing.
+* M-,:                                   Tags Search.
+* M--:                                   Arguments.
+* M-- M-c:                               Fixing Case.
+* M-- M-l:                               Fixing Case.
+* M-- M-u:                               Fixing Case.
+* M-.:                                   Find Tag.
+* M-/:                                   Dynamic Abbrevs.
+* M-1:                                   Arguments.
+* M-;:                                   Comments.
+* M-<:                                   Moving Point.
+* M-< (Calendar mode):                   Move to Beginning or End.
+* M-=:                                   Position Info.
+* M-= (Calendar mode):                   Mark and Region.
+* M->:                                   Moving Point.
+* M-> (Calendar mode):                   Move to Beginning or End.
+* M-?:                                   Nroff Mode.
+* M-@ <1>:                               Words.
+* M-@:                                   Marking Objects.
+* M-[:                                   Paragraphs.
+* M-\ <1>:                               Indentation Commands.
+* M-\:                                   Killing.
+* M-]:                                   Paragraphs.
+* M-^ <1>:                               Indentation Commands.
+* M-^:                                   Killing.
+* M-a:                                   Sentences.
+* M-a (Calendar mode):                   Move to Beginning or End.
+* M-b:                                   Words.
+* M-c:                                   Case.
+* M-C-r:                                 Regexp Search.
+* M-C-s:                                 Regexp Search.
+* M-d <1>:                               Words.
+* M-d:                                   Killing.
+* M-DEL <1>:                             Words.
+* M-DEL <2>:                             Kill Errors.
+* M-DEL:                                 Killing.
+* M-e:                                   Sentences.
+* M-e (Calendar mode):                   Move to Beginning or End.
+* M-ESC:                                 Lisp Eval.
+* M-f:                                   Words.
+* M-g:                                   Fill Commands.
+* M-h <1>:                               Paragraphs.
+* M-h:                                   Marking Objects.
+* M-i:                                   Tab Stops.
+* M-k <1>:                               Sentences.
+* M-k:                                   Killing.
+* M-l:                                   Case.
+* M-LFD:                                 Comments.
+* M-LFD (Fortran mode):                  ForIndent Commands.
+* M-m:                                   Indentation Commands.
+* M-n <1>:                               Nroff Mode.
+* M-n:                                   Repetition.
+* M-n (isearch-mode):                    Incremental Search.
+* M-n (minibuffer history):              Minibuffer History.
+* M-n (Shell mode):                      Shell Mode.
+* M-p <1>:                               Nroff Mode.
+* M-p:                                   Repetition.
+* M-p (isearch-mode):                    Incremental Search.
+* M-p (minibuffer history):              Minibuffer History.
+* M-p (Shell mode):                      Shell Mode.
+* M-q:                                   Fill Commands.
+* M-r:                                   Moving Point.
+* M-r (minibuffer history):              Minibuffer History.
+* M-s:                                   Fill Commands.
+* M-s (minibuffer history):              Minibuffer History.
+* M-SPC:                                 Killing.
+* M-t <1>:                               Words.
+* M-t:                                   Transpose.
+* M-TAB <1>:                             Tabs in Picture.
+* M-TAB:                                 Lisp Completion.
+* M-TAB (customization buffer):          Changing an Option.
+* M-TAB (isearch-mode):                  Incremental Search.
+* M-u:                                   Case.
+* M-v <1>:                               Scrolling.
+* M-v:                                   Moving Point.
+* M-v (Calendar mode):                   Scroll Calendar.
+* M-w:                                   Kill Ring.
+* M-x:                                   M-x.
+* M-y:                                   Earlier Kills.
+* M-z:                                   Killing.
+* M-{ (Calendar mode):                   Calendar Unit Motion.
+* M-|:                                   Single Shell.
+* M-} (Calendar mode):                   Calendar Unit Motion.
+* M-~:                                   Saving.
+* META:                                  Meta Key.
+* meta key:                              Intro to Keystrokes.
+* next:                                  Scrolling.
+* o (Calendar mode):                     Specified Dates.
+* p (Calendar mode):                     To Other Calendar.
+* p d (Calendar mode):                   General Calendar.
+* pgdn:                                  Scrolling.
+* PGDN:                                  Moving Point.
+* pgup:                                  Scrolling.
+* PGUP:                                  Moving Point.
+* prior:                                 Scrolling.
+* q (Calendar mode):                     General Calendar.
+* RET:                                   Inserting Text.
+* RET (isearch-mode):                    Incremental Search.
+* RET (Shell mode):                      Shell Mode.
+* RIGHT:                                 Moving Point.
+* s (Calendar mode):                     Diary Commands.
+* S (Calendar mode):                     Sunrise/Sunset.
+* S-TAB (customization buffer):          Changing an Option.
+* shift key:                             Intro to Keystrokes.
+* SPC:                                   Completion Commands.
+* SPC (Calendar mode):                   General Calendar.
+* SPC (query-replace):                   Query Replace.
+* super key <1>:                         Super and Hyper Keys.
+* super key <2>:                         Representing Keystrokes.
+* super key:                             Intro to Keystrokes.
+* t (Calendar mode):                     LaTeX Calendar.
+* TAB <1>:                               Basic Indent.
+* TAB <2>:                               Text Mode.
+* TAB <3>:                               Indentation.
+* TAB <4>:                               Major Modes.
+* TAB <5>:                               Completion Example.
+* TAB:                                   String Key Sequences.
+* TAB (customization buffer):            Changing an Option.
+* TAB (Shell mode):                      Shell Mode.
+* u (Calendar mode) <1>:                 Diary Commands.
+* u (Calendar mode):                     Holidays.
+* UP:                                    Moving Point.
+* x (Calendar mode):                     Holidays.