home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-1.iso / CDROM / FAQs / G++ / part4 < prev    next >
Encoding:
Internet Message Format  |  1996-10-11  |  38.7 KB

  1. Path: informatik.tu-muenchen.de!fu-berlin.de!news.mathworks.com!www.nntp.primenet.com!nntp.primenet.com!howland.erols.net!bloom-beacon.mit.edu!senator-bedfellow.mit.edu!the-tech!reuven
  2. From: Reuven M. Lerner <reuven@the-tech.mit.edu>
  3. Newsgroups: gnu.emacs.help,comp.emacs,comp.answers,news.answers
  4. Subject: GNU Emacs Frequently Asked Questions (FAQ), part 4/4
  5. Supersedes: <GNU-Emacs-FAQ-4_842468882@the-tech.mit.edu>
  6. Followup-To: gnu.emacs.help
  7. Date: 10 Oct 1996 20:18:01 GMT
  8. Organization: GNU Emacs FAQ Central
  9. Lines: 962
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 18 Nov 1996 20:17:53 GMT
  12. Message-ID: <GNU-Emacs-FAQ-4_844978673@the-tech.mit.edu>
  13. Reply-To: reuven@netvision.net.il
  14. NNTP-Posting-Host: the-tech.mit.edu
  15. Summary: Questions and answers having to do with GNU Emacs
  16. Keywords: GNU Emacs editors questions
  17. Originator: reuven@the-tech
  18. Xref: informatik.tu-muenchen.de gnu.emacs.help:43504 comp.emacs:28839 comp.answers:21582 news.answers:83797
  19.  
  20. Archive-name: GNU-Emacs-FAQ/part4
  21.  
  22. ------------------------------------------------------------
  23.  
  24. If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
  25. $" to get an overview of just the questions.  Then, when you want to look
  26. at the text of the answers, just type "C-x $".
  27.  
  28. To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
  29. C-r if that doesn't work.  Type RET to end the search.
  30.  
  31. If you have w3-mode installed (see question 111), you can visit ftp and
  32. HTTP uniform resource locators (URLs) by placing the cursor on the URL and
  33. typing M-x w3-follow-url-at-point.
  34.  
  35. The FAQ is posted in five parts; if you are missing a section or would
  36. prefer to read the FAQ in a single file, see question 22.
  37.  
  38. ------------------------------------------------------------
  39.  
  40.  
  41.  
  42. Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
  43.  
  44. 103: VM (View Mail) -- another mail reader within Emacs
  45.  
  46.   Author: Kyle Jones <kyle@uunet.uu.net>
  47.   Latest version: 5.96 (beta)
  48.   Anonymous FTP:
  49.     ftp://ftp.uu.net/networking/mail/vm/vm-5.96beta.tar.gz
  50.   Newsgroups and mailing lists:
  51.     Informational newsgroup/mailing list:
  52.       gnu.emacs.vm.info (newsgroup)
  53.       info-vm-request@uunet.uu.net (for subscriptions)
  54.       info-vm@uunet.uu.net (for submissions)
  55.     Bug reports newsgroup/mailing list:
  56.       gnu.emacs.vm.bug (newsgroup)
  57.       bug-vm-request@uunet.uu.net (for subscriptions)
  58.       bug-vm@uunet.uu.net (for submissions)
  59.  
  60. 104: SuperCite -- mail and news citation package within Emacs
  61.  
  62.   Author: Barry Warsaw <bwarsaw@cen.com>
  63.   Latest version: 3.1 (comes with Emacs 19)
  64.   Anonymous FTP:
  65.     ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/sc3.1.tar.Z
  66.   Mailing list:
  67.     supercite-request@merlin.cnri.reston.va.us (for subscriptions)
  68.     supercite@merlin.cnri.reston.va.us (for submissions)
  69.   NOTE: Superyank is an old version of SuperCite.
  70.  
  71. 105: Calc -- poor man's Mathematica within Emacs
  72.  
  73.   Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
  74.   Latest version: 2.02e
  75.   Anonymous FTP:
  76.     ftp://prep.ai.mit.edu/pub/gnu/calc-2.02e.tar.gz
  77.   NOTE: Unlike Wolfram Research, Dave has never threatened to sue
  78.         anyone for having a program with a similar command language to
  79.         Calc.  :-)
  80.  
  81. 106: VIPER -- vi emulation for Emacs
  82.  
  83.   Since Emacs 19.29, the preferred vi emulation in Emacs is VIPER (M-x
  84.   viper-mode RET), which comes with Emacs.  It extends and supersedes VIP
  85.   (including VIP 4.3) and provides vi emulation at several levels, from one
  86.   that closely follows vi to one that departs from vi in several
  87.   significant ways.
  88.  
  89.   For Emacs 19.28 and earlier, the following version of VIP is generally
  90.   better than the one distributed with Emacs:
  91.  
  92.   Author: Aamod Sane <sane@cs.uiuc.edu>
  93.   Latest version: 4.3
  94.   Anonymous FTP:
  95.     ftp://cs.uiuc.edu/pub/vip4.3.tar.Z
  96.     ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z
  97.  
  98. 107: AUC TeX -- enhanced LaTeX mode with debugging facilities
  99.  
  100.   Authors: Kresten Krab Thorup <krab@iesd.auc.dk>
  101.            and Per Abrahamsen <abraham@iesd.auc.dk>
  102.   Latest version: 9.5a
  103.   Anonymous FTP:
  104.     ftp://sunsite.auc.dk/packages/auctex/auctex-9.5a.tar.gz
  105.   Mailing list:
  106.     auc-tex-request@iesd.auc.dk (for subscriptions)
  107.     auc-tex@iesd.auc.dk (for submissions)
  108.     auc-tex_mgr@iesd.auc.dk (auc-tex development team)
  109.   World-Wide Web:
  110.     http://www.iesd.auc.dk/~amanda/auctex/
  111.  
  112. 108: Hyperbole -- extensible hypertext management system within Emacs
  113.  
  114.   Author: Bob Weiner <rsw@cs.brown.edu>
  115.   Latest version: 3.16
  116.   Anonymous FTP:
  117.     ftp://ftp.xemacs.org/pub/infodock/hyperbole-4.01.tar.gz
  118.   Mailing lists:
  119.     hyperbole-announce -- Hyperbole release announcements only.
  120.       Subscriptions:
  121.         To: hyperbole-request@cs.brown.edu
  122.         Subject: Add <mailbox@domain.name> to hyperbole-announce
  123.     hyperbole -- Hyperbole discussion.
  124.       Subscriptions:
  125.         To: hyperbole-request@cs.brown.edu
  126.         Subject: Add <mailbox@domain.name> to hyperbole
  127.       Submissions:
  128.         hyperbole@cs.brown.edu
  129.     NOTE: Any member of the hyperbole mailing list is automatically a
  130.           member of the hyperbole-announce mailing list.
  131.     NOTE: No .UUCP or ! addresses are allowed on these mailing lists.
  132.  
  133. 109: BBDB -- personal Info Rolodex integrated with mail/news readers
  134.  
  135.   Author: Jamie Zawinski <jwz@netscape.com>
  136.   Latest released version: 1.51
  137.   Available from:
  138.     http://home.netscape.com/people/jwz/bbdb/bbdb-1.51.tar.gz
  139.   Mailing lists:
  140.     info-bbdb-request@xemacs.org (for subscriptions)
  141.     info-bbdb@xemacs.org (for submissions)
  142.     bbdb-announce-request@xemacs.org (to be informed of new releases)
  143.   World-Wide Web:
  144.     http://home.netscape.com/people/jwz/bbdb/
  145.  
  146. 110: Ispell -- spell checker in C with interface for Emacs
  147.  
  148.   Author: Geoff Kuenning <geoff@itcorp.com>
  149.   Latest released version: 3.1.20
  150.   Anonymous FTP:
  151.    Master Sites:
  152.      ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz
  153.    Known Mirror Sites:
  154.      ftp://ftp.th-darmstadt.de/pub/dicts/ispell/
  155.      ftp://ftp.nl.net/pub/textproc/ispell/
  156.   World-Wide Web:
  157.      http://fmg-www.cs.ucla.edu/geoff/ispell.html
  158.  
  159.   NOTE: * Do not ask Geoff to send you the latest version of Ispell.
  160.           He does not have free e-mail.
  161.       
  162.         * This Ispell program is distinct from GNU Ispell 4.0. GNU
  163.           Ispell 4.0 is no longer a supported product.
  164.  
  165. 111: W3-mode -- A World-Wide Web browser inside of Emacs
  166.  
  167.   Author: Bill Perry <wmperry@spry.com>
  168.   Latest version: 2.2.26
  169.   Anonymous FTP:
  170.     ftp://ftp.cs.indiana.edu/pub/elisp/w3/w3.tar.gz
  171.   Mailing lists:
  172.     w3-announce-request@indiana.edu (to get announcements of new versions)
  173.     w3-beta-request@indiana.edu (for beta-testers of new versions)
  174.     w3-dev@indiana.edu (for developers of W3)
  175.  
  176. 112: EDB -- Database program for Emacs; replaces forms editing modes
  177.  
  178.   Author: Michael Ernst <mernst@theory.lcs.mit.edu>
  179.   Latest version: 1.21
  180.   Anonymous FTP:
  181.     ftp://theory.lcs.mit.edu/pub/emacs/edb
  182.   Newsgroups and mailing lists:
  183.     edb-list-request@theory.lcs.mit.edu (for subscriptions)
  184.     edb-list@theory.lcs.mit.edu (for submissions)
  185.  
  186. 113: Mailcrypt -- PGP interface within Emacs mail and news
  187.  
  188.   Authors: Patrick J. LoPresti (patl@lcs.mit.edu) and 
  189.            Jin S. Choi (jin@atype.com)  
  190.   Latest version: 3.4
  191.   Anonymous FTP:
  192.     ftp://cag.lcs.mit.edu/pub/patl/mailcrypt-3.4.tar.gz
  193.   World-Wide Web:
  194.     http://cag-www.lcs.mit.edu/mailcrypt/
  195.  
  196. 114: Patch -- program to apply "diffs" for updating files
  197.  
  198.   Author: Larry Wall <lwall@netlabs.com>
  199.   Latest version: 2.1
  200.   Anonymous FTP: See question 91
  201.  
  202.  
  203. Changing Key Bindings and Handling Key Binding Problems
  204.  
  205. 115: How do I bind keys (including function keys) to commands?
  206.  
  207.   Keys can be bound to commands either interactively or in your .emacs
  208.   file.  To interactively bind keys for all modes, type
  209.  
  210.     M-x global-set-key RET KEY CMD RET
  211.  
  212.   To bind a key just in the current major mode, type
  213.  
  214.     M-x local-set-key RET KEY CMD RET
  215.  
  216.   See "Key Bindings" in the on-line manual for further details.
  217.  
  218.   To bind keys on starting Emacs or on starting any given mode, use the
  219.   following "trick": First bind the key interactively, then immediately
  220.   type "C-x ESC ESC C-a C-k C-g".  Now, the command needed to bind the key
  221.   is in the kill ring, and can be yanked into your .emacs file.  If the key
  222.   binding is global, no changes to the command are required.  For example,
  223.  
  224.     (global-set-key (quote [f1]) (quote help-for-help))
  225.  
  226.   can be placed directly into the .emacs file.  If the key binding is
  227.   local, the command is used in conjunction with the "add-hook" command.
  228.   For example, in tex-mode, a local binding might be
  229.  
  230.     (add-hook 'tex-mode-hook
  231.       (function (lambda ()
  232.         (local-set-key (quote [f1]) (quote help-for-help))))
  233.  
  234.   NOTE: * Control characters in key sequences, in the form yanked from the
  235.           kill ring are given in their graphic form -- i.e., CTRL is shown
  236.           as `^', TAB as a set of spaces (usually 8), etc.  You may want to
  237.           convert these into their vector or string forms.
  238.  
  239.         * If a prefix key of the character sequence to be bound is already
  240.           bound as a complete key, then you must unbind it before the new
  241.           binding.  For example, if "ESC {" is previously bound:
  242.  
  243.                     (global-unset-key [?\e ?{])   ;;   or
  244.                      (local-unset-key [?\e ?{])
  245.  
  246.         * Aside from commands and "lambda lists," a vector or string also
  247.           can be bound to a key and thus treated as a macro.  For example:
  248.  
  249.            (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g])  ;;  or
  250.            (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g")
  251.  
  252. 116: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
  253.  
  254.   Usually, one of two things has happened.  In one case, the control
  255.   character in the key sequence has been misspecified (e.g. "C-f" used
  256.   instead of "\C-f" within a Lisp expression).  In the other case, a
  257.   "prefix key" in the keystroke sequence you were trying to bind was
  258.   already bound as a "complete key."  Historically, the "ESC [" prefix was
  259.   usually the problem, in which case you should evaluate either of these
  260.   forms before attempting to bind the key sequence:
  261.  
  262.     (global-unset-key [?\e ?[])  ;;  or
  263.     (global-unset-key "\e[")
  264.  
  265. 117: Why doesn't this [terminal or window-system setup] code work in my
  266.      .emacs file, but it works just fine after Emacs starts up?
  267.  
  268.   During startup, Emacs initializes itself according to a given code/file
  269.   order.  If some of the code executed in your .emacs file needs to be
  270.   postponed until the initial terminal or window-system setup code has been
  271.   executed but is not, then you will experience this problem (this
  272.   code/file execution order is not enforced after startup).
  273.  
  274.   To postpone the execution of Emacs Lisp code until after terminal or
  275.   window-system setup, treat the code as a "lambda list" and set the value
  276.   of either the "term-setup-hook" or "window-setup-hook" variable to this
  277.   "lambda function."  For example,
  278.  
  279.     (setq term-setup-hook
  280.           (function
  281.            (lambda ()
  282.              (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
  283.                     ;; Make vt220's "Do" key behave like M-x:
  284.                     (global-set-key [do] 'execute-extended-command))
  285.                    ))))
  286.  
  287.   For information on what Emacs does every time it is started, see the
  288.   lisp/startup.el file.
  289.  
  290. 118: How do I use function keys under X Windows?
  291.  
  292.   With Emacs 19, functions keys under X are bound like any other key.  See
  293.   question 115 for details.
  294.  
  295. 119: How do I tell what characters or symbols my function or arrow keys
  296.      emit?
  297.  
  298.   Type "C-h c" then the function or arrow keys.  The command will return
  299.   either a function key symbol or character sequence (see the Emacs on-line
  300.   documentation for an explanation).  This works for other keys as well.
  301.  
  302. 120: How do I set the X key "translations" for Emacs?
  303.  
  304.   Emacs is not written using the Xt library by default, so there are no
  305.   "translations" to be set.  (We aren't sure how to set such translations
  306.   if you do build Emacs with Xt; please let us know if you've done this!)
  307.  
  308.   The only way to affect the behavior of keys within Emacs is through
  309.   "xmodmap" (outside Emacs) or "define-key" (inside Emacs).  The
  310.   "define-key" command should be used in conjunction with the
  311.   "function-key-map" map.  For instance,
  312.  
  313.      (define-key function-key-map [M-tab] [?\M-\t])
  314.  
  315.   defines the "M-TAB" key sequence.
  316.  
  317. 121: How do I handle C-s and C-q being used for flow control?
  318.  
  319.   C-s and C-q are used in the XON/XOFF flow control protocol.  This messes
  320.   things up when you're using Emacs, because Emacs binds these keys to
  321.   commands by default.  Because Emacs won't honor them as flow control
  322.   characters, too many of these characters are not passed on and overwhelm
  323.   output buffers.  Sometimes, intermediate software using XON/XOFF flow
  324.   control will prevent Emacs from ever seeing C-s and C-q.
  325.  
  326.   Possible solutions:
  327.  
  328.   * Disable the use of C-s and C-q for flow control.
  329.  
  330.     You need to determine the cause of the flow control.
  331.  
  332.     * your terminal
  333.  
  334.       Your terminal may use XON/XOFF flow control to have time to display
  335.       all the characters it receives.  For example, VT series terminals do
  336.       this.  It may be possible to turn this off from a setup menu.  For
  337.       example, on a VT220 you may select "No XOFF" in the setup menu.  This
  338.       is also true for some terminal emulation programs on PCs.
  339.  
  340.       When you turn off flow control at the terminal, you will also need to
  341.       turn it off at the other end, which might be at the computer you are
  342.       logged in to or at some terminal server in between.
  343.  
  344.       If you turn off flow control, characters may be lost; using a printer
  345.       connected to the terminal may fail.  You may be able to get around
  346.       this problem by modifying the "termcap" entry for your terminal to
  347.       include extra NUL padding characters.
  348.  
  349.     * a modem
  350.  
  351.       If you are using a dialup connection, the modems may be using
  352.       XON/XOFF flow control.  It's not clear how to get around this.
  353.  
  354.     * a router or terminal server
  355.  
  356.       Some network box between the terminal and your computer may be using
  357.       XON/XOFF flow control.  It may be possible to make it use some other
  358.       kind of flow control.  You will probably have to ask your local
  359.       network experts for help with this.
  360.  
  361.     * tty and/or pty devices
  362.  
  363.       If your connection to Emacs goes through multiple tty and/or pty
  364.       devices, they may be using XON/XOFF flow control even when it is not
  365.       necessary.
  366.  
  367.       Eirik Fuller <eirik@theory.tn.cornell.edu> writes:
  368.  
  369.         Some versions of "rlogin" (and possibly telnet) do not pass flow
  370.         control characters to the remote system to which they connect.  On
  371.         such systems, Emacs on the remote system cannot disable flow
  372.         control on the local system.  Sometimes "rlogin -8" will avoid this
  373.         problem.
  374.  
  375.         One way to cure this is to disable flow control on the local host
  376.         (the one running rlogin, not the one running rlogind) using the
  377.         stty command, before starting the rlogin process.  On many systems,
  378.         "stty start u stop u" will do this.
  379.  
  380.         Some versions of "tcsh" will prevent even this from working.  One
  381.         way around this is to start another shell before starting rlogin,
  382.         and issue the stty command to disable flow control from that shell.
  383.  
  384.       Use "stty -ixon" instead of "stty start u stop u" on some systems.
  385.  
  386.   * Make Emacs speak the XON/XOFF flow control protocol.
  387.  
  388.     You can make Emacs treat C-s and C-q as flow control characters by
  389.     evaluating the form
  390.  
  391.       (enable-flow-control)
  392.  
  393.     to unconditionally enable flow control or
  394.  
  395.       (enable-flow-control-on "vt100" "h19")
  396.  
  397.     (using your terminal names instead of "vt100" or "h19") to enable
  398.     selectively.  These commands will automatically swap `C-s' and `C-q' to
  399.     `C-\' and `C-^'.  Variables can be used to change the default swap keys
  400.     ("flow-control-c-s-replacement" and "flow-control-c-q-replacement").
  401.  
  402.     If you are fixing this for yourself, simply put the form in your .emacs
  403.     file.  If you are fixing this for your entire site, the best place to
  404.     put it is in the lisp/site-start.el file.  Putting this form in
  405.     lisp/default.el has the problem that if the user's .emacs file has an
  406.     error, this will prevent lisp/default.el from being loaded and Emacs
  407.     may be unusable for the user, even for correcting their .emacs file
  408.     (unless they're smart enough to move it to another name).
  409.  
  410.     For further discussion of this issue, read the file PROBLEMS (in the
  411.     top-level directory when you unpack the Emacs source).
  412.  
  413. 122: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
  414.      out?
  415.  
  416.   To bind `C-s' and `C-q', use either "enable-flow-control" or
  417.   "enable-flow-control-on".  See question 121 for usage and implementation
  418.   details.
  419.  
  420.   To bind other keys, use "keyboard-translate".  See question 125 for usage
  421.   details.  To do this for an entire site, you should swap the keys in
  422.   lisp/site-start.el.  See question 121 for an explanation of why
  423.   lisp/default.el should not be used.
  424.  
  425.   NOTE: * If you do this for an entire site, the users will be confused by
  426.           the disparity between what the documentation says and how Emacs
  427.           actually behaves.
  428.  
  429. 123: Why does the "Backspace" key invoke help?
  430.  
  431.   The "Backspace" key (on most keyboards) generates ASCII code 8.  `C-h'
  432.   sends the same code.  In Emacs by default `C-h' invokes help-command.
  433.   This is intended to be easy to remember since the first letter of "help"
  434.   is `h'.  The easiest solution to this problem is to use `C-h' (and
  435.   Backspace) for help and DEL (the Delete key) for deleting the previous
  436.   character.
  437.  
  438.   For many people this solution may be problematic:
  439.  
  440.   * They normally use Backspace outside of Emacs for deleting the previous
  441.     character.  This can be solved by making DEL the command for deleting
  442.     the previous character outside of Emacs.  On many Unix systems, this
  443.     command will remap DEL:
  444.  
  445.       stty erase `^?'
  446.  
  447.   * The person may prefer using the Backspace key for deleting the previous
  448.     character because it is more conveniently located on their keyboard or
  449.     because they don't even have a separate Delete key.  In this case, the
  450.     Backspace key should be made to behave like Delete.  There are several
  451.     methods.
  452.  
  453.   * Some terminals (e.g., VT3## terminals) allow the character generated by
  454.     the Backspace key to be changed from a setup menu.
  455.  
  456.   * You may be able to get a keyboard that is completely programmable.
  457.  
  458.   * Under X or on a dumb terminal, it is possible to swap the Backspace and
  459.     Delete keys inside Emacs:
  460.  
  461.       (keyboard-translate ?\C-h ?\C-?)
  462.  
  463.     See question 125 for further details of "keyboard-translate".
  464.  
  465.   * Another approach is to switch key bindings and put help on "C-x h"
  466.     instead:
  467.  
  468.       (global-set-key [?\C-h] 'delete-backward-char)
  469.       (global-set-key [?\C-x ?h] 'help-command)
  470.                                ;; overrides mark-whole-buffer
  471.  
  472.     Other popular key bindings for help are M-? and "C-x ?".
  473.  
  474.     NOTE: * Don't try to bind DEL to help-command, because there are many
  475.             modes that have local bindings of DEL that will interfere.
  476.  
  477. 124: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
  478.  
  479.   Good question!
  480.  
  481. 125: How do I "swap" two keys?
  482.  
  483.   In Emacs 19, you can swap two keys (or key sequences) by using the
  484.   "keyboard-translate" function.  For example, to turn `C-h' into DEL and
  485.   DEL to `C-h', use
  486.  
  487.         (keyboard-translate ?\C-h ?\C-?)  ; translate `C-h' to DEL
  488.         (keyboard-translate ?\C-? ?\C-h)  ; translate DEL to `C-h'.
  489.  
  490.   The first key sequence of the pair after the function identifies what is
  491.   produced by the keyboard; the second, what is matched for in the keymaps.
  492.  
  493.   Keyboard translations are not the same as key bindings in keymaps.  Emacs
  494.   contains numerous keymaps that apply in different situations, but there
  495.   is only one set of keyboard translations, and it applies to every
  496.   character that Emacs reads from the terminal.  Keyboard translations take
  497.   place at the lowest level of input processing; the keys that are looked
  498.   up in keymaps contain the characters that result from keyboard
  499.   translation.
  500.  
  501.   Also see "Keyboard Translations" in the on-line manual.
  502.  
  503. 126: How do I produce C-XXX with my keyboard?
  504.  
  505.   On terminals (but not under X), some common "aliases" are:
  506.  
  507.             C-2  or  C-SPC         for      C-@
  508.             C-6                    for      C-^
  509.             C-7  or  C-S--         for      C-_
  510.             C-4                    for      C-\
  511.             C-5                    for      C-]
  512.             C-/                    for      C-?
  513.  
  514.   Often other aliases exist; use the "C-h c" command and try `CTRL' with
  515.   all of the digits on your keyboard to see what gets generated.  You can
  516.   also try the "C-h w" command if you know the name of the command.
  517.  
  518. 127: What if I don't have a Meta key?
  519.  
  520.   Instead of typing "M-a", you can type "ESC a".  In fact, Emacs converts
  521.   M-a internally into "ESC a" anyway (depending on the value of
  522.   meta-prefix-char).  Note that you press "Meta" and `a' together, while
  523.   you press `ESC', release it, and then press `a'.
  524.  
  525. 128: What if I don't have an Escape key?
  526.  
  527.   Type `C-[' instead.  This should send ASCII code 27 just like an Escape
  528.   key would.  `C-3' may also work on some terminal (but not under X).  For
  529.   many terminals (notably DEC terminals) `F11' generates ESC.  If not, the
  530.   following form can be used to bind it:
  531.  
  532.   (define-key function-key-map [f11] [?\e])  ; F11 is the documented ESC
  533.                                              ; replacement on DEC terminals.
  534.  
  535. 129: Can I make my "Compose Character" key behave like a Meta key?
  536.  
  537.   On a dumb terminal such as a VT220, no.  It is rumored that certain VT220
  538.   clones could have their Compose key configured this way.  If you're using
  539.   X, you might be able to do this with the "xmodmap" program.
  540.  
  541. 130: How do I bind a combination of modifier key and function key?
  542.  
  543.   With Emacs 19 you can represent modified function keys in vector format
  544.   by adding prefixes to the function key symbol.  For example (from the
  545.   on-line documentation):
  546.  
  547.            (global-set-key [?\C-x right] 'forward-page)
  548.  
  549.   where "?\C-x" is the Lisp character constant for the character "C-x".
  550.  
  551.   You can use the modifier keys Control, Meta, Hyper, Super, Alt, and Shift
  552.   with function keys.  To represent these modifiers, prepend the strings
  553.   "C-", "M-", "H-", "s-", "A-", and "S-" to the symbol name.  Here is how
  554.   to make "Hyper-Meta-RIGHT" move forward a word:
  555.  
  556.            (global-set-key [H-M-right] 'forward-word)
  557.  
  558.   NOTE: * Not all modifiers are permitted in all situations.  Hyper, Super,
  559.           and Alt are available only under X (provided there are such
  560.           keys).  Non-ASCII keys and mouse events (e.g. "C-=" and
  561.           "mouse-1") also fall under this category.
  562.  
  563.   See question 115 for general key binding instructions.
  564.  
  565. 131: Why doesn't my Meta key work in an xterm window?
  566.  
  567.   Try all of these methods before asking for further help:
  568.  
  569.   * You may have big problems using "mwm" as your window manager.  {Does
  570.     anyone know a good generic solution to allow the use of the Meta key in
  571.     Emacs with mwm?}
  572.  
  573.   * For X11: Make sure it really is a Meta key.  Use "xev" to find out what
  574.     keysym your Meta key generates.  It should be either Meta_L or Meta_R.
  575.     If it isn't, use xmodmap to fix the situation.
  576.  
  577.   * Make sure the pty the xterm is using is passing 8 bit characters.
  578.     "stty -a" (or "stty everything") should show "cs8" somewhere.  If it
  579.     shows "cs7" instead, use "stty cs8 -istrip" (or "stty pass8") to fix
  580.     it.
  581.  
  582.   * If there is an rlogin connection between the xterm and the Emacs, the
  583.     "-8" argument may need to be given to rlogin to make it pass all 8 bits
  584.     of every character.
  585.  
  586.   * If the Emacs is running under Ultrix, it is reported that evaluating
  587.     (set-input-mode t nil) helps.
  588.  
  589.   * If all else fails, you can make xterm generate "ESC W" when you type
  590.     M-W, which is the same conversion Emacs would make if it got the M-W
  591.     anyway.  In X11R4, the following resource specification will do this:
  592.  
  593.       XTerm.VT100.EightBitInput: false
  594.  
  595.     (This changes the behavior of the insert-eight-bit action.)
  596.  
  597.     With older xterms, you can specify this behavior with a translation:
  598.  
  599.       XTerm.VT100.Translations: #override \
  600.         Meta<KeyPress>: string(0x1b) insert()
  601.  
  602.     You might have to replace "Meta" with "Alt".
  603.  
  604. 132: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
  605.  
  606.   This is a result of an internationalization extension in X11R4 and the
  607.   fact that HP is now using this extension.  Emacs assumes that
  608.   XLookupString returns the same result regardless of the Meta key state
  609.   which is no longer necessarily true.  Until Emacs is fixed, the temporary
  610.   kludge is to run this command after each time the X server is started but
  611.   preferably before any xterm clients are:
  612.  
  613.     xmodmap -e 'remove mod1 = Mode_switch'
  614.  
  615.   NOTE: This will disable the use of the extra keysyms systemwide, which
  616.   may be undesirable if you actually intend to use them.
  617.  
  618.  
  619. Using Emacs with Alternate Character Sets
  620.  
  621. 133: How do I make Emacs display 8-bit characters?
  622.  
  623.   Emacs 19 has built-in support for 8-bit characters.  Here is an excerpt
  624.   from the "European Display" page of the on-line manual:
  625.  
  626.     Some European languages use accented letters and other special symbols.
  627.     The ISO 8859 Latin-1 character set defines character codes for many
  628.     European languages in the range 160 to 255.
  629.  
  630.     Emacs can display those characters according to Latin-1, provided the
  631.     terminal or font in use supports them.  The "M-x
  632.     standard-display-european" command toggles European character display
  633.     mode.  With a numeric argument, "M-x standard-display-european" enables
  634.     European character display if and only if the argument is positive.
  635.  
  636.     Some operating systems let you specify the language you are using by
  637.     setting a locale.  Emacs handles one common special case of this: if
  638.     your locale name for character types contains the string "8859-1" or
  639.     "88591", Emacs automatically enables European character display mode
  640.     when it starts up.
  641.  
  642. 134: How do I input 8-bit characters?
  643.  
  644.   Again, from the "European Display" page of the on-line manual:
  645.  
  646.     If you enter non-ASCII ISO Latin-1 characters often, you might find ISO
  647.     Accents mode convenient.  When this minor mode is enabled, the
  648.     characters ``', `'', `"', `^', `/' and `~' modify the following letter
  649.     by adding the corresponding diacritical mark to it, if possible.  To
  650.     enable or disable ISO Accents mode, use the command "M-x
  651.     iso-accents-mode".  This command affects only the current buffer.
  652.  
  653.     To enter one of those six special characters, type the character,
  654.     followed by a space.  Some of those characters have a corresponding
  655.     "dead key" accent character in the ISO Latin-1 character set; to enter
  656.     that character, type the corresponding ASCII character twice.  For
  657.     example, `''' enters the Latin-1 character acute-accent (character code
  658.     0264).
  659.  
  660. 135: Where can I get an Emacs that handles kanji, Chinese, or other
  661.      character sets?
  662.  
  663.   MULE (MULtilingual Enhancement of Emacs) can handle many character sets
  664.   at once, a feature that will eventually be merged into Emacs. MULE is
  665.   available at
  666.  
  667.     ftp://sh.wide.ad.jp/JAPAN/mule/mule-19.33-gamma.taz
  668.  
  669. 136: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
  670.  
  671.   Joel M. Hoffman <joel@exc.com> has written a Lisp package called
  672.   hebrew.el that allows right-to-left editing of Hebrew.  It reportedly
  673.   works out of the box with Emacs 19, but requires patches for Emacs 18.
  674.   Write to Joel if you want the patches or package.
  675.  
  676.   Hebrew.el requires a Hebrew screen font, but no other Hardware support.
  677.   Joel has a screen font for PCs running MS-DOS and Linux.
  678.  
  679.   You might also try to query archie for files named with "hebrew"; several
  680.   ftp sites in Israel may also have the necessary files.
  681.  
  682.  
  683. Mail and News
  684.  
  685. 137: How do I change the included text prefix in mail/news followups?
  686.  
  687.   If you read mail with Rmail or news with Gnus, set the variable
  688.   mail-yank-prefix.  For VM, set vm-included-text-prefix.  For mh-e, set
  689.   mh-ins-buf-prefix.
  690.  
  691.   For fancier control of citations, use SuperCite.  See question 104.
  692.  
  693.   To prevent Emacs from including various headers of the replied-to
  694.   message, set the value of mail-yank-ignored-headers to an appropriate
  695.   regexp.
  696.  
  697. 138: How do I save a copy of outgoing mail?
  698.  
  699.   You can either mail yourself a copy by including a "BCC:" header in the
  700.   mail message, or store a copy of the message directly to a file by
  701.   including an "FCC:" header.
  702.  
  703.   If you use standard mail, you can automatically create a "BCC:" to
  704.   yourself by putting
  705.  
  706.     (setq mail-self-blind t)
  707.  
  708.   in your .emacs file.  You can automatically include an "FCC:" field by
  709.   putting something like the following in your .emacs file:
  710.  
  711.     (setq mail-archive-file-name (expand-file-name "~/outgoing"))
  712.  
  713.   The output file will be in Unix mail format, which can be read directly
  714.   by VM, but not always by Rmail.  See question 140.
  715.  
  716.   If you use mh-e, add an "FCC:" or "BCC:" field to your components file.
  717.  
  718.   It does not work to put "set record filename" in the .mailrc file.
  719.  
  720. 139: Why doesn't Emacs expand my aliases when sending mail?
  721.  
  722.   * You must separate multiple addresses in the headers of the mail buffer
  723.     with commas.  This is because Emacs supports RFC822 standard addresses
  724.     like this one:
  725.  
  726.       To: Willy Smith <wks@xpnsv.lwyrs.com>
  727.  
  728.     However, you do not need to -- and probably should not, unless your
  729.     system's version of /usr/ucb/mail (aka mailx) supports RFC822 --
  730.     separate addresses with commas in your ~/.mailrc file.
  731.  
  732.   * Emacs normally only reads the ".mailrc" file once per session, when you
  733.     start to compose your first mail message.  If you edit .mailrc, you can
  734.     type "M-x rebuild-mail-abbrevs RET" to make Emacs reread your ~/.mailrc
  735.     file.
  736.  
  737.   * If you like, you can expand mail aliases as abbrevs, as soon as you
  738.     type them in.  To enable this feature, execute the following:
  739.  
  740.        (add-hook 'mail-setup-hook 'mail-abbrevs-setup)
  741.  
  742.     Note that the aliases are expanded automatically only after you type
  743.     RET or a punctuation character (e.g. `,').  You can force their
  744.     expansion by moving point to the end of the alias and typing "C-x a e"
  745.     (M-x expand-abbrev).
  746.  
  747. 140: Why does Rmail think all my saved messages are one big message?
  748.  
  749.   A file created through the FCC: field in a message is in Unix mail
  750.   format, not the format that Rmail uses (BABYL format).  Rmail will try to
  751.   convert a Unix mail file into BABYL format on input, but sometimes it
  752.   makes errors.  For guaranteed safety, you can make the saved-messages
  753.   file be an inbox for your Rmail file by using the function
  754.   set-rmail-inbox-list.
  755.  
  756. 141: How can I sort the messages in my Rmail folder?
  757.  
  758.   In Rmail, type "C-c C-s C-h" to get a list of sorting functions and their
  759.   key bindings.
  760.  
  761. 142: Why does Rmail need to write to /usr/spool/mail?
  762.  
  763.   This is the behavior of the "movemail" program which Rmail uses.  This
  764.   indicates that movemail is configured to use lock files.
  765.  
  766.   RMS writes:
  767.  
  768.     Certain systems require lock files to interlock access to mail files.
  769.     On these systems, movemail must write lock files, or you risk losing
  770.     mail.  You simply must arrange to let movemail write them.
  771.  
  772.     Other systems use the flock system call to interlock access.  On these
  773.     systems, you should configure movemail to use flock.
  774.  
  775. 143: How do I recover my mail files after Rmail munges their format?
  776.  
  777.   If you have just done rmail-input on a file and you don't want to save it
  778.   in Rmail's format (called BABYL), just kill the buffer (with C-x k).
  779.  
  780.   If you typed M-x rmail and it read some messages out of your inbox and
  781.   you want to put them in a Unix mail file, use C-o on each message.
  782.  
  783.   If you want to convert an existing file from BABYL format to Unix mail
  784.   format, use the command M-x unrmail: it will prompt you for the input and
  785.   output file names.
  786.  
  787. 144: How can I get my favorite Emacs mail package to support MIME?  
  788.  
  789.   Look at the Emacs MIME FAQ, maintained by MacDonald Hall Jackson
  790.   <trey@cs.berkeley.edu> at
  791.  
  792.     http://bmrc.berkeley.edu/~trey/emacs/mime.html
  793.  
  794. 145: How do I make Emacs automatically start my mail/news reader?
  795.  
  796.   To start Emacs in Gnus:
  797.  
  798.     emacs -f gnus
  799.  
  800.   in Rmail:
  801.  
  802.     emacs -f rmail
  803.  
  804.   A more convenient way to start with Gnus:
  805.  
  806.     alias gnus 'emacs -f gnus'
  807.     gnus
  808.  
  809.   It is probably unwise to automatically start your mail or news reader
  810.   from your .emacs file.  This would cause problems if you needed to run
  811.   two copies of Emacs at one time.  Also, this would make it difficult for
  812.   you to start Emacs quickly when you needed to.
  813.  
  814. 146: How do I read news under Emacs?
  815.  
  816.   Use M-x gnus.  It is documented in Info (see question 14).
  817.  
  818. 147: Why doesn't Gnus work via NNTP?
  819.  
  820.   There is a bug in NNTP version 1.5.10, such that when multiple requests
  821.   are sent to the NNTP server, the server only handles the first one before
  822.   blocking waiting for more input which never comes.  NNTP version 1.5.11
  823.   claims to fix this.
  824.  
  825.   You can work around the bug inside Emacs like this:
  826.  
  827.     (setq nntp-maximum-request 1)
  828.  
  829.   You can find out what version of NNTP your news server is running by
  830.   telnetting to the NNTP port (usually 119) on the news server machine
  831.   (i.e., "telnet server-machine 119").  The server should give its version
  832.   number in the welcome message.  Type "quit" to get out.
  833.  
  834.   Also see question 74 in this FAQ for some additional ideas.
  835.  
  836. 148: How do I view news articles with embedded underlining (e.g.,
  837.      ClariNews)?
  838.  
  839.   Underlining appears like this:
  840.  
  841.     _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg
  842.  
  843.   Per Abrahamsen <amanda@iesd.auc.dk> suggests using the following code,
  844.   which uses the underline face to turn such text into true underlining:
  845.  
  846.     (defun gnus-article-prepare-overstrike ()
  847.       ;; Prepare article for overstrike commands.
  848.       (save-excursion
  849.         (set-buffer gnus-article-buffer)
  850.         (let ((buffer-read-only nil))
  851.         (goto-char (point-min))
  852.           (while (search-forward "\b" nil t)
  853.             (let ((next (following-char))
  854.                   (previous (char-after (- (point) 2))))
  855.               (cond ((eq next previous)
  856.                      (delete-region (- (point) 2) (point))
  857.                      (put-text-property (point) (1+ (point))
  858.                                         'face 'bold))
  859.                     ((eq next ?_)
  860.                      (delete-region (1- (point)) (1+ (point)))
  861.                      (put-text-property (1- (point)) (point)
  862.                                         'face 'underline))
  863.                     ((eq previous ?_)
  864.                      (delete-region (- (point) 2) (point))
  865.                      (put-text-property (point) (1+ (point))
  866.                                         'face 'underline))))))))
  867.  
  868.     (add-hook 'gnus-article-prepare-hook 'gnus-article-prepare-overstrike)
  869.  
  870.   If you prefer to do away with underlining altogether, you can
  871.   destructively remove it with M-x ununderline-region; do this
  872.   automatically via
  873.  
  874.     (add-hook 'gnus-article-prepare-hook
  875.       '(lambda () (ununderline-region (point-min) (point-max))))
  876.  
  877. 149: How do I save all the items of a multi-part posting in Gnus?
  878.  
  879.   Use gnus-uu.  Type C-c C-v C-h in the Gnus summary buffer to see a list
  880.   of available commands.
  881.  
  882. 150: How do I make Gnus start up faster?
  883.  
  884.   From the Gnus FAQ (see question 156):
  885.  
  886.    Pranav Kumar Tiwari <pktiwari@eos.ncsu.edu> writes: I posted the same
  887.    query recently and I got an answer to it. I am going to repeat the
  888.    answer. What you need is a newer version of gnus, version 5.0.4+. I am
  889.    using 5.0.12 and it works fine with me with the following settings:
  890.  
  891.     (setq gnus-check-new-newsgroups nil
  892.           gnus-read-active-file 'some
  893.           gnus-nov-is-evil nil
  894.           gnus-select-method '(nntp gnus-nntp-server))
  895.  
  896. 151: How do I catch up all newsgroups in Gnus?
  897.  
  898.   In the "*Newsgroup*" buffer, type the following magical incantation:
  899.  
  900.     M-< C-x ( c y C-x ) M-0 C-x e
  901.  
  902.   Leave off the "M-<" if you only want to catch up from point to the end of
  903.   the "*Newsgroup" buffer.
  904.  
  905. 152: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control
  906.      headers?
  907.  
  908.   Gnus will complain that the "Newsgroups:", "Keywords:", and "Control:"
  909.   headers are "Unknown header" fields.
  910.  
  911.   For the "Newsgroups:" header, there is an easy workaround: kill on the
  912.   "Xref" header instead, which will be present on any cross-posted article
  913.   (as long as your site carries the cross-post group).
  914.  
  915.   If you really want to kill on one of these headers, you can do it like
  916.   this:
  917.  
  918.     (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)")
  919.  
  920. 153: How do I get rid of flashing messages in Gnus for slow connections?
  921.  
  922.   Set nntp-debug-read to nil.
  923.  
  924. 154: Why is catch up slow in Gnus?
  925.  
  926.   Because Gnus is marking crosspostings read.  You can control this with
  927.   the variable gnus-use-cross-reference.
  928.  
  929. 155: Why does Gnus hang for a long time when posting?
  930.  
  931.   David Lawrence <tale@uunet.uu.net> explains:
  932.  
  933.     The problem is almost always interaction between NNTP and C News.  NNTP
  934.     POST asks C News's inews to not background itself but rather hang
  935.     around and give its exit status so it knows whether the post was
  936.     successful.  (That wait will on some systems not return the exit status
  937.     of the waited for job is a different sort of problem.)  It ends up
  938.     taking a long time because inews is calling relaynews, which often
  939.     waits for another relaynews to free the lock on the news system so it
  940.     can file the article.
  941.  
  942.     My preferred solution is to change inews to not call relaynews, but
  943.     rather use newsspool.  This loses some error-catching functionality,
  944.     but is for the most part safe as inews will detect a lot of the errors
  945.     on its own.  The C News folks have sped up inews, too, so speed should
  946.     look better to most folks as that update propagates around.
  947.  
  948. 156: Where can I find out more about Gnus?
  949.  
  950.   Look for the Gnus FAQ, available at
  951.  
  952.     http://www.miranova.com/~steve/gnus-faq.html
  953.  
  954. ------------------------------------------------------------
  955. Copyright 1994, 1995, 1996 Reuven M. Lerner
  956. Copyright 1992, 1993 Steven Byrnes
  957. Copyright 1990, 1991, 1992 Joseph Brian Wells
  958.  
  959. This list of frequently asked questions about GNU Emacs with answers
  960. ("FAQ") may be translated into other languages, transformed into other
  961. formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information.
  962.  
  963. The same conditions apply to any derivative of the FAQ as apply to the FAQ
  964. itself.  Every copy of the FAQ must include this notice or an approved
  965. translation, information on who is currently maintaining the FAQ and how to
  966. contact them (including their e-mail address), and information on where the
  967. latest version of the FAQ is archived (including FTP information).
  968.  
  969. The FAQ may be copied and redistributed under these conditions, except that
  970. the FAQ may not be embedded in a larger literary work unless that work
  971. itself allows free copying and redistribution.
  972.  
  973. ------------------------------------------------------------
  974.  
  975. People who helped with this version of the FAQ:
  976.  
  977. Ethan Bradford <ethanb@u.washington.edu>, William G. Dubuque
  978. <wgd@martigny.ai.mit.edu>, Michael Ernst <mernst@theory.lcs.mit.edu>,
  979. and Denby Wong <3dw16@qlink.QueensU.CA>.
  980.  
  981.  
  982.