Annotation of GNUtools/emacs/etc/FAQ, revision 1.1

1.1     ! root        1:                        GNU Emacs FAQ: Introduction
        !             2: 
        !             3: [To find what has changed, see the "diff" posting.]
        !             4: 
        !             5: [Joe Wells plans to quit soon as FAQ coordinator.  Steven Byrnes says he can
        !             6:  take over this portion of the FAQ responsibility.  We still need more
        !             7:  volunteers to help by taking charge of a section of the FAQ list.  Send e-mail
        !             8:  if you are interested.]
        !             9: 
        !            10: This is the introduction to a list of frequently asked questions (FAQ) about
        !            11: GNU Emacs with answers.  This article contains a listing of the questions;
        !            12: subsequent articles contain the questions and answers.
        !            13: 
        !            14: The FAQ list is posted to reduce the noise level in the `gnu.emacs.help'
        !            15: newsgroup (which is also the `help-gnu-emacs' mailing list) which results from
        !            16: the repetition of frequently asked questions, wrong answers to these questions,
        !            17: corrections to the wrong answers, corrections to the corrections, debate, name
        !            18: calling, etc.  Also, it serves as a repository of the canonical "best" answers
        !            19: to these questions.  However, if you know a better answer or even a slight
        !            20: change that improves an answer, please tell us!
        !            21: 
        !            22: If you know the answer of a question is in the FAQ list, please reply to the
        !            23: question by e-mail instead of posting.  Help reduce noise!
        !            24: 
        !            25: The FAQ list is crossposted to `comp.emacs' because some sites do not receive
        !            26: the `gnu.*' newsgroups.  The FAQ list is also crossposted to `news.answers'.
        !            27: 
        !            28: Please suggest new questions, answers, wording changes, deletions, etc.  The
        !            29: most helpful form for suggestions is a context diff (ie., the output of `diff
        !            30: -c').  Include `FAQ' in the subject of messages sent to us about the FAQ list.
        !            31: 
        !            32: Please do not send questions to us just because you do not want to disturb a
        !            33: lot of people and you think we would know the answer.  We do not have time to
        !            34: answer questions individually.  :-(
        !            35: 
        !            36: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !            37: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !            38: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !            39: WAIS, or Prospero to rtfm.mit.edu.
        !            40: 
        !            41: These ideas have already been suggested, but we have not had time to
        !            42: implement them:
        !            43: 
        !            44:   * A Texinfo version.
        !            45:   * Marking questions in the table of contents that have been changed
        !            46:     recently.
        !            47: 
        !            48: -- 
        !            49: Joe Wells <[email protected]> and Steven Byrnes <[email protected]>
        !            50: 
        !            51: E-mail [email protected] for details about the League for Programming Freedom.
        !            52: 
        !            53: ----------------------------------------------------------------------
        !            54: 
        !            55:                      GNU Emacs FAQ: Table of Contents
        !            56: 
        !            57: Notation Used in FAQ
        !            58: 
        !            59: 1:   What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
        !            60: 2:   What does "M-x command" mean?
        !            61: 3:   How do I read topic XXX in the on-line manual?
        !            62: 4:   What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
        !            63: 5:   What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
        !            64: 
        !            65: General Questions
        !            66: 
        !            67: 6:   What is the LPF and why should I join it?
        !            68: 7:   What is the real legal meaning of the GNU copyleft?
        !            69: 8:   What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
        !            70:      comp.emacs, etc.?
        !            71: 9:   Where can I get old postings to gnu.emacs.help and other GNU groups?
        !            72: 10:  Where should I report bugs and other problems with GNU Emacs?
        !            73: 11:  How do I unsubscribe to this mailing list?
        !            74: 12:  What is the current address of the FSF?
        !            75: 
        !            76: On-line Help, Printed Manuals, Other Sources of Help
        !            77: 
        !            78: 13:  I'm just starting GNU Emacs; how do I do basic editing?
        !            79: 14:  How do I find out how to do something in GNU Emacs?
        !            80: 15:  How do I get a printed copy of the GNU Emacs manual?
        !            81: 16:  Where can I get documentation on GNU Emacs Lisp?
        !            82: 17:  How do I install a piece of Texinfo documentation?
        !            83: 18:  How do I print a Texinfo file?
        !            84: 19:  Can I view Info files without using GNU Emacs?
        !            85: 20:  What informational files are available for GNU Emacs?
        !            86: 21:  Where can I get help in installing GNU Emacs?
        !            87: 22:  Where can I get the latest version of this document (the FAQ list)?
        !            88: 
        !            89: Status of Emacs
        !            90: 
        !            91: 23:  Where does the name "Emacs" come from?
        !            92: 24:  What is the latest version of GNU Emacs?
        !            93: 25:  When will GNU Emacs 19 be available?
        !            94: 26:  What is different about GNU Emacs 19?
        !            95: 27:  What variants of GNU Emacs exist?
        !            96: 
        !            97: Common Things People Want To Do
        !            98: 
        !            99: 28:  How do I set up a .emacs file properly?
        !           100: 29:  How do I debug a .emacs file?
        !           101: 30:  How do I make Emacs display the current line (or column) number?
        !           102: 31:  How do I turn on Abbrevs by default just in mode XXX?
        !           103: 32:  How do I turn on Auto-Fill mode by default?
        !           104: 33:  How do I make Emacs use a certain major mode for certain files?
        !           105: 34:  How do I search for, delete, or replace unprintable (8-bit or control)
        !           106:      characters?
        !           107: 35:  How can I highlight a region of text in Emacs?
        !           108: 36:  How do I control Emacs's case-sensitivity when searching/replacing?
        !           109: 37:  How do I make Emacs wrap words for me?
        !           110: 38:  Where can I get a better spelling checker for Emacs?
        !           111: 39:  How can I spell-check TeX or *roff documents?
        !           112: 40:  How do I change load-path?
        !           113: 41:  How do I use an already running Emacs from another window?
        !           114: 42:  How do I make Emacs recognize my compiler's funny error messages?
        !           115: 43:  How do I indent switch statements like this?
        !           116: 44:  How can I make Emacs automatically scroll horizontally?
        !           117: 45:  How do I make Emacs "typeover" or "overwrite" instead of inserting?
        !           118: 46:  How do I stop Emacs from beeping on a terminal?
        !           119: 47:  How do I turn down the bell volume in Emacs running under X Windows?
        !           120: 48:  How do I tell Emacs to automatically indent a new line to the
        !           121:      indentation of the previous line?
        !           122: 49:  How do I show which parenthesis matches the one I'm looking at?
        !           123: 50:  In C mode, can I show just the lines that will be left after #ifdef
        !           124:      commands are handled by the compiler?
        !           125: 51:  Is there an equivalent to the `.' (dot) command of vi?
        !           126: 52:  What are the valid X resource settings (ie., stuff in .Xdefaults)?
        !           127: 53:  How do I execute a piece of Emacs Lisp code?
        !           128: 54:  How do I change Emacs's idea of the tab character's length?
        !           129: 55:  How do I insert `>' at the beginning of every line?
        !           130: 56:  How do I insert `_^H' before each character in a paragraph to get an
        !           131:      underlined paragraph?
        !           132: 57:  How do I repeat a command as many times as possible?
        !           133: 58:  How do I make Emacs behave like this: when I go up or down, the cursor
        !           134:      should stay in the same column even if the line is too short?
        !           135: 59:  How do I tell Emacs to iconify itself?
        !           136: 60:  How do I use regexps (regular expressions) in Emacs?
        !           137: 61:  How do I perform a replace operation across more than one file?
        !           138: 62:  Where is the documentation for `etags'?
        !           139: 
        !           140: Bugs/Problems
        !           141: 
        !           142: 63:  Does Emacs have problems with files larger than 8 megabytes?
        !           143: 64:  Why can't Emacs find files in current directory on startup?
        !           144: 65:  How do I get rid of the ^M junk in my Shell buffer?
        !           145: 66:  Why do I get `Process shell exited abnormally with code 1'?
        !           146: 67:  Why can't I cut from Emacs and paste in other X programs?
        !           147: 68:  Where is the termcap/terminfo entry for terminal type `emacs'?
        !           148: 69:  Why does Emacs spontaneously start displaying `I-search:' and beeping?
        !           149: 70:  Why can't Emacs talk to certain hosts (or certain hostnames)?
        !           150: 71:  Why does Emacs say `Error in init file'?
        !           151: 72:  Why does Emacs ignore my X resources (my .Xdefaults file)?
        !           152: 73:  Why does Emacs take 20 seconds to visit a file?
        !           153: 74:  How do I edit a file with a `$' in its name?
        !           154: 75:  Why does Shell mode lose track of the shell's current directory?
        !           155: 76:  Why doesn't my change to load-path work?
        !           156: 77:  Why does the cursor always go to the wrong column when I move up or
        !           157:      down one line?
        !           158: 78:  Why does Emacs hang with message `Unknown XMenu error' with X11R4?
        !           159: 79:  Why doesn't display-time show the load average in the mode line
        !           160:      anymore?
        !           161: 80:  Why does ispell sometimes ignore the local dictionary?
        !           162: 81:  Why does Ispell treat each line as a single word?
        !           163: 82:  Are there any security risks in GNU Emacs?
        !           164: 
        !           165: Difficulties Building/Installing/Porting Emacs
        !           166: 
        !           167: 83:  What should I do if I have trouble building Emacs?
        !           168: 84:  How do I stop Emacs from failing when the executable is stripped?
        !           169: 85:  Why does linking Emacs with -lX11 fail?
        !           170: 86:  Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
        !           171: 
        !           172: Finding/Getting Emacs and Related Packages
        !           173: 
        !           174: 87:  Where can I get GNU Emacs on the net (or by snail mail)?
        !           175: 88:  How do I find a GNU Emacs Lisp package that does XXX?
        !           176: 89:  Where can I get GNU Emacs Lisp packages that don't come with Emacs?
        !           177: 90:  How do I submit code to the Emacs Lisp Archive?
        !           178: 91:  Where can I get other up-to-date GNU stuff?
        !           179: 92:  Where can I get an Emacs with better mouse and X window support?
        !           180: 93:  What is the difference between GNU Emacs and Epoch?
        !           181: 94:  What is the difference between GNU Emacs and Lucid GNU Emacs?
        !           182: 95:  Where can I get the "unofficial HP GNU Emacs"?
        !           183: 96:  Where can I get Emacs for my PC running MS-DOS?
        !           184: 97:  Where can I get Emacs for my PC running Windows?
        !           185: 98:  Where can I get Emacs for my PC running OS/2?
        !           186: 99:  Where can I get Emacs for my Atari ST?
        !           187: 100: Where can I get Emacs for my Amiga?
        !           188: 101: Where can I get Emacs for my Apple computer?
        !           189: 102: Where can I get Emacs with NeWS support?
        !           190: 103: Where do I get Emacs that runs on VMS under DECwindows?
        !           191: 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
        !           192:      Objective C, Pascal, Awk?
        !           193: 105: What is the IP address of XXX.YYY.ZZZ?
        !           194: 
        !           195: Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
        !           196: 
        !           197: 106: VM (View Mail) -- another mail reader within Emacs
        !           198: 107: Supercite -- mail and news citation package within Emacs
        !           199: 108: GNUS -- news reader within Emacs
        !           200: 109: Calc -- poor man's Mathematica within Emacs
        !           201: 110: Calendar/Diary -- calendar manager within Emacs
        !           202: 111: Ange-FTP -- transparent FTP access for Emacs's file access routines
        !           203: 112: VIP -- vi emulation for Emacs
        !           204: 113: Dired -- better directory editor for Emacs
        !           205: 114: AUC TeX -- enhanced LaTeX mode with debugging facilities
        !           206: 115: Hyperbole -- extensible hypertext management system within Emacs
        !           207: 116: Byte Compiler -- enhanced version of Emacs's byte compiler
        !           208: 117: comint -- hugely enhanced shell mode and other derived modes
        !           209: 118: BBDB -- personal info rolodex integrated with mail/news readers
        !           210: 119: Ispell -- spell checker in C with interface for Emacs
        !           211: 120: Epoch -- enhanced GNU Emacs with better X interface
        !           212: 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
        !           213: 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
        !           214: 123: Freemacs -- a small Emacs for MS-DOS
        !           215: 124: Patch -- program to apply "diffs" for updating files
        !           216: 
        !           217: Changing Key Bindings and Handling Key Binding Problems
        !           218: 
        !           219: 125: How do I bind keys (including function keys) to commands?
        !           220: 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
        !           221: 127: Why doesn't this [terminal or window-system setup] code work in my
        !           222:      .emacs file, but it works just fine after Emacs starts up?
        !           223: 128: How do I use function keys under X Windows?
        !           224: 129: How do I tell what characters my function or arrow keys emit?
        !           225: 130: How do I set the X key "translations" for Emacs?
        !           226: 131: How do I handle C-s and C-q being used for flow control?
        !           227: 132: How do I use commands bound to C-s and C-q (or any key) if these keys
        !           228:      are filtered out?
        !           229: 133: Why does the `BackSpace' key invoke help?
        !           230: 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
        !           231: 135: Why don't the arrow keys work?
        !           232: 136: How do I "swap" two keys?
        !           233: 137: How do I produce C-XXX with my keyboard?
        !           234: 138: What if I don't have a Meta key?
        !           235: 139: What if I don't have an Escape key?
        !           236: 140: How do I type DEL on PC terminal emulators?
        !           237: 141: Can I make my `Compose Character' key behave like a Meta key?
        !           238: 142: How do I bind a combination of modifier key and function key?
        !           239: 143: Why doesn't my Meta key work in an xterm window?
        !           240: 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
        !           241: 145: Where can I get key bindings to make Emacs emulate WordStar?
        !           242: 146: Where can I get an XEDIT emulator for Emacs?
        !           243: 
        !           244: Using Emacs with Alternate Character Sets
        !           245: 
        !           246: 147: How do I make Emacs display 8-bit characters?
        !           247: 148: How do I input 8-bit characters?
        !           248: 149: Where can I get an Emacs that can handle kanji characters?
        !           249: 150: Where can I get an Emacs that can handle Chinese?
        !           250: 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
        !           251: 
        !           252: Mail and News
        !           253: 
        !           254: 152: How do I change the included text prefix in mail/news followups?
        !           255: 153: How do I save a copy of outgoing mail?
        !           256: 154: Why doesn't Emacs expand my aliases when sending mail?
        !           257: 155: Why does RMAIL think all my saved messages are one big message?
        !           258: 156: How can I sort the messages in my RMAIL folder?
        !           259: 157: Why does RMAIL need to write to /usr/spool/mail?
        !           260: 158: How do I recover my mail files after RMAIL munges their format?
        !           261: 159: How do I make Emacs automatically start my mail/news reader?
        !           262: 160: How do I read news under Emacs?
        !           263: 161: Why does `rnews' say "No News is good news" when there is news?
        !           264: 162: Why doesn't GNUS work anymore via NNTP?
        !           265: 163: How do I view text with embedded underlining (eg., ClariNews)?
        !           266: 164: When I try to post a long article in GNUS (about 10K or longer), I get
        !           267:      the error, "Writing to process: no more processes, nntpd"
        !           268: 165: How do I save all the items of a multi-part posting in GNUS?
        !           269: 166: Why does GNUS put the subjects in replies beyond the 80th column?
        !           270: 167: Why is GNUS so slow to start up?
        !           271: 168: How do I catch up all newsgroups in GNUS?
        !           272: 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line?
        !           273: 170: How do I get rid of flashing messages in GNUS for slow connections?
        !           274: 171: Why is catch up slow in Gnews/GNUS?
        !           275: 172: Why does GNUS hang for a long time when posting?
        !           276: 173: Why don't my news postings in GNUS get past the local machine?
        !           277: 174: Why is the GNUS-generated `Date:' header invalid?
        !           278: 175: Why doesn't GNUS generate the `Lines:' header?
        !           279: 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
        !           280: 177: How do I kill all articles in GNUS but those matching a pattern?
        !           281: 
        !           282:                GNU Emacs FAQ: Notation/General/Help/Status
        !           283: 
        !           284: If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
        !           285: get an overview of just the questions.  Then, when you want to look at the text
        !           286: of the answers, just type "C-x $".
        !           287: 
        !           288: To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
        !           289: that doesn't work, then type ESC to end the search.
        !           290: 
        !           291: A `+' in the 78th column means something was inserted on the line.  A `-' means
        !           292: something was deleted and a `!' means some combination of insertions and
        !           293: deletions occurred.
        !           294: 
        !           295: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !           296: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !           297: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !           298: WAIS, or Prospero to rtfm.mit.edu.
        !           299: 
        !           300: 
        !           301: 
        !           302: Notation Used in FAQ
        !           303: 
        !           304:   Skip this section and then come back if you don't understand some of the
        !           305:   later answers.
        !           306:   
        !           307: 1:   What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
        !           308:   
        !           309:   C-x means press the `x' key while holding down the Control key.  M-x means
        !           310:   press the `x' key while holding down the Meta key.  M-C-x means press the
        !           311:   `x' key while holding down both the Control key and the Meta key.  C-M-a
        !           312:   is a synonym for M-C-a.  RET, LFD, DEL, ESC, and TAB respectively refer to
        !           313:   pressing the Return, Linefeed (aka Newline), Delete, Escape, and Tab keys
        !           314:   and are equivalent to C-m, C-j, C-?, C-[, and C-i.  SPC means press the
        !           315:   Space bar.
        !           316:   
        !           317:   I put any key sequence that is longer than one key (and some single-key
        !           318:   sequences) inside double quotes or on a line by itself.  Any real spaces
        !           319:   in such a key sequence should be ignored; only SPC really means press the
        !           320:   space key.
        !           321:   
        !           322:   The ASCII code sent by C-x (except for C-?) is the value that would be
        !           323:   sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be
        !           324:   from 0 to 31.  The ASCII code sent by M-x is the sum of 128 and the ASCII
        !           325:   code that would be sent by pressing just the `x' key.  Essentially, the
        !           326:   Control key turns off bits 5 and 6 and the Meta key turns on bit 7.
        !           327:   
        !           328:   For further information, see `Characters' and `Keys' in the online manual.
        !           329:   
        !           330:   NOTE: C-? (aka DEL) is ASCII code 127.  It is a misnomer to call C-? a
        !           331:   "control" key, since 127 has both bits 5 and 6 turned ON.  Also, on very
        !           332:   few keyboards does Control-? generate ASCII code 127.
        !           333:   
        !           334: 2:   What does "M-x command" mean?
        !           335:   
        !           336:   "M-x command" means type M-x, then type the name of the command, then
        !           337:   type RET.
        !           338:   
        !           339:   M-x (by default) invokes the command `execute-extended-command'.  This
        !           340:   command allows you to run any Emacs command if you can remember the
        !           341:   command's name.  If you can't remember the command's name, you can type
        !           342:   TAB and SPC for completion, and "?" for a list of possibilities.  An Emacs
        !           343:   "command" is any "interactive" Emacs function.
        !           344:   
        !           345:   NOTE: Your system administrator may have bound other key sequences to
        !           346:   invoke execute-extended-command.  A function key labeled `Do' is a good
        !           347:   candidate for this.
        !           348:   
        !           349:   To run non-interactive Emacs functions, see question 53.
        !           350:   
        !           351: 3:   How do I read topic XXX in the on-line manual?
        !           352:   
        !           353:   When I refer you to topic XXX in the on-line manual, you can read this
        !           354:   manual node inside Emacs (assuming nothing is broken) by typing this:
        !           355:   
        !           356:     C-h i m emacs RET m XXX RET
        !           357:   
        !           358:   This invokes the Info facility.  If you don't already know how to use
        !           359:   Info, type "?" from within Info.
        !           360:   
        !           361:   If I refer you to topic XXX:YYY, you need to type this:
        !           362:   
        !           363:     C-h i m emacs RET m XXX RET m YYY RET
        !           364:   
        !           365:   WARNING: Your system administrator may not have installed the Info files,
        !           366:   or may have installed them properly.  In this case you should complain.
        !           367:   
        !           368: 4:   What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
        !           369:   
        !           370:   These are files that come with GNU Emacs.  The GNU Emacs distribution is
        !           371:   divided into subdirectories; the important ones are `etc', `lisp', and
        !           372:   `src'.
        !           373:   
        !           374:   If you use GNU Emacs, but don't know where it is kept on your system,
        !           375:   start Emacs, then type "C-h v exec-directory RET".  The directory name
        !           376:   displayed by this will be the full pathname of the installed `etc'
        !           377:   directory.
        !           378:   
        !           379:   Some of these files are available individually via FTP or e-mail, see
        !           380:   question 20.  All are available in the source distribution.
        !           381:   
        !           382: 5:   What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
        !           383:   
        !           384:   FSF == Free Software Foundation
        !           385:   LPF == League for Programming Freedom
        !           386:   OSF == Open Software Foundation
        !           387:   GNU == GNU's Not Unix
        !           388:   RMS == Richard Matthew Stallman
        !           389:   FTP == File Transfer Protocol
        !           390:   GPL == GNU General Public Licence
        !           391:   
        !           392:   NOTE: Avoid confusing the FSF, the LPF, and the OSF.  The LPF opposes
        !           393:   look-and-feel copyrights and software patents.  The FSF aims to make high
        !           394:   quality free software available for everyone.  The OSF is a commercial
        !           395:   organization which wants to provide an alternative, standardized version
        !           396:   of Unix not controlled by AT&T.
        !           397:   
        !           398:   NOTE: The word "free" in the title of the Free Software Foundation refers
        !           399:   to "freedom", not "zero dollars".  Anyone can charge any price for
        !           400:   GPL-covered software that they want to.  However, in practice, the freedom
        !           401:   enforced by the GPL leads to low prices, because you can always get the
        !           402:   software for less money from someone else, because everyone has the right
        !           403:   to resell or give away GPL-covered software.
        !           404:   
        !           405: 
        !           406: 
        !           407: General Questions
        !           408: 
        !           409: 6:   What is the LPF and why should I join it?
        !           410:   
        !           411:   The LPF opposes the expanding danger of software patents and look-and-feel
        !           412:   copyrights.  To get more information, feel free to contact the LPF via
        !           413:   e-mail or otherwise.  {You may also contact me, [email protected]; I will be
        !           414:   happy to talk with you about the LPF.}  Here is the contact information:   !
        !           415:   
        !           416:     E-mail address: [email protected]
        !           417:     Phone number: (617) 243-4091                                             !
        !           418:     Postal address:
        !           419:       League for Programming Freedom
        !           420:       1 Kendall Square, Number 143
        !           421:       Post Office Box 9171
        !           422:       Cambridge, MA 02139, USA
        !           423:   
        !           424:   Papers describing the LPF's views are available on the internet and also   !
        !           425:   from the LPF:                                                              !
        !           426:   
        !           427:     Anonymous FTP:
        !           428:       /prep.ai.mit.edu:/pub/lpf/                                             +
        !           429:       /archive.cis.ohio-state.edu:pub/lpf/                                   !
        !           430:     Anonymous UUCP:
        !           431:       osu-cis!~/lpf/*                                                        -
        !           432:   
        !           433: 7:   What is the real legal meaning of the GNU copyleft?
        !           434:   
        !           435:   The real legal meaning of the GNU General Public Licence (copyleft) is
        !           436:   however it is interpreted by a judge.  There has never been a copyright
        !           437:   infringment case involving the GPL to set any precedents.  Please take any
        !           438:   discussion regarding this issue to the newsgroup gnu.misc.discuss, which
        !           439:   was created to hold the extensive flame wars on the subject.
        !           440:   
        !           441:   RMS writes:
        !           442:   
        !           443:     The legal meaning of the GNU copyleft is less important than the spirit,
        !           444:     which is that Emacs is a free software project and that work pertaining
        !           445:     to Emacs should also be free software.  "Free" means that all users have
        !           446:     the freedom to study, share, change and improve Emacs.  To make sure
        !           447:     everyone has this freedom, pass along source code when you distribute
        !           448:     any version of Emacs or a related program, and give the recipients the
        !           449:     same freedom that you enjoyed.
        !           450:   
        !           451: 8:   What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
        !           452:  comp.emacs, etc.?
        !           453:   
        !           454:   The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list.
        !           455:   (See question 20 on how to get a copy.)  For those which are gatewayed
        !           456:   with newsgroups, it lists both the newsgroup name and the mailing list
        !           457:   address.
        !           458:   
        !           459:   comp.emacs is for discussion of Emacs programs in general.  This
        !           460:   includes GNU Emacs along with various other implementations like JOVE,
        !           461:   MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc.
        !           462:   
        !           463:   Many people post GNU Emacs questions to comp.emacs because they don't
        !           464:   receive any of the gnu.* newsgroups.  Arguments have been made both for
        !           465:   and against posting GNU-Emacs-specific material to comp.emacs.  You have
        !           466:   to decide for yourself.
        !           467:   
        !           468:   Messages advocating "non-free" software are considered unacceptable on any
        !           469:   of the gnu.* newsgroups except for gnu.misc.discuss, which was created to
        !           470:   hold the extensive flame-wars on the subject.  "non-free" software
        !           471:   includes any software for which the end user can't freely modify the
        !           472:   source code and exchange enhancements.  Be careful to remove the gnu.*
        !           473:   groups from the `Newsgroups:' line when posting a followup that recommends
        !           474:   such software.
        !           475:   
        !           476:   gnu.emacs.bug is a place where bug reports appear, but avoid posting bug
        !           477:   reports to this newsgroup, instead see question 10.
        !           478:   
        !           479: 9:   Where can I get old postings to gnu.emacs.help and other GNU groups?
        !           480:   
        !           481:   The FSF has maintained archives of all of the GNU mailing lists for many
        !           482:   years, although there may be some unintentional gaps in coverage.  The
        !           483:   archive is not particularly well organized or easy to retrieve individual
        !           484:   postings from, but pretty much everything is there.
        !           485:   
        !           486:     Anonymous FTP:
        !           487:       /prep.ai.mit.edu:/pub/gnu/emacs/MailingListArchives/                   !
        !           488:   
        !           489:   {There was a WAIS database named `comp-emacs' on lambada.oit.unc.edu that
        !           490:   makes available the last 10 days of articles in comp.emacs.  It appears to
        !           491:   have died.  Anyone know if it moved?}
        !           492:   
        !           493: 10:  Where should I report bugs and other problems with GNU Emacs?
        !           494:   
        !           495:   The correct way to report GNU Emacs bugs is by e-mail to
        !           496:   [email protected].  Anything sent here also appears in the
        !           497:   newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit
        !           498:   the bug report.  This way a reliable return address is available so you
        !           499:   can be contacted for further details.
        !           500:   
        !           501:   RMS explains:
        !           502:   
        !           503:     Sending bug reports to help-gnu-emacs (which has the effect of posting
        !           504:     on gnu.emacs.help) is undesirable because it takes the time of an
        !           505:     unnecessarily large group of people, most of whom are just users and
        !           506:     have no idea how to fix these problem.  bug-gnu-emacs reaches a much
        !           507:     smaller group of people who are more likely to know what to do and have
        !           508:     expressed a wish to receive more messages about Emacs than the others.
        !           509:   
        !           510:   However, RMS says there are circumstances when it is okay to post to
        !           511:   gnu.emacs.help:
        !           512:   
        !           513:     If you have reported a bug and you don't hear about a possible fix, then
        !           514:     after a suitable delay (such as a week) it is okay to post on
        !           515:     gnu.emacs.help asking if anyone can help you.
        !           516:   
        !           517:   If you are unsure whether you have a bug, RMS describes how to tell:
        !           518:   
        !           519:     ... if Emacs crashes, that is a bug.  If Emacs gets compilation errors
        !           520:     while building, that is a bug.  If Emacs crashes while building, that is
        !           521:     a bug.  If Lisp code does not do what the documentation says it does,
        !           522:     that is a bug.
        !           523:   
        !           524: 11:  How do I unsubscribe to this mailing list?
        !           525:   
        !           526:   If you are receiving a GNU mailing list named `XXX', you might be able
        !           527:   to unsubscribe to it by sending a request to the address
        !           528:   `[email protected]'.  However, this will not work if you are
        !           529:   not listed on the main mailing list, but instead recieve the mail from a
        !           530:   distribution point.  In that case, you will have to track down at which
        !           531:   distribution point you are listed.  Inspecting the `Received:' headers
        !           532:   on the mail messages may help, along with liberal use of the `EXPN' or
        !           533:   `VRFY' sendmail commands through `telnet <site-address> smtp'.  Ask your
        !           534:   postmaster for help.
        !           535:   
        !           536: 12:  What is the current address of the FSF?
        !           537:   
        !           538:   E-mail address: [email protected]                                        +
        !           539:   Phone number: (617) 876-3296                                               +
        !           540:   Postal address:
        !           541:     Free Software Foundation, Inc.
        !           542:     675 Massachusetts Avenue
        !           543:     Cambridge, MA 02139, USA                                                 -
        !           544:   
        !           545: 
        !           546: 
        !           547: On-line Help, Printed Manuals, Other Sources of Help
        !           548: 
        !           549: 13:  I'm just starting GNU Emacs; how do I do basic editing?
        !           550:   
        !           551:   Type "C-h t" to invoke the self-paced tutorial.  Typing just C-h is
        !           552:   how to enter the help system.
        !           553:   
        !           554:   WARNING: Your system administrator may have changed C-h to act like DEL to
        !           555:   deal local keyboards.  You can use M-x help-for-help instead to invoke
        !           556:   help.  To discover what key (if any) invokes help on your system, type
        !           557:   "M-x where-is RET help-for-help RET".  This will print a comma-separated
        !           558:   list of key sequences in the echo area.  Ignore the last character in each
        !           559:   key sequence listed.  Each of the resulting key sequences invokes help.
        !           560:   
        !           561:   NOTE: Emacs's help facility works best if help is invoked by a single key
        !           562:   whose value should be stored in the variable help-char.  Andrew
        !           563:   Arensburger <[email protected]> wrote a patch that allows the help
        !           564:   facility to work properly when invoked by multiple character sequences.
        !           565:   
        !           566: 14:  How do I find out how to do something in GNU Emacs?
        !           567:   
        !           568:   There are several methods for finding out how to do things in Emacs.
        !           569:   
        !           570:   * The complete text of the Emacs manual is available online via the Info
        !           571:     hypertext reader.  Type "C-h i" to invoke Info.
        !           572:   
        !           573:   * You can order a hardcopy of the manual from the FSF.  See question 15.
        !           574:   
        !           575:   * You can get a printed reference card listing commands and keys to invoke
        !           576:     them.  You can order one from the FSF for $1 (or 10 for $5), or you can
        !           577:     print your own from the etc/refcard.tex file in the Emacs distribution.
        !           578:     {Are PostScript versions of this available for FTP?}
        !           579:   
        !           580:   * You can list all of the commands whose names contain a certain word
        !           581:     (actually which match a regular expression) using "C-h a"
        !           582:     (M-x command-apropos).
        !           583:   
        !           584:   * You can list all of the functions and variables whose names contain a
        !           585:     certain word using M-x apropos.
        !           586:   
        !           587:   * There are many other commands in Emacs for getting help and information.
        !           588:     To get a list of these commands, type "C-h C-h C-h".
        !           589:   
        !           590:   NOTE: You may find that command-apropos and apropos are extremely slow
        !           591:   on your system.  This will be fixed in Emacs 19.  If you can't wait that
        !           592:   long, there is a fast-apropos.el file available in the Emacs Lisp
        !           593:   Archive (see question 89) that contains the fix.
        !           594:   
        !           595: 15:  How do I get a printed copy of the GNU Emacs manual?
        !           596:   
        !           597:   You can order a printed copy of the GNU Emacs manual from the FSF for
        !           598:   $20.  For 6 or more manuals the price is $13 each.  The price may be       -
        !           599:   tax-deductible as a business expense.                                      -
        !           600:   
        !           601:   The full TeX source for the manual also comes in the `man' directory of
        !           602:   the Emacs distribution, if you're daring enough to try to print out this
        !           603:   300 page manual yourself (see question 18).
        !           604:   
        !           605:   If you absolutely have to print your own copy, and you don't have TeX, you
        !           606:   can get a PostScript version via anonymous FTP:                            !
        !           607:                                                                              !
        !           608:     /cs.ubc.ca:src/gnu/manuals_ps/emacs-18.57.ps.Z                           !
        !           609:   
        !           610:   which site requests that you please CONFINE ANY MAJOR FTPING TO LATE
        !           611:   EVENINGS OR EARLY MORNINGS OUR TIME (pacific time zone, GMT-8)).  A DVI
        !           612:   version is also available via FTP:                                         !
        !           613:                                                                              !
        !           614:     /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.Z                          !
        !           615:   
        !           616:   If you don't have TeX you can convert the Texinfo sources into
        !           617:   {t,n,ps}roff format with the `texi2roff' program, which is available via
        !           618:   anonymous FTP:                                                             !
        !           619:                                                                              !
        !           620:     /archive.cis.ohio-state.edu:pub/gnu/texi2roff/texi2roff.shar.Z           !
        !           621:   
        !           622:   See also question 14 for how to view the manual online.
        !           623:   
        !           624: 16:  Where can I get documentation on GNU Emacs Lisp?
        !           625:   
        !           626:   Within Emacs, you can type "C-h f" to get the documentation for a
        !           627:   function, "C-h v" for a variable.
        !           628:   
        !           629:   For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs
        !           630:   18 under Unix.  It is available from the FSF for $50 (or 5 for $200).  The
        !           631:   latest revision available for FTP is edition 1.03 dated 28 January 1991.
        !           632:   
        !           633:   For online use, a set of pregenerated Info files is available with the
        !           634:   Texinfo source for the Emacs Lisp manual via anonymous FTP:                !
        !           635:                                                                              !
        !           636:     /archive.cis.ohio-state.edu:pub/gnu/emacs/                               !
        !           637:     /prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z                         !
        !           638:   
        !           639:   (You can also create the Info files from the Texinfo source.)  See
        !           640:   question 17 for details on how to install these files online.
        !           641:   
        !           642:   If you are daring enough to try to print this 550 page manual out
        !           643:   yourself, for instructions see question 18.
        !           644:   
        !           645:   Also, as a popular USENET saying goes, "Use the Force, Read the Source".
        !           646:   
        !           647: 17:  How do I install a piece of Texinfo documentation?
        !           648:   
        !           649:   First create Info files from the Texinfo files with the `makeinfo'
        !           650:   program.  makeinfo is available as part of the latest Texinfo package:     !
        !           651:                                                                              !
        !           652:     /prep.ai.mit.edu:pub/gnu/texinfo-2.14.tar.Z                              !
        !           653:   
        !           654:   For information about the Texinfo format, read the Texinfo manual which
        !           655:   comes with Emacs.  This manual also comes installed in Info format, so you
        !           656:   can read it online.
        !           657:   
        !           658:   Neither texinfo-format-buffer nor the makeinfo program install the
        !           659:   resulting Info files in Emacs's Info tree.  To install Info files:
        !           660:   
        !           661:   1. Move the files to the `info' directory in the installed Emacs
        !           662:      distribution.  See question 4 if you don't know where that
        !           663:      is.
        !           664:   
        !           665:   2. Edit the file info/dir in the installed Emacs distribution, and add a
        !           666:      line for the top level node in the Info package that you are
        !           667:      installing.  Follow the examples are already in this file.  The format
        !           668:      is:
        !           669:   
        !           670:        * Topic: (relative-pathname).  Short description of topic.
        !           671:   
        !           672:   If you want to install Info files and you don't have the necessary
        !           673:   privileges, you have several options:
        !           674:   
        !           675:   * Info files don't actually need to be installed before being used.  You
        !           676:     can feed a file name to the Info-goto-node command (invoked by pressing
        !           677:     "g" in Info mode) by typing the name of the file in parentheses.  This
        !           678:     goes to the node named `Top' in that file.  For example, to view a Info
        !           679:     file named `XXX' in your home directory, you can type this:
        !           680:   
        !           681:       C-h i g (~/XXX) RET
        !           682:   
        !           683:   * You can create your own Info directory.  You can tell Emacs where the
        !           684:     Info directory is by setting the value of the variable Info-directory
        !           685:     to its pathname.  For example, to use a private Info directory which
        !           686:     is a subdirectory of your home directory named `Info', you could do
        !           687:     this:
        !           688:   
        !           689:       (setq Info-directory (expand-file-name "~/Info"))
        !           690:   
        !           691:     You will need a top-level Info file named `dir' in this directory.
        !           692:     You can include the system-wide Info directory in your private Info
        !           693:     directory with symbolic links or by copying it.
        !           694:   
        !           695:   * You can use an enhanced version of lisp/info.el that handles multiple
        !           696:     Info directories.  Then you can more easily use a mix of private and
        !           697:     shared Info files.  Dave Gillespie <[email protected],
        !           698:     [email protected]> has written one such enhancement and I
        !           699:     believe there are others.  Dave's info.el also handles compressed Info
        !           700:     files.
        !           701:   
        !           702:     Anonymous FTP:
        !           703:       /archive.cis.ohio-state.edu:modes/info.el.Z                            !
        !           704:       /cs.umn.edu:pub/gnu/emacs/info.el.Z                                    +
        !           705:   
        !           706:     According to Jay Bourland <[email protected]>, a version of Dave's
        !           707:     info.el comes with `xinfo' (see question 19).
        !           708:   
        !           709: 18:  How do I print a Texinfo file?
        !           710:   
        !           711:   NOTE: You can't get nice printed output from Info files; you must still
        !           712:   have the original Texinfo source file for the manual you want to print.
        !           713:   
        !           714:   1. Make sure the first line of the Texinfo file looks like this:
        !           715:   
        !           716:        \input texinfo
        !           717:   
        !           718:      You may need to alter `texinfo' to the full pathname of the
        !           719:      texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy
        !           720:      or link it into the current directory).
        !           721:   
        !           722:   2. tex XXX.texinfo
        !           723:   
        !           724:   3. texindex XXX.??
        !           725:   
        !           726:      The `texindex' program comes with Emacs as man/texindex.c.
        !           727:   
        !           728:   4. tex XXX.texinfo
        !           729:   
        !           730:   5. Print the DVI file XXX.dvi in the normal way for printing DVI files
        !           731:      at your site.
        !           732:   
        !           733:   To get more general instructions, retrieve the latest Texinfo package
        !           734:   mentioned in question 17.
        !           735:   
        !           736: 19:  Can I view Info files without using GNU Emacs?
        !           737:   
        !           738:   Yes, the `info', `xinfo', and `ivinfo' programs do this.  info uses
        !           739:   curses, xinfo uses standard X11 libraries, and ivinfo uses InterViews.
        !           740:   You can get info as part of the latest Texinfo package (see question
        !           741:   17).  xinfo is available separately:                                       !
        !           742:                                                                              !
        !           743:     /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.Z                             !
        !           744:     /export.lcs.mit.edu:                                                     !
        !           745:   
        !           746:   ivinfo is available in a comp.sources.misc archive or from Tom Horsley
        !           747:   <[email protected]>.  For ivinfo, you need Stanford's InterViews C++
        !           748:   X library, available via anonymous FTP (interviews.stanford.edu).
        !           749:   
        !           750: 20:  What informational files are available for GNU Emacs?
        !           751:   
        !           752:   This isn't a frequently asked question, but it should be!  A variety of
        !           753:   informational files about GNU Emacs and relevant aspects of the GNU
        !           754:   project are available for you to read.
        !           755:   
        !           756:   The following files are available in the `etc' directory of the GNU
        !           757:   Emacs distribution, and also the latest versions are available
        !           758:   individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/GNUinfo/):
        !           759:   
        !           760:     APPLE -- Why the FSF doen't support GNU Emacs on Apple computers
        !           761:     DISTRIB -- GNU Emacs Availability Information,
        !           762:       including the popular "Free Software Foundation Order Form"
        !           763:     FTP -- How to get GNU Software by Internet FTP or by UUCP
        !           764:     GNU -- The GNU Manifesto
        !           765:     INTERVIEW -- Richard Stallman discusses his public-domain
        !           766:                       UNIX-compatible software system
        !           767:                              with BYTE editors
        !           768:     MACHINES -- Status of GNU Emacs on Various Machines and Systems
        !           769:     MAILINGLISTS -- GNU Project Electronic Mailing Lists
        !           770:     SERVICE -- GNU Service Directory
        !           771:     SUN-SUPPORT -- including "Using Emacstool with GNU Emacs"
        !           772:   
        !           773:   These files are available in the `etc' directory of the GNU Emacs
        !           774:   distribution:
        !           775:   
        !           776:     DIFF -- Differences between GNU Emacs and Twenex Emacs
        !           777:     CCADIFF -- Differences between GNU Emacs and CCA Emacs
        !           778:     GOSDIFF -- Differences between GNU Emacs and Gosling (Unipress??) Emacs
        !           779:     COPYING -- GNU Emacs General Public License
        !           780:     NEWS -- GNU Emacs News, a history of user-visible changes
        !           781:     LPF -- Why you should join the League for Programming Freedom
        !           782:     FAQ -- GNU Emacs Frequently Asked Questions (You're reading it)
        !           783:     OPTIONS -- a complete explanation of startup option handling
        !           784:   
        !           785:   These files are available via anonymous FTP (prep.ai.mit.edu:/pub/gnu/):
        !           786:   
        !           787:     tasks -- GNU Task List
        !           788:     standards.text -- GNU Coding Standards
        !           789:   
        !           790:   In addition, all of the above files are available directly from the FSF
        !           791:   via e-mail.  Of course, please try to get them from a local source
        !           792:   first.
        !           793:   
        !           794:   These additional files are available from the FSF via e-mail:
        !           795:   
        !           796:   * GNU's Bulletin, June, 1991 -- this file includes:
        !           797:       GNU'S Who
        !           798:       What Is the Free Software Foundation?
        !           799:       What Is Copyleft?
        !           800:       A Small Way to Help Free Software
        !           801:       GNUs Flashes (important recent developments for project GNU)
        !           802:       Free Software Support (and how to get it!)
        !           803:       Copyrighted Programming Languages
        !           804:       AT&T Threatens Users of X Windows (and other software patent threats)
        !           805:       Project Gutenberg
        !           806:       GNU Project Status Report
        !           807:       GNU in Japan
        !           808:       GNU Wish List
        !           809:       Help Keep Government Software Free
        !           810:       GNU Software Available Now
        !           811:         Contents of the Emacs Tape
        !           812:         Contents of the Compiler Tape
        !           813:         Contents of the X11 Tapes
        !           814:         VMS Emacs and Compiler Tapes
        !           815:       GNU Documentation
        !           816:       How to Get GNU Software
        !           817:       Free Software for Microcomputers
        !           818:         GNU Software on Apple computers
        !           819:         GNU Software on the Amiga
        !           820:         GNU Software on the Atari
        !           821:         GNUish MS-DOS project
        !           822:         Freemacs, an Extensible Editor for MS-DOS
        !           823:       GNU in Japan
        !           824:       FSF Order Form
        !           825:       Thank GNUs
        !           826:   * Legal issues about contributing code to GNU
        !           827:   * GNU Project Status Report
        !           828:   
        !           829:   A collection of past GNU's Bulletins is available via anonymous FTP:       +
        !           830:                                                                              +
        !           831:     /ftp.funet.fi:pub/gnu/Bulletins/                                         +
        !           832:   
        !           833: 21:  Where can I get help in installing GNU Emacs?
        !           834:   
        !           835:   Look in etc/SERVICE for names of companies and individuals who will sell
        !           836:   you this type of service.  An up-to-date version of the SERVICE file is
        !           837:   available on prep.ai.mit.edu (also see question 20).
        !           838:   
        !           839: 22:  Where can I get the latest version of this document (the FAQ list)?
        !           840:   
        !           841:   The GNU Emacs FAQ is available in several ways:
        !           842:   
        !           843:   * Via USENET.  If you can read news, the FAQ should be available in your
        !           844:     news spool, in both the gnu.emacs.help and comp.emacs newsgroups.  Every
        !           845:     news reader of which I know will allow you to read any news article that
        !           846:     is still in the news spool, even if you have read the article before.
        !           847:     You may need to read the instructions for your news reader to discover
        !           848:     how to do this.  In `rn', this command will do this for you at the
        !           849:     article selection level:
        !           850:   
        !           851:       ?GNU Emacs FAQ?rc:m
        !           852:   
        !           853:     In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC"
        !           854:     from the *Newsgroup* buffer to view all articles in a newsgroup.
        !           855:   
        !           856:     The FAQ articles' message IDs are:
        !           857:   
        !           858:       <[email protected]>                     !
        !           859:       <[email protected]>                     !
        !           860:       <[email protected]>                     !
        !           861:       <[email protected]>                     !
        !           862:       <[email protected]>                     !
        !           863:       <[email protected]>                     !
        !           864:   
        !           865:     If you are viewing this in the GNUS *Article* buffer, you can move point
        !           866:     within one of the above message IDs and type "r" to fetch the referenced
        !           867:     article.  Type "o" in the *Article* buffer to restore the previous
        !           868:     contents.  If this text is not in the GNUS *Article* buffer, use M-r
        !           869:     from the *Subject* buffer instead.
        !           870:   
        !           871:     If the FAQ articles have expired and been deleted from your news spool,
        !           872:     it might (or might not) do some good to complain to your news
        !           873:     administrator, because the most recent FAQ should not expire before
        !           874:     November 21, 1992.                                                       !
        !           875:   
        !           876:   * Via anonymous FTP.  You can fetch the FAQ articles via anonymous FTP
        !           877:   
        !           878:       /rtfm.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/ part*             !
        !           879:   
        !           880:   * Via e-mail.  You can send the following magical incantation in the body
        !           881:     of a message to [email protected]:
        !           882:   
        !           883:       send usenet/news.answers/GNU-Emacs-FAQ/part0
        !           884:       send usenet/news.answers/GNU-Emacs-FAQ/part1
        !           885:       send usenet/news.answers/GNU-Emacs-FAQ/part2
        !           886:       send usenet/news.answers/GNU-Emacs-FAQ/part3
        !           887:       send usenet/news.answers/GNU-Emacs-FAQ/part4
        !           888:       send usenet/news.answers/GNU-Emacs-FAQ/part5
        !           889:   
        !           890:   * Via WAIS.  The GNU Emacs FAQ is available via WAIS indexed on a
        !           891:     per-question basis from the `faq' database on bigbird.bu.edu on the
        !           892:     non-standard IP port number of 2210.  This is probably the best way to
        !           893:     find out if there is something in the FAQ related to your question.  I
        !           894:     use this myself to answer questions I see posted on gnu.emacs.help.
        !           895:   
        !           896:     The articles of the GNU Emacs FAQ are also available from the `usenet'
        !           897:     database on rtfm.mit.edu (on the standard IP port: 210), along with a
        !           898:     lot of other FAQ articles.  However, these are all indexed at the whole
        !           899:     article level instead of at the question level.  This is a better place
        !           900:     to look if you want to fetch the entire FAQ.
        !           901:   
        !           902:   * In the GNU Emacs distribution.  Since GNU Emacs 18.56, the latest
        !           903:     available version of the FAQ at the time of release has been part of the
        !           904:     GNU Emacs distribution as file etc/FAQ.  18.58 is the latest version,
        !           905:     and it was released in February 1992.
        !           906:   
        !           907:   * There is an old version of the FAQ list available for FTP in the GNU     +
        !           908:     archives at MIT:                                                         +
        !           909:                                                                              +
        !           910:       /prep.ai.mit.edu:pub/gnu/GNUinfo/FAQ.emacs                             +
        !           911:                                                                              +
        !           912:   * As the very last resort, you can e-mail a request to                     +
        !           913:     [email protected].  Don't do this unless you have
        !           914:     made a serious effort to obtain the FAQ list via one of the methods
        !           915:     listed above.
        !           916:   
        !           917: 
        !           918: 
        !           919: Status of Emacs
        !           920: 
        !           921: 23:  Where does the name "Emacs" come from?
        !           922:   
        !           923:   Emacs originally was an acronym for Editor MACroS.  RMS says he "picked
        !           924:   the name `Emacs' because `E' was not in use as an abbreviation on ITS at
        !           925:   the time.".  The first Emacs was a set of macros written in 1976 at MIT by
        !           926:   RMS for the editor TECO (Text Editor and COrrector (originally Tape Editor
        !           927:   and COrrector)) under ITS on a PDP-10.  RMS had already extended TECO with
        !           928:   a "real-time" full screen mode with active keys.  Emacs was started by Guy
        !           929:   Steele <[email protected]> as a project to unify the many divergent TECO
        !           930:   command sets and keybindings at MIT.
        !           931:   
        !           932:   Many people have told me that TECO code looks a lot like line noise.  See
        !           933:   alt.lang.teco if you are interested.  I think someone has written a TECO
        !           934:   implementation in Emacs Lisp.  It would be an interesting project to run
        !           935:   the original TECO Emacs inside of GNU Emacs.
        !           936:   
        !           937: 24:  What is the latest version of GNU Emacs?
        !           938:   
        !           939:   GNU Emacs 18.58 is the current version.  Fixes from 18.57 include better
        !           940:   mail address parsing, an X visual bell speedup, a call-process
        !           941:   enhancement, a regexp matching change, the ability to apply a numeric
        !           942:   argument to a self-inserting digit, getting X resource values from the
        !           943:   RESOURCE_MANAGER property, more reliable shell mode job control, and a
        !           944:   change to copy-keymap.  Also, support has been added for many new system
        !           945:   types.  Fixes from 18.55 include the removal of arbitrary limits on the
        !           946:   undo facility.
        !           947:   
        !           948:   According to the January 1992 GNU's Bulletin, "Emacs 18 maintenance
        !           949:   continues for simple bug fixes.".
        !           950:   
        !           951:   To visit a file with information about what has changed in recent
        !           952:   versions, type "C-h n".
        !           953:   
        !           954: 25:  When will GNU Emacs 19 be available?
        !           955:   
        !           956:   There are strong indications that Emacs 19 will be available in 1992.  The
        !           957:   FSF has recently gone through a spate of copyright disclaimer checking,
        !           958:   which is a good sign.
        !           959:   
        !           960:   Lucid has released Lucid GNU Emacs 19.2, which is based on an early
        !           961:   unreleased version of GNU Emacs 19.  This will be similar to Emacs 19 when
        !           962:   it finally arrives, but they are not the same.  See question 121.
        !           963:   
        !           964:   Work has begun on features for Emacs 20.
        !           965:   
        !           966: 26:  What is different about GNU Emacs 19?
        !           967:   
        !           968:   From the January 1992 GNU's Bulletin:
        !           969:   
        !           970:     Version 19 will enter beta test late this year.  Among its new features
        !           971:     are: before and after change hooks, source-level debugging of Emacs Lisp
        !           972:     programs, X selection processing (including clipboard selections),
        !           973:     scrollbars, support for European character sets, floating point numbers,
        !           974:     per-buffer mouse commands, X resource manager interfacing,
        !           975:     mouse-tracking, Lisp-level binding of function keys, multiple X windows
        !           976:     (`screens' to Emacs), a new input system, and buffer allocation, which
        !           977:     uses a new mechanism capable of returning storage to the system when a
        !           978:     buffer is killed.
        !           979:   
        !           980:     The input stream is now a sequence of Lisp objects, instead of a
        !           981:     sequence of characters.  This allows a reasonable representation for
        !           982:     mouse clicks, function keys, menu selections, etc.
        !           983:   
        !           984:     Thanks go to Alan Carroll and the people who worked on Epoch for
        !           985:     generating initial feedback to a multi-windowed Emacs, and to Eric
        !           986:     Raymond for help in polishing the Emacs 19 Lisp libraries.
        !           987:   
        !           988:   The June 1991 GNU's bulletin had this to say about future plans for Emacs:
        !           989:   
        !           990:     Features being considered for later releases of Emacs include:
        !           991:     associating property lists with regions of text in a buffer; multiple
        !           992:     fonts, color, and pixmaps defined by those properties; different
        !           993:     visibility conditions for the regions, and for various windows showing
        !           994:     one buffer; hooks to be run if point or mouse moves outside a certain
        !           995:     range; incrementally saving undo history in a file; static menu bars;
        !           996:     and better pop-up menus.
        !           997:   
        !           998:   Mention of this feature disappeared in the January 1992 GNU's bulletin:
        !           999:   
        !          1000:     Emacs 19 supports two styles of multiple windows, one with a separate
        !          1001:     screen for the minibuffer, and another with a minibuffer attached to
        !          1002:     each screen.
        !          1003:   
        !          1004:   Mention of these two proposed features disappeared in the January 1991
        !          1005:   GNU's bulletin:
        !          1006:   
        !          1007:   * Incremental syntax analysis for various programming languages (Leif).
        !          1008:   * A more sophisticated emacsclient/server model, which would provide
        !          1009:     network transparent Emacs widget functionality.
        !          1010:   
        !          1011: 27:  What variants of GNU Emacs exist?
        !          1012:   
        !          1013:   * Nemacs (Nihongo Emacs), which can handle Japanese text, is derived from  +
        !          1014:     GNU Emacs 18.55.  See question 149.
        !          1015:   
        !          1016:   * Demacs, which can run under MS-DOS on 386 machines, is derived from
        !          1017:     Nemacs.  See question 122.
        !          1018:   
        !          1019:   * Epoch, which has better X support, is derived from GNU Emacs 18.58.
        !          1020:     See question 120 and 92.
        !          1021:   
        !          1022:   * Nepoch (Nihongo Epoch), which can handle Japanese text, is derived from  +
        !          1023:     Epoch.                                                                   +
        !          1024:                                                                              +
        !          1025:   * Mule (the MULtilingual Enhancement of GNU Emacs) can handle many         +
        !          1026:     character sets simultaneously.  It is derived from Emacs 18.58.  It is   +
        !          1027:     available for FTP:                                                       +
        !          1028:                                                                              +
        !          1029:       /sh.wide.ad.jp:/JAPAN/mule/                                            +
        !          1030:       /etlport.etl.go.jp:/pub/mule/                                          +
        !          1031:                                                                              +
        !          1032:   * Lucid GNU Emacs is derived from an early unreleased version of GNU Emacs +
        !          1033:     19.  See question 121 and 92.
        !          1034: 
        !          1035:                  GNU Emacs FAQ: Common Requests/Problems
        !          1036: 
        !          1037: If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
        !          1038: get an overview of just the questions.  Then, when you want to look at the text
        !          1039: of the answers, just type "C-x $".
        !          1040: 
        !          1041: To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
        !          1042: that doesn't work, then type ESC to end the search.
        !          1043: 
        !          1044: A `+' in the 78th column means something was inserted on the line.  A `-' means
        !          1045: something was deleted and a `!' means some combination of insertions and
        !          1046: deletions occurred.
        !          1047: 
        !          1048: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !          1049: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !          1050: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !          1051: WAIS, or Prospero to rtfm.mit.edu.
        !          1052: 
        !          1053: 
        !          1054: 
        !          1055: Common Things People Want To Do 
        !          1056: 
        !          1057: 28:  How do I set up a .emacs file properly?
        !          1058:   
        !          1059:   See `Init File' in the on-line manual.
        !          1060:   
        !          1061:   WARNING: In general, new Emacs users should not have .emacs files, because
        !          1062:   it causes confusing non-standard behavior.  Then they send questions to
        !          1063:   help-gnu-emacs asking why Emacs isn't behaving as documented.  :-)
        !          1064:   
        !          1065: 29:  How do I debug a .emacs file?
        !          1066:   
        !          1067:   First start Emacs with the `-q' command line option.  Then, in the
        !          1068:   *scratch* buffer, type the following:
        !          1069:   
        !          1070:     (setq debug-on-error t) LFD
        !          1071:     (load-file "~/.emacs") LFD
        !          1072:   
        !          1073:   (Type LFD by pressing C-j.)
        !          1074:   
        !          1075:   If you have an error in your .emacs file, this will invoke the debugger
        !          1076:   when the error occurs.  If you don't know how to use the debugger do
        !          1077:   (setq stack-trace-on-error t) instead.
        !          1078:   
        !          1079:   WARNING: this will not discover errors caused by trying to do something
        !          1080:   that requires the terminal/window-system initialization code to have
        !          1081:   been loaded.  See question 127.
        !          1082:   
        !          1083: 30:  How do I make Emacs display the current line (or column) number?
        !          1084:   
        !          1085:   To find out what line of the buffer you are on right now, do "M-x
        !          1086:   what-line".  Use "M-x goto-line" to go to a specific line.  To find the
        !          1087:   current column number, type "M-ESC (current-column)".
        !          1088:   
        !          1089:   Typing "C-x l" will also tell you what line you are on, provided the
        !          1090:   buffer isn't separated into "pages" with C-l characters.  In that case, it
        !          1091:   will only tell you what line of the current "page" you are on.  WARNING:
        !          1092:   "C-x l" gives the wrong value when point is at the beginning of a line.
        !          1093:   
        !          1094:   There is no "correct" way to constantly display the current (or total)
        !          1095:   line (or column) number on the mode line in Emacs 18, or to display the
        !          1096:   line numbers next to the lines like vi can.  Emacs is not a line-oriented
        !          1097:   editor, and really has no idea what "lines" of the buffer are displayed in
        !          1098:   the window.  It would require a lot of work at the C code level to make
        !          1099:   Emacs keep track of this.  It would not be that hard to get the column
        !          1100:   number, but it would still require changes at the C code level.
        !          1101:   
        !          1102:   None of the vi emulation modes provide the `set number' capability of vi
        !          1103:   (as far as I know).
        !          1104:   
        !          1105:   Emacs 19 will probably be able to show the line number on the mode-line,
        !          1106:   but probably very inefficiently.
        !          1107:   
        !          1108:   People have written various kludges to display line numbers.  One is
        !          1109:   `display-line-numbers' by Wayne Mesard <[email protected],
        !          1110:   [email protected]>.  Look in the Lisp Code Directory.  (See question
        !          1111:   88.)
        !          1112:   
        !          1113: 31:  How do I turn on Abbrevs by default just in mode XXX?
        !          1114:   
        !          1115:   Put this in your .emacs file:
        !          1116:   
        !          1117:     (condition-case ()
        !          1118:        (read-abbrev-file nil t)
        !          1119:       (file-error nil))
        !          1120:   
        !          1121:     (setq XXX-mode-hook
        !          1122:          (function
        !          1123:           (lambda ()
        !          1124:             (setq abbrev-mode t))))
        !          1125:   
        !          1126: 32:  How do I turn on Auto-Fill mode by default?
        !          1127:   
        !          1128:   To turn on Auto-Fill mode just once for one buffer, use "M-x
        !          1129:   auto-fill-mode".  To turn it on for every buffer in, for example, Text
        !          1130:   mode, do this:
        !          1131:   
        !          1132:     (setq text-mode-hook 'turn-on-auto-fill)
        !          1133:   
        !          1134:   If you want Auto-Fill mode on in all major modes, do this:
        !          1135:   
        !          1136:     (setq-default auto-fill-hook 'do-auto-fill)
        !          1137:   
        !          1138: 33:  How do I make Emacs use a certain major mode for certain files?
        !          1139:   
        !          1140:   If you want to use XXX mode for all files which end with the extension
        !          1141:   `.YYY', this will do it for you:
        !          1142:   
        !          1143:     (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist))
        !          1144:   
        !          1145:   Otherwise put this somewhere in the first line of any file you want to
        !          1146:   edit in XXX mode:
        !          1147:   
        !          1148:     -*-XXX-*-
        !          1149:   
        !          1150: 34:  How do I search for, delete, or replace unprintable (8-bit or control)
        !          1151:  characters?
        !          1152:   
        !          1153:   To search for a single character that appears in the buffer as, for
        !          1154:   example, `\237', you can type "C-s C-q 2 3 7".  (This assumes the value of
        !          1155:   search-quote-char is 17 (ie., C-q).)  Searching for ALL unprintable
        !          1156:   characters is best done with a "regexp" search.  The easiest regexp to use
        !          1157:   for the unprintable chars is the complement of the regexp for the
        !          1158:   printable chars.
        !          1159:   
        !          1160:   Regexp for the printable chars: [\t\n\r\f -~]
        !          1161:   
        !          1162:   Regexp for the unprintable chars: [^\t\n\r\f -~]
        !          1163:   
        !          1164:   To type some of these special characters in an interactive argument to
        !          1165:   isearch-forward-regexp or re-search-forward, you need to use C-q.  (`\t',
        !          1166:   `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.)  So,
        !          1167:   to search for unprintable characters using re-search-forward:
        !          1168:   
        !          1169:     M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET
        !          1170:   
        !          1171:   Using isearch-forward-regexp:
        !          1172:   
        !          1173:     M-C-s [^ TAB RET C-q RET C-q C-l SPC -~]
        !          1174:   
        !          1175:   To delete all unprintable characters, simply use a replace-regexp:
        !          1176:   
        !          1177:     M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET
        !          1178:   
        !          1179:   Replacing is similar to the above.  {I need to write the text for this
        !          1180:   part of the answer!}
        !          1181:   
        !          1182:   Notes:
        !          1183:   
        !          1184:   * With isearch, you can type RET to get a quoted LFD (not a quoted RET).
        !          1185:   
        !          1186:   * You don't need to quote TAB with either isearch or typing something in
        !          1187:     the minibuffer.
        !          1188:   
        !          1189:   Here are the Emacs Lisp forms of the above regexps:
        !          1190:   
        !          1191:     ;; regexp matching all printable characters:
        !          1192:     "[\t\n\r\f -~]"
        !          1193:   
        !          1194:     ;; regexp matching all unprintable characters:
        !          1195:     "[^\t\n\r\f -~]"
        !          1196:   
        !          1197: 35:  How can I highlight a region of text in Emacs?
        !          1198:   
        !          1199:   There are ways to get highlighting (reverse video, inverse video) in GNU
        !          1200:   Emacs 18.58, but either they require patching the C code of Emacs and
        !          1201:   rebuilding, or they are slow and the highlighting disappears if you scroll
        !          1202:   or redraw the screen and it can not follow the point.  Howard Gayle's
        !          1203:   patches for 8-bit output appear to allow highlighting (see question
        !          1204:   ^8-bit-output).  Another patch for highlighting is by Kenichi Handa
        !          1205:   <[email protected]>.  There is a patch for use with X by Andy Norman
        !          1206:   <[email protected]> (and modified for 18.57 by Matthieu Herrb
        !          1207:   <[email protected]>), which is available for FTP:                           !
        !          1208:                                                                              !
        !          1209:     /laas.laas.fr:pub/emacs/patch-X11-18.5{5,7}                              !
        !          1210:   
        !          1211:   You can highlight regions in a variety of ways in Epoch and Lucid Emacs.
        !          1212:   GNU Emacs 19 may not be able to just temporarily highlight a region.       !
        !          1213:   
        !          1214:   Similar comments apply to displaying text in different fonts, except that
        !          1215:   it is even harder.
        !          1216:   
        !          1217: 36:  How do I control Emacs's case-sensitivity when searching/replacing?
        !          1218:     
        !          1219:   For searching, the value of the variable case-fold-search determines
        !          1220:   whether they are case sensitive:
        !          1221:   
        !          1222:     (setq case-fold-search nil) ; make searches case sensitive
        !          1223:     (setq case-fold-search t)   ; make searches case insensitive
        !          1224:   
        !          1225:   Similarly, for replacing the variable case-replace determines whether
        !          1226:   replacements preserve case.
        !          1227:   
        !          1228:   To change the case sensitivity just for one major mode, use the major
        !          1229:   mode's hook.  For example:
        !          1230:   
        !          1231:     (setq XXX-mode-hook
        !          1232:           (function
        !          1233:           (lambda ()
        !          1234:             (setq case-fold-search nil))))
        !          1235:   
        !          1236: 37:  How do I make Emacs wrap words for me?
        !          1237:   
        !          1238:   M-x auto-fill-mode.  The default maximum line width is 74, determined by
        !          1239:   the variable fill-column.  To find how to turn this on automatically see
        !          1240:   question 32.
        !          1241:   
        !          1242: 38:  Where can I get a better spelling checker for Emacs?
        !          1243:   
        !          1244:   Use Ispell.  See question 119.
        !          1245:   
        !          1246: 39:  How can I spell-check TeX or *roff documents?
        !          1247:   
        !          1248:   If you want to spell-check TeX or *roff documents with Ispell, you need to
        !          1249:   arrange for a filter program that understands how to strip TeX or *roff
        !          1250:   formatting commands to be run.  In the TeX distribution, there are several
        !          1251:   different programs named `detex', all with incompatible options, and a
        !          1252:   very old pair of programs named `detex' and `delatex', which should
        !          1253:   probably be avoided.  The most useful one for Ispell is `detex' by Daniel
        !          1254:   Trinkle.  A more recent version is available via FTP:                      !
        !          1255:                                                                              !
        !          1256:     /arthur.cs.purdue.edu:pub/trinkle/detex-2.3.tar.Z                        !
        !          1257:   
        !          1258:   Raphael Cerf <[email protected]> recently released a program for this    +
        !          1259:   named `xetal':                                                             !
        !          1260:                                                                              !
        !          1261:     /spi.ens.fr:pub/unix/tex/                                                !
        !          1262:   
        !          1263:   There is a program that comes with Unix named `deroff' for stripping
        !          1264:   formatting commands from *roff files.
        !          1265:   
        !          1266:   Here is an example of code you can put in a .emacs file to use these
        !          1267:   programs:
        !          1268:   
        !          1269:     ;; Based on suggestions by David G. Grubbs <[email protected]> and Paul Palmer
        !          1270:     ;; <[email protected]>.
        !          1271:   
        !          1272:     ;; Assuming the use of detex 2.3 by Daniel Trinkle:
        !          1273:     ;; -w means one word per line.
        !          1274:     ;; -n means don't expand \input or \include commands.
        !          1275:     ;; -l means force LaTeX mode.
        !          1276:   
        !          1277:     (require 'ispell) ; for the make-variable-buffer-local statements
        !          1278:     (setq plain-TeX-mode-hook
        !          1279:          (function
        !          1280:           (lambda ()
        !          1281:             (setq ispell-filter-hook "detex")
        !          1282:              (setq ispell-filter-hook-args '("-nw")))))
        !          1283:     (setq LaTeX-mode-hook
        !          1284:          (function
        !          1285:           (lambda ()
        !          1286:             (setq ispell-filter-hook "detex")
        !          1287:              (setq ispell-filter-hook-args '("-lnw")))))
        !          1288:     (setq nroff-mode-hook
        !          1289:          (function
        !          1290:           (lambda ()
        !          1291:             (setq ispell-filter-hook "deroff")
        !          1292:              (setq ispell-filter-hook-args '("-w")))))
        !          1293:   
        !          1294:   You will have to adjust the arguments for programs other than Trinkle's
        !          1295:   detex or for other versions of deroff.  Experiment running the command
        !          1296:   from the shell to find the correct options.  If you don't have a filter
        !          1297:   that knows how to output one word per line, you must pipe its output
        !          1298:   through another filter to break up the output.
        !          1299:   
        !          1300: 40:  How do I change load-path?
        !          1301:   
        !          1302:   In general, you should only *add* to the load-path.  You can add
        !          1303:   directory /XXX/YYY to the load path like this:
        !          1304:   
        !          1305:     (setq load-path (append load-path '("/XXX/YYY/")))
        !          1306:   
        !          1307:   To do this relative to your home directory:
        !          1308:   
        !          1309:     (setq load-path (append load-path (list (expand-file-name "~/YYY/"))))
        !          1310:   
        !          1311: 41:  How do I use an already running Emacs from another window?
        !          1312:   
        !          1313:   The `emacsclient' program is for editing a file using an already running
        !          1314:   Emacs rather than starting up a new Emacs.  It does this by sending a
        !          1315:   request to the already running Emacs, which must be expecting the request.
        !          1316:   
        !          1317:   * Setup
        !          1318:   
        !          1319:     Emacs must have executed the `server-start' function for emacsclient to
        !          1320:     work.  This can be done either by a command line option:
        !          1321:   
        !          1322:       emacs -f server-start
        !          1323:   
        !          1324:     or by invoking server-start from the .emacs file:
        !          1325:   
        !          1326:       (if (some conditions are met) (server-start))
        !          1327:   
        !          1328:     When this is done, Emacs starts a subprocess running a program called
        !          1329:     `server'.  `server' creates a Unix domain socket in the user's home
        !          1330:     directory named `.emacs_server'.
        !          1331:   
        !          1332:     To get your news reader, mail reader, etc., to invoke emacsclient, try
        !          1333:     setting the environment variable EDITOR (or sometimes VISUAL) to the
        !          1334:     value `emacsclient'.  You may have to specify the full pathname of the
        !          1335:     emacsclient program instead.  Examples:
        !          1336:   
        !          1337:       # csh commands:
        !          1338:       setenv EDITOR emacsclient
        !          1339:       setenv EDITOR /usr/local/emacs/etc/emacsclient  # using full pathname
        !          1340:   
        !          1341:       # sh command:
        !          1342:       EDITOR=emacsclient export EDITOR
        !          1343:   
        !          1344:   * Normal use
        !          1345:   
        !          1346:     When emacsclient is run, it connects to the `.emacs_server' socket and
        !          1347:     passes its command line options to `server'.  When `server' receives
        !          1348:     these requests, it sends this information on the the Emacs process,
        !          1349:     which at the next opportunity will visit the files specified.  (Line
        !          1350:     numbers can be specified just like with Emacs.)  The user will have to
        !          1351:     switch to the Emacs window by hand.  When the user is done editing a
        !          1352:     file, the user can type "C-x #" to indicate this.  This will switch to
        !          1353:     another buffer created at the request of emacsclient if there are any.
        !          1354:     When "C-x #" has been invoked on all of the files that the emacsclient
        !          1355:     requested to be edited, Emacs will send notification of this to `server'
        !          1356:     which will pass this on to the emacsclient, which will then exit.
        !          1357:   
        !          1358:   NOTE: `emacsclient' and `server' must be running on machines which share
        !          1359:   the same filesystem for this to work.  The pathnames that emacsclient
        !          1360:   specifies should be correct for the filesystem that the Emacs process
        !          1361:   sees.  The Emacs process should not be suspended at the time emacsclient
        !          1362:   is invoked.  emacsclient should either be invoked from another X window or
        !          1363:   from a shell window inside Emacs itself.
        !          1364:   
        !          1365:   There is an enhanced version of emacsclient/server called `gnuserv' by
        !          1366:   Andy Norman <[email protected]> which is available in the Emacs Lisp
        !          1367:   Archive.  gnuserv uses Internet domain sockets, so it can work across most
        !          1368:   network connections.  It also supports the execution of arbitrary Emacs
        !          1369:   Lisp forms and also does not require the client program to wait for
        !          1370:   completion.  It is available via anonymous FTP (Emacs Lisp Archive:
        !          1371:   packages/gnuserv.shar).
        !          1372:   
        !          1373: 42:  How do I make Emacs recognize my compiler's funny error messages?
        !          1374:   
        !          1375:   Write a program which runs the compiler as a child and filters its output,
        !          1376:   rearranging as necessary.  Install with same name as compiler somewhere in
        !          1377:   path.
        !          1378:   
        !          1379:   Keith Moore <[email protected]> wrote one such for a C compiler under AIX.
        !          1380:   Available via FTP:                                                         !
        !          1381:                                                                              !
        !          1382:     /cs.utk.edu:readonly/aixcc.lex                                           !
        !          1383:   
        !          1384:   Jim Frost <[email protected]> wrote another for the IBM xlc compiler on the
        !          1385:   RS/6000.  (I don't know if these are both for the same compiler.)
        !          1386:   Johnathan Vail <[email protected]> wrote something for a High C compiler
        !          1387:   (`hc', which is one of the compilers on the RS/6000, although I think
        !          1388:   Johnathan wrote his program for hc on a different computer).
        !          1389:   
        !          1390: 43:  How do I indent switch statements like this?
        !          1391:   
        !          1392:   Many people want to indent their switch statements like this:
        !          1393:   
        !          1394:     f()
        !          1395:     {
        !          1396:       switch(x) {
        !          1397:         case A:
        !          1398:           x1;
        !          1399:           break;
        !          1400:         case B:
        !          1401:           x2;
        !          1402:           break;
        !          1403:         default:
        !          1404:           x3;
        !          1405:       }
        !          1406:     }
        !          1407:   
        !          1408:   I don't believe there is any way to do this exactly without modifying the
        !          1409:   Lisp code in c-mode.el.  You can set c-indent-level to 4 and
        !          1410:   c-label-offset to -2, but this has bad effects elsewhere.  {Anyone have a
        !          1411:   solution?}
        !          1412:   
        !          1413: 44:  How can I make Emacs automatically scroll horizontally?
        !          1414:   
        !          1415:   There is no completely correct way of doing this that does not involve     !
        !          1416:   rewriting all commands or writing your own top-level command loop (not a   !
        !          1417:   completely bad idea).  Wayne Mesard <[email protected]> has   !
        !          1418:   written a particularly advanced kludge called `hscroll.el' that checks     !
        !          1419:   once a second to make sure point is visible.                               !
        !          1420:   
        !          1421: 45:  How do I make Emacs "typeover" or "overwrite" instead of inserting?
        !          1422:   
        !          1423:   M-x overwrite-mode (a minor mode).
        !          1424:   
        !          1425: 46:  How do I stop Emacs from beeping on a terminal?
        !          1426:   
        !          1427:   Martin R. Frank <[email protected]> writes:
        !          1428:   
        !          1429:     Tell Emacs to use the 'visible bell' instead of the audible bell, and
        !          1430:     set the visible bell to nothing.
        !          1431:   
        !          1432:     Put this in your TERMCAP environment variable:
        !          1433:   
        !          1434:       ... :vb=: ...                       
        !          1435:   
        !          1436:     And evaluate this:
        !          1437:   
        !          1438:       (setq visible-bell t)
        !          1439:   
        !          1440: 47:  How do I turn down the bell volume in Emacs running under X Windows?
        !          1441:   
        !          1442:   Under versions of Emacs before 18.58, the bell volume was annoying loud
        !          1443:   and difficult to turn off.  So upgrading to 18.58 will reduce the volume.
        !          1444:   If you want to turn it off completely, use `xset'.  There is no way to
        !          1445:   turn the bell off just for Emacs without affecting all other programs.
        !          1446:   
        !          1447:   Under Epoch you can do:
        !          1448:   
        !          1449:     (setq epoch::bell-volume 20)
        !          1450:   
        !          1451:   Stu Grossman <[email protected]> wrote a patch that allows the
        !          1452:   bell volume to be adjusted from inside Emacs just for Emacs.
        !          1453:   
        !          1454: 48:  How do I tell Emacs to automatically indent a new line to the
        !          1455:  indentation of the previous line?
        !          1456:   
        !          1457:   One solution is Indented Text Mode (M-x indented-text-mode).
        !          1458:   
        !          1459:   If you have Auto-Fill mode on (a minor mode, see question 32), you can
        !          1460:   tell Emacs to prefix every line with a certain character sequence, the
        !          1461:   "fill prefix".  Type the prefix at the beginning of a line, position point
        !          1462:   after it, and then type "C-x ." (set-fill-prefix) to set the fill prefix.
        !          1463:   Thereafter, auto-filling will automatically put the fill prefix at the
        !          1464:   beginning of new lines, and M-q (fill-paragraph) will maintain any fill
        !          1465:   prefix when refilling the paragraph.
        !          1466:   
        !          1467:   NOTE: If you have paragraphs with different levels of indentation, you
        !          1468:   will have to set the fill prefix to the correct value each time you move
        !          1469:   to a new paragraph.  To avoid this hassle, try one of the many packages
        !          1470:   available from the Emacs Lisp Archive.  Look up `fill' and `indent' in the
        !          1471:   Lisp Code Directory for guidance.
        !          1472:   
        !          1473: 49:  How do I show which parenthesis matches the one I'm looking at?
        !          1474:   
        !          1475:   If you're looking at a right parenthesis (or brace or bracket) you can
        !          1476:   delete it and reinsert it.  Emacs will blink the cursor on the matching
        !          1477:   parenthesis.
        !          1478:   
        !          1479:   M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced
        !          1480:   parentheses, so you can see which parentheses match.  (You can train it to
        !          1481:   skip over balanced brackets and braces at the same time by modifying the
        !          1482:   syntax table.)
        !          1483:   
        !          1484:   Here is some Emacs Lisp that will make the % key show the matching
        !          1485:   parenthesis, like in vi.  In addition, if the cursor isn't over a
        !          1486:   parenthesis, it simply inserts a % like normal.
        !          1487:   
        !          1488:     ;; By an unknown contributor
        !          1489:   
        !          1490:     (global-set-key "%" 'match-paren)
        !          1491:   
        !          1492:     (defun match-paren (arg)
        !          1493:       "Go to the matching parenthesis if on parenthesis otherwise insert %."
        !          1494:       (interactive "p")
        !          1495:       (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
        !          1496:            ((looking-at "\\s\)") (forward-char 1) (backward-list 1))
        !          1497:            (t (self-insert-command (or arg 1)))))
        !          1498:   
        !          1499: 50:  In C mode, can I show just the lines that will be left after #ifdef
        !          1500:  commands are handled by the compiler?
        !          1501:   
        !          1502:   M-x hide-ifdef-mode.  (This is a minor mode.)
        !          1503:   
        !          1504:   You may have to (load "hideif") first.  If you want to do this regularly,
        !          1505:   put this in your .emacs file:
        !          1506:   
        !          1507:     (autoload 'hide-ifdef-mode "hideif" nil t)
        !          1508:   
        !          1509:   {Yes, I know, this should be in lisp/loaddefs.el already.}
        !          1510:   
        !          1511: 51:  Is there an equivalent to the `.' (dot) command of vi?
        !          1512:   
        !          1513:   (`.' is the redo command in vi.  It redoes the last insertion/deletion.)
        !          1514:   
        !          1515:   No, not really.
        !          1516:   
        !          1517:   You can type "C-x ESC" (repeat-complex-command) to reinvoke commands that
        !          1518:   used the minibuffer to get arguments.  In repeat-complex-command you can
        !          1519:   type M-p and M-n to scan through all the different complex commands you've
        !          1520:   typed.
        !          1521:   
        !          1522:   To repeat something on each line I recommend using keyboard macros.
        !          1523:   
        !          1524: 52:  What are the valid X resource settings (ie., stuff in .Xdefaults)?
        !          1525:   
        !          1526:   See the Emacs man page, or the etc/OPTIONS file.  Ignore the information
        !          1527:   in etc/XDOC which is way out of date.
        !          1528:   
        !          1529: 53:  How do I execute a piece of Emacs Lisp code?
        !          1530:   
        !          1531:   There are a number of ways to execute (called "evaluate") an Emacs Lisp
        !          1532:   "form":
        !          1533:   
        !          1534:   * If you want it evaluated every time you run Emacs, put it in a file
        !          1535:     named `.emacs' in your home directory.
        !          1536:   
        !          1537:   * You can type the form in the *scratch* buffer, and then type LFD (or
        !          1538:     C-j) after it.  The result of evaluating the form will be inserted in
        !          1539:     the buffer.
        !          1540:   
        !          1541:   * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or
        !          1542:     around point.
        !          1543:   
        !          1544:   * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately
        !          1545:     before point and prints its value in the echo area.
        !          1546:   
        !          1547:   * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in
        !          1548:     the minibuffer which will be evaluated.
        !          1549:   
        !          1550:   * You can use M-x load-file to have Emacs evaluate all the Lisp forms in
        !          1551:     a file.  (To do this from Lisp use the function `load' instead.)
        !          1552:   
        !          1553:   These functions are also used for evaluating Lisp forms:
        !          1554:   
        !          1555:     load-library, eval-region, eval-current-buffer, require, autoload
        !          1556:   
        !          1557: 54:  How do I change Emacs's idea of the tab character's length?
        !          1558:   
        !          1559:   Example: (setq default-tab-width 10).
        !          1560:   
        !          1561: 55:  How do I insert `>' at the beginning of every line?
        !          1562:   
        !          1563:   Type "M-x replace-regexp RET ^ RET > RET".
        !          1564:   
        !          1565:   To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET
        !          1566:   > RET C-x w".
        !          1567:   
        !          1568:   WARNING: The command narrow-to-region (C-x n) is disabled by default
        !          1569:   because it can be very confusing (ie., "Oh no!  Where did my file go?").
        !          1570:   
        !          1571: 56:  How do I insert `_^H' before each character in a paragraph to get an
        !          1572:  underlined paragraph?
        !          1573:   
        !          1574:   M-x underline-region.
        !          1575:   
        !          1576: 57:  How do I repeat a command as many times as possible?
        !          1577:   
        !          1578:   Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command
        !          1579:   and then type "M-0 C-x e".
        !          1580:   
        !          1581:   WARNING: any messages your command prints in the echo area will be
        !          1582:   suppressed.
        !          1583:   
        !          1584: 58:  How do I make Emacs behave like this: when I go up or down, the cursor
        !          1585:  should stay in the same column even if the line is too short?
        !          1586:   
        !          1587:   M-x picture-mode.  (This is a minor mode, in theory anyway ...)
        !          1588:   
        !          1589: 59:  How do I tell Emacs to iconify itself?
        !          1590:   
        !          1591:   You need to modify C source and recompile.  Either that or get Epoch or
        !          1592:   Lucid Emacs instead.  Patches have been written by Robert Forsman
        !          1593:   <[email protected]> and Johan Vromans <[email protected]> to allow Emacs to
        !          1594:   iconify itself and by Matt Wette <[email protected]> and
        !          1595:   Manavendra K. Thakur <[email protected]> (for 18.57, plus icon
        !          1596:   geometry) to allow Emacs to start up iconified.  I don't know which of
        !          1597:   these patches work together.
        !          1598:   
        !          1599:   Anonymous FTP:
        !          1600:     /csi.jpl.nasa.gov:pub/emacs.patch1  (Matt Wette)                         +
        !          1601:     /ftp.eu.net:gnu/emacs/FP-Xfun.Z  (Johan Vromans)                         +
        !          1602:     /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun  (Johan Vromans)                   +
        !          1603:   
        !          1604: 60:  How do I use regexps (regular expressions) in Emacs?
        !          1605:   
        !          1606:   See `Regexps' in the online manual.
        !          1607:   
        !          1608:   WARNING: The "or" operator is `\|', not `|', and the grouping operators
        !          1609:   are `\(' and `\)'.  Also, the string syntax for a backslash is "\\".
        !          1610:   Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is
        !          1611:   "xxx\\(foo\\|bar\\)".  Notice the duplicated backslashes!
        !          1612:   
        !          1613:   WARNING: Unlike in Unix grep, sed, etc., a complement character set
        !          1614:   ([^...])  can match a newline character (LFD aka C-j aka \n), unless
        !          1615:   newline is mentioned as one of the characters not to match.
        !          1616:   
        !          1617:   WARNING: The character syntax regexps (eg. `\sw') are not meaningful
        !          1618:   inside character set regexps (eg. `[aeiou]').  (This is actually typical
        !          1619:   for regexp syntax.)
        !          1620:   
        !          1621: 61:  How do I perform a replace operation across more than one file?
        !          1622:   
        !          1623:   The "tags" feature of Emacs includes the command tags-query-replace which
        !          1624:   performs a query-replace across all the files mentioned in the TAGS file.
        !          1625:   See `Tags:Tags Search' in the online manual.
        !          1626:   
        !          1627:   In addition, Martin Boyer has written a package named global-replace which
        !          1628:   will perform a query-replace across all the files mentioned in the
        !          1629:   *compilation* buffer (usually done after a `grep'), which is available via
        !          1630:   anonymous FTP:                                                             !
        !          1631:                                                                              !
        !          1632:     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.Z                      !
        !          1633:     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.Z               !
        !          1634:     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.Z                        !
        !          1635:   
        !          1636: 62:  Where is the documentation for `etags'?
        !          1637:   
        !          1638:   `etags' takes options just like a prior version of ctags, so your ctags
        !          1639:   manual (if any) may be useful.  {Can someone send me the details on this?}
        !          1640:   
        !          1641: 
        !          1642: 
        !          1643: Bugs/Problems
        !          1644: 
        !          1645: 63:  Does Emacs have problems with files larger than 8 megabytes?
        !          1646:   
        !          1647:   Most installed versions of GNU Emacs will use 24-bit signed integers (and
        !          1648:   24-bit pointers) internally.  This limits the file size that Emacs can
        !          1649:   handle to 8,388,607 bytes (2^23 - 1).
        !          1650:   
        !          1651:   Leonard N. Zubkoff <[email protected]> suggests putting the following two
        !          1652:   lines in src/config.h before compiling Emacs to allow for 26-bit integers
        !          1653:   and pointers (and thus filesizes of up to 33,554,431 bytes):
        !          1654:   
        !          1655:     #define VALBITS 26
        !          1656:     #define GCTYPEBITS 5
        !          1657:   
        !          1658:   WARNING: This method may result in `ILLEGAL DATATYPE' and other random
        !          1659:   errors on some machines.
        !          1660:   
        !          1661:   David Gillespie <[email protected]> gives an explanation of why
        !          1662:   Emacs uses 24 bit integers and pointers:
        !          1663:   
        !          1664:     Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
        !          1665:     language in the sense that you can put any value of any type into any
        !          1666:     variable, or return it from a function, and so on.  So each value must
        !          1667:     carry a "tag" along with it identifying what kind of thing it is, eg.,
        !          1668:     integer, pointer to a list, pointer to an editing buffer, and so on.
        !          1669:     Emacs uses standard 32-bit integers for data objects, taking the top 8
        !          1670:     bits for the tag and the bottom 24 bits for the value.  So integers (and
        !          1671:     pointers) are somewhat restricted compared to true C integers and
        !          1672:     pointers.
        !          1673:   
        !          1674:     Emacs uses 8-bit tags because that's a little faster on byte-oriented
        !          1675:     machines, but there are only really enough tags to require 6 bits.
        !          1676:   
        !          1677: 64:  Why can't Emacs find files in current directory on startup?
        !          1678:   
        !          1679:   Most likely, you have an environment variable named PWD that is set to a
        !          1680:   value other than the name of your current directory.  This is most
        !          1681:   likely caused by using two different shell programs.  `ksh' and (some
        !          1682:   versions of) `csh' set and maintain the value of the PWD environment
        !          1683:   variable, but `sh' doesn't.  If you start sh from ksh, change your
        !          1684:   current directory inside sh, and then start Emacs from inside sh, PWD
        !          1685:   will have the wrong value but Emacs will use this value.  See the
        !          1686:   etc/OPTIONS file for more details.
        !          1687:   
        !          1688:   Perhaps an easier solution is not to use two shells.  The `chsh' program
        !          1689:   can often be used to change one's default login shell.
        !          1690:   
        !          1691:   You may have PWD set for other reasons.  Another possibility is that you
        !          1692:   are setting default-directory from your .emacs file.
        !          1693:   
        !          1694:   Here is a fix by Jim Blandy <[email protected]>:
        !          1695:   
        !          1696:     >--- emacs/jjj/emacs-18.58/lisp/startup.el Tue Jan 15 23:19:04 1991
        !          1697:     >+++ startup.el    Mon Apr 20 00:21:01 1992
        !          1698:     >@@ -81,5 +81,7 @@
        !          1699:     >     ;; In presence of symlinks, switch to cleaner form of default directory.
        !          1700:     >     (if (and (not (eq system-type 'vax-vms))
        !          1701:     >-      (getenv "PWD"))
        !          1702:     >+      (getenv "PWD")
        !          1703:     >+              (equal (nthcdr 10 (file-attributes default-directory))
        !          1704:     >+                     (nthcdr 10 (file-attributes (getenv "PWD")))))
        !          1705:     >  (setq default-directory (file-name-as-directory (getenv "PWD"))))
        !          1706:     >     (unwind-protect
        !          1707:   
        !          1708: 65:  How do I get rid of the ^M junk in my Shell buffer?
        !          1709:   
        !          1710:   For tcsh, put this in your `.cshrc' (or `.tcshrc') file:
        !          1711:   
        !          1712:     if ($?EMACS) then
        !          1713:         if ("$EMACS" == t) then
        !          1714:            if ($?tcsh) unset edit
        !          1715:            stty nl
        !          1716:        endif
        !          1717:     endif
        !          1718:   
        !          1719:   Or put this in your .emacs_tcsh file:
        !          1720:   
        !          1721:     unset edit
        !          1722:     stty nl
        !          1723:   
        !          1724:   Alternatively, use csh in your Shell buffers instead of tcsh.  One way
        !          1725:   is:
        !          1726:   
        !          1727:     (setq explicit-shell-file-name "/bin/csh") 
        !          1728:   
        !          1729:   and another is to do this in your .cshrc (or .tcshrc) file:
        !          1730:   
        !          1731:     setenv ESHELL /bin/csh
        !          1732:   
        !          1733:   (You must start Emacs over again with the environment variable properly
        !          1734:   set for this to take effect.)
        !          1735:   
        !          1736: 66:  Why do I get `Process shell exited abnormally with code 1'?
        !          1737:   
        !          1738:   The most likely reason for this message is that the `env' program is not
        !          1739:   properly installed.  This program should be compiled (for the correct
        !          1740:   architecture!) and installed with execute permission for everyone in
        !          1741:   Emacs's program directory, which is normally /usr/local/emacs/etc.  You
        !          1742:   can find what this directory is at your site by inspecting the value of
        !          1743:   the variable exec-directory by typing "C-h v exec-directory RET".  `env'
        !          1744:   should also be for the correct architecture (check using `file' command).
        !          1745:   
        !          1746:   You should also check for other programs named `env' in your path (eg.,
        !          1747:   SunOS has a program named /usr/bin/env).  I don't understand why this can
        !          1748:   cause a failure and I don't know a general solution for working around the
        !          1749:   problem in this case.
        !          1750:   
        !          1751:   The `make clean' command will remove `env' and other vital programs, so be
        !          1752:   careful when using it.
        !          1753:   
        !          1754:   It has been reported that this sometimes happened when Emacs was started
        !          1755:   as an X client from an xterm window (ie. had a controlling tty) but the
        !          1756:   xterm was later terminated.
        !          1757:   
        !          1758:   See also etc/PROBLEMS for other possible causes of this message.
        !          1759:   
        !          1760: 67:  Why can't I cut from Emacs and paste in other X programs?
        !          1761:   
        !          1762:   Emacs stores things you "cut" in the X "cut buffers".  It also pastes from
        !          1763:   the cut buffer `CUT_BUFFER0'.  This is obsolete.  Most modern X programs
        !          1764:   now expect to work with "selections" instead of cut buffers, although some
        !          1765:   like `xterm' will try to use the cut buffers if the selection is null.
        !          1766:   
        !          1767:   Emacs 18.58 contains a "fix" that makes xterm work by default.  This
        !          1768:   "fix" is that Emacs clears the `PRIMARY' selection when it stores
        !          1769:   something in the cut buffer.  By making the selection null, xterm will
        !          1770:   then fetch from the cut buffer when you try to paste.
        !          1771:   
        !          1772:   For versions of Emacs prior to 18.58, you can make pasting from Emacs into
        !          1773:   xterm work with the following X resources:
        !          1774:   
        !          1775:     ! Solution by Thomas Narten, should work under X11R3 and later GNU
        !          1776:     ! Emacs only copies to CUT_BUFFER0.  xterm by default wants to paste
        !          1777:     ! from the PRIMARY selection.
        !          1778:     XTerm*VT100.Translations: #override \
        !          1779:         ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0,PRIMARY)
        !          1780:   
        !          1781:   You may have problems copying between Emacs and programs other than xterm
        !          1782:   that won't store cut text in the cut buffers or look in the cut buffers
        !          1783:   for text to paste (for backwards compatibility with obsolete applications
        !          1784:   like Emacs :-).  The best workaround is to use the `xcutsel' program as an
        !          1785:   intermediary.                                                              -
        !          1786:   
        !          1787:   This problem does not exist for Epoch or Lucid Emacs.
        !          1788:   
        !          1789: 68:  Where is the termcap/terminfo entry for terminal type `emacs'?
        !          1790:   
        !          1791:   The termcap entry for terminal type `emacs' is ordinarily put in the
        !          1792:   TERMCAP environment variable of subshells.  It may help in certain
        !          1793:   situations (eg., using rlogin from shell buffer) to add an entry for
        !          1794:   `emacs' to the system-wide termcap file.  Here is a correct termcap entry
        !          1795:   for `emacs':
        !          1796:   
        !          1797:     emacs:tc=unknown:
        !          1798:   
        !          1799:   To make a terminfo entry for `emacs', use `tic' or `captoinfo'.  You need
        !          1800:   to generate /usr/lib/terminfo/e/emacs.  It may work to simply copy
        !          1801:   /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs.
        !          1802:   
        !          1803:   Having a termcap/terminfo entry will not enable the use of full screen
        !          1804:   programs in shell buffers.  Use M-x terminal-emulator for that instead.
        !          1805:   
        !          1806:   A workaround to the problem of missing termcap/terminfo entries is to
        !          1807:   change terminal type `emacs' to type `dumb' or `unknown' in your shell
        !          1808:   start up file.  `csh' users could put this in their .cshrc files:
        !          1809:   
        !          1810:     if ("$term" == emacs) set term=dumb
        !          1811:   
        !          1812: 69:  Why does Emacs spontaneously start displaying `I-search:' and beeping?
        !          1813:   
        !          1814:   Your terminal (or something between your terminal and the computer) is
        !          1815:   sending C-s and C-q for flow control, and Emacs is receiving these
        !          1816:   characters and interpreting them as commands.  (The C-s character normally
        !          1817:   invokes the isearch-forward command.)  For possible solutions, see
        !          1818:   question 131.
        !          1819:   
        !          1820: 70:  Why can't Emacs talk to certain hosts (or certain hostnames)?
        !          1821:   
        !          1822:   The problem may be that Emacs is linked with a wimpier version of
        !          1823:   gethostbyname than the rest of the programs on the machine.  This is often
        !          1824:   manifested as a message on startup of `X server not responding.  Check
        !          1825:   your DISPLAY environment variable.' or a message of `Unknown host' from
        !          1826:   open-network-stream.
        !          1827:   
        !          1828:   On a Sun, this may be because Emacs had to be linked with the static C
        !          1829:   library.  The version of gethostbyname in the static C library may only
        !          1830:   look in /etc/hosts and the NIS (YP) maps, while the version in the dynamic
        !          1831:   C library may be smart enough to check DNS in addition to or instead of
        !          1832:   NIS.  On a Motorola Delta running System V R3.6, the version of
        !          1833:   gethosbyname in the standard library works, but the one that works with
        !          1834:   NIS doesn't (the one you get with -linet).  Other operating systems have
        !          1835:   similar problems.
        !          1836:   
        !          1837:   Try these options:
        !          1838:   
        !          1839:   * Explicitly add the host you want to communicate with to /etc/hosts.
        !          1840:   
        !          1841:   * Relink Emacs with this line in src/config.h:
        !          1842:   
        !          1843:       #define LIBS_SYSTEM -lresolv
        !          1844:   
        !          1845:   * Replace gethostbyname and friends in libc.a with more useful versions
        !          1846:     such as the ones in libresolv.a.  Then relink Emacs.
        !          1847:   
        !          1848:   * If you are actually running NIS, make sure that `ypbind' is properly
        !          1849:     told to do DNS lookups with the correct command line switch.
        !          1850:   
        !          1851:   * Use tcp.el and tcp.c from GNUS.  This has the additional advantage that
        !          1852:     you can use numeric IP addresses instead of names.  open-network-stream
        !          1853:     currently can't handle numeric addresses.  Brian Thomson
        !          1854:     <[email protected]> has a enhancement to open-network-stream to
        !          1855:     allow it to handle numeric addresses.
        !          1856:   
        !          1857: 71:  Why does Emacs say `Error in init file'?
        !          1858:   
        !          1859:   An error occurred while loading either your .emacs file or the system-wide
        !          1860:   lisp/default.el file.  For information on how to debug your .emacs file,
        !          1861:   see question 29.
        !          1862:   
        !          1863:   It may be the case that you may need to load some package first, or use a
        !          1864:   hook that will be evaluated after the package is loaded.  A common case of
        !          1865:   this is explained in question 127.
        !          1866:   
        !          1867: 72:  Why does Emacs ignore my X resources (my .Xdefaults file)?
        !          1868:   
        !          1869:   * Try compiling Emacs with the XBACKWARDS macro defined.  There is a bug
        !          1870:     in some implementations of XGetDefault, which do not correspond to the
        !          1871:     documentation or the header files.
        !          1872:   
        !          1873:   * Make sure you are either using the class name of `Emacs' (oops,
        !          1874:     apparently this is buggy in Emacs 18.58!) or the correct instance name.
        !          1875:     The instance name is normally the same as the name of the file Emacs is
        !          1876:     in (ie., the last part of argv[0]), but this can be overridden by -rn
        !          1877:     command line option or the WM_RES_NAME environment variable.
        !          1878:   
        !          1879:     WARNING: Reports say using the class name fails in Emacs 18.58.
        !          1880:   
        !          1881:     WARNING: The advice the man page gives to use `emacs' is often wrong.
        !          1882:   
        !          1883:     WARNING: Older versions of Emacs got the class name wrong.
        !          1884:   
        !          1885:   * Emacs currently ignores the -xrm command line argument.
        !          1886:   
        !          1887:   * Emacs does not yet handle X11R5 screen-specific resources.
        !          1888:   
        !          1889:   * Emacs has a bug where it ignores color specifications if running on a
        !          1890:     1-bit display (ie. a non-color display).
        !          1891:   
        !          1892:   * I don't think Emacs will use either of the application-specific resource
        !          1893:     files.  Thus these environment variables don't affect it: XAPPLRESDIR,
        !          1894:     XUSERFILESEARCHPATH, XFILESEARCHPATH.  {Correct?}
        !          1895:   
        !          1896: 73:  Why does Emacs take 20 seconds to visit a file?
        !          1897:   
        !          1898:   The usual cause is that the master lock file, `!!!SuperLock!!!' has been
        !          1899:   left in the lock directory somehow.  Delete it.
        !          1900:   
        !          1901:   Mark Meuer <[email protected]> says that NeXT NFS has a bug where an
        !          1902:   exclusive create succeeds but returns an error status.  This can cause the
        !          1903:   same problem.  Since Emacs's file locking doesn't work over NFS anyway,
        !          1904:   the best solution is to recompile Emacs with CLASH_DETECTION undefined.
        !          1905:   
        !          1906: 74:  How do I edit a file with a `$' in its name?
        !          1907:   
        !          1908:   When entering a filename in the minibuffer, Emacs will attempt to expand
        !          1909:   a `$' followed by a word as an environment variable.  To suppress this
        !          1910:   behavior, type "$$" instead.
        !          1911:   
        !          1912: 75:  Why does Shell mode lose track of the shell's current directory?
        !          1913:   
        !          1914:   Emacs has no way of knowing when the shell actually changes its directory.
        !          1915:   This is an intrinsic limitation of Unix.  So it tries to guess by
        !          1916:   recognizing `cd' commands.  If you type `cd' followed by a directory name
        !          1917:   with a variable reference (`cd $HOME/bin') or with a shell metacharacter
        !          1918:   (`cd ../lib*'), Emacs will fail to correctly guess the shell's new current
        !          1919:   directory.  A huge variety of fixes and enhancements to Shell mode for
        !          1920:   this problem have been written to handle this problem.  Check the Lisp
        !          1921:   Code Directory (see question 88).
        !          1922:   
        !          1923: 76:  Why doesn't my change to load-path work?
        !          1924:   
        !          1925:   If you added a directory name containing a tilde (~) to your load-path,
        !          1926:   expecting the tilde to be interpreted as your home directory, then you
        !          1927:   need to do something like this:
        !          1928:   
        !          1929:     (setq load-path (mapcar 'expand-file-name load-path))
        !          1930:   
        !          1931: 77:  Why does the cursor always go to the wrong column when I move up or
        !          1932:  down one line?
        !          1933:   
        !          1934:   You have inadvertently typed "C-x C-n" (set-goal-column) which sets the
        !          1935:   "goal column" to the column where the cursor was.  To undo this type
        !          1936:   "C-u C-x C-n".
        !          1937:   
        !          1938:   If you make this mistake frequently, you might want to unbind or disable
        !          1939:   this command by doing one of these two:
        !          1940:   
        !          1941:     (define-key ctl-x-map "\C-n" nil)
        !          1942:     (put 'set-goal-column 'disabled t)
        !          1943:   
        !          1944: 78:  Why does Emacs hang with message `Unknown XMenu error' with X11R4?
        !          1945:   
        !          1946:   Many different X errors can produce this message.  Here is the solution
        !          1947:   to one problem:
        !          1948:   
        !          1949:   X11 Release 4 (and later, including OpenWindows) enforces some conditions
        !          1950:   in the X protocol that were previously allowed to pass unnoticed.  You
        !          1951:   need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's
        !          1952:   Xmenu code to work.  You can do this with the command `xset bc'.
        !          1953:   
        !          1954: 79:  Why doesn't display-time show the load average in the mode line
        !          1955:  anymore?
        !          1956:   
        !          1957:   In GNU Emacs 18.56, a change was made in the display-time code.
        !          1958:   Formerly, in version 18.55, Emacs used a program named `loadst' to
        !          1959:   notify Emacs of the change in time every minute.  loadst also sent Emacs
        !          1960:   the system load average if it was installed with sufficient privilege to
        !          1961:   get that information (or was on a system where no such privilege was
        !          1962:   needed).  Emacs then displayed this information in the mode line.
        !          1963:   
        !          1964:   In version 18.56, this code was changed to use a program named `wakeup'.
        !          1965:   wakeup doesn't send Emacs any information, it's only purpose is to send
        !          1966:   Emacs *something* every minute, thus invoking the filter function in
        !          1967:   Emacs once a minute.  The filter function in Emacs does all the work of
        !          1968:   finding the time, date, and load average.  However, getting the load
        !          1969:   average requires the privilege to read kernel memory on most systems.
        !          1970:   Since giving Emacs this privilege would destroy any security a system
        !          1971:   might have, for almost everyone this is not an option.  In addition,
        !          1972:   Emacs does not have the code built into it to get this information on
        !          1973:   the systems which have special system calls for this purpose, even
        !          1974:   though loadst had code for this.
        !          1975:   
        !          1976:   The solution I use is to get the files lisp/display-time.el and
        !          1977:   etc/loadst.c from version 18.55 and use those with 18.58.  (I have heard
        !          1978:   a rumor that loadst disappeared because of the legal action Unipress
        !          1979:   threatened against IBM.)
        !          1980:   
        !          1981:   WARNING:  Do not install Emacs setgid kmem unless you wish to destroy
        !          1982:   any security your system might have!!!!!!!!!!
        !          1983:   
        !          1984:   If you are using Emacs 18.55 or earlier, or already using the solution I
        !          1985:   describe above, read further:
        !          1986:   
        !          1987:   The most likely cause of the problem is that `loadst' can't read the
        !          1988:   special file /dev/kmem.  To properly install loadst, it should be either
        !          1989:   setuid to the owner of /dev/kmem, or is should be setgid to the group to
        !          1990:   which /dev/kmem belongs.  In either case, /dev/kmem should be readable by
        !          1991:   its owner or its group, respectively.  Assuming the existence of a group
        !          1992:   named `kmem', here is an example of how to do this:
        !          1993:   
        !          1994:     chgrp kmem /dev/kmem
        !          1995:     chmod g+r /dev/kmem
        !          1996:     chgrp kmem /usr/local/emacs/etc/loadst
        !          1997:     chmod g+s /usr/local/emacs/etc/loadst
        !          1998:   
        !          1999:   Another possibility is that your version of Unix doesn't have the load
        !          2000:   average data available in /dev/kmem.  Your version of Unix might have a
        !          2001:   special system call to retrieve this information (eg., inq_stats under
        !          2002:   UMAX), and loadst might not have been enhanced to cope with this.
        !          2003:   
        !          2004: 80:  Why does ispell sometimes ignore the local dictionary?
        !          2005:   
        !          2006:   You need to update the version of Ispell to 2.0.02.  (Or you can switch to
        !          2007:   version 3.0 which is still in beta-testing.)  A patch is available via
        !          2008:   anonymous FTP:                                                             !
        !          2009:                                                                              !
        !          2010:     /archive.cis.ohio-state.edu:pub/gnu/ispell/patch2.Z                      !
        !          2011:   
        !          2012:   You also need to change a line in ispell.el from:
        !          2013:   
        !          2014:     (defconst ispell-version "2.0.01") ; Check against output of "ispell -v".
        !          2015:   
        !          2016:   to:
        !          2017:   
        !          2018:     (defconst ispell-version "2.0.02") ; Check against output of "ispell -v".
        !          2019:   
        !          2020: 81:  Why does Ispell treat each line as a single word?
        !          2021:   
        !          2022:   Ispell expects to get its input one word per line.  The ispell filter,
        !          2023:   which is specified by the variables ispell-filter-hook and
        !          2024:   ispell-filter-hook-args, should output at most one word per line.
        !          2025:   
        !          2026: 82:  Are there any security risks in GNU Emacs?
        !          2027:   
        !          2028:   * the `movemail' incident (No, this is not a risk.)
        !          2029:   
        !          2030:     Cliff Stoll in his book `The Cuckoo's Egg' describes this in chapter 4.
        !          2031:     The site at LBL had installed the `etc/movemail' program setuid root.
        !          2032:     Since `movemail' had not been designed for this situation, a security
        !          2033:     hole was created and users could get root priveleges.
        !          2034:   
        !          2035:     `movemail' has since been changed so that even if it is installed setuid
        !          2036:     root this security hole will not be a result.
        !          2037:   
        !          2038:     I have heard unverified reports that the Internet worm took advantage of
        !          2039:     this configuration problem.
        !          2040:   
        !          2041:   * the file-local-variable feature (Yes, a risk, but easy to change.)
        !          2042:   
        !          2043:     There is an Emacs feature that allows the setting of local values for
        !          2044:     variables when editing a file by including specially formatted text near
        !          2045:     the end of the file.  This feature also includes the ability to have
        !          2046:     arbitrary Emacs Lisp code evaluated when the file is visited.
        !          2047:     Obviously, there is a potential for Trojan horses to exploit this
        !          2048:     feature.
        !          2049:   
        !          2050:     If you set the variable inhibit-local-variables to a non-nil value,
        !          2051:     Emacs will display the special local variable settings of a file that
        !          2052:     you visit and ask you if you really want them.  This variable is not
        !          2053:     mentioned in the manual.
        !          2054:   
        !          2055:     It is wise to do this in lisp/site-init.el before building Emacs:
        !          2056:   
        !          2057:       (setq inhibit-local-variables t)
        !          2058:   
        !          2059:     If Emacs has already been built, the expression can be put in
        !          2060:     lisp/default.el instead, or an individual can put it in their own .emacs
        !          2061:     file.
        !          2062:   
        !          2063:     The ability to exploit this feature by sending e-mail to an RMAIL user
        !          2064:     was fixed sometime after Emacs 18.52.  However, any new package that
        !          2065:     uses find-file or find-file-noselect has to be careful about this.
        !          2066:   
        !          2067:     For more information, see `File Variables' in the online manual (which,
        !          2068:     incidentally, does not describe how to disable the feature).
        !          2069:   
        !          2070:     There is a new variable in Emacs 18.58 named ignore-local-eval which
        !          2071:     turns out to be useless as currently implemented.  Ignore it.
        !          2072:   
        !          2073:   * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.)
        !          2074:   
        !          2075:     Emacs accepts synthetic X events generated by the SendEvent request as
        !          2076:     though they were regular events.  As a result, if you are using the
        !          2077:     trivial host-based authentication, other users who can open X
        !          2078:     connections to your X workstatation can make your Emacs process do
        !          2079:     anything, including run other processes with your priveleges.
        !          2080:   
        !          2081:     The only fix for this is to prevent other users from being able to open
        !          2082:     X connections.  The standard way to prevent this is to use a real
        !          2083:     authentication mechanism, such as MIT-MAGIC-COOKIE-1.  If using the
        !          2084:     `xauth' program has any effect, then you are probably using
        !          2085:     MIT-MAGIC-COOKIE-1.  Your site may be using a superior authentication
        !          2086:     method; ask your system administrator.
        !          2087:   
        !          2088:     If real authentication is not a possibility, you may be satisfied by
        !          2089:     just allowing hosts access for brief intervals while you start your X
        !          2090:     programs, then removing the access.  This reduces the risk somewhat by
        !          2091:     narrowing the time window when hostile users would have access, but DOES
        !          2092:     NOT ELIMINATE THE RISK.
        !          2093:   
        !          2094:     Lucid GNU Emacs does not accept synthetic X events unless you set a      +
        !          2095:     variable.                                                                +
        !          2096:   
        !          2097:   * autosave file permissions (Yes, a risk, hard to work around.)
        !          2098:   
        !          2099:     The file permissions for autosave files are determined solely by the
        !          2100:     Emacs process's `umask' value.  The permissions of the file being
        !          2101:     autosaved are not used.  The easiest workaround is to keep sensitive
        !          2102:     files in protected directories.  Sebastian Kremer has written an
        !          2103:     enhanced version of the autosave file name picking code that can avoid
        !          2104:     this problem by keeping autosave files in a protected directory.  {FTP
        !          2105:     information please?}  This problem will be fixed in Emacs 19.
        !          2106:   
        !          2107: 
        !          2108: 
        !          2109: Difficulties Building/Installing/Porting Emacs
        !          2110: 
        !          2111: 83:  What should I do if I have trouble building Emacs?
        !          2112:   
        !          2113:   First look in the file etc/PROBLEMS to see if there is already a solution
        !          2114:   for your problem.  Next check the FAQ (you're reading it).  If you don't
        !          2115:   find a solution, then report your problem via e-mail to
        !          2116:   [email protected].  Please do not post it to gnu.emacs.help or
        !          2117:   e-mail it to [email protected].  For further guidelines, see
        !          2118:   question 8.
        !          2119:   
        !          2120: 84:  How do I stop Emacs from failing when the executable is stripped?
        !          2121:   
        !          2122:   Don't do that.
        !          2123:   
        !          2124:   This problem has been reported on SGI Indigo machines running Irix 4.0.*
        !          2125:   and RS/6000 machines.  Scott Henry <[email protected]> posted a
        !          2126:   patch that fixes the problem for Irix.
        !          2127:   
        !          2128: 85:  Why does linking Emacs with -lX11 fail?                                 !
        !          2129:                                                                              !
        !          2130:   Emacs needs to be linked with the static version of the X11 library,       !
        !          2131:   libX11.a.  This may be missing.                                            !
        !          2132:                                                                              !
        !          2133:   Under OpenWindows, you may need to use `add_services' to add the           !
        !          2134:   `OpenWindows Programmers' optional software category from the CD-ROM.      -
        !          2135:   
        !          2136:   Under HP-UX 8.0, you may need to run `update' again to load the            -
        !          2137:   X11-PRG `fileset'.  This may be missing even if you specified `all
        !          2138:   filesets' the first time.  If libcurses.a is missing, you may need to load
        !          2139:   the `Berkeley Development Option' {???}.
        !          2140:   
        !          2141:   If you are building the MIT X11 sources, you may need to modify your       +
        !          2142:   `site.cf' file to get static versions of the libraries.  (Info from David  +
        !          2143:   Zuhn <[email protected]>.)                                                    +
        !          2144:                                                                              +
        !          2145:   Other systems may have similar problems.  You can always define            +
        !          2146:   CANNOT_DUMP and link with the shared libraries instead.
        !          2147:   
        !          2148:   To get the Xmenu stuff to work, you need to find a copy of MIT's           +
        !          2149:   liboldX.a.                                                                 +
        !          2150:   
        !          2151: 86:  Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
        !          2152:   
        !          2153:   I had hoped this question would go away after Emacs 18.57 was released,
        !          2154:   but people continue to compile 18.55.  Easiest solution: upgrade.
        !          2155:   
        !          2156:   This is a result of the SunOS localtime/tzsetwall malloc bug, which was
        !          2157:   (finally!) fixed in SunOS 4.1.2.  If you actually need the full
        !          2158:   explanation, send me e-mail.  If you absolutely must compile Emacs 18.55
        !          2159:   (eg., you are compiling Nemacs), the easiest workaround was to put
        !          2160:   `#define SYSTEM_MALLOC' in src/config.h.                                   -
        !          2161: 
        !          2162:                   GNU Emacs FAQ: Getting Emacs/Packages
        !          2163: 
        !          2164: If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
        !          2165: get an overview of just the questions.  Then, when you want to look at the text
        !          2166: of the answers, just type "C-x $".
        !          2167: 
        !          2168: To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
        !          2169: that doesn't work, then type ESC to end the search.
        !          2170: 
        !          2171: A `+' in the 78th column means something was inserted on the line.  A `-' means
        !          2172: something was deleted and a `!' means some combination of insertions and
        !          2173: deletions occurred.
        !          2174: 
        !          2175: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !          2176: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !          2177: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !          2178: WAIS, or Prospero to rtfm.mit.edu.
        !          2179: 
        !          2180: 
        !          2181: 
        !          2182: Finding/Getting Emacs and Related Packages
        !          2183: 
        !          2184: 87:  Where can I get GNU Emacs on the net (or by snail mail)?
        !          2185:   
        !          2186:   Look in the files etc/DISTRIB and etc/FTP for information on nearby
        !          2187:   archive sites.  If you don't already have GNU Emacs, see question 20
        !          2188:   for how to get these two files.
        !          2189:   
        !          2190:   The latest version is always available via anonymous FTP at MIT:           !
        !          2191:                                                                              !
        !          2192:     /prep.ai.mit.edu:pub/gnu/emacs-18.58.tar.Z                               !
        !          2193:   
        !          2194:   See question 91.
        !          2195:   
        !          2196: 88:  How do I find a GNU Emacs Lisp package that does XXX?
        !          2197:   
        !          2198:   A listing of Emacs Lisp packages, called the Lisp Code Directory, is being
        !          2199:   maintained by Dave Brennan <[email protected]> and Dave Sill <[email protected]>.
        !          2200:   You can search through this list to find if someone has written something
        !          2201:   that fits your needs.
        !          2202:   
        !          2203:   This list is file LCD-datafile.Z in the Emacs Lisp Archive.  (See
        !          2204:   question 89 for methods for getting this file.)  The files lispdir.el.Z
        !          2205:   and lispdir.doc.Z in the archive contain information to help you use the
        !          2206:   list.  Once you have installed lispdir.el and LCD-datafile, then you can
        !          2207:   use the "M-x lisp-dir-apropos" command to look things up in the database.
        !          2208:   For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces
        !          2209:   this (outdated) output:
        !          2210:   
        !          2211:                    GNU Emacs Lisp Code Apropos -- "ange-ftp"
        !          2212:   
        !          2213:     ange-ftp (3.112)  91-08-12
        !          2214:       Andy Norman, <[email protected]>
        !          2215:       archive.cis.ohio-state.edu:
        !          2216:         /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z
        !          2217:       transparent FTP Support for GNU Emacs
        !          2218:   
        !          2219: 89:  Where can I get GNU Emacs Lisp packages that don't come with Emacs?
        !          2220:   
        !          2221:   First, check the Lisp Code Directory to find the name of the package you
        !          2222:   are looking for.  (See question 88).  Then check local archives and
        !          2223:   the Emacs Lisp Archive to find a copy of the relevant files.  Then, if
        !          2224:   you still haven't found it, you can send e-mail to the author asking for
        !          2225:   a copy.
        !          2226:   
        !          2227:   You can access the Emacs Lisp Archive via anonymous FTP:                   !
        !          2228:                                                                              !
        !          2229:     /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/                !
        !          2230:   
        !          2231:   Fetch the file README first.
        !          2232:   
        !          2233:   NOTE: The archive maintainers do not have time to answer individual
        !          2234:   requests for packages or the list of packages in the archive.  If you
        !          2235:   cannot use FTP or UUCP to access the archive yourself, try to find a
        !          2236:   friend who can, but please don't ask the maintainers.
        !          2237:   
        !          2238:   NOTE: Any files with names ending in `.Z' are compressed, and you should
        !          2239:   use `binary' mode in FTP to retrieve them.  You should also use binary
        !          2240:   mode whenever you retrieve any files with names ending in `.elc'.
        !          2241:   
        !          2242: 90:  How do I submit code to the Emacs Lisp Archive?
        !          2243:   
        !          2244:   Submissions should be mailed to [email protected].  The
        !          2245:   lispdir.el package has a function named submit-lcd-entry which will help
        !          2246:   you with this.  Mail messages (submissions) are automatically saved and
        !          2247:   periodically archived.  Urgent mail may be sent directly to Dave Sill
        !          2248:   <[email protected]> or Dave Brennan <[email protected]> or should contain the
        !          2249:   string `urgent' in the subject.  The incoming ftp directory is no longer
        !          2250:   available at the request of Ohio State.  {Is this still true?}
        !          2251:   
        !          2252:   However, if someone has a submission with multiple files (which would be
        !          2253:   archived as a tar file) or binary files, then FTP transfer is preferred
        !          2254:   and can be arranged via an anonymous FTP site.  This is faster than
        !          2255:   uudecoding, unsharing, etc., and re-packaging files.
        !          2256:   
        !          2257:   Before submitting anything, please read the file guidelines.Z, which is
        !          2258:   available in the archive.  Whenever possible, submissions should contain a
        !          2259:   complete LCD entry since this helps reduce administrative overhead for the
        !          2260:   maintainers.  You can include an entry in this format:
        !          2261:   
        !          2262:     ;; LCD Archive Entry:
        !          2263:     ;; package name|author's name|email address
        !          2264:     ;; |description
        !          2265:     ;; |date|version|archive path
        !          2266:   
        !          2267:   For example:
        !          2268:   
        !          2269:     ;; LCD Archive Entry:
        !          2270:     ;; tex-complete|Sebastian Kremer|[email protected]
        !          2271:     ;; |Minibuffer name completion for editing [La]TeX.
        !          2272:     ;; |91-03-26|$Revision: 1.12 $|~/packages/tex-complete.el.Z
        !          2273:   
        !          2274:   Dave Brennan has software which automatically looks for data in this
        !          2275:   format.  The format is fairly flexible.  The entry ends when a line is
        !          2276:   reached with a different prefix or the seventh field terminator is
        !          2277:   seen.
        !          2278:   
        !          2279:   If you are submitting a multi-file submission you should include a file
        !          2280:   named "LCD-entry" which contains the archive entry, instead of placing
        !          2281:   it in one or more of the individual files.
        !          2282:   
        !          2283: 91:  Where can I get other up-to-date GNU stuff?
        !          2284:   
        !          2285:   The most up-to-date official GNU stuff is normally kept on prep.ai.mit.edu
        !          2286:   and is available for anonymous FTP in the pub/gnu directory.  See the
        !          2287:   files etc/DISTRIB and etc/FTP for more information.  (To get copies of
        !          2288:   these files, see question 20.)
        !          2289:   
        !          2290:   The following sites are all mirror images of the GNU distribution area:
        !          2291:   
        !          2292:     /prep.ai.mit.edu:pub/gnu/                                                +
        !          2293:     /ftp.uu.net:packages/gnu/                                                +
        !          2294:     /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM)                  +
        !          2295:     /ftp.win.tue.nl:pub/gnu/                                                 !
        !          2296:     /utsun.s.u-tokyo.ac.jp:ftpsync/prep/                                     +
        !          2297:     /nic.funet.fi:pub/gnu/                                                   +
        !          2298:   
        !          2299:   The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu,
        !          2300:   except that files larger than 1 megabyte {right?} are automatically
        !          2301:   split into multiple parts.  If you have trouble transferring large
        !          2302:   files, you should try here.  A file normally named `XXX' is split into
        !          2303:   files XXX-split/part[0-9][0-9], and there will be a file named
        !          2304:   XXX-split/README which contains the list of parts (especially helpful
        !          2305:   when FTP-ing by e-mail), their checksums, and reassembly instructions.
        !          2306:   Some of the other mirror sites may have the same property.  {Can someone
        !          2307:   check this out?  Thanks!}
        !          2308:   
        !          2309:   Information was provided by Lee McLoughlin <[email protected]>, Jonathan
        !          2310:   R. Ferro <[email protected]>, Arjan de Vet <[email protected]>, and      -
        !          2311:   Simon Marshall <[email protected]>.
        !          2312:   
        !          2313: 92:  Where can I get an Emacs with better mouse and X window support?
        !          2314:   
        !          2315:   Emacs 18 has some limited X Window System support, but there are
        !          2316:   problems.  Emacs 19 will have amazing mouse and window support.  Right
        !          2317:   now, there are Epoch which is derived from GNU Emacs 18.58 and Lucid GNU
        !          2318:   Emacs which is derived from an early unreleased version of GNU Emacs 19,
        !          2319:   both of which have greatly improved mouse and window support.  See
        !          2320:   questions 120 and 121.
        !          2321:   
        !          2322:   The HP unofficial GNU Emacs also has nice mouse support.  See question
        !          2323:   95.
        !          2324:   
        !          2325:   There are numerous Emacs Lisp packages that have been written to extend
        !          2326:   Emacs 18's mouse handling capabilities.  Some of these packages also have
        !          2327:   patches to the C code to provide enhanced capabilities.  Look up `mouse'
        !          2328:   in the Lisp Code Directory (see question 88).
        !          2329:   
        !          2330:   There is a package called BAM (Born Again Menus) which provides menus for  +
        !          2331:   GNU Emacs via an external C program.  It does not provide mouse support in +
        !          2332:   the Emacs window such as scrollbars, cut-and-paste, etc.                   +
        !          2333:   
        !          2334:   NOTE: Epoch only works with the X Window System; it works on ordinary
        !          2335:   terminals by invoking regular GNU Emacs.  Lucid Emacs does not currently
        !          2336:   work on ordinary terminals, although there are plans to fix this.
        !          2337:   
        !          2338: 93:  What is the difference between GNU Emacs and Epoch?
        !          2339:   
        !          2340:   Marc Andreessen <[email protected]> writes:
        !          2341:   
        !          2342:     Epoch is GNU Emacs on steroids: an adaptation of GNU Emacs with lots of
        !          2343:     additional support for features made possible by the X11 windowing
        !          2344:     system.  These features include multiple editing windows, arbitrary
        !          2345:     colors and fonts (fixed-width and proportional), selectable zones per
        !          2346:     buffer with arbitrary display styles (font, color, underline, stipple,
        !          2347:     pixmap), an optional separate minibuffer window, improved keyboard and
        !          2348:     mouse handling, full 8-bit character set support, and more.
        !          2349:   
        !          2350: 94:  What is the difference between GNU Emacs and Lucid GNU Emacs?
        !          2351:   
        !          2352:   This information is condensed from the release notice:
        !          2353:   
        !          2354:     Lucid GNU Emacs is based on an early version of GNU Emacs version 19
        !          2355:     with many enhancements.  It currently requires X Windows to run.  For
        !          2356:     information on where to get Lucid GNU Emacs see 121.  X Windows support
        !          2357:     is greatly enhanced over GNU Emacs version 18, including support for
        !          2358:     multiple X Windows (a.k.a. screens in Emacs), Zmacs/Lispm style region
        !          2359:     highlighting, a customizable, Motif-like menubar, more powerful keymap
        !          2360:     support (allowing different actions to be associated with Backspace,
        !          2361:     Control-h, etc.), flexible text attribute (e.g. font, color) support on
        !          2362:     regional and screen-local basis through X resources and/or lisp, and
        !          2363:     support for the X11 selection mechanism.  Some other features include
        !          2364:     run-time computation of the load-path, support for floating point
        !          2365:     numbers, native timer support, and sound file support on Sun
        !          2366:     SPARCstations.  To build Lucid GNU Emacs, an ANSI C compiler (e.g. gcc)
        !          2367:     is required.
        !          2368:   
        !          2369: 95:  Where can I get the "unofficial HP GNU Emacs"?
        !          2370:   
        !          2371:   The unofficial HP GNU Emacs is available via anonymous FTP:                !
        !          2372:                                                                              !
        !          2373:     /me10.lbl.gov:pub/interex/HUGE/                                          !
        !          2374:     /ee.utah.edu:HUGE/  (PLEASE FTP DURING NON-WORK HOURS!!!)                !
        !          2375:   
        !          2376:   and takes about 35 megabytes of disk space to build.  It is useful for
        !          2377:   non-HP machines, but some of the added features will only work under
        !          2378:   HP-UX.
        !          2379:   
        !          2380:   You will need to get patches to work with HP-UX 8.0 or on 700 series
        !          2381:   machines via e-mail from Darryl Okahata <[email protected]>.
        !          2382:   
        !          2383: 96:  Where can I get Emacs for my PC running MS-DOS?
        !          2384:   
        !          2385:   * Demacs
        !          2386:   
        !          2387:     For 386 or 486 PCs running MS-DOS, there is a version of GNU Emacs
        !          2388:     called Demacs.  To get Demacs see question 122.
        !          2389:   
        !          2390:     From the announcement message:
        !          2391:   
        !          2392:       Demacs is almost a full set of GNU Emacs but does not support some
        !          2393:       features: asynchronous process, locking a file, etc.
        !          2394:   
        !          2395:       Demacs provides following DOS specific features:
        !          2396:   
        !          2397:         * File type: text or binary file translation.
        !          2398:         * "8-bit clean" display mode.
        !          2399:         * 8086 software interrupt call by int86 lisp function.
        !          2400:         * Machine specific features such as function key support.
        !          2401:         * File name completion with drive name.
        !          2402:         * Child process (suspend-emacs, call-process).
        !          2403:         * Enhanced dired mode which can work without 'ls.exe'.
        !          2404:   
        !          2405:       To our regret `shell-mode' does not work, but `compile' command works
        !          2406:       properly.
        !          2407:   
        !          2408:     Demacs was developed using an MS-DOS version of gcc called djgpp by
        !          2409:     D. J. Delorie <[email protected]> which can compile and run large programs
        !          2410:     under MS-DOS, but not under MS Windows.  Demacs was derived from Nemacs
        !          2411:     rather than straight from GNU Emacs.
        !          2412:   
        !          2413:   There are a variety of other Emacses for MS-DOS including among them the
        !          2414:   following.
        !          2415:   
        !          2416:   * Freemacs
        !          2417:   
        !          2418:     Russ Nelson <[email protected]>, the author, describes
        !          2419:     Freemacs:
        !          2420:   
        !          2421:       * Freemacs is free, and it was designed from the start to be
        !          2422:         programmable.
        !          2423:       * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs.
        !          2424:       * Freemacs can only edit files less than 64K in length.
        !          2425:       * Freemacs doesn't have undo.
        !          2426:   
        !          2427:     Carl Witty <[email protected]> reviews Freemacs:
        !          2428:   
        !          2429:       Better is Freemacs, which follows the tradition of ITS and GNU Emacs
        !          2430:       by having an full, turing-complete extension language which is
        !          2431:       incompatible with everything else.  In fact, it's even closer to ITS
        !          2432:       Emacs than GNU Emacs is, because Mint (Freemacs' extension language)
        !          2433:       is absolutely illegible without weeks of study, much like TECO.
        !          2434:   
        !          2435:     To get Freemacs see question 123.
        !          2436:   
        !          2437:   * MicroEmacs
        !          2438:   
        !          2439:     MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}.
        !          2440:     It is programmable in a BASIC-like language.  Many of the keybindings
        !          2441:     are different from GNU Emacs.  It is rumored that MicroEmacs can not
        !          2442:     correctly edit files larger than memory.  The author is Daniel Lawrence
        !          2443:     <[email protected], [email protected], [email protected]>.  The
        !          2444:     latest version is 3.10 and it is available via anonymous FTP:            !
        !          2445:                                                                              !
        !          2446:       /midas.mgmt.purdue.edu:  (non-working hours only)                      !
        !          2447:       /durer.cme.nist.gov:                                                   !
        !          2448:       /wuarchive.wustl.edu:/mirrors/msdos/memacs/                            !
        !          2449:   
        !          2450:     Version 3.11 is in beta test.
        !          2451:   
        !          2452:   * JOVE
        !          2453:   
        !          2454:     Another Emacs for small machines is JOVE (Jonathan's Own Version of
        !          2455:     Emacs).  The latest official version is 4.14.  There appears to be a
        !          2456:     newer version.  People rumored to be working on JOVE include Mark Moraes
        !          2457:     <[email protected]> and Bill Marsh <[email protected]>.  It is
        !          2458:     available via anonymous FTP:                                             !
        !          2459:                                                                              !
        !          2460:       /cs.rochester.edu:/pub/jove.tar.4.14.Z                                 !
        !          2461:       /cs.toronto.edu:/pub/moraes/jove4.14.3.tar.Z                           !
        !          2462:       /ftp.uu.net:                                                           !
        !          2463:   
        !          2464:   * MG
        !          2465:   
        !          2466:     MG is another descendant of Microemacs.  MG used to stand for
        !          2467:     MicroGNUEmacs, but now just stands for MG.  The look-and-feel of MG is
        !          2468:     intended to be close to that of GNU Emacs.  It is rumored that MG can
        !          2469:     not correctly edit files larger than memory.  The current version is
        !          2470:     rumored to be 2.  There is a version 3 in beta which works on the Amiga.
        !          2471:     It is also available via anonymous FTP:                                  !
        !          2472:                                                                              !
        !          2473:       /ftp.white.toronto.edu:pub/mg/                                         !
        !          2474:       /wuarchive.wustl.edu:/mirrors/unix-c/editors/                          !
        !          2475:       /procyon.cis.ksu.edu:  (source and executable)                         !
        !          2476:   
        !          2477: 97:  Where can I get Emacs for my PC running Windows?
        !          2478:   
        !          2479:   I believe that no version of GNU Emacs runs under Windows.  Pierre Perret
        !          2480:   <[email protected]> has ported MicroEMACS 3.11c to Windows.
        !          2481:   
        !          2482:   Anonymous FTP:
        !          2483:     /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10.zip                       !
        !          2484:     /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10s.zip                      !
        !          2485:     /ftp.cica.indiana.edu:pub/pc/win3/util/mewri.zip                         !
        !          2486:   
        !          2487: 98:  Where can I get Emacs for my PC running OS/2?
        !          2488:   
        !          2489:   From the OS/2 Programmer's FAQ:                                            !
        !          2490:                                                                              !
        !          2491:     GNU Emacs 18.58 is available.  It requires you to have EMX installed     !
        !          2492:     on your machine, but it comes with all the EMX files you will need.      !
        !          2493:     Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs.  (If you want   !
        !          2494:     to recompile emacs, you will need the full EMX distribution see          !
        !          2495:     question 1.2.)                                                           !
        !          2496:                                                                              !
        !          2497:   The above quote may be out of date.  See the latest OS/2 Programmer's FAQ  !
        !          2498:   {perhaps in comp.os.os2.misc?} for the latest news.  Anonymous FTP info:   !
        !          2499:                                                                              !
        !          2500:     /ftp-os2.nmsu.edu:pub/os2/2.0/gnu/emacs/                                 !
        !          2501:       ("ftp-os2" was formerly named "hobbes")                                !
        !          2502:                                                                              !
        !          2503:   Thanks go to Stephen Simpson <[email protected]>, Jonathan      !
        !          2504:   Miller <[email protected]>, Terry Kane <[email protected]>, J. D.     !
        !          2505:   Baldwin <[email protected]>, and Ken Bass                    !
        !          2506:   <[email protected]>.                                                   !
        !          2507:   
        !          2508: 99:  Where can I get Emacs for my Atari ST?
        !          2509:   
        !          2510:   Emacs 18.57 is the latest version for TOS.  Stefan Mueller-Pfeiffer
        !          2511:   <[email protected]> says:
        !          2512:   
        !          2513:     There is also a version for MiNT, the multitasking enhancement for
        !          2514:     ATARI's TOS, which behaves almost like EMACS on a "real computer".  This
        !          2515:     port was done by Erling Henanger <[email protected]>.
        !          2516:   
        !          2517:   Anonymous FTP:
        !          2518:     /atari.archive.umich.edu:atari/gnustuff/tos/  (TOS Emacs 18.57)          +
        !          2519:     /atari.archive.umich.edu:atari/new/mntemacs.zoo  (MiNT Emacs)            +
        !          2520:     /cs.uni-sb.de:/pub/atari/emacs/                                          +
        !          2521:   
        !          2522: 100: Where can I get Emacs for my Amiga?
        !          2523:   
        !          2524:   All of the files are lharc-ed.
        !          2525:   
        !          2526:   Anonymous FTP:
        !          2527:     /oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/            !
        !          2528:   
        !          2529:   Via e-mail:
        !          2530:     To: [email protected]                                                 -
        !          2531:     body:
        !          2532:       mode uuencode
        !          2533:       send computer amiga software gnuemacs <file>
        !          2534:     <file> is replaced by one of the following:
        !          2535:       Required: d1.lzh d2.lzh
        !          2536:       Recommended: d3_info.lzh d3_infolisp.lzh
        !          2537:       Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh
        !          2538:         d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh
        !          2539:         d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh
        !          2540:         d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh
        !          2541:     The `d#' at the beginning of each file is its disk number, which is
        !          2542:     referred to by the documentation.
        !          2543:   
        !          2544: 101: Where can I get Emacs for my Apple computer?
        !          2545:   
        !          2546:   The FSF is a participant in a boycott of Apple because of Apple's "look
        !          2547:   and feel" copyright suits.  See the file etc/APPLE for more details.
        !          2548:   Because of this boycott, the FSF doesn't include support in GNU software
        !          2549:   for Apple computers such as the Macintosh.
        !          2550:   
        !          2551:   Please don't help people port or develop software for Apple computers.
        !          2552:   
        !          2553: 102: Where can I get Emacs with NeWS support?
        !          2554:   
        !          2555:   Chris Maio's NeWS support package for GNU Emacs is available via anonymous
        !          2556:   FTP:                                                                       !
        !          2557:                                                                              !
        !          2558:     /columbia.edu:pub/ps-emacs.tar.Z                                         !
        !          2559:     /archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z                 !
        !          2560:   
        !          2561:   and via e-mail:                                                            !
        !          2562:   
        !          2563:     To: [email protected]
        !          2564:     body: send NeWS emacs-support                                            !
        !          2565:   
        !          2566: 103: Where do I get Emacs that runs on VMS under DECwindows?
        !          2567:   
        !          2568:   Hal R. Brand <[email protected]> is said to have a VMS save set with a
        !          2569:   ready-to-run VMS version of Emacs 18.55 for X Windows.  It is available
        !          2570:   via anonymous FTP (addvax.llnl.gov).  It is possible that the VMS versions
        !          2571:   of Emacs at other sites have X support compiled in.  See etc/FTP for
        !          2572:   locations.
        !          2573:   
        !          2574:   Johan Vromans <[email protected]> writes:
        !          2575:   
        !          2576:     Getting Emacs to run on VMS with DECwindows requires a number of changes
        !          2577:     to the sources. Fortunately this has been done already.  Joshua Marantz
        !          2578:     <[email protected]> did most of the work for Emacs 18.52, and the mods
        !          2579:     were ported to 18.55 by Johan Vromans <[email protected]>. Also included is the
        !          2580:     handling of DEC's LK201 keyboard.  You need to apply the changes to a
        !          2581:     fresh Emacs 18.55 distribution on a Unix system, and then you can copy
        !          2582:     the sources to VMS to perform the compile/link/build.
        !          2583:   
        !          2584:     The set of changes have been posted a number of times three times the
        !          2585:     last 12 months, so they should be widely available.
        !          2586:   
        !          2587:   Richard Levitte <[email protected]> tells us that there are patches for     +
        !          2588:   Emacs 18.57 and 18.58 available via e-mail:                                +
        !          2589:                                                                              +
        !          2590:     To: [email protected]                                                  +
        !          2591:     body: SEND EMACS-1857-PATCHES                                            +
        !          2592:       or: SEND EMACS-1858-PATCHES                                            +
        !          2593:   
        !          2594: 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
        !          2595:  Objective C, Pascal, Awk?
        !          2596:   
        !          2597:   As usual, look in the Lisp Code Directory (see question 88).  For C++,
        !          2598:   if you use lisp-dir-apropos, you must specify the pattern like this:
        !          2599:   
        !          2600:     M-x lisp-dir-apropos RET c\+\+ RET
        !          2601:   
        !          2602: 105: What is the IP address of XXX.YYY.ZZZ?
        !          2603:   
        !          2604:   If you are at a site with a deficient nameserver, you may need to know
        !          2605:   the IP address of a host to FTP files from it.  You can get this
        !          2606:   information in two ways:                                                   -
        !          2607:   
        !          2608:   * By telnet:
        !          2609:   
        !          2610:       telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101')
        !          2611:       hname XXX.YYY.ZZZ                                                      -
        !          2612:   
        !          2613:   * By e-mail:
        !          2614:   
        !          2615:       To: [email protected]
        !          2616:       Subject: host XXX.YYY.ZZZ
        !          2617:            or: whois XXX.YYY.ZZZ
        !          2618:            or: help
        !          2619:   
        !          2620:     or:                                                                      +
        !          2621:                                                                              +
        !          2622:       To: [email protected]                                             +
        !          2623:       body: site XXX.YYY.ZZZ                                                 +
        !          2624:                                                                              +
        !          2625:     Information from Brendan Kehoe <[email protected]>.                 +
        !          2626:   
        !          2627: 
        !          2628: 
        !          2629: 
        !          2630: Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
        !          2631: 
        !          2632:   This section lists version numbers, FTP sites, mailing lists, newsgroups,
        !          2633:   and other information for many important packages, extensions, and related
        !          2634:   programs.  There is some overlap with the Lisp Code Directory, but these
        !          2635:   entries give more detailed information.
        !          2636:   
        !          2637:   If you know of any other packages that are so substantial that they
        !          2638:   deserve to be mentioned here, please tell me.  Having its own mailing list
        !          2639:   or newsgroup or more than half a megabyte of source code are good signs.
        !          2640:   
        !          2641: 106: VM (View Mail) -- another mail reader within Emacs
        !          2642:   
        !          2643:   Author: Kyle Jones <[email protected]>
        !          2644:   Latest released version: 4.41
        !          2645:   Beta test version: 5.32
        !          2646:   Anonymous FTP:
        !          2647:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z !
        !          2648:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/as-is/timer.shar.Z !
        !          2649:     /ftp.uu.net:mail/vm-4.41.tar.Z                                           !
        !          2650:     /ftp.uu.net:mail/vm-5.32beta.tar.Z                                       +
        !          2651:   Newsgroups and mailing lists:
        !          2652:     Info-VM:
        !          2653:       gnu.emacs.vm.info
        !          2654:       [email protected] (for subscriptions)
        !          2655:       [email protected] (for submissions)
        !          2656:     Bug-VM:
        !          2657:       gnu.emacs.vm.bug
        !          2658:       [email protected] (for subscriptions)
        !          2659:       [email protected] (for submissions)
        !          2660:   
        !          2661: 107: Supercite -- mail and news citation package within Emacs
        !          2662:   
        !          2663:   Author: Barry Warsaw <[email protected]>
        !          2664:   Mailing list: [email protected] (for subscriptions)
        !          2665:                 [email protected] (for submissions)
        !          2666:   Latest version: 2.2
        !          2667:   Anonymous FTP:
        !          2668:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc-2.2.tar.Z !
        !          2669:     /ftp.cme.nist.gov:pub/gnu/sc2.2.tar.Z                                    +
        !          2670:   Via e-mail:
        !          2671:     To: [email protected]
        !          2672:     Subject: help
        !          2673:   NOTE: Superyank is an old version of Supercite.
        !          2674:   
        !          2675: 108: GNUS -- news reader within Emacs
        !          2676:   
        !          2677:   Author: Masanobu Umeda <[email protected]>
        !          2678:   Latest official version: 3.13
        !          2679:   Unofficial test version: 3.14.1
        !          2680:   Anonymous FTP:
        !          2681:     /cs.umn.edu:pub/gnu/emacs/gnus-3.14.1.tar.Z.                             +
        !          2682:     /aun.uninett.no:pub/gnus-3.14.1.tar.Z                                    +
        !          2683:     /wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z                       +
        !          2684:     /liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z                         +
        !          2685:     /aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z                +
        !          2686:     /funet.fi:/networking/news/gnus-3.14.1.tar.Z                             +
        !          2687:     /src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z                  +
        !          2688:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-3.13.tar.Z !
        !          2689:   Newsgroups and mailing lists:
        !          2690:     English-only:    
        !          2691:       gnu.emacs.gnus
        !          2692:       [email protected] (for subscriptions)
        !          2693:       [email protected] (for submissions)
        !          2694:     Japanese (and some English):
        !          2695:       [email protected] (for subscriptions)
        !          2696:       [email protected] (for submissions)
        !          2697:   
        !          2698: 109: Calc -- poor man's Mathematica within Emacs
        !          2699:   
        !          2700:   Author: Dave Gillespie <[email protected]>
        !          2701:   Latest released version: 2.02
        !          2702:   Anonymous FTP:
        !          2703:     /csvax.cs.caltech.edu:pub/calc-2.02.tar.Z                                +
        !          2704:     /prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z                                 +
        !          2705:   NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone
        !          2706:     for having a program with a similar command language to Calc.  :-)
        !          2707:   
        !          2708: 110: Calendar/Diary -- calendar manager within Emacs
        !          2709:   
        !          2710:   Author: Edward M. Reingold <[email protected]>
        !          2711:   Latest version: 4.02
        !          2712:   Anonymous FTP:
        !          2713:     /emr.cs.uiuc.edu:pub/emacs/calendar {???}                                +
        !          2714:   Via e-mail:
        !          2715:     To: [email protected]
        !          2716:     Subject: send-emacs-cal
        !          2717:     Put your best internet e-mail address in the body.
        !          2718:   
        !          2719: 111: Ange-FTP -- transparent FTP access for Emacs's file access routines
        !          2720:   
        !          2721:   Author: Andy Norman <[email protected]>
        !          2722:   Latest official version: 4.20                                              !
        !          2723:   Anonymous FTP:
        !          2724:     /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z                            !
        !          2725:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z !
        !          2726:     ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z                           -
        !          2727:   Mailing lists:
        !          2728:     [email protected] (for subscriptions)
        !          2729:     Ange-FTP Lovers:
        !          2730:       [email protected] (for submissions)
        !          2731:       /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives)                   !
        !          2732:     Ange-FTP Announcements:
        !          2733:       [email protected]
        !          2734:   NOTE: now with support for accessing VMS, CMS, and MTS systems
        !          2735:   
        !          2736: 112: VIP -- vi emulation for Emacs
        !          2737:   
        !          2738:   Author: Aamod Sane <[email protected]>
        !          2739:   Latest released version: 4.3
        !          2740:   Anonymous FTP:
        !          2741:     /cs.uiuc.edu:pub/vip4.3.tar.Z                                            +
        !          2742:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z !
        !          2743:   NOTE: This version much more closely emulates vi than the one
        !          2744:     distributed with Emacs.
        !          2745:   
        !          2746: 113: Dired -- better directory editor for Emacs
        !          2747:   
        !          2748:   Author: Sebastian Kremer <[email protected]>
        !          2749:   Latest released version: 5.239
        !          2750:   Anonymous FTP: /ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z                +
        !          2751:                  /ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z              +
        !          2752:   NOTE: This is a huge improvement over the Dired distributed with Emacs.
        !          2753:     This version will be in Emacs 19.
        !          2754:   
        !          2755: 114: AUC TeX -- enhanced LaTeX mode with debugging facilities
        !          2756:   
        !          2757:   Author: Kresten Krab Thorup <[email protected]>
        !          2758:   Latest released version: 6.1 {???}                                         !
        !          2759:   Anonymous FTP:
        !          2760:     /iesd.auc.dk:pub/emacs-lisp/auctex_5_6e.tar.Z  {wrong}                   !
        !          2761:     /iesd.auc.dk:pub/emacs-lisp/auc-tex.tar.Z                                !
        !          2762:   Mailing list:
        !          2763:     [email protected] (for subscriptions)
        !          2764:     [email protected] (for submissions)
        !          2765:     [email protected] (auc-tex development team)
        !          2766:   
        !          2767: 115: Hyperbole -- extensible hypertext management system within Emacs
        !          2768:   
        !          2769:   Author: Bob Weiner <[email protected]>
        !          2770:   Anonymous FTP:
        !          2771:     /wilma.cs.brown.edu:pub/hyperbole/ h*.tar.Z                              +
        !          2772:   Mailing lists:
        !          2773:     hyperbole-announce -- Hyperbole release announcements only.
        !          2774:       Subscriptions:
        !          2775:         To: [email protected]
        !          2776:         Subject: Add <[email protected]> to hyperbole-announce
        !          2777:     hyperbole -- Hyperbole discussion.
        !          2778:       Subscriptions:
        !          2779:         To: [email protected]
        !          2780:         Subject: Add <[email protected]> to hyperbole
        !          2781:       Submissions:
        !          2782:         [email protected]
        !          2783:       NOTE: Any member of the hyperbole mailing list is automatically a
        !          2784:         member of the hyperbole-announce mailing list.
        !          2785:     NOTE: No .UUCP or ! addresses are allowed on these mailing lists.
        !          2786:   
        !          2787: 116: Byte Compiler -- enhanced version of Emacs's byte compiler
        !          2788:   
        !          2789:   Author: Jamie Zawinski <[email protected]>,
        !          2790:           Hallvard B. Furuseth <[email protected]>
        !          2791:   Anonymous FTP:
        !          2792:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bytecomp.tar.Z !
        !          2793:     /ftp.uu.net:languages/elisp/packages/bytecomp.tar.Z                      +
        !          2794:     /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/bytecomp.tar.Z    +
        !          2795:   
        !          2796: 117: comint -- hugely enhanced shell mode and other derived modes
        !          2797:   
        !          2798:   Author: Olin Shivers <[email protected]>
        !          2799:   Anonymous FTP:
        !          2800:     /cs.cmu.edu:/afs/cs.cmu.edu/user/shivers/lib/emacs/                      +
        !          2801:       {comint,cmu{tex,shell,scheme,lisp},ml}.el
        !          2802:       (anonymous password must contain `@',
        !          2803:        cannot cd to intermediate directories)
        !          2804:   
        !          2805: 118: BBDB -- personal info rolodex integrated with mail/news readers
        !          2806:   
        !          2807:   Author: Jamie Zawinski <[email protected]>
        !          2808:   Latest released version: 1.47                                              !
        !          2809:   Anonymous FTP:
        !          2810:     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb.tar.Z !
        !          2811:   Mailing list:
        !          2812:     [email protected] (for subscriptions)
        !          2813:     [email protected]                                                      -
        !          2814:     [email protected] (to be informed of new releases)
        !          2815:   Note: BBDB does not work with VM 4.  It does work with VM 5, RMAIL, GNUS,  !
        !          2816:     and MH-E.                                                                !
        !          2817:   
        !          2818: 119: Ispell -- spell checker in C with interface for Emacs
        !          2819:   
        !          2820:   Author: Geoff Kuenning <[email protected]>
        !          2821:   Latest released version: 2.0.02
        !          2822:   Beta test version: 3.0 (9 patches)
        !          2823:   Anonymous FTP:
        !          2824:     /archive.cis.ohio-state.edu:/pub/gnu/ispell/ (version 2.0.02)            !
        !          2825:     /ftp.cs.ucla.edu:/pub/ispell/ (version 3.0, patches, dictionaries)       !
        !          2826:     /argus.math.orst.edu:pub/ispell/ (version 3.0, patches, dictionaries)    !
        !          2827:     /ftp.th-darmstadt.de:pub/dicts/ispell/ (mirror of argus)                 !
        !          2828:   NOTE: Do not send mail to Geoff asking him to send you the latest
        !          2829:     version of Ispell.  He does not have free e-mail.
        !          2830:   
        !          2831: 120: Epoch -- enhanced GNU Emacs with better X interface
        !          2832:   
        !          2833:   Latest released version: 4.2                                               !
        !          2834:   Anonymous FTP:
        !          2835:     /cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.2.tar.Z                       !
        !          2836:     /cs.uiuc.edu:pub/epoch-files/epoch/epoch-diff-4.1-4.2.tar.Z              +
        !          2837:     /src.doc.ic.ac.uk:gnu/epoch/                                             +
        !          2838:     /aix370.rrz.uni-koeln.de:gnu/emacs/epoch/                                +
        !          2839:   Newsgroup and mailing lists:
        !          2840:     Epoch:
        !          2841:       gnu.emacs.epoch
        !          2842:       [email protected] (for subscriptions)
        !          2843:       [email protected] (for submissions)
        !          2844:     Epoch-Design:
        !          2845:       [email protected] (for subscriptions)
        !          2846:       [email protected] (for submissions)
        !          2847:   FAQ list:
        !          2848:     Maintainer: Marc Andreessen <[email protected]>
        !          2849:     Anonymous FTP:
        !          2850:       /rtfm.mit.edu:pub/usenet/news.answers/epoch-faq                        +
        !          2851:       /ftp.ncsa.uiuc.edu:outgoing/marca/epoch/Epoch.FAQ                      +
        !          2852:   
        !          2853: 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
        !          2854:   
        !          2855:   Primary Maintainer: Jamie Zawinski <[email protected]>                         +
        !          2856:   Other Developers: Eric Benson <[email protected]>                               !
        !          2857:                     Matthieu Devin <[email protected]>                         !
        !          2858:                     Harlan Sexton <[email protected]>                            !
        !          2859:   Latest released version: 19.3                                              !
        !          2860:   Anonymous FTP:
        !          2861:     /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3.tar.Z  (source)           !
        !          2862:     /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3-sun4.tar.Z (Sun4binaries) !
        !          2863:   Newsgroup and mailing lists:
        !          2864:     Bugs:
        !          2865:       [email protected] (for subscriptions)
        !          2866:       [email protected] (for submissions)
        !          2867:     Help:
        !          2868:       [email protected] (for subscriptions)
        !          2869:       [email protected] (for submissions)
        !          2870:   
        !          2871: 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
        !          2872:   
        !          2873:   Authors: Manabu Higashida <[email protected]>
        !          2874:            HIRANO Satoshi <[email protected]>
        !          2875:   Latest released version: 1.2.0
        !          2876:   Anonymous FTP:
        !          2877:     /utsun.s.u-tokyo.ac.jp:GNU/demacs/ (nearest to U.S.A.)                   !
        !          2878:     /ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/                             +
        !          2879:     /wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/                                   !
        !          2880:     /ftp.3com.com:pub/gnu/msdos/demacs/                                      !
        !          2881:     /mindseye.berkeley.edu:pub/kanji/demacs/                                 !
        !          2882:     /ftp.hawaii.edu:pub/editors/demacs.tar.Z                                 !
        !          2883:     /ftp.math.ksu.edu:pub/pc/demacs/                                         +
        !          2884:     /wsmr-simtel20.army.mil:pd1:<msdos.demacs> {ange-ftp syntax?}            !
        !          2885:     /ftp.uni-koeln.de:msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc) !
        !          2886:       (PLEASE USE ONLY OUTSIDE WORKING HOURS!)                               +
        !          2887:     /ftp.uni-koeln.de:msdos/gnuprogs/dem120s.zip (sources, diffs)            +
        !          2888:       (PLEASE USE ONLY OUTSIDE WORKING HOURS!)                               +
        !          2889:     /ftp.lysator.liu.se:pub/msdos/gnu/emacs/                                 +
        !          2890:     /mizar.docs.uu.se:pub/gnu/demacs/                                        !
        !          2891:     /iamsun.unibe.ch:PC/demacs/                                              !
        !          2892:     /flop.informatik.tu-muenchen.de:outgoing/demacs.tar                      !
        !          2893:     /ftp.funet.fi:pub/gnu/emacs/demacs/                                      +
        !          2894:     /garbo.uwasa.fi:pc/editor/dem120e.zip                                    !
        !          2895:     /garbo.uwasa.fi:pc/editor/dem120s.zip                                    !
        !          2896:     /ftp.win.tue.nl:pub/gnu/demacs/                                          !
        !          2897:     /ugle.unit.no:pub/gnu/Demacs/                                            !
        !          2898:     {Does anyone know which sites have the Kanji version?}
        !          2899:   Via e-mail:
        !          2900:     From garbo.uwasa.fi:
        !          2901:       To: [email protected]
        !          2902:       Subject: garbo-request
        !          2903:       Body: send pc/editor/dem120e.zip
        !          2904:             send pc/editor/dem120s.zip
        !          2905:             quit
        !          2906:   Downloading:
        !          2907:     EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps)
        !          2908:       in the Mahoney MS-DOS file area in its Editors/wordprocessors
        !          2909:       library (F), named GNUEMACS.ZIP
        !          2910:     Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps)
        !          2911:       in the New Uploads file area, named GNUEMACS.ZIP
        !          2912:   NOTE: Use the -d option of [pk]unzip for all .zip archives.  Some sites
        !          2913:     have Demacs lharc'ed.  If you need to find programs to unpack lharc and  -
        !          2914:     zip format archives, Chris Dean <[email protected]> points out that you
        !          2915:     should see the comp.compression FAQ, available for FTP:                  !
        !          2916:        /rtfm.mit.edu:pub/usenet/comp.compression/                            !
        !          2917:   Mailing list:
        !          2918:     NOTE: There is no mailing list for Demacs.  However, there is a list
        !          2919:       for DJGPP, which is the environment that Demacs runs in.  Many
        !          2920:       Demacs problems are actually issues with DJGPP.
        !          2921:     DJGPP:
        !          2922:       Subscriptions:
        !          2923:         To: [email protected]
        !          2924:         body: add <your-address> djgpp
        !          2925:         or put `help' in the body.
        !          2926:         If this fails, mail to [email protected].
        !          2927:       Submissions:
        !          2928:         [email protected]
        !          2929:   FAQ list:
        !          2930:     Maintainer: Dave Steibel <[email protected]>
        !          2931:     Anonymous FTP: algol.cs.umbc.edu:pub/demacs/demacs.faq
        !          2932:   
        !          2933: 123: Freemacs -- a small Emacs for MS-DOS
        !          2934:   
        !          2935:   Author: Russ Nelson <[email protected]>
        !          2936:   Latest released version: 1.6a
        !          2937:   Anonymous FTP:
        !          2938:     /simtel20.army.mil:PD:<MSDOS.FREEMACS> {ange-ftp syntax?}                !
        !          2939:     /grape.ecs.clarkson.edu:pub/msdos/freemacs/                              !
        !          2940:   Via e-mail:
        !          2941:     To: [email protected]
        !          2942:     body: help
        !          2943:   Via snail mail:
        !          2944:     address: Russell Nelson, 11 Grant St., Potsdam, NY 13676
        !          2945:     Send $15 copying fee, and specify preferred floppy disk format:
        !          2946:       5.25", 360K, or 3.50", 720K
        !          2947:   Mailing lists: 
        !          2948:     Subscriptions:
        !          2949:       To: [email protected]
        !          2950:       body: add <your-address> <name-of-list>
        !          2951:       or put `help' in the body.
        !          2952:     List distribution addresses:
        !          2953:       [email protected]
        !          2954:       [email protected]
        !          2955:       [email protected] (send bug reports here)
        !          2956:   
        !          2957: 124: Patch -- program to apply "diffs" for updating files
        !          2958:   
        !          2959:   Author: Larry Wall <[email protected]>
        !          2960:   Latest version: 2.0 patchlevel 12u8                                        !
        !          2961:     (This is the version that supports the new unified diff format.)
        !          2962:   Anonymous FTP:
        !          2963:     /prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.Z                            !
        !          2964:     /prep.ai.mit.edu:pub/gnu/patch-2.0.12g8.tar.Z  (GNU version)             +
        !          2965: 
        !          2966:                     GNU Emacs FAQ: Keybindings/Output
        !          2967: 
        !          2968: If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
        !          2969: get an overview of just the questions.  Then, when you want to look at the text
        !          2970: of the answers, just type "C-x $".
        !          2971: 
        !          2972: To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
        !          2973: that doesn't work, then type ESC to end the search.
        !          2974: 
        !          2975: A `+' in the 78th column means something was inserted on the line.  A `-' means
        !          2976: something was deleted and a `!' means some combination of insertions and
        !          2977: deletions occurred.
        !          2978: 
        !          2979: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !          2980: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !          2981: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !          2982: WAIS, or Prospero to rtfm.mit.edu.
        !          2983: 
        !          2984: 
        !          2985: 
        !          2986: Changing Key Bindings and Handling Key Binding Problems
        !          2987: 
        !          2988: 125: How do I bind keys (including function keys) to commands?
        !          2989:   
        !          2990:   1. Find out what character sequence is generated by the keystroke sequence
        !          2991:      you wish to bind to a command.  See question 129 for how to do this.
        !          2992:      Keep in mind that the character sequences generated by a keystroke
        !          2993:      sequence varies from one terminal to another.  You may also get
        !          2994:      different results depending on what type of machine you are running on
        !          2995:      (see question 128).  For example, these keystrokes may generate these
        !          2996:      character sequences:
        !          2997:   
        !          2998:        F1        ---> ESC [ 2 2 4 z
        !          2999:        Shift-R10 ---> ESC O t
        !          3000:        L7        ---> ESC [ 3 1 ~
        !          3001:        Remove    ---> C-@
        !          3002:   
        !          3003:   2. Figure out what the Emacs Lisp syntax is for this character sequence.
        !          3004:      Inside an Emacs Lisp string, RET, LFD, DEL, ESC, SPC, and TAB are
        !          3005:      specified with `\r', `\n', `\C-?', `\e', ` ', and `\t'.  C-x is
        !          3006:      specified by `\C-x'.  M-x is specified the same was as "ESC x".
        !          3007:      (Control characters may also be specified as themselves, but I don't
        !          3008:      recommend it.)  An Emacs Lisp string begins and ends with the double
        !          3009:      quote character, `"'.  Here are some examples:
        !          3010:   
        !          3011:        ESC [ D       ---> "\e[D"
        !          3012:        ESC [ 2 2 7 z ---> "\e[227z"
        !          3013:        ESC [ 1 8 ~   ---> "\e[18~"
        !          3014:        C-M-r         ---> "\e\C-r"
        !          3015:   
        !          3016:   3. If some prefix of the character sequence is already bound, you must
        !          3017:      unbind it by binding it to `nil'.  For example:
        !          3018:   
        !          3019:        (global-set-key "\e[" nil)
        !          3020:   
        !          3021:   4. Pick a command to bind your key sequence to.  A command can be a
        !          3022:      "symbol" with a function definition, or a "lambda list", or a string
        !          3023:      (which is treated as a macro).  For example:
        !          3024:   
        !          3025:        (global-set-key "\e[D" 'backward-char)
        !          3026:        (global-set-key "\e[227~" "\exgoto-line\r") ; macro
        !          3027:   
        !          3028:   See `Key Bindings' and `Rebinding' in the online manual.
        !          3029:   
        !          3030:   In Emacs 19 (including Lucid Emacs), you can bind function key F24 like    +
        !          3031:   this:                                                                      +
        !          3032:                                                                              +
        !          3033:     (global-set-key 'f24 'some-command)                                      +
        !          3034:   
        !          3035: 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
        !          3036:   
        !          3037:   A prefix of the character sequence you were trying to bind was already
        !          3038:   bound.  Usually, the sequence is "ESC [", in which case you should
        !          3039:   evaluate this form first:
        !          3040:   
        !          3041:     (define-key esc-map "[" nil)
        !          3042:   
        !          3043:   NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do
        !          3044:   this you will lose this key binding.  For most people, this is not a
        !          3045:   problem.
        !          3046:   
        !          3047:   See question 125.
        !          3048:   
        !          3049: 127: Why doesn't this [terminal or window-system setup] code work in my
        !          3050:  .emacs file, but it works just fine after Emacs starts up?
        !          3051:   
        !          3052:   This is because you're trying to do something in your .emacs file that
        !          3053:   needs to be postponed until after the terminal/window-system setup code
        !          3054:   is loaded.  This is a result of the order in which things are done
        !          3055:   during the startup of Emacs.  For more details see question 135.
        !          3056:   
        !          3057:   In order to postpone the execution of Emacs Lisp code until after the
        !          3058:   terminal/window-system setup, set the value of the variable
        !          3059:   term-setup-hook or window-setup-hook to be a function which does what
        !          3060:   you want.
        !          3061:   
        !          3062:   See etc/OPTIONS for a complete explanation of what Emacs does every time
        !          3063:   it is started.
        !          3064:   
        !          3065:   Here is a simple example of how to set term-setup-hook:
        !          3066:   
        !          3067:     (setq term-setup-hook
        !          3068:          (function
        !          3069:           (lambda ()
        !          3070:             (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
        !          3071:                    ;; Make vt220's "Do" key behave like M-x:
        !          3072:                    (define-key CSI-map "29~" 'execute-extended-command))
        !          3073:                   ))))
        !          3074:   
        !          3075: 128: How do I use function keys under X Windows?
        !          3076:   
        !          3077:   This depends on whether you are running Emacs inside a terminal emulator
        !          3078:   window, or whether you are allowing Emacs to create its own X window.
        !          3079:   You can tell which you are doing by noticing whether Emacs creates a new
        !          3080:   window when you start it.
        !          3081:   
        !          3082:   If you are running Emacs inside a terminal emulator window, then it
        !          3083:   behaves exactly as it does on any other tty.  In this case, for function
        !          3084:   keys to be useful, they must generate character sequences that are sent
        !          3085:   to the programs running inside the window as input.  The `xterm' program
        !          3086:   has two different sets of character sequences that it generates when
        !          3087:   function keys are pressed, depending on the sunFunctionKeys X resource
        !          3088:   and the -sf and +sf command line options.  (To find out what these key
        !          3089:   sequences are, see question 129.)  In addition, with xterm,
        !          3090:   you can override what key sequence a specific function key (or any other
        !          3091:   key) will generate with the `translations' resource.  This, for example:
        !          3092:   
        !          3093:     XTerm.VT100.Translations: #override \
        !          3094:       <KeyPress>F1: string(0x1b) string("[xyzzy")
        !          3095:   
        !          3096:   makes the function key F1 generate the character sequence "ESC [xyzzy".
        !          3097:   
        !          3098:   On the other hand, if Emacs is managing its own X window, the following
        !          3099:   description applies.  Emacs receives `KeyPress' events from the X server
        !          3100:   when a key is pressed while the keyboard focus is in its window.  The
        !          3101:   KeyPress event contains an X "keysym" code, which is simply an arbitrary
        !          3102:   number corresponding to the name of the keysym, and information on which
        !          3103:   "modifiers" such as `control' and `shift' are active.  For example, the
        !          3104:   `Tab' keysym is 0xff09.  (Generally, a key on the keyboard will generate a
        !          3105:   keysym whose name is the same as the label on the key, ie. the `Tab' key
        !          3106:   will normally generate the `Tab' keysym.  This can be changed with the
        !          3107:   xmodmap program.)  Emacs recognizes all the keysyms that correspond to
        !          3108:   standard ASCII characters and internally uses the ASCII character instead.
        !          3109:   
        !          3110:   (WARNING: I am about to describe a gross, disgusting hack to you, have
        !          3111:   your barf bag ready.)
        !          3112:   
        !          3113:   When Emacs receives the X keysym of one of the arrow keys, it behaves
        !          3114:   the same as if it had received a letter key with the control modifier
        !          3115:   down as follows (this is hard-coded):
        !          3116:   
        !          3117:     Up    becomes C-p
        !          3118:     Down  becomes C-n
        !          3119:     Right becomes C-f
        !          3120:     Left  becomes C-b
        !          3121:   
        !          3122:   The way Emacs treats other keysyms depends on what kind of machine it was
        !          3123:   compiled on.  The type of the display machine is irrelevant!  Function
        !          3124:   keys are mapped internally to escape sequences, while other keys are
        !          3125:   completely ignored.
        !          3126:   
        !          3127:   1. If compiled on a Sun, Emacs recognizes these X keysyms that
        !          3128:      are normally on a Sun keyboard:
        !          3129:   
        !          3130:        F1 through F9
        !          3131:        L1 through L10 (same as F11 through F20)
        !          3132:        R1 through R15 (same as F21 through F35)
        !          3133:         (The keys labelled R8, R10, R12, and R14 usually are mapped to the
        !          3134:          X keysyms Up, Left, Right, and Down.)
        !          3135:        Break (the `Alternate' key is given this keysym)
        !          3136:   
        !          3137:      These keys work like Sun function keys.  When Emacs recieves the
        !          3138:      keysym, it will internally use character sequences that look like "ESC
        !          3139:      [ ### z", where ### is replaced by a number.  The character sequences
        !          3140:      are identical to those generated by Sun's keyboard under SunView.  Any
        !          3141:      function key not listed above generates "ESC [ - 1 z".
        !          3142:   
        !          3143:      In order to use these key sequences, they should be bound to commands
        !          3144:      using the standard key binding methods, just as if Emacs were running
        !          3145:      on a regular terminal.
        !          3146:   
        !          3147:      WARNING: F11 and L1 are the same keysym in X, as are F12 and L2, etc.
        !          3148:      {Yes, this is stupid.  Complain to the X consortium.}
        !          3149:   
        !          3150:   2. If not compiled on a Sun, the function keys will appear to Emacs in a
        !          3151:      way remarkably similar to the keys of a DEC LK201 keyboard (used on
        !          3152:      some VT series terminals).  These X keysyms will be recognized:
        !          3153:   
        !          3154:        F1 through F20
        !          3155:        Help (treated same as F15)
        !          3156:        Menu (treated same as F16, is the LK201 `Do' key)
        !          3157:        Find
        !          3158:        Insert (LK201 `Insert Here' key)
        !          3159:        Select
        !          3160:        Prior (LK201 `Prev Screen' key *** ONLY IN 18.58 AND LATER ***)
        !          3161:        Next (LK201 `Next Screen' key *** ONLY IN 18.58 AND LATER ***)
        !          3162:   
        !          3163:      And finally, the LK201 key labelled `Remove' (or `Delete') is often
        !          3164:      mapped to the Delete keysym which generates the DEL character (C-?)
        !          3165:      instead of the key sequence given by the LK201 `Remove' key.  It may
        !          3166:      also be mapped to some other keysym, such as `_Remove', in which case
        !          3167:      you can't use it from within Emacs at all.
        !          3168:   
        !          3169:      Each function key will be internally converted to a character sequence
        !          3170:      that looks like "ESC [ ## ~", where ## is replaced by a number.  The
        !          3171:      character sequences are identical to those generated by a LK201
        !          3172:      keyboard.  Any function key not listed above generates "ESC [ - 1 ~".
        !          3173:   
        !          3174:   For the complete list of the numbers which are generated by the function
        !          3175:   keys, look in the file src/x11term.c at the definitions of the function
        !          3176:   stringFuncVal.
        !          3177:   
        !          3178:   If you are running Emacs on a Sun machine, even if your X display is
        !          3179:   running on a non-Sun machine (eg., an X terminal), you get the setup
        !          3180:   described above for Suns.  The determining factor is what type of
        !          3181:   machine Emacs is running (was compiled) on, not what type of machine
        !          3182:   your X display is on.
        !          3183:   
        !          3184:   If you have function keys not listed above on your keyboard, you can use
        !          3185:   `xmodmap' to change their keysym assignments to get keys that Emacs will
        !          3186:   recognize, but that may screw up other programs.
        !          3187:   
        !          3188:   X resources are not used by Emacs to affect the key sequences generated.
        !          3189:   In particular, there are no X key "translations" for Emacs.
        !          3190:   
        !          3191:   If you have function keys not listed above and you don't want to use
        !          3192:   xmodmap to change their names, you might want to make a modification to
        !          3193:   your Emacs.  Johan Vromans <[email protected]> has made available a patch for Emacs
        !          3194:   that adds the x-rebind-key function of Epoch to Emacs 18.58.  This allows
        !          3195:   another layer of key rebinding before Emacs even sees the keys, and in
        !          3196:   this layer you can rebind all of the keys and modifier combinations as
        !          3197:   well.
        !          3198:   
        !          3199:   Anonymous FTP:
        !          3200:     /ftp.eu.net:gnu/emacs/FP-Xfun.Z                                          +
        !          3201:     /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun                                    +
        !          3202:   
        !          3203:   Johan Vromans explains what this buys for you:
        !          3204:   
        !          3205:     After implementing this, all keyboard keys can be configured to send
        !          3206:     user definable sequences, eg.,
        !          3207:   
        !          3208:       (x-rebind-key "KP_F1" 0 "\033OP")
        !          3209:   
        !          3210:     This will have the keypad key PF1 send the sequence "ESC O P", just like
        !          3211:     an ordinary VT series terminal.
        !          3212:   
        !          3213: 129: How do I tell what characters my function or arrow keys emit?
        !          3214:   
        !          3215:   Use this function by Randal L. Schwartz <[email protected]>:
        !          3216:   
        !          3217:     (defun see-chars ()
        !          3218:       "Displays characters typed, terminated by a 3-second timeout."
        !          3219:       (interactive)
        !          3220:       (let ((chars "")
        !          3221:            (inhibit-quit t))
        !          3222:        (message "Enter characters, terminated by 3-second timeout.")
        !          3223:        (while (not (sit-for 3))
        !          3224:          (setq chars (concat chars (list (read-char)))
        !          3225:                quit-flag nil))         ; quit-flag maybe set by C-g
        !          3226:        (message "Characters entered: %s" (key-description chars))))
        !          3227:   
        !          3228:   Alternatively, use the "C-h l" view-lossage command, which will display
        !          3229:   the last 100 characters Emacs has seen in its input stream.  Kevin
        !          3230:   Gallagher <[email protected]> suggests typing some unique string
        !          3231:   like "wxyz", typing the key in question, then typing "C-h l".  The
        !          3232:   characters that appear between "wxyz" and "C-h l" were generated by the
        !          3233:   key.
        !          3234:   
        !          3235: 130: How do I set the X key "translations" for Emacs?
        !          3236:   
        !          3237:   Sorry, you can't; there are no "translations" to be set.  Emacs is not
        !          3238:   written using the Xt library.  The only way to affect the behavior of keys
        !          3239:   within Emacs is through `xmodmap' (outside Emacs) or `define-key' (inside
        !          3240:   Emacs).
        !          3241:   
        !          3242: 131: How do I handle C-s and C-q being used for flow control?
        !          3243:   
        !          3244:   C-s and C-q are used in the XON/XOFF flow control protocol.  This screws
        !          3245:   up Emacs because it binds these characters to commands.  Also, by default
        !          3246:   Emacs will not honor them as flow control characters and may overwhelm
        !          3247:   output buffers.  Sometimes, intermediate software using XON/XOFF flow
        !          3248:   control will prevent Emacs from ever seeing C-s and C-q.
        !          3249:   
        !          3250:   Possible solutions:
        !          3251:   
        !          3252:   * Disable the use of C-s and C-q for flow control.
        !          3253:   
        !          3254:     You need to determine what is the cause of the flow control.
        !          3255:   
        !          3256:     * your terminal
        !          3257:   
        !          3258:       Your terminal may use XON/XOFF flow control to have time to display
        !          3259:       all the characters it receives.  For example, VT series terminals do
        !          3260:       this.  It may be possible to turn this off from a setup menu.  For
        !          3261:       example, on a VT220 you may select `No XOFF' in the setup menu.  This
        !          3262:       is also true for some terminal emulation programs on PCs.
        !          3263:   
        !          3264:       When you turn off flow control at the terminal, you will also need to
        !          3265:       turn it off at the other end, which might be at the computer you are
        !          3266:       logged in to or at some terminal server in between.
        !          3267:   
        !          3268:       If you turn off flow control, characters may be lost; using a printer
        !          3269:       connected to the terminal may fail.  You may be able to get around
        !          3270:       this problem by modifying the `termcap' entry for your terminal to
        !          3271:       include extra NUL padding characters. 
        !          3272:   
        !          3273:     * a modem
        !          3274:   
        !          3275:       If you are using a dialup connection, the modems may be using XON/XOFF
        !          3276:       flow control.  I don't know how to get around this.
        !          3277:   
        !          3278:     * a router or terminal server
        !          3279:   
        !          3280:       Some network box between the terminal and your computer may be using
        !          3281:       XON/XOFF flow control.  It may be possible to make it use some other
        !          3282:       kind of flow control.  You will probably have to ask your local
        !          3283:       network experts for help with this.
        !          3284:   
        !          3285:     * tty and/or pty devices
        !          3286:   
        !          3287:       If your connection to Emacs goes through multiple tty and/or pty
        !          3288:       devices, they may be using XON/XOFF flow control even when it is not
        !          3289:       necessary.
        !          3290:   
        !          3291:       Eirik Fuller <[email protected]> writes:
        !          3292:   
        !          3293:         Some versions of `rlogin' (and possibly telnet) do not pass flow
        !          3294:         control characters to the remote system to which they connect.  On
        !          3295:         such systems, Emacs on the remote system cannot disable flow control
        !          3296:         on the local system.  Sometimes `rlogin -8' will avoid this problem.
        !          3297:   
        !          3298:         One way to cure this is to disable flow control on the local host
        !          3299:         (the one running rlogin, not the one running rlogind) using the stty
        !          3300:         command, before starting the rlogin process.  On many systems, `stty
        !          3301:         start u stop u' will do this.
        !          3302:   
        !          3303:         Some versions of `tcsh' will prevent even this from working.  One
        !          3304:         way around this is to start another shell before starting rlogin,
        !          3305:         and issue the stty command to disable flow control from that shell.
        !          3306:   
        !          3307:       Use `stty -ixon' instead of `stty start u stop u' on some systems.
        !          3308:   
        !          3309:   * Make Emacs speak the XON/XOFF flow control protocol.
        !          3310:   
        !          3311:     You can make Emacs treat C-s and C-q as flow control characters by
        !          3312:     evaluating this form:
        !          3313:   
        !          3314:       (set-input-mode nil t)
        !          3315:   
        !          3316:     If you are fixing this for yourself, simply put the form in your .emacs
        !          3317:     file.  If you are fixing this for your entire site, the best place to
        !          3318:     put it is unclear.  I don't know if this has any effect when used in
        !          3319:     lisp/site-init.el when building Emacs; I've never tried that.  {Can
        !          3320:     someone tell me whether it works?}  Putting things in users' .emacs files
        !          3321:     has a number of problems.
        !          3322:   
        !          3323:     Putting this form in lisp/default.el has the problem that if the user's
        !          3324:     .emacs file has an error, this will prevent lisp/default.el from being
        !          3325:     loaded and Emacs may be unusable for the user, even for correcting their
        !          3326:     .emacs file (unless they're smart enough to move it to another name).  A
        !          3327:     possible solution is to initially disable C-s and C-q by setting
        !          3328:     keyboard-translate-table in lisp/site-init.el, either with swap-keys
        !          3329:     (see question 136) or with the following form:
        !          3330:   
        !          3331:       ;; by Roger Crew <[email protected]>:
        !          3332:       (setq keyboard-translate-table
        !          3333:             "\C-@\C-a\C-b\C-c\C-d\C-e\C-f\C-g\C-h\C-i\C-j\C-k\C-l\C-m\C-n\C-o\C-p\C-^\C-r\C-\\\C-t\C-u\C-v\C-w\C-x\C-y\C-z\C-[\C-s\C-]\C-q\C-_")
        !          3334:   
        !          3335:     This will at least prevent Emacs from being confused by the flow control
        !          3336:     characters, even if lisp/default.el cannot be loaded.  Then, in
        !          3337:     lisp/default.el, enable XON/XOFF flow control with set-input-mode.
        !          3338:   
        !          3339:   For further discussion of this issue, read the file PROBLEMS in the
        !          3340:   Emacs distribution.
        !          3341:   
        !          3342: 132: How do I use commands bound to C-s and C-q (or any key) if these keys
        !          3343:  are filtered out?
        !          3344:   
        !          3345:   I suggest swapping C-s with C-\ and C-q with C-^:
        !          3346:   
        !          3347:     (swap-keys ?\C-s ?\C-\\)
        !          3348:     (swap-keys ?\C-q ?\C-^)
        !          3349:   
        !          3350:   See question 136 for the implementation of swap-keys.  This method
        !          3351:   has the advantage that it simultaneously swaps the characters everywhere
        !          3352:   throughout Emacs, while just switching the keybindings will miss important
        !          3353:   places where the character codes are stored (eg., the search-repeat-char
        !          3354:   variable, major mode keymaps, etc.).
        !          3355:   
        !          3356:   To do this for an entire site, you may want to swap the keys in
        !          3357:   lisp/default.el.  If only some of your users are connecting through
        !          3358:   XON/XOFF flow-controlled connections, you will want to do this
        !          3359:   conditionally.  I suggest pre-swapping them in lisp/site-init.el when
        !          3360:   Emacs is built, and then in lisp/default.el, if it is determined to be
        !          3361:   safe, they can be reenabled (being careful not to screw up any other key
        !          3362:   mappings users might have established using keyboard-translate-table).
        !          3363:   See question 131 for an easy way to pre-swap these keys.
        !          3364:   
        !          3365:   WARNING: If you do this for an entire site, the users will be confused by
        !          3366:   the disparity between what the documentation says and how Emacs actually
        !          3367:   behaves.
        !          3368:   
        !          3369: 133: Why does the `BackSpace' key invoke help?
        !          3370:   
        !          3371:   The BackSpace key (on every keyboard I've used) generates ASCII code 8.
        !          3372:   C-h sends the same code.  In Emacs by default C-h invokes help-command.
        !          3373:   This is intended to be easy to remember since the first letter of "help"
        !          3374:   is "h".  The easiest solution to this problem is to use C-h (and
        !          3375:   BackSpace) for help and DEL (the Delete key) for deleting the previous
        !          3376:   character.
        !          3377:   
        !          3378:   For many people this solution may be problematic:
        !          3379:   
        !          3380:   * They normally use BackSpace outside of Emacs for deleting the previous
        !          3381:     character typed.  This can be solved by making DEL be the command for
        !          3382:     deleting the previous character outside of Emacs.  This command will do
        !          3383:     this on many Unix systems:
        !          3384:   
        !          3385:       stty erase '^?'
        !          3386:   
        !          3387:   * The person may prefer using the BackSpace key for deleting the previous
        !          3388:     character because it is more conveniently located on their keyboard or
        !          3389:     because they don't even have a separate Delete key.  In this case, the
        !          3390:     BackSpace key should be made to behave like Delete.  There are several
        !          3391:     methods.
        !          3392:   
        !          3393:     * Under X Windows, the easiest solution is to change the BackSpace key
        !          3394:       into a Delete key like this:
        !          3395:   
        !          3396:         xmodmap -e "keysym BackSpace = Delete"
        !          3397:   
        !          3398:     * Some terminals (eg., VT3## terminals) allow the character generated by
        !          3399:       the BackSpace key to be changed from a setup menu.
        !          3400:   
        !          3401:     * You may be able to get a keyboard that is completely programmable.
        !          3402:   
        !          3403:     * Under X or on a dumb terminal, it is possible to swap the BackSpace
        !          3404:       and Delete keys inside Emacs:
        !          3405:   
        !          3406:         (swap-keys ?\C-h ?\C-?)
        !          3407:   
        !          3408:       See question 136 for the implementation of swap-keys.
        !          3409:   
        !          3410:     * Another approach is to switch keybindings and put help on "C-x h"
        !          3411:       instead:
        !          3412:   
        !          3413:         (global-set-key "\C-h" 'delete-backward-char)
        !          3414:         (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer
        !          3415:   
        !          3416:       Other popular key bindings for help are M-? and "C-x ?".
        !          3417:   
        !          3418:       WARNING: Don't try to bind DEL to help-command, because there are many
        !          3419:       modes that have local bindings of DEL that will interfere.             -
        !          3420:   
        !          3421: 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
        !          3422:   
        !          3423:   Good question!
        !          3424:   
        !          3425: 135: Why don't the arrow keys work?
        !          3426:   
        !          3427:   When Emacs starts up, it doesn't know anything about arrow keys at all
        !          3428:   (except when running under X, see question 128).  During the process of
        !          3429:   starting up, Emacs will load a terminal-specific initialization file for
        !          3430:   your terminal type (as determined by the environment variable TERM), if
        !          3431:   one exists.  This file has the responsibility for enabling the arrow keys.
        !          3432:   
        !          3433:   There are several things that can go wrong:
        !          3434:   
        !          3435:   1. There is no initialization file for your terminal.
        !          3436:   
        !          3437:      You can determine this by looking in the lisp/term directory.  If your
        !          3438:      terminal type (as determined by the TERM environment variable) is
        !          3439:      xxx-yy-z, then the first of these files in the lisp/term directory will
        !          3440:      be loaded as the terminal-specific initialization file: xxx-yy-z.el,
        !          3441:      xxx-yy.el, or xxx.el.
        !          3442:   
        !          3443:      There are two major cases of this problem:
        !          3444:   
        !          3445:      * Your terminal type is very similar to one that has an init file.
        !          3446:   
        !          3447:        In this case, there are several techniques suggested by Colin Jensen
        !          3448:        <[email protected]>, Ben Liblit <[email protected]>, and Marc
        !          3449:        Auslander <[email protected]>:
        !          3450:   
        !          3451:        A. Add a symbolic link in lisp/term for your terminal type that
        !          3452:           points to the similar type.  For example, you could make VT102
        !          3453:           terminals work with this command:
        !          3454:   
        !          3455:             ln -s vt100.el vt102.el
        !          3456:   
        !          3457:           This fixes things for everyone on the system who uses the terminal
        !          3458:           type.
        !          3459:   
        !          3460:        B. If you can't do the solution in part A, you can add code to your
        !          3461:           term-setup-hook that loads the correct file like this:
        !          3462:   
        !          3463:             (setq term-setup-hook
        !          3464:                   (function
        !          3465:                    (lambda ()
        !          3466:                      (cond ((equal "vt102" (or (getenv "TERM") ""))
        !          3467:                             (load (concat term-file-prefix "vt100")))
        !          3468:                            (;; Code for other terminal types goes here ...
        !          3469:                             )))))
        !          3470:   
        !          3471:        C. If you use `tset' to set your TERM environment variable when you
        !          3472:           login, you can use the `-m' switch to tell tset to use a terminal
        !          3473:           type known by Emacs instead of another similar one.  For example,
        !          3474:           specifying this:
        !          3475:   
        !          3476:             tset ... -m 'dec-vt220:vt220' ...
        !          3477:   
        !          3478:           will make tset say you are on a `vt220' instead of a `dec-vt220'.
        !          3479:   
        !          3480:        D. Interactively, you can type "M-x load-library RET term/vt100" to
        !          3481:           load the terminal-specific initialization files for VT100
        !          3482:           terminals.
        !          3483:   
        !          3484:      * Your terminal type is not similar to one that has an init file.
        !          3485:   
        !          3486:        One can be made for your terminal, or you can just add code to your
        !          3487:        own .emacs to handle this problem for yourself.  For example, if your
        !          3488:        terminal's arrow keys send these character sequences:
        !          3489:   
        !          3490:          Up:    ESC [ A
        !          3491:          Down:  ESC [ B
        !          3492:          Right: ESC [ C
        !          3493:          Left:  ESC [ D
        !          3494:   
        !          3495:        then you can bind these keys to the appropriate commands with code in
        !          3496:        your .emacs like this:
        !          3497:   
        !          3498:          (setq term-setup-hook
        !          3499:                (function
        !          3500:                 (lambda ()
        !          3501:                   (cond ((string-match "\\`xyzzy" (or (getenv "TERM") ""))
        !          3502:                          ;; First, must unmap the binding for left bracket
        !          3503:                          (or (keymapp (lookup-key global-map "\e\["))
        !          3504:                              (define-key global-map "\e\[" nil))
        !          3505:                          ;; Enable terminal type xyzzy's arrow keys:
        !          3506:                          (define-key global-map "\e\[A" 'previous-line)
        !          3507:                          (define-key global-map "\e\[B" 'next-line)
        !          3508:                          (define-key global-map "\e\[C" 'forward-char)
        !          3509:                          (define-key global-map "\e\[D" 'backward-char))
        !          3510:                         ((string-match "\\`abcde" (or (getenv "TERM") ""))
        !          3511:                          ;; Do something different for terminal type abcde
        !          3512:                          ;; .....
        !          3513:                          )))))
        !          3514:   
        !          3515:      NOTE: You may have to restart Emacs to get changes to take effect.
        !          3516:   
        !          3517:      NOTE: Your arrow keys may send sequences beginning with "ESC O" when
        !          3518:      Emacs is running, even if they send sequences beginning with "ESC [" at
        !          3519:      all other times.  This is because Emacs uses any command there may be
        !          3520:      in your terminal's termcap entry for putting the terminal into
        !          3521:      "Application Keypad Mode".  Just map these sequences the same way as
        !          3522:      above.
        !          3523:   
        !          3524:   The next two cases are problems even if there is a initialization file for
        !          3525:   your terminal type.
        !          3526:   
        !          3527:   2. The initialization file for your terminal doesn't bind arrow keys.
        !          3528:   
        !          3529:      If your terminal type is `xterm', you will have to bind the arrow keys
        !          3530:      as in part 1 above, since the xterm.el file doesn't do anything useful.
        !          3531:      There may be other terminal types with the same problem.
        !          3532:   
        !          3533:   3. Your terminal's arrow keys send individual control characters.
        !          3534:   
        !          3535:      For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l.
        !          3536:   
        !          3537:      There is not much Emacs can do in this situation, since all the control
        !          3538:      characters except for C-^ and C-\ are already used as Emacs commands.
        !          3539:      It may be possible to convince the terminal to send something else when
        !          3540:      you press the arrow keys; it is worth investigating.
        !          3541:   
        !          3542:      You have to make the hard choices of how to rebind keys to commands to
        !          3543:      make things work the way you want.  Another alternative is to start
        !          3544:      learning the standard Emacs keybindings for moving point around: C-b,
        !          3545:      C-f, C-p, and C-n.  Personally, I no longer use the arrow keys when
        !          3546:      editing because I have switched keyboards so many times.
        !          3547:   
        !          3548:   4. Your terminal's arrow keys send sequences beginning with "ESC [".
        !          3549:   
        !          3550:      Due to an extremely poor design decision (ie., these sequences are ANSI
        !          3551:      standard), none of the the terminal-specific initialization files that
        !          3552:      are distributed with Emacs will bind these character sequences to the
        !          3553:      appropriate commands by default.  (This also applies to any other
        !          3554:      function keys which generate character sequences starting with "ESC
        !          3555:      [".)  This is because it was deemed far more important to preserve the
        !          3556:      binding of M-[ to the backward-paragraph command.  It appears that this
        !          3557:      will change in Emacs 19.
        !          3558:   
        !          3559:      Some of the terminal-specific initialization files that come with Emacs
        !          3560:      provide a command enable-arrow-keys that will fix this problem.  To get
        !          3561:      this automatically invoked, put this in your .emacs:
        !          3562:   
        !          3563:        (setq term-setup-hook
        !          3564:             (function
        !          3565:              (lambda ()
        !          3566:                (if (fboundp 'enable-arrow-keys) (enable-arrow-keys)))))
        !          3567:   
        !          3568:      We put this in our lisp/default.el file, so users don't have to worry
        !          3569:      about it:
        !          3570:   
        !          3571:        ;; don't override a user's term-setup-hook
        !          3572:        (or term-setup-hook
        !          3573:           (setq term-setup-hook
        !          3574:                 (function
        !          3575:                  (lambda ()
        !          3576:                    (and (fboundp 'enable-arrow-keys)
        !          3577:                         ;; don't override a user key mapping
        !          3578:                         (eq 'backward-paragraph (lookup-key esc-map "["))
        !          3579:                         (enable-arrow-keys))))))
        !          3580:   
        !          3581:      If your terminal type is `sun', you should put this in your .emacs
        !          3582:      instead (or in addition to the above):
        !          3583:   
        !          3584:        (setq sun-esc-bracket t)
        !          3585:   
        !          3586:      It is possible that the terminal-specific initialization file for your
        !          3587:      terminal type was written locally and does not follow the rule
        !          3588:      mentioned above.  In this case you may need to inspect it to find out
        !          3589:      how to enable the arrow keys.  (Actually, if it was written locally, it
        !          3590:      probably enables the arrow keys by default.)
        !          3591:   
        !          3592: 136: How do I "swap" two keys?
        !          3593:   
        !          3594:   When Emacs receives a character, you can make Emacs behave as though it
        !          3595:   received another character by setting the value of
        !          3596:   keyboard-translate-table.  The following Emacs Lisp will do this for you,
        !          3597:   allowing you to "swap" keys.  After arranging for this Lisp to be
        !          3598:   evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B.
        !          3599:   
        !          3600:     (defun swap-keys (key1 key2)
        !          3601:       "Swap keys KEY1 and KEY2 using map-key."
        !          3602:       (map-key key1 key2)
        !          3603:       (map-key key2 key1))
        !          3604:   
        !          3605:     (defun map-key (from to)
        !          3606:       "Make key FROM behave as though key TO was typed instead."
        !          3607:       (setq keyboard-translate-table
        !          3608:            (concat keyboard-translate-table
        !          3609:                    (let* ((i (length keyboard-translate-table))
        !          3610:                           (j from)
        !          3611:                           (k i)
        !          3612:                           (str (make-string (max 0 (- j (1- i))) ?X)))
        !          3613:                      (while (<= k j)
        !          3614:                        (aset str (- k i) k)
        !          3615:                        (setq k (1+ k)))
        !          3616:                      str)))
        !          3617:       (aset keyboard-translate-table from to)
        !          3618:       (let ((i (1- (length keyboard-translate-table))))
        !          3619:        (while (and (>= i 0) (eq (aref keyboard-translate-table i) i))
        !          3620:          (setq i (1- i)))
        !          3621:        (setq keyboard-translate-table
        !          3622:              (if (eq i -1)
        !          3623:                  nil
        !          3624:                (substring keyboard-translate-table 0 (1+ i))))))
        !          3625:   
        !          3626:   NOTE: You must evaluate the definition of these functions before calling
        !          3627:   them!  For example, list the function definitions before their use in your
        !          3628:   .emacs file.
        !          3629:   
        !          3630:   NOTE: These functions take two numbers as arguments.  The example above,
        !          3631:   `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is
        !          3632:   merely notation for 65, the ASCII value of `A'.
        !          3633:   
        !          3634:   NOTE: These functions only work for single characters.  You cannot swap
        !          3635:   two multi-character sequences.
        !          3636:   
        !          3637: 137: How do I produce C-XXX with my keyboard?
        !          3638:   
        !          3639:   For C-@ and C-^, often you can just type Control-2 and Control-6.  For
        !          3640:   C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen.
        !          3641:   C-@ can often be generated by typing Control-Space.  C-@ is often called
        !          3642:   the NUL character, and has ASCII value 0.  C-_ can often be generated by
        !          3643:   typing Control-7 or Control-/.  C-? (aka DEL) may be generated by typing
        !          3644:   Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del.
        !          3645:   
        !          3646:   Try Control with all of the digits on your keyboard to see what gets
        !          3647:   generated.
        !          3648:   
        !          3649: 138: What if I don't have a Meta key?
        !          3650:   
        !          3651:   Instead of typing M-a, you can type "ESC a" instead.  In fact, Emacs
        !          3652:   converts M-a internally into "ESC a" anyway (depending on the value of
        !          3653:   meta-prefix-char).
        !          3654:   
        !          3655: 139: What if I don't have an Escape key?
        !          3656:   
        !          3657:   Type C-[ instead.  This should send ASCII code 27 just like an Escape
        !          3658:   key would.  Try also C-;.
        !          3659:   
        !          3660: 140: How do I type DEL on PC terminal emulators?
        !          3661:   
        !          3662:   Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is
        !          3663:   this true?}.  Those that do generally have it in an inconvenient location.
        !          3664:   (Also, in some terminal emulators, the `Del' key does not transmit DEL.)
        !          3665:   The result is the standard "BackSpace invoking help" problem (see question
        !          3666:   133).
        !          3667:   
        !          3668:   The usual solution, suggested by Michael Covington
        !          3669:   <[email protected]>, is to somehow tell the terminal emulator
        !          3670:   program that BackSpace should transmit DEL.  Read the program's manual.
        !          3671:   Shift-BackSpace or Control-BackSpace may send DEL.  The `Del' key may only
        !          3672:   send DEL if the NumLock key hasn't been pressed.
        !          3673:   
        !          3674: 141: Can I make my `Compose Character' key behave like a Meta key?
        !          3675:   
        !          3676:   On a dumb terminal such as a VT220, no.  It is rumored that certain VT220
        !          3677:   clones could have their Compose key configured this way.  If you're using
        !          3678:   X, you might be able to do this with the `xmodmap' program (this is
        !          3679:   what I do).
        !          3680:   
        !          3681: 142: How do I bind a combination of modifier key and function key?
        !          3682:   
        !          3683:   Unless you're using Emacs under emacstool (or xvetool?), have a working    !
        !          3684:   version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid   +
        !          3685:   Emacs), you can't do this with Emacs alone.                                +
        !          3686:   
        !          3687:   If you are using emacstool, Emacs sees different character sequences for
        !          3688:   the combination of a modifier and a function key from what it sees for the
        !          3689:   function key alone.  See etc/emacstool.1 for more information.  Since
        !          3690:   Emacs sees different character sequences, you can bind these different
        !          3691:   sequences to different commands.
        !          3692:   
        !          3693:   If you are running Emacs inside a terminal emulator window like xterm, you
        !          3694:   can modify its translation tables to make it generate different character
        !          3695:   sequences for the combination of a modifier and a function key.  For
        !          3696:   example, this X resource setting:
        !          3697:   
        !          3698:     XTerm.VT100.Translations: #override \
        !          3699:       Shift<KeyPress>F1: string(0x1b) string("[xyzzy")
        !          3700:   
        !          3701:   makes Shift-F1 generate the character sequence "ESC [ xyzzy".  You can
        !          3702:   bind these character sequences in Emacs as normal.  Nick Ruprecht
        !          3703:   <[email protected]> has written an extensive X
        !          3704:   translation mapping for xterm that does this.  {Does this have an FTP
        !          3705:   site?}
        !          3706:   
        !          3707:   If you have x-rebind-key, you can have any arbitrary combination of        +
        !          3708:   modifiers with a key replaced by any sequence of "normal" characters.  For +
        !          3709:   example, this makes Shift-Return behave as though you had typed "C-x C-e"  +
        !          3710:   (example from Jerry Graves):                                               +
        !          3711:                                                                              +
        !          3712:     (x-rebind-key "Return" 'shift "\C-x\C-e")                                +
        !          3713:                                                                              +
        !          3714:   In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example +
        !          3715:   from Jamie Zawinski):                                                      +
        !          3716:                                                                              +
        !          3717:     (global-set-key '(meta left) 'backward-word)                             +
        !          3718:                                                                              +
        !          3719:   With the last two methods, use `xmodmap' and `xev' to discover the keysym  +
        !          3720:   and modifier names.                                                        +
        !          3721:   
        !          3722: 143: Why doesn't my Meta key work in an xterm window?
        !          3723:   
        !          3724:   Try all of these methods before asking for further help:
        !          3725:   
        !          3726:   * You may have big problems using `mwm' as your window manager.  {Does
        !          3727:     anyone know a good generic solution to allow the use of the Meta key in
        !          3728:     Emacs with mwm?}
        !          3729:   
        !          3730:   * For X11R4: Make sure it really is a Meta key.  Use `xev' to find out
        !          3731:     what keysym your Meta key generates.  It should be either Meta_L or
        !          3732:     Meta_R.  If it isn't, use xmodmap to fix the situation.
        !          3733:   
        !          3734:   * Make sure the pty the xterm is using is passing 8 bit characters.
        !          3735:     `stty -a' (or `stty everything') should show `cs8' somewhere.  If it
        !          3736:     shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix
        !          3737:     it.
        !          3738:   
        !          3739:   * If there is an rlogin connection between the xterm and the Emacs, the
        !          3740:     `-8' argument may need to be given to rlogin to make it pass all 8
        !          3741:     bits of every character.
        !          3742:   
        !          3743:   * If the Emacs is running under Ultrix, it is reported that evaluating
        !          3744:     (set-input-mode t nil) helps.
        !          3745:   
        !          3746:   * If all else fails, you can make xterm generate "ESC W" when you type
        !          3747:     M-W, which is the same conversion Emacs would make if it got the M-W
        !          3748:     anyway.  In X11R4, the following resource specification will do this:
        !          3749:   
        !          3750:       XTerm.VT100.EightBitInput: false
        !          3751:   
        !          3752:     (This changes the behavior of the insert-eight-bit action.)
        !          3753:   
        !          3754:     With older xterms, you can specify this behavior with a translation:
        !          3755:   
        !          3756:       XTerm.VT100.Translations: #override \
        !          3757:         Meta<KeyPress>: string(0x1b) insert()
        !          3758:   
        !          3759:     You might have to replace `Meta' with `Alt'.
        !          3760:   
        !          3761: 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
        !          3762:   
        !          3763:   This is a result of an internationalization extension in X11R4 and the
        !          3764:   fact that HP is now using this extension.  Emacs assumes that
        !          3765:   XLookupString returns the same result regardless of the Meta key state
        !          3766:   which is no longer necessarily true.  Until Emacs is fixed, the temporary
        !          3767:   kludge is to run this command after each time the X server is started but
        !          3768:   preferably before any xterm clients are:
        !          3769:   
        !          3770:     xmodmap -e 'remove mod1 = Mode_switch'
        !          3771:   
        !          3772:   NOTE:  This will disable the use of the extra keysyms systemwide, which
        !          3773:   may be undesirable if you actually intend to use them.
        !          3774:   
        !          3775: 145: Where can I get key bindings to make Emacs emulate WordStar?
        !          3776:   
        !          3777:   There is a package `wordstar' by Jim Frost <[email protected]> and
        !          3778:   `ws-mode.el' by Juergen Nickelsen <[email protected]>.  Check in the
        !          3779:   Emacs Lisp Archive (see question 89).
        !          3780:   
        !          3781: 146: Where can I get an XEDIT emulator for Emacs?
        !          3782:   
        !          3783:   This question comes up once every couple of months.  I have never seen a
        !          3784:   positive reply, so I presume no one has ever written one.
        !          3785:   
        !          3786: 
        !          3787: 
        !          3788: Using Emacs with Alternate Character Sets
        !          3789: 
        !          3790: 147: How do I make Emacs display 8-bit characters?
        !          3791:   
        !          3792:   There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to
        !          3793:   display characters with codes from 128 to 255.  {The original appears to
        !          3794:   have been by Kenneth Cline <[email protected]>.} Partially based
        !          3795:   on Johan Widen's earlier work, Johan Vromans <[email protected]> has updated this
        !          3796:   patch for Emacs 18.58 along with some other 8-bit improvements.
        !          3797:   
        !          3798:   Anonymous FTP:
        !          3799:     /ftp.eu.net:gnu/emacs/FP-EightBit.Z                                      +
        !          3800:     /ftp.urc.tue.nl:pub/tex/emacs/FP-EightBit                                +
        !          3801:     /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57              +
        !          3802:     /sics.se:archive/emacs-18.55-8bit-diff                                   +
        !          3803:     /laas.laas.fr:pub/emacs/patch-8bit-18.55                                 !
        !          3804:     /laas.laas.fr:pub/emacs/patch-8bit-18.57                                 !
        !          3805:   
        !          3806:   Via e-mail:
        !          3807:     To: [email protected]
        !          3808:     body: send emacs-18.55-8bit-diff
        !          3809:   
        !          3810:   Anders Edenbrandt <[email protected]> has produced a more comprehensive
        !          3811:   patch for Emacs 18.57 that allows for 8-bit input and output.
        !          3812:   
        !          3813:   Anonymous FTP:
        !          3814:     /sics.se:archive/emacs-8bit-diff-lth                                     +
        !          3815:     /gatekeeper.dec.com:pub/GNU/DS-emacs-18.57-8bit-diff-lth                 +
        !          3816:   
        !          3817:   The most comprehensive patches for 8-bit output are by Howard Gayle
        !          3818:   (originally for Emacs 18.55.  These patches allow displaying any arbitrary
        !          3819:   string for a given 8-bit character (except TAB and C-j).  Also supported
        !          3820:   is defining the sorting order and the uppercase and lowercase
        !          3821:   translations.  It is reported that the 8-bit character support in Emacs 19
        !          3822:   is largely based on these patches.  Thomas Bellman
        !          3823:   <[email protected]> has updated these patches for Emacs 18.57.
        !          3824:   
        !          3825:   Anonymous FTP:
        !          3826:     /sics.se:archive/emacs-gayle.tar.Z  (patches for 18.55)                  +
        !          3827:     /ftp.lysator.liu.se:pub/emacs/gayle-18.57.diff.tar.Z  (patches)          +
        !          3828:     /ftp.lysator.liu.se:pub/emacs/emacs-18.57-gayle.tar.Z  (patched Emacs)   +
        !          3829:   
        !          3830:   I am not sure if Epoch can display 8-bit characters as is.  Lucid Emacs
        !          3831:   has the ctl-arrow patch installed.  Nemacs displays 8-bit characters, and
        !          3832:   it may be useful for displaying the 8-bit ISO-8859 alphabet, but I don't
        !          3833:   know for sure (see question 149).
        !          3834:   
        !          3835: 148: How do I input 8-bit characters?
        !          3836:   
        !          3837:   Minor modes for ISO Latin-1 that allow one to easily input this character
        !          3838:   set have been written by several people.  Such modes have been written by
        !          3839:   Matthieu Herrb <[email protected]> (laas.laas.fr:pub/emacs/iso-latin-1.el),
        !          3840:   Johan Vromans <[email protected]> {FTP site??}, and Marc Shapiro
        !          3841:   <[email protected]> {FTP site??}.
        !          3842:   
        !          3843:   These approaches differ from the one taken by Anders Edenbrandt in that
        !          3844:   his method uses direct 8-bit input, while these methods use a compose
        !          3845:   sequence for 8-bit characters.  {I have heard conflicting reports on
        !          3846:   whether this results in losing the Meta key.  Perhaps this depends on
        !          3847:   whether Emacs is running under X.  Can someone resolve this?}
        !          3848:   
        !          3849:   Karl Heuer <[email protected]> is said to have a patch to allow
        !          3850:   8-bit input.  Georg-Wilhelm Koltermann <[email protected]> also has a
        !          3851:   patch for either 18.57 or 18.58 that allows 8-bit input.
        !          3852:   
        !          3853:   Epoch comes with a patch that allows it to input 8-bit characters, but it
        !          3854:   is not enabled by default.  {Is this right?}
        !          3855:   
        !          3856:   Jamie Zawinski says:                                                       +
        !          3857:                                                                              +
        !          3858:     Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your     +
        !          3859:     keyboard generates (see xmodmap), and contains a package that implements +
        !          3860:     a DEC/OpenWindows-like "Compose" key for systems which don't have one.   +
        !          3861:   
        !          3862: 149: Where can I get an Emacs that can handle kanji characters?
        !          3863:   
        !          3864:   Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55
        !          3865:   that handles kanji characters.  It is available via anonymous FTP:         !
        !          3866:                                                                              !
        !          3867:     /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z                                !
        !          3868:     /uhccux.uhcc.hawaii.edu:editors/Nemacs-3.3.2/                            !
        !          3869:     /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z                    !
        !          3870:   
        !          3871:   You might also need files for "wnn", a kanji input method
        !          3872:   (wnn-4.0.3{-README,.tar.Z} {on which machine?}).  You need a terminal (or
        !          3873:   terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC
        !          3874:   (Extended Unix Code), or the ability to run Nemacs as a direct X Window
        !          3875:   client.
        !          3876:   
        !          3877: 150: Where can I get an Emacs that can handle Chinese?
        !          3878:   
        !          3879:   `cemacs' by Stephen G. Simpson <[email protected]> is a patch to Emacs
        !          3880:   18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with
        !          3881:   Cxterm allows using Chinese characters.  It is available via anonymous
        !          3882:   FTP:                                                                       !
        !          3883:                                                                              !
        !          3884:     /crl.nmsu.edu:pub/chinese/cemacs.tar.Z                                   !
        !          3885:     /cs.purdue.edu:pub/ygz/cemacs.tar.Z                                      !
        !          3886:   
        !          3887:   Cxterm is available from the same place:                                   !
        !          3888:                                                                              !
        !          3889:     /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z                               !
        !          3890:   
        !          3891: 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
        !          3892:   
        !          3893:   Joel M. Hoffman <[email protected]> writes:
        !          3894:   
        !          3895:     A couple of years ago a wrote a hebrew.el file that allows right-to-left
        !          3896:     editing of Hebrew.  I relied on the hardware to display the Hebrew
        !          3897:     letters, given the right codes, but not for any right-to-left support;
        !          3898:     the hardware also doesn't have to send any specific char. codes.  Emacs
        !          3899:     keeps track of when the user is typing Hebrew vs. English.  (The VT-*
        !          3900:     terminals in Israel contain built-in support for Hebrew.)
        !          3901:   
        !          3902:     To get it to work I had to modify only a few lines of GNU Emacs's source
        !          3903:     code --- just enough to make it 8-bit clean.
        !          3904:   
        !          3905:     [and in a separate message:]
        !          3906:   
        !          3907:     It doesn't produce time-order ["sefer" format] (I wouldn't recommend
        !          3908:     trying that with emacs, because converting time-order to screen-order
        !          3909:     with arbitrarily long lines is a bit tricky), but I also concocted a
        !          3910:     quick filter to convert screen-order into time-order.  I'll be happy to
        !          3911:     send you the requisite files if you want them.  If you're using it for
        !          3912:     anything large, however, you'll want something that works better.
        !          3913:   
        !          3914:   Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like"
        !          3915:   editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional
        !          3916:   Editor).  Ibelbe is written in Turbo Pascal and comes with source code.
        !          3917:   Here is the description:
        !          3918:   
        !          3919:     Ibelbe looks like emacs (it even has a minibuffer and filename
        !          3920:     completion), and fully supports both right-to-left and left-to-right
        !          3921:     editing.  Other than an EGA monitor or better, no special hardware is
        !          3922:     required.  You will need an EGA Hebrew font to use Ibelbe with Hebrew.
        !          3923:   
        !          3924:   Anonymous FTP:
        !          3925:     /israel.nysernet.org:israel/msdos/ibelbe.zip                             !
        !          3926:     /israel.nysernet.org:israel/msdos/hebfont.zip                            !
        !          3927:   
        !          3928:   Joseph Friedman <[email protected], [email protected]> has written
        !          3929:   patches for Emacs 18.55 and 18.58 that provide Semitic language support
        !          3930:   under X Windows.
        !          3931:   
        !          3932:   Warren Burstein <[email protected]> says he has mapped 7-bit keys by
        !          3933:   modifying self-insert-command "for Hebrew input on 7-bit keyboards".
        !          3934:   
        !          3935:   A good suggestion is to query archie for files named with `hebrew'.
        !          3936:   
        !          3937: 
        !          3938:                        GNU Emacs FAQ: Mail and News
        !          3939: 
        !          3940: This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus'
        !          3941: because many of the questions herein deal with GNUS.  See `gnu.emacs.help' for
        !          3942: the rest of the FAQ list.
        !          3943: 
        !          3944: If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
        !          3945: get an overview of just the questions.  Then, when you want to look at the text
        !          3946: of the answers, just type "C-x $".
        !          3947: 
        !          3948: To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
        !          3949: that doesn't work, then type ESC to end the search.
        !          3950: 
        !          3951: A `+' in the 78th column means something was inserted on the line.  A `-' means
        !          3952: something was deleted and a `!' means some combination of insertions and
        !          3953: deletions occurred.
        !          3954: 
        !          3955: Full instructions for getting the latest FAQ are in question 22.  Also see the
        !          3956: `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
        !          3957: e-mail to `[email protected]' with `help' on a body line, or use FTP,
        !          3958: WAIS, or Prospero to rtfm.mit.edu.
        !          3959: 
        !          3960: 
        !          3961: 
        !          3962: Mail and News
        !          3963: 
        !          3964: 152: How do I change the included text prefix in mail/news followups?
        !          3965:   
        !          3966:   Many people want Emacs to prefix included text with something like ` > '
        !          3967:   instead of with three spaces.  One way is to change the code of the
        !          3968:   function `mail-yank-original' in lisp/sendmail.el that prefixes with
        !          3969:   spaces.  A more flexible solution is to use Supercite, which provides wide
        !          3970:   configurability in how you format included text in replies.  See question
        !          3971:   107.  Both of these solutions work for RMAIL and GNUS.
        !          3972:   
        !          3973:   A related problem is how to prevent Emacs from including various headers
        !          3974:   of the replied-to message.  For this, you should set the value of
        !          3975:   mail-yank-ignored-headers, which takes a regexp value.
        !          3976:   
        !          3977: 153: How do I save a copy of outgoing mail?
        !          3978:   
        !          3979:   Two methods:
        !          3980:   
        !          3981:   1. (setq mail-self-blind t) will result in a `BCC:' header line with your
        !          3982:      address being added to mail composition buffers.  This will cause the
        !          3983:      mail system to send a copy of the mail back to you.
        !          3984:   
        !          3985:   2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will
        !          3986:      result in an `FCC:' header line with the pathname of ~/outgoing being
        !          3987:      added to mail composition buffers.  When you send the mail, Emacs will
        !          3988:      save a copy of the mail in the file ~/outgoing and then strip off the
        !          3989:      `FCC:' line before actually sending.
        !          3990:   
        !          3991:      WARNING: There is a bug in Emacs 18.58 that prevents mail readers such
        !          3992:      as RMAIL from reading the saved mail messages individually.  See
        !          3993:      question 155.
        !          3994:   
        !          3995:      WARNING: If you are visiting the file ~/outgoing at the time you send
        !          3996:      the mail, this can cause a variety of horrible problems.  Jamie         +
        !          3997:      Zawinski has written a solution for this.                               +
        !          3998:   
        !          3999:   It does not work to put `set record filename' in the .mailrc file.
        !          4000:   
        !          4001: 154: Why doesn't Emacs expand my aliases when sending mail?
        !          4002:   
        !          4003:   * You must separate multiple addresses in the headers of the mail buffer
        !          4004:     with commas.  This is because Emacs supports RFC822 standard addresses
        !          4005:     like this one:
        !          4006:   
        !          4007:       To: Willy Smith <[email protected]>
        !          4008:   
        !          4009:     However, you do not need to separate addresses with commas in your
        !          4010:     .mailrc file.
        !          4011:   
        !          4012:     WARNING: Emacs breaks up aliases in the .mailrc file into multiple
        !          4013:     addresses both on commas and on whitespace, regardless of any use of
        !          4014:     quotes.  This is probably a bug.  You can get around this by directly
        !          4015:     setting the value of mail-aliases.
        !          4016:   
        !          4017:   * Emacs normally only reads the `.mailrc' file once per session, when you
        !          4018:     start to compose your first mail message.  If you edit .mailrc, you can
        !          4019:     type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
        !          4020:     (You have to include the parentheses where they are shown!)
        !          4021:   
        !          4022:   * Emacs does not interpret vendor-specific additions to the format of the
        !          4023:     .mailrc file such as the `source' command.  It also ignores any `set'
        !          4024:     commands.  The only commands it looks at are `alias' and `group'
        !          4025:     commands.
        !          4026:   
        !          4027: 155: Why does RMAIL think all my saved messages are one big message?
        !          4028:   
        !          4029:   There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone
        !          4030:   on the "From " line after the year instead of before the year.  (Before it
        !          4031:   didn't add the timezone at all.)  This is incompatible with the standard
        !          4032:   format for the "From " line, and RMAIL in particular can no longer
        !          4033:   distinguish between the messages.  Karl Berry <[email protected]>, Felix Lee
        !          4034:   <[email protected]>, Nick Gianniotis <[email protected]> and many
        !          4035:   others have all posted patches for this.  Karl's is the simplest and just
        !          4036:   stops Emacs from adding the timezone:
        !          4037:   
        !          4038:     >*** ./ORIG/sendmail.el    Tue Jan 28 16:22:56 1992
        !          4039:     >--- ./sendmail.el Thu May 14 18:23:48 1992
        !          4040:     >***************
        !          4041:     >*** 285,287 ****
        !          4042:     >        (insert "\nFrom " (user-login-name) " "
        !          4043:     >!               (current-time-string) " " timezone "\n")
        !          4044:     >        (insert-buffer-substring rmailbuf)
        !          4045:     >--- 285,287 ----
        !          4046:     >        (insert "\nFrom " (user-login-name) " "
        !          4047:     >!               (current-time-string) "\n")
        !          4048:     >        (insert-buffer-substring rmailbuf)
        !          4049:   
        !          4050: 156: How can I sort the messages in my RMAIL folder?
        !          4051:   
        !          4052:   Use rmailsort.el by Masanobu Umeda.
        !          4053:   
        !          4054: 157: Why does RMAIL need to write to /usr/spool/mail?
        !          4055:   
        !          4056:   This is the behavior of the `movemail' program which RMAIL uses.  This
        !          4057:   indicates that movemail is configured to use lock files.
        !          4058:   
        !          4059:   RMS writes:
        !          4060:   
        !          4061:     Certain systems require lock files to interlock access to mail files.
        !          4062:     On these systems, movemail must write lock files, or you risk losing
        !          4063:     mail.  You simply must arrange to let movemail write them.
        !          4064:   
        !          4065:     Other systems use the flock system call to interlock access.  On these
        !          4066:     systems, you should configure movemail to use flock.
        !          4067:   
        !          4068: 158: How do I recover my mail files after RMAIL munges their format?
        !          4069:   
        !          4070:   Users who just want to try RMAIL out to see how it works end up trapped
        !          4071:   using it because saved mail in their `mbox' file has been converted into
        !          4072:   an incompatible format (BABYL) that only RMAIL understands.  RMAIL
        !          4073:   provides no obvious way to reverse this transformation.  Kyle Jones has    +
        !          4074:   aptly named this "the great Emacs Mail Eating Monster".  To convert a mail +
        !          4075:   file back to standard Unix format, there are several methods:
        !          4076:   
        !          4077:   * Use the rmail-output ("C-o") command within RMAIL on each message in the
        !          4078:     file.  First use M-x rmail or M-x rmail-input to visit the RMAIL file in
        !          4079:     Rmail mode.  Type "1 j" to go to the first message.  Use the C-o command
        !          4080:     to output the message to a Unix format file.  Type "n" to go to the next
        !          4081:     message.  Repeat.
        !          4082:   
        !          4083:   * If the file contains hundreds of messages, you may not want to repeat
        !          4084:     this for all of them.  Instead of the above, after getting to the first
        !          4085:     message type this (where "mbox" is the file you want to put the messages
        !          4086:     in):
        !          4087:   
        !          4088:       C-x ( C-o mbox RET M-s ^From: RET M-0 C-x )
        !          4089:   
        !          4090:     (The rmail-search command ("M-s") is used instead of just "n" because it
        !          4091:     is the only command which will cause an error when it reaches the last
        !          4092:     message in the file, which is necessary to terminate the keyboard macro.
        !          4093:     This will fail if there are messages in the file that don't have a
        !          4094:     `From:' header.  This assumes rmail-delete-after-output is nil.)
        !          4095:   
        !          4096:     It is wise to save a copy of the RMAIL file first, in case you make a
        !          4097:     mistake.
        !          4098:   
        !          4099:   * There are software packages available for converting files or even
        !          4100:     entire directories of BABYL files to standard Unix format.  These are
        !          4101:     helpful in this situation, but are intended mainly for people who have
        !          4102:     used RMAIL for a long time and are converting to some other mail reader.
        !          4103:     Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see
        !          4104:     question 89).
        !          4105:   
        !          4106:   You may wish to disable RMAIL to avoid accidentally destroying your mbox
        !          4107:   file (I have this in my .emacs):
        !          4108:   
        !          4109:     (put 'rmail 'disabled t)           ; avoid mbox destruction
        !          4110:   
        !          4111: 159: How do I make Emacs automatically start my mail/news reader?
        !          4112:   
        !          4113:   Example:
        !          4114:   
        !          4115:     emacs -f gnus
        !          4116:   
        !          4117:   Also:
        !          4118:   
        !          4119:     alias gnus 'emacs -f gnus'
        !          4120:   
        !          4121:   It is probably unwise to automatically start your mail or news reader from
        !          4122:   your .emacs file.  This would cause problems if you needed to run two
        !          4123:   copies of Emacs at one time.  Also, this would make it difficult for you
        !          4124:   to start Emacs quickly when you needed to.
        !          4125:   
        !          4126: 160: How do I read news under Emacs?
        !          4127:   
        !          4128:   There are at least three news reading packages that operate inside Emacs.
        !          4129:   `rnews' comes with Emacs.  GNUS and Gnews come separately.  rnews will
        !          4130:   be replaced by GNUS in Emacs 19.
        !          4131:   
        !          4132:   rnews works only with a local news spool directory.  Both GNUS and Gnews
        !          4133:   handle reading news remotely via NNTP in addition to reading from a local
        !          4134:   news spool.  GNUS supports reading mail stored in MH folders or articles
        !          4135:   saved by GNUS.
        !          4136:   
        !          4137:   Gnews is styled after `rn' and seems to work like RMAIL.  GNUS feels more
        !          4138:   like VM.  People have complained that GNUS uses a lot of CPU time (it
        !          4139:   does).  Some people have complained that Gnews is slower than GNUS.
        !          4140:   
        !          4141:   For more information about GNUS, see question 108.
        !          4142:   
        !          4143:   Gnews was written by Matthew P. Wiener <[email protected]>.
        !          4144:   The latest version seems to be 2.0, posted October 3, 1988.  Matthew
        !          4145:   posted some fixes on October 26, 1988.  Gnews does not appear to have been
        !          4146:   supported after this date.  In particular, it has been reported that Gnews
        !          4147:   does not work with Emacs 18.57.  There is a newsgroup for Gnews called
        !          4148:   gnu.emacs.gnews.
        !          4149:   
        !          4150: 161: Why does `rnews' say "No News is good news" when there is news?
        !          4151:   
        !          4152:   rnews doesn't speak NNTP.  You may need to use GNUS or Gnews.
        !          4153:   
        !          4154: 162: Why doesn't GNUS work anymore via NNTP?
        !          4155:   
        !          4156:   There is a bug in NNTP version 1.5.10, such that when multiple requests
        !          4157:   are sent to the NNTP server, the server only handles the first one before
        !          4158:   blocking waiting for more input which never comes.  NNTP version 1.5.11
        !          4159:   claims to fix this.
        !          4160:   
        !          4161:   You can work around the bug inside Emacs like this:
        !          4162:   
        !          4163:     (setq nntp-maximum-request 1)
        !          4164:   
        !          4165:   I also have a patch for NNTP 1.5.10 by Mike Pelletier
        !          4166:   <[email protected]> that is based on the timeout code that was in
        !          4167:   1.5.9.  However, please try to upgrade to 1.5.11 first.
        !          4168:   
        !          4169:   You can find out what version of NNTP your news server is running by
        !          4170:   telnetting to the NNTP port (usually 119) on the news server machine (ie.,
        !          4171:   `telnet server-machine 119').  The server should give its version number
        !          4172:   in the welcome message.  Type `quit' to get out.
        !          4173:   
        !          4174: 163: How do I view text with embedded underlining (eg., ClariNews)?
        !          4175:   
        !          4176:   Underlining appears like this:
        !          4177:   
        !          4178:     _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg
        !          4179:   
        !          4180:   You can destructively remove underlining with M-x ununderline-region.
        !          4181:   
        !          4182:   For ClariNews articles, clari-clean.el by David N. Blank-Edelman
        !          4183:   <[email protected]> will remove both underlining and overstriking
        !          4184:   automatically.
        !          4185:   
        !          4186: 164: When I try to post a long article in GNUS (about 10K or longer), I get
        !          4187:  the error, "Writing to process: no more processes, nntpd"
        !          4188:   
        !          4189:   Upgrade to Emacs 18.58.
        !          4190:   
        !          4191: 165: How do I save all the items of a multi-part posting in GNUS?
        !          4192:   
        !          4193:   Use gnus-mark.el by Jamie Zawinski <[email protected]>.
        !          4194:   
        !          4195: 166: Why does GNUS put the subjects in replies beyond the 80th column?
        !          4196:   
        !          4197:   This is a feature.  If you set gnus-thread-hide-subject to non-nil, GNUS
        !          4198:   will only display the subject of the first posting in a thread, even if
        !          4199:   some of the replies use different subjects.  It hides the subjects by
        !          4200:   putting them past the edge of the window and setting truncate lines to t.
        !          4201:   
        !          4202:   If your screen looks messed up, then for some reason truncate-lines in
        !          4203:   your `*Subject*' buffer has been set to nil.  It should be set to t.
        !          4204:   
        !          4205:   (I have an enhancement to GNUS 3.13 that will make it only hide the subject
        !          4206:   of a posting when it is unchanged from the followed-up-to posting.  Thus,
        !          4207:   you can use the subject hiding feature and still know when someone changes
        !          4208:   the subject.  (I have forgotten who originally gave me the idea for this.))
        !          4209:   
        !          4210: 167: Why is GNUS so slow to start up?
        !          4211:   
        !          4212:   GNUS does several things that take quadratic time of the number of
        !          4213:   newsgroups that are listed in .newsrc.  The quick fix for this is to
        !          4214:   remove all the newsgroups in which you have no interest from your .newrc
        !          4215:   file by using GNUS's C-k command in the `*Newsgroup*' buffer after
        !          4216:   displaying all newsgroups with the L command.  If you were to directly
        !          4217:   edit your .newsrc to remove the newsgroups, GNUS would add them back.
        !          4218:   
        !          4219:   GNUS uses a quadratic algorithm to check for duplicates when the .newsrc
        !          4220:   file is newer than the .newsrc.el file (ie., you edited your .newsrc).
        !          4221:   GNUS uses a quadratic algorithm to check for new newsgroups every time it
        !          4222:   connects to the news server.  {There may be other quadratic algorithms
        !          4223:   that I am not aware of.}
        !          4224:   
        !          4225:   You can speed up GNUS by using the C-k command in the *Newsgroup* buffer
        !          4226:   to remove newsgroups from your .newsrc file.
        !          4227:   
        !          4228:   Of course, GNUS will run faster if you make sure it is byte-compiled.
        !          4229:   
        !          4230:   Felix Lee wrote some enhancements called `gnus-speedups.el' that fix some  +
        !          4231:   of the problems.  See the Emacs Lisp Archive.                              +
        !          4232:   
        !          4233: 168: How do I catch up all newsgroups in GNUS?
        !          4234:   
        !          4235:   In the `*Newsgroup*' buffer, type the following magical incantation:
        !          4236:   
        !          4237:     M-< C-x ( C-@ c y C-u C-@ C-e C-f C-f M-0 C-x )
        !          4238:   
        !          4239:   Leave off the "M-<" if you only want to catch up from point to the end of
        !          4240:   the `*Newsgroup' buffer.
        !          4241:   
        !          4242: 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line?
        !          4243:   
        !          4244:   GNUS 3.14.1 will complain that the `Newsgroups:', `Keywords:', and
        !          4245:   `Control:' headers are `Unknown header field's.
        !          4246:   
        !          4247:   For the `Newsgroups:' header, there is an easy workaround: kill on the
        !          4248:   `Xref' header instead, which will be present on any cross-posted article.
        !          4249:   
        !          4250:   If you really want to kill on one of these headers, you can do it like
        !          4251:   this:
        !          4252:   
        !          4253:     (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)")
        !          4254:   
        !          4255:   Various people (eg., Greg Holley <[email protected]>) have posted
        !          4256:   solutions to allow more efficient killing on these headers than the
        !          4257:   preceding solution.  Masanobu Umeda plans to fix this problem.
        !          4258:   
        !          4259: 170: How do I get rid of flashing messages in GNUS for slow connections?
        !          4260:   
        !          4261:   GNUS outputs "NNTP: Reading..." message and then clears them, over and
        !          4262:   over.  In version 3.14.1 there is a variable named nntp-debug-read that
        !          4263:   can help.  Johan Vromans <[email protected]> wrote a fix.  Others have also written
        !          4264:   fixes.
        !          4265:   
        !          4266: 171: Why is catch up slow in Gnews/GNUS?
        !          4267:   
        !          4268:   Because GNUS is marking crosspostings read.  {I think it should do this at
        !          4269:   the time the article is read to spread out the load.  Maybe someone will
        !          4270:   write the code to do this.}
        !          4271:   
        !          4272: 172: Why does GNUS hang for a long time when posting?
        !          4273:   
        !          4274:   David Lawrence <[email protected]> explains:                               !
        !          4275:                                                                              !
        !          4276:     The problem is almost always interaction between NNTP and C News.  NNTP  !
        !          4277:     POST asks C News's inews to not background itself but rather hang around !
        !          4278:     and give its exit status so it knows whether the post was successful.    !
        !          4279:     (That wait will on some systems not return the exit status of the        !
        !          4280:     waited for job is a different sort of problem.)  It ends up taking a     !
        !          4281:     long time because inews is calling relaynews, which often waits for      !
        !          4282:     another relaynews to free the lock on the news system so it can file the !
        !          4283:     article.                                                                 !
        !          4284:                                                                              !
        !          4285:     My preferred solution is to change inews to not call relaynews, but      !
        !          4286:     rather use newsspool.  This loses some error-catching functionality, but !
        !          4287:     is for the most part safe as inews will detect a lot of the errors on    !
        !          4288:     its own.  The C News folks have sped up inews, too, so speed should look !
        !          4289:     better to most folks as that update propagates around.                   !
        !          4290:   
        !          4291: 173: Why don't my news postings in GNUS get past the local machine?
        !          4292:   
        !          4293:   Three possible reasons: local distribution, C News date problem (see
        !          4294:   question 174, and the path problem.  This piece of code may fix the path   !
        !          4295:   problem for you:                                                           !
        !          4296:                                                                              !
        !          4297:     (setq gnus-use-generic-path t)                                           !
        !          4298:   
        !          4299: 174: Why is the GNUS-generated `Date:' header invalid?
        !          4300:   
        !          4301:   GNUS generates `Date:' headers without time zones.  C-News's `inews'
        !          4302:   doesn't replace it with a valid header, but will generate it if not
        !          4303:   already there.  If it is invalid, the article will not be forwarded
        !          4304:   properly.  Quick fix:
        !          4305:   
        !          4306:     (defun gnus-inews-date () nil)
        !          4307:   
        !          4308:   I think this is fixed in GNUS 3.14.1 if you set gnus-news-system {?} to    +
        !          4309:   Cnews.                                                                     +
        !          4310:   
        !          4311: 175: Why doesn't GNUS generate the `Lines:' header?
        !          4312:   
        !          4313:   GNUS was written for B news, which would generate the `Lines:' header.  C
        !          4314:   news doesn't.  There is a comment in C news's `inews' that you can
        !          4315:   uncomment to enable this functionality.  Or you can have GNUS generate the
        !          4316:   header, for example:
        !          4317:   
        !          4318:     ;; idea by [email protected] (Jack Bryans)
        !          4319:     (defun add-lines-header ()
        !          4320:       ;; Count the number of lines in the current posting and insert the
        !          4321:       ;; header line Lines into the message.
        !          4322:       (save-excursion
        !          4323:         (goto-char (point-min))
        !          4324:         (if (search-forward "\n\n") ;; ***** I suspect this is wrong *****
        !          4325:           (let ((lines (count-lines (point) (point-max))))
        !          4326:             (forward-line -1)
        !          4327:             (insert-string "Lines: " lines "\n")))))
        !          4328:   
        !          4329:   Mike Williams <[email protected]> has written something similar.
        !          4330:   
        !          4331:   Ronald Florence <[email protected]> has a patch for GNUS that makes it
        !          4332:   calculate the `Lines:' header for incoming articles when necessary that
        !          4333:   works for sites with local news spools.
        !          4334:   
        !          4335:   David Lawrence <[email protected]> says that GNUS 3.14.1 generates Lines   +
        !          4336:   if gnus-news-system is Cnews.                                              +
        !          4337:   
        !          4338: 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
        !          4339:   
        !          4340:   Specifically, the error message is this:
        !          4341:   
        !          4342:     Error occurred processing gnus.el: File error (("Cannot open load file" "nntp"))
        !          4343:   
        !          4344:   This means that nntp.el is not in Emacs's load-path, which is easy to
        !          4345:   happen when compiling using the Makefile.
        !          4346:   
        !          4347:   Easiest solution: set EMACSLOADPATH in Makefile (idea from Glenn Gribble
        !          4348:   <[email protected]>):
        !          4349:   
        !          4350:     EMACSLOADPATH=/usr/local/emacs/lisp:.
        !          4351:     ELC= env EMACSLOADPATH=$(EMACSLOADPATH) emacs -batch -f batch-byte-compile
        !          4352:   
        !          4353:   Another solution, in hack.el put this:
        !          4354:   
        !          4355:     (defun gross-hack () (setq load-path (cons "/directory" load-path)))
        !          4356:   
        !          4357:   Then in Makefile:
        !          4358:   
        !          4359:     ELC= emacs -batch -l hack.el -f gross-hack -f batch-byte-compile
        !          4360:   
        !          4361: 177: How do I kill all articles in GNUS but those matching a pattern?
        !          4362:   
        !          4363:   Example:
        !          4364:   
        !          4365:     ;; kill everything
        !          4366:     (gnus-kill "subject" "" nil nil)
        !          4367:     ;; then restore stuff by our favorite poster
        !          4368:     (gnus-kill "from" "good-guy"
        !          4369:                (function
        !          4370:                 (lambda ()
        !          4371:                   (if (eq ?X (char-after (save-excursion
        !          4372:                                            (beginning-of-line 1)
        !          4373:                                            (point))))
        !          4374:                       (gnus-Subject-clear-mark-forward 1))))
        !          4375:                t)
        !          4376:   
        !          4377: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.