home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / GNU-Emacs-FAQ / part4 < prev    next >
Encoding:
Internet Message Format  |  1999-01-14  |  27.3 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!hecate.umd.edu!haven.umd.edu!dca1-feed4.news.digex.net!dca1-hub1.news.digex.net!digex!newshub.northeast.verio.net!news-peer.gip.net!news-dc.gip.net!news.gsl.net!gip.net!news-feed.netvision.net.il!194.90.1.15.MISMATCH!news!not-for-mail
  2. From: Reuven M. Lerner <reuven@netvision.net.il>
  3. Newsgroups: gnu.emacs.help,comp.emacs,comp.answers,news.answers
  4. Subject: GNU Emacs Frequently Asked Questions (FAQ), part 4/5
  5. Supersedes: <GNU-Emacs-FAQ-4_906123014@news.netvision.net.il>
  6. Followup-To: gnu.emacs.help
  7. Date: 13 Jan 1999 01:18:15 +0200
  8. Organization: GNU Emacs FAQ Central
  9. Lines: 652
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 20 Feb 1999 22:57:05 GMT
  12. Message-ID: <GNU-Emacs-FAQ-4_916181825@news.netvision.net.il>
  13. Reply-To: reuven@netvision.net.il
  14. NNTP-Posting-Host: ras7-p79.hfa.netvision.net.il
  15. X-Trace: news.netvision.net.il 916183256 25578 62.0.149.79 (12 Jan 1999 23:20:56 GMT)
  16. X-Complaints-To: abuse@netvision.net.il
  17. NNTP-Posting-Date: 12 Jan 1999 23:20:56 GMT
  18. Summary: Questions and answers having to do with GNU Emacs
  19. Keywords: GNU Emacs editors questions
  20. Xref: senator-bedfellow.mit.edu gnu.emacs.help:60642 comp.emacs:50865 comp.answers:34642 news.answers:148791
  21.  
  22. Archive-name: GNU-Emacs-FAQ/part4
  23.  
  24. ------------------------------------------------------------
  25.  
  26. If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
  27. $" to get an overview of just the questions.  Then, when you want to look
  28. at the text of the answers, just type "C-x $".
  29.  
  30. To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
  31. C-r if that doesn't work.  Type RET to end the search.
  32.  
  33. If you have w3-mode installed (see question 111), you can visit ftp and
  34. HTTP uniform resource locators (URLs) by placing the cursor on the URL and
  35. typing M-x w3-follow-url-at-point.
  36.  
  37. The FAQ is posted in five parts; if you are missing a section or would
  38. prefer to read the FAQ in a single file, see question 22.
  39.  
  40. ------------------------------------------------------------
  41.  
  42.  
  43.  
  44. Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
  45.  
  46. 104: VM (View Mail) -- another mail reader within Emacs, with MIME support
  47.  
  48.   Author: Kyle Jones <kyle@uunet.uu.net>
  49.   Latest version: 6.62
  50.   Anonymous FTP:
  51.     ftp://ftp.uu.net/networking/mail/vm/vm.tar.gz
  52.   Newsgroups and mailing lists:
  53.     Informational newsgroup/mailing list:
  54.       gnu.emacs.vm.info (newsgroup)
  55.       info-vm-request@uunet.uu.net (for subscriptions)
  56.       info-vm@uunet.uu.net (for submissions)
  57.     Bug reports newsgroup/mailing list:
  58.       gnu.emacs.vm.bug (newsgroup)
  59.       bug-vm-request@uunet.uu.net (for subscriptions)
  60.       bug-vm@uunet.uu.net (for submissions)
  61.   NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people
  62.   seem to use it without too much trouble).  Users of Emacs 20 might prefer
  63.   to use VM 5.97, available from the same FTP site.
  64.  
  65. 105: Supercite -- mail and news citation package within Emacs
  66.  
  67.   Author: Barry Warsaw <bwarsaw@cen.com>
  68.   Latest version: 3.1 (comes with Emacs 20)
  69.  
  70.   World Wide Web:
  71.     http://www.python.org/emacs/supercite.tar.gz
  72.   Mailing list:
  73.     supercite-request@python.org (for subscriptions)
  74.     supercite@python.org (for submissions)
  75.   NOTE: Superyank is an old version of Supercite.
  76.  
  77. 106: Calc -- poor man's Mathematica within Emacs
  78.  
  79.   Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
  80.   Latest version: 2.02f
  81.   Anonymous FTP:
  82.     ftp://ftp.gnu.org/pub/gnu/calc-2.02f.tar.gz
  83.   NOTE: Unlike Wolfram Research, Dave has never threatened to sue
  84.         anyone for having a program with a similar command language to
  85.         Calc.  :-)
  86.  
  87. 107: VIPER -- vi emulation for Emacs
  88.  
  89.   Since Emacs 19.29, the preferred vi emulation in Emacs is VIPER (M-x
  90.   viper-mode RET), which comes with Emacs.  It extends and supersedes VIP
  91.   (including VIP 4.3) and provides vi emulation at several levels, from one
  92.   that closely follows vi to one that departs from vi in several
  93.   significant ways.
  94.  
  95.   For Emacs 19.28 and earlier, the following version of VIP is generally
  96.   better than the one distributed with Emacs:
  97.  
  98.   Author: Aamod Sane <sane@cs.uiuc.edu>
  99.   Latest version: 4.3
  100.   Anonymous FTP:
  101.     ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z
  102.  
  103. 108: AUC TeX -- enhanced LaTeX mode with debugging facilities
  104.  
  105.   Authors: Kresten Krab Thorup <krab@iesd.auc.dk>
  106.            and Per Abrahamsen <abraham@iesd.auc.dk>
  107.   Latest version: 9.8l
  108.   Anonymous FTP:
  109.     ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz
  110.   Mailing list:
  111.     auc-tex-request@iesd.auc.dk (for subscriptions)
  112.     auc-tex@iesd.auc.dk (for submissions)
  113.     auc-tex_mgr@iesd.auc.dk (auc-tex development team)
  114.   World Wide Web:
  115.     http://www.iesd.auc.dk/~amanda/auctex/
  116.  
  117. 109: BBDB -- personal Info Rolodex integrated with mail/news readers
  118.  
  119.   Maintainer: Matt Simmons <simmonmt@acm.org>
  120.   Latest released version: 2.00
  121.   Available from:
  122.     http://www.netcom.com/~simmonmt/bbdb/index.html
  123.   Mailing lists:
  124.     info-bbdb-request@xemacs.org (for subscriptions)
  125.     info-bbdb@xemacs.org (for submissions)
  126.     bbdb-announce-request@xemacs.org (to be informed of new releases)
  127.  
  128. 110: Ispell -- spell checker in C with interface for Emacs
  129.  
  130.   Author: Geoff Kuenning <geoff@itcorp.com>
  131.   Latest released version: 3.1.20
  132.   Anonymous FTP:
  133.    Master Sites:
  134.      ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz
  135.    Known Mirror Sites:
  136.      ftp://ftp.th-darmstadt.de/pub/dicts/ispell/
  137.      ftp://ftp.nl.net/pub/textproc/ispell/
  138.   World Wide Web:
  139.      http://fmg-www.cs.ucla.edu/geoff/ispell.html
  140.  
  141.   NOTE: * Do not ask Geoff to send you the latest version of Ispell.
  142.           He does not have free e-mail.
  143.       
  144.         * This Ispell program is distinct from GNU Ispell 4.0. GNU
  145.           Ispell 4.0 is no longer a supported product.
  146.  
  147. 111: W3-mode -- A World Wide Web browser inside of Emacs
  148.  
  149.   Author: Bill Perry <wmperry@spry.com>
  150.   Latest version: 4.0pre.23
  151.   Anonymous FTP:
  152.     ftp://ftp.cs.indiana.edu/pub/elisp/w3/.betas/w3.tar.gz
  153.   Mailing lists:
  154.     w3-announce-request@indiana.edu (to get announcements of new versions)
  155.     w3-beta-request@indiana.edu (for beta-testers of new versions)
  156.     w3-dev@indiana.edu (for developers of W3)
  157.  
  158. 112: EDB -- Database program for Emacs; replaces forms editing modes
  159.  
  160.   Author: Michael Ernst <mernst@theory.lcs.mit.edu>
  161.   Latest version: 1.21
  162.   Anonymous FTP:
  163.     ftp://theory.lcs.mit.edu/pub/emacs/edb
  164.  
  165. 113: Mailcrypt -- PGP interface within Emacs mail and news
  166.  
  167.   Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and 
  168.            Jin S. Choi <jin@atype.com>
  169.   Maintainer: Len Budney <lbudney@pobox.com>
  170.   Latest version: 3.4
  171.   Anonymous FTP:
  172.     http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5b6.tar.gz
  173.   World Wide Web:
  174.     http://www.nb.net/~lbudney/linux/software/mailcrypt.html
  175.  
  176. 114: JDE -- Development environment for Java programming
  177.  
  178.   Author: Paul Kinnucan <paulk@mathworks.com>
  179.   Mailing list: jde-subscribe@sunsite.auc.dk
  180.   Latest version: 2.1.1
  181.   World Wide Web: http://sunsite.auc.dk/jde/
  182.  
  183. 115: Patch -- program to apply "diffs" for updating files
  184.  
  185.   Author: Larry Wall <lwall@wall.org> (with GNU modifications)
  186.   Latest version: 2.5
  187.   Anonymous FTP: See question 92
  188.  
  189.  
  190. Changing Key Bindings and Handling Key Binding Problems
  191.  
  192. 116: How do I bind keys (including function keys) to commands?
  193.  
  194.   Keys can be bound to commands either interactively or in your .emacs
  195.   file.  To interactively bind keys for all modes, type
  196.  
  197.     M-x global-set-key RET KEY CMD RET
  198.  
  199.   To bind a key just in the current major mode, type
  200.  
  201.     M-x local-set-key RET KEY CMD RET
  202.  
  203.   See "Key Bindings" in the on-line manual for further details.
  204.  
  205.   To bind keys on starting Emacs or on starting any given mode, use the
  206.   following "trick": First bind the key interactively, then immediately
  207.   type "C-x ESC ESC C-a C-k C-g".  Now, the command needed to bind the key
  208.   is in the kill ring, and can be yanked into your .emacs file.  If the key
  209.   binding is global, no changes to the command are required.  For example,
  210.  
  211.     (global-set-key (quote [f1]) (quote help-for-help))
  212.  
  213.   can be placed directly into the .emacs file.  If the key binding is
  214.   local, the command is used in conjunction with the "add-hook" command.
  215.   For example, in tex-mode, a local binding might be
  216.  
  217.     (add-hook 'tex-mode-hook
  218.       (function (lambda ()
  219.         (local-set-key (quote [f1]) (quote help-for-help))))
  220.  
  221.   NOTE: * Control characters in key sequences, in the form yanked from the
  222.           kill ring are given in their graphic form -- i.e., CTRL is shown
  223.           as `^', TAB as a set of spaces (usually 8), etc.  You may want to
  224.           convert these into their vector or string forms.
  225.  
  226.         * If a prefix key of the character sequence to be bound is already
  227.           bound as a complete key, then you must unbind it before the new
  228.           binding.  For example, if "ESC {" is previously bound:
  229.  
  230.                     (global-unset-key [?\e ?{])   ;;   or
  231.                      (local-unset-key [?\e ?{])
  232.  
  233.         * Aside from commands and "lambda lists," a vector or string also
  234.           can be bound to a key and thus treated as a macro.  For example:
  235.  
  236.            (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g])  ;;  or
  237.            (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g")
  238.  
  239. 117: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
  240.  
  241.   Usually, one of two things has happened.  In one case, the control
  242.   character in the key sequence has been misspecified (e.g. "C-f" used
  243.   instead of "\C-f" within a Lisp expression).  In the other case, a
  244.   "prefix key" in the keystroke sequence you were trying to bind was
  245.   already bound as a "complete key."  Historically, the "ESC [" prefix was
  246.   usually the problem, in which case you should evaluate either of these
  247.   forms before attempting to bind the key sequence:
  248.  
  249.     (global-unset-key [?\e ?[])  ;;  or
  250.     (global-unset-key "\e[")
  251.  
  252. 118: Why doesn't this [terminal or window-system setup] code work in my
  253.      .emacs file, but it works just fine after Emacs starts up?
  254.  
  255.   During startup, Emacs initializes itself according to a given code/file
  256.   order.  If some of the code executed in your .emacs file needs to be
  257.   postponed until the initial terminal or window-system setup code has been
  258.   executed but is not, then you will experience this problem (this
  259.   code/file execution order is not enforced after startup).
  260.  
  261.   To postpone the execution of Emacs Lisp code until after terminal or
  262.   window-system setup, treat the code as a "lambda list" and set the value
  263.   of either the "term-setup-hook" or "window-setup-hook" variable to this
  264.   "lambda function."  For example,
  265.  
  266.     (setq term-setup-hook
  267.           (function
  268.            (lambda ()
  269.              (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
  270.                     ;; Make vt220's "Do" key behave like M-x:
  271.                     (global-set-key [do] 'execute-extended-command))
  272.                    ))))
  273.  
  274.   For information on what Emacs does every time it is started, see the
  275.   lisp/startup.el file.
  276.  
  277. 119: How do I use function keys under X Windows?
  278.  
  279.   With Emacs 19, functions keys under X are bound like any other key.  See
  280.   question 116 for details.
  281.  
  282. 120: How do I tell what characters or symbols my function or arrow keys
  283.      emit?
  284.  
  285.   Type "C-h c" then the function or arrow keys.  The command will return
  286.   either a function key symbol or character sequence (see the Emacs on-line
  287.   documentation for an explanation).  This works for other keys as well.
  288.  
  289. 121: How do I set the X key "translations" for Emacs?
  290.  
  291.   Emacs is not written using the Xt library by default, so there are no
  292.   "translations" to be set.  (We aren't sure how to set such translations
  293.   if you do build Emacs with Xt; please let us know if you've done this!)
  294.  
  295.   The only way to affect the behavior of keys within Emacs is through
  296.   "xmodmap" (outside Emacs) or "define-key" (inside Emacs).  The
  297.   "define-key" command should be used in conjunction with the
  298.   "function-key-map" map.  For instance,
  299.  
  300.      (define-key function-key-map [M-tab] [?\M-\t])
  301.  
  302.   defines the "M-TAB" key sequence.
  303.  
  304. 122: How do I handle C-s and C-q being used for flow control?
  305.  
  306.   C-s and C-q are used in the XON/XOFF flow control protocol.  This messes
  307.   things up when you're using Emacs, because Emacs binds these keys to
  308.   commands by default.  Because Emacs won't honor them as flow control
  309.   characters, too many of these characters are not passed on and overwhelm
  310.   output buffers.  Sometimes, intermediate software using XON/XOFF flow
  311.   control will prevent Emacs from ever seeing C-s and C-q.
  312.  
  313.   Possible solutions:
  314.  
  315.   * Disable the use of C-s and C-q for flow control.
  316.  
  317.     You need to determine the cause of the flow control.
  318.  
  319.     * your terminal
  320.  
  321.       Your terminal may use XON/XOFF flow control to have time to display
  322.       all the characters it receives.  For example, VT series terminals do
  323.       this.  It may be possible to turn this off from a setup menu.  For
  324.       example, on a VT220 you may select "No XOFF" in the setup menu.  This
  325.       is also true for some terminal emulation programs on PCs.
  326.  
  327.       When you turn off flow control at the terminal, you will also need to
  328.       turn it off at the other end, which might be at the computer you are
  329.       logged in to or at some terminal server in between.
  330.  
  331.       If you turn off flow control, characters may be lost; using a printer
  332.       connected to the terminal may fail.  You may be able to get around
  333.       this problem by modifying the "termcap" entry for your terminal to
  334.       include extra NUL padding characters.
  335.  
  336.     * a modem
  337.  
  338.       If you are using a dialup connection, the modems may be using
  339.       XON/XOFF flow control.  It's not clear how to get around this.
  340.  
  341.     * a router or terminal server
  342.  
  343.       Some network box between the terminal and your computer may be using
  344.       XON/XOFF flow control.  It may be possible to make it use some other
  345.       kind of flow control.  You will probably have to ask your local
  346.       network experts for help with this.
  347.  
  348.     * tty and/or pty devices
  349.  
  350.       If your connection to Emacs goes through multiple tty and/or pty
  351.       devices, they may be using XON/XOFF flow control even when it is not
  352.       necessary.
  353.  
  354.       Eirik Fuller <eirik@theory.tn.cornell.edu> writes:
  355.  
  356.         Some versions of "rlogin" (and possibly telnet) do not pass flow
  357.         control characters to the remote system to which they connect.  On
  358.         such systems, Emacs on the remote system cannot disable flow
  359.         control on the local system.  Sometimes "rlogin -8" will avoid this
  360.         problem.
  361.  
  362.         One way to cure this is to disable flow control on the local host
  363.         (the one running rlogin, not the one running rlogind) using the
  364.         stty command, before starting the rlogin process.  On many systems,
  365.         "stty start u stop u" will do this.
  366.  
  367.         Some versions of "tcsh" will prevent even this from working.  One
  368.         way around this is to start another shell before starting rlogin,
  369.         and issue the stty command to disable flow control from that shell.
  370.  
  371.       Use "stty -ixon" instead of "stty start u stop u" on some systems.
  372.  
  373.   * Make Emacs speak the XON/XOFF flow control protocol.
  374.  
  375.     You can make Emacs treat C-s and C-q as flow control characters by
  376.     evaluating the form
  377.  
  378.       (enable-flow-control)
  379.  
  380.     to unconditionally enable flow control or
  381.  
  382.       (enable-flow-control-on "vt100" "h19")
  383.  
  384.     (using your terminal names instead of "vt100" or "h19") to enable
  385.     selectively.  These commands will automatically swap `C-s' and `C-q' to
  386.     `C-\' and `C-^'.  Variables can be used to change the default swap keys
  387.     ("flow-control-c-s-replacement" and "flow-control-c-q-replacement").
  388.  
  389.     If you are fixing this for yourself, simply put the form in your .emacs
  390.     file.  If you are fixing this for your entire site, the best place to
  391.     put it is in the lisp/site-start.el file.  Putting this form in
  392.     lisp/default.el has the problem that if the user's .emacs file has an
  393.     error, this will prevent lisp/default.el from being loaded and Emacs
  394.     may be unusable for the user, even for correcting their .emacs file
  395.     (unless they're smart enough to move it to another name).
  396.  
  397.     For further discussion of this issue, read the file PROBLEMS (in the
  398.     top-level directory when you unpack the Emacs source).
  399.  
  400. 123: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
  401.      out?
  402.  
  403.   To bind `C-s' and `C-q', use either "enable-flow-control" or
  404.   "enable-flow-control-on".  See question 122 for usage and implementation
  405.   details.
  406.  
  407.   To bind other keys, use "keyboard-translate".  See question 126 for usage
  408.   details.  To do this for an entire site, you should swap the keys in
  409.   lisp/site-start.el.  See question 122 for an explanation of why
  410.   lisp/default.el should not be used.
  411.  
  412.   NOTE: * If you do this for an entire site, the users will be confused by
  413.           the disparity between what the documentation says and how Emacs
  414.           actually behaves.
  415.  
  416. 124: Why does the "Backspace" key invoke help?
  417.  
  418.   The "Backspace" key (on most keyboards) generates ASCII code 8.  `C-h'
  419.   sends the same code.  In Emacs by default `C-h' invokes help-command.
  420.   This is intended to be easy to remember since the first letter of "help"
  421.   is `h'.  The easiest solution to this problem is to use `C-h' (and
  422.   Backspace) for help and DEL (the Delete key) for deleting the previous
  423.   character.
  424.  
  425.   For many people this solution may be problematic:
  426.  
  427.   * They normally use Backspace outside of Emacs for deleting the previous
  428.     character.  This can be solved by making DEL the command for deleting
  429.     the previous character outside of Emacs.  On many Unix systems, this
  430.     command will remap DEL:
  431.  
  432.       stty erase `^?'
  433.  
  434.   * The person may prefer using the Backspace key for deleting the previous
  435.     character because it is more conveniently located on their keyboard or
  436.     because they don't even have a separate Delete key.  In this case, the
  437.     Backspace key should be made to behave like Delete.  There are several
  438.     methods.
  439.  
  440.   * Some terminals (e.g., VT3## terminals) allow the character generated by
  441.     the Backspace key to be changed from a setup menu.
  442.  
  443.   * You may be able to get a keyboard that is completely programmable.
  444.  
  445.   * Under X or on a dumb terminal, it is possible to swap the Backspace and
  446.     Delete keys inside Emacs:
  447.  
  448.       (keyboard-translate ?\C-h ?\C-?)
  449.  
  450.     See question 126 for further details of "keyboard-translate".
  451.  
  452.   * Another approach is to switch key bindings and put help on "C-x h"
  453.     instead:
  454.  
  455.       (global-set-key "\C-h" 'delete-backward-char)
  456.       (global-set-key "\C-xh" 'help-command) ;; overrides mark-whole-buffer
  457.  
  458.     Other popular key bindings for help are M-? and "C-x ?".
  459.  
  460.     NOTE: * Don't try to bind DEL to help-command, because there are many
  461.             modes that have local bindings of DEL that will interfere.
  462.  
  463. 125: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
  464.  
  465.   Good question!
  466.  
  467. 126: How do I "swap" two keys?
  468.  
  469.   In Emacs 19, you can swap two keys (or key sequences) by using the
  470.   "keyboard-translate" function.  For example, to turn `C-h' into DEL and
  471.   DEL to `C-h', use
  472.  
  473.         (keyboard-translate ?\C-h ?\C-?)  ; translate `C-h' to DEL
  474.         (keyboard-translate ?\C-? ?\C-h)  ; translate DEL to `C-h'.
  475.  
  476.   The first key sequence of the pair after the function identifies what is
  477.   produced by the keyboard; the second, what is matched for in the keymaps.
  478.  
  479.   Keyboard translations are not the same as key bindings in keymaps.  Emacs
  480.   contains numerous keymaps that apply in different situations, but there
  481.   is only one set of keyboard translations, and it applies to every
  482.   character that Emacs reads from the terminal.  Keyboard translations take
  483.   place at the lowest level of input processing; the keys that are looked
  484.   up in keymaps contain the characters that result from keyboard
  485.   translation.
  486.  
  487.   Also see "Keyboard Translations" in the on-line manual.
  488.  
  489. 127: How do I produce C-XXX with my keyboard?
  490.  
  491.   On terminals (but not under X), some common "aliases" are:
  492.  
  493.             C-2  or  C-SPC         for      C-@
  494.             C-6                    for      C-^
  495.             C-7  or  C-S--         for      C-_
  496.             C-4                    for      C-\
  497.             C-5                    for      C-]
  498.             C-/                    for      C-?
  499.  
  500.   Often other aliases exist; use the "C-h c" command and try `CTRL' with
  501.   all of the digits on your keyboard to see what gets generated.  You can
  502.   also try the "C-h w" command if you know the name of the command.
  503.  
  504. 128: What if I don't have a Meta key?
  505.  
  506.   Instead of typing "M-a", you can type "ESC a".  In fact, Emacs converts
  507.   M-a internally into "ESC a" anyway (depending on the value of
  508.   meta-prefix-char).  Note that you press "Meta" and `a' together, while
  509.   you press `ESC', release it, and then press `a'.
  510.  
  511. 129: What if I don't have an Escape key?
  512.  
  513.   Type `C-[' instead.  This should send ASCII code 27 just like an Escape
  514.   key would.  `C-3' may also work on some terminal (but not under X).  For
  515.   many terminals (notably DEC terminals) `F11' generates ESC.  If not, the
  516.   following form can be used to bind it:
  517.  
  518.   (define-key function-key-map [f11] [?\e])  ; F11 is the documented ESC
  519.                                              ; replacement on DEC terminals.
  520.  
  521. 130: Can I make my "Compose Character" key behave like a Meta key?
  522.  
  523.   On a dumb terminal such as a VT220, no.  It is rumored that certain VT220
  524.   clones could have their Compose key configured this way.  If you're using
  525.   X, you might be able to do this with the "xmodmap" program.
  526.  
  527. 131: How do I bind a combination of modifier key and function key?
  528.  
  529.   With Emacs 19 you can represent modified function keys in vector format
  530.   by adding prefixes to the function key symbol.  For example (from the
  531.   on-line documentation):
  532.  
  533.            (global-set-key [?\C-x right] 'forward-page)
  534.  
  535.   where "?\C-x" is the Lisp character constant for the character "C-x".
  536.  
  537.   You can use the modifier keys Control, Meta, Hyper, Super, Alt, and Shift
  538.   with function keys.  To represent these modifiers, prepend the strings
  539.   "C-", "M-", "H-", "s-", "A-", and "S-" to the symbol name.  Here is how
  540.   to make "Hyper-Meta-RIGHT" move forward a word:
  541.  
  542.            (global-set-key [H-M-right] 'forward-word)
  543.  
  544.   NOTE: * Not all modifiers are permitted in all situations.  Hyper, Super,
  545.           and Alt are available only under X (provided there are such
  546.           keys).  Non-ASCII keys and mouse events (e.g. "C-=" and
  547.           "mouse-1") also fall under this category.
  548.  
  549.   See question 116 for general key binding instructions.
  550.  
  551. 132: Why doesn't my Meta key work in an xterm window?
  552.  
  553.   Try all of these methods before asking for further help:
  554.  
  555.   * You may have big problems using "mwm" as your window manager.  {Does
  556.     anyone know a good generic solution to allow the use of the Meta key in
  557.     Emacs with mwm?}
  558.  
  559.   * For X11: Make sure it really is a Meta key.  Use "xev" to find out what
  560.     keysym your Meta key generates.  It should be either Meta_L or Meta_R.
  561.     If it isn't, use xmodmap to fix the situation.
  562.  
  563.   * Make sure the pty the xterm is using is passing 8 bit characters.
  564.     "stty -a" (or "stty everything") should show "cs8" somewhere.  If it
  565.     shows "cs7" instead, use "stty cs8 -istrip" (or "stty pass8") to fix
  566.     it.
  567.  
  568.   * If there is an rlogin connection between the xterm and the Emacs, the
  569.     "-8" argument may need to be given to rlogin to make it pass all 8 bits
  570.     of every character.
  571.  
  572.   * If the Emacs is running under Ultrix, it is reported that evaluating
  573.     (set-input-mode t nil) helps.
  574.  
  575.   * If all else fails, you can make xterm generate "ESC W" when you type
  576.     M-W, which is the same conversion Emacs would make if it got the M-W
  577.     anyway.  In X11R4, the following resource specification will do this:
  578.  
  579.       XTerm.VT100.EightBitInput: false
  580.  
  581.     (This changes the behavior of the insert-eight-bit action.)
  582.  
  583.     With older xterms, you can specify this behavior with a translation:
  584.  
  585.       XTerm.VT100.Translations: #override \
  586.         Meta<KeyPress>: string(0x1b) insert()
  587.  
  588.     You might have to replace "Meta" with "Alt".
  589.  
  590. 133: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0
  591.      and 9.x?
  592.  
  593.   This is a result of an internationalization extension in X11R4 and the
  594.   fact that HP is now using this extension.  Emacs assumes that
  595.   XLookupString returns the same result regardless of the Meta key state
  596.   which is no longer necessarily true.  Until Emacs is fixed, the temporary
  597.   kludge is to run this command after each time the X server is started but
  598.   preferably before any xterm clients are:
  599.  
  600.     xmodmap -e 'remove mod1 = Mode_switch'
  601.  
  602.   NOTE: This will disable the use of the extra keysyms systemwide, which
  603.   may be undesirable if you actually intend to use them.
  604.  
  605.  
  606. Using Emacs with Alternate Character Sets
  607.  
  608. 134: How do I make Emacs display 8-bit characters?
  609.  
  610.   Emacs 19 has built-in support for 8-bit characters.  Here is an excerpt
  611.   from the "European Display" page of the on-line manual:
  612.  
  613.     Some European languages use accented letters and other special symbols.
  614.     The ISO 8859 Latin-1 character set defines character codes for many
  615.     European languages in the range 160 to 255.
  616.  
  617.     Emacs can display those characters according to Latin-1, provided the
  618.     terminal or font in use supports them.  The "M-x
  619.     standard-display-european" command toggles European character display
  620.     mode.  With a numeric argument, "M-x standard-display-european" enables
  621.     European character display if and only if the argument is positive.
  622.  
  623.     Some operating systems let you specify the language you are using by
  624.     setting a locale.  Emacs handles one common special case of this: if
  625.     your locale name for character types contains the string "8859-1" or
  626.     "88591", Emacs automatically enables European character display mode
  627.     when it starts up.
  628.  
  629. 135: How do I input 8-bit characters?
  630.  
  631.   Again, from the "European Display" page of the on-line manual:
  632.  
  633.     If you enter non-ASCII ISO Latin-1 characters often, you might find ISO
  634.     Accents mode convenient.  When this minor mode is enabled, the
  635.     characters ``', `'', `"', `^', `/' and `~' modify the following letter
  636.     by adding the corresponding diacritical mark to it, if possible.  To
  637.     enable or disable ISO Accents mode, use the command "M-x
  638.     iso-accents-mode".  This command affects only the current buffer.
  639.  
  640.     To enter one of those six special characters, type the character,
  641.     followed by a space.  Some of those characters have a corresponding
  642.     "dead key" accent character in the ISO Latin-1 character set; to enter
  643.     that character, type the corresponding ASCII character twice.  For
  644.     example, `''' enters the Latin-1 character acute-accent (character code
  645.     0264).
  646.  
  647. 136: Where can I get an Emacs that handles kanji, Chinese, or other
  648.      character sets?
  649.  
  650.   Emacs 20 now includes many of the features of MULE, the Multilingual
  651.   Enhancement of Emacs.  See question 84 for information on where to find
  652.   and download Emacs.
  653.  
  654.   The original MULE is available at
  655.  
  656.     ftp://sh.wide.ad.jp/JAPAN/mule/mule-19.33-delta.tar.gz
  657.  
  658. 137: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
  659.  
  660.   Emacs 20 supports Hebrew characters (ISO 8859-8), but does not yet
  661.   support right-to-left character entry.
  662.  
  663.   Joel M. Hoffman <joel@exc.com> has written a Lisp package called
  664.   hebrew.el that allows right-to-left editing of Hebrew.  It reportedly
  665.   works out of the box with Emacs 19, but requires patches for Emacs 18.
  666.   Write to Joel if you want the patches or package.
  667.  
  668.   Hebrew.el requires a Hebrew screen font, but no other Hardware support.
  669.   Joel has a screen font for PCs running MS-DOS and Linux.
  670.  
  671.   You might also try to query archie for files named with "hebrew"; several
  672.   ftp sites in Israel may also have the necessary files.
  673.  
  674.