Sync up with r21-2-27.
[chise/xemacs-chise.git] / info / xemacs-faq.info-4
index ee917b4..7c5211c 100644 (file)
@@ -7,234 +7,6 @@ START-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 \1f
-File: xemacs-faq.info,  Node: Q3.10.1,  Next: Q3.10.2,  Prev: Q3.9.4,  Up: Customization
-
-3.10: Text Selections
-=====================
-
-Q3.10.1: How can I turn off or change highlighted selections?
--------------------------------------------------------------
-
-   The `zmacs' mode allows for what some might call gratuitous
-highlighting for selected regions (either by setting mark or by using
-the mouse).  This is the default behavior.  To turn off, add the
-following line to your `.emacs' file:
-
-     (setq zmacs-regions nil)
-
-   Starting with XEmacs-20.2 you can also change this with Customize.
-Select from the `Options' menu `Customize->Emacs->Editing->Basics->Zmacs
-Regions' or type `M-x customize <RET> editing-basics <RET>'.
-
-   To change the face for selection, look at `Options->Customize' on
-the menubar.
-
-\1f
-File: xemacs-faq.info,  Node: Q3.10.2,  Next: Q3.10.3,  Prev: Q3.10.1,  Up: Customization
-
-Q3.10.2: How do I get that typing on an active region removes it?
------------------------------------------------------------------
-
-   I want to change things so that if I select some text and start
-typing, the typed text replaces the selected text, similar to Motif.
-
-   You want to use something called "pending delete".  Pending delete
-is what happens when you select a region (with the mouse or keyboard)
-and you press a key to replace the selected region by the key you typed.
-Usually backspace kills the selected region.
-
-   To get this behavior, add the following line to your `.emacs':
-
-     (turn-on-pending-delete)
-
-   Note that this will work with both Backspace and Delete.
-
-\1f
-File: xemacs-faq.info,  Node: Q3.10.3,  Next: Q3.10.4,  Prev: Q3.10.2,  Up: Customization
-
-Q3.10.3: Can I turn off the highlight during isearch?
------------------------------------------------------
-
-   I do not like my text highlighted while I am doing isearch as I am
-not able to see what's underneath.  How do I turn it off?
-
-   Put the following in your `.emacs':
-
-     (setq isearch-highlight nil)
-
-   Starting with XEmacs-20.2 you can also change this with Customize.
-Type `M-x customize-variable <RET> isearch-highlight <RET>'.
-
-   Note also that isearch-highlight affects query-replace and ispell.
-Instead of disabling isearch-highlight you may find that a better
-solution consists of customizing the `isearch' face.
-
-\1f
-File: xemacs-faq.info,  Node: Q3.10.4,  Next: Q3.10.5,  Prev: Q3.10.3,  Up: Customization
-
-Q3.10.4: How do I turn off highlighting after `C-x C-p' (mark-page)?
---------------------------------------------------------------------
-
-   Put this in your `.emacs':
-
-     (setq zmacs-regions nil)
-
-   *Warning: This command turns off all region highlighting.*
-
-   Also *Note Q3.10.1::.
-
-\1f
-File: xemacs-faq.info,  Node: Q3.10.5,  Prev: Q3.10.4,  Up: Customization
-
-Q3.10.5: The region disappears when I hit the end of buffer while scrolling.
-----------------------------------------------------------------------------
-
-   This has been fixed by default starting with XEmacs-20.3.
-
-   With older versions you can turn this feature (if it indeed is a
-feature) off like this:
-
-     (defadvice scroll-up (around scroll-up freeze)
-       (interactive "_P")
-       (let ((zmacs-region-stays t))
-         (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (end-of-buffer (goto-char (point-max))))
-           ad-do-it)))
-     
-     (defadvice scroll-down (around scroll-down freeze)
-       (interactive "_P")
-       (let ((zmacs-region-stays t))
-         (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (beginning-of-buffer (goto-char (point-min))))
-           ad-do-it)))
-
-   Thanks to T. V. Raman <raman@adobe.com> for assistance in deriving
-this answer.
-
-\1f
-File: xemacs-faq.info,  Node: Subsystems,  Next: Miscellaneous,  Prev: Customization,  Up: Top
-
-4 Major Subsystems
-******************
-
-   This is part 4 of the XEmacs Frequently Asked Questions list.  This
-section is devoted to major XEmacs subsystems.
-
-* Menu:
-
-Reading Mail with VM:
-* Q4.0.1::      How do I set up VM to retrieve remote mail using POP?
-* Q4.0.2::      How do I get VM to filter mail for me?
-* Q4.0.3::      How can I get VM to automatically check for new mail?
-* Q4.0.4::      [This question intentionally left blank]
-* Q4.0.5::      How do I get my outgoing mail archived?
-* Q4.0.6::      I have various addresses at which I receive mail.  How can I tell VM to ignore them when doing a "reply-all"?
-* Q4.0.7::      Is there a mailing list or FAQ for VM?
-* Q4.0.8::      Remote mail reading with VM.
-* Q4.0.9::      rmail or VM gets an error incorporating new mail.
-* Q4.0.10::     How do I make VM stay in a single frame?
-* Q4.0.11::     How do I make VM or mh-e display graphical smilies?
-* Q4.0.12::     Customization of VM not covered in the manual or here.
-
-Web browsing with W3:
-* Q4.1.1::      What is W3?
-* Q4.1.2::      How do I run W3 from behind a firewall?
-* Q4.1.3::      Is it true that W3 supports style sheets and tables?
-
-Reading Netnews and Mail with Gnus:
-* Q4.2.1::      GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh!
-* Q4.2.2::      [This question intentionally left blank]
-* Q4.2.3::      How do I make Gnus stay within a single frame?
-* Q4.2.4::      How do I customize the From: line?
-
-Other Mail & News:
-* Q4.3.1::      How can I read and/or compose MIME messages?
-* Q4.3.2::      What is TM and where do I get it?
-* Q4.3.3::      Why isn't this `movemail' program working?
-* Q4.3.4::      Movemail is also distributed by Netscape?  Can that cause problems?
-* Q4.3.5::      Where do I find pstogif (required by tm)?
-
-Sparcworks, EOS, and WorkShop:
-* Q4.4.1::      What is SPARCworks, EOS, and WorkShop
-* Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
-
-Energize:
-* Q4.5.1::      What is/was Energize?
-
-Infodock:
-* Q4.6.1::      What is Infodock?
-
-Other Unbundled Packages:
-* Q4.7.1::      What is AUC TeX?  Where do you get it?
-* Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
-* Q4.7.3::      Byte compiling AUC TeX on XEmacs 19.14
-* Q4.7.4::      Problems installing AUC TeX
-* Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
-* Q4.7.6::      Is there a MatLab mode?
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.1,  Next: Q4.0.2,  Prev: Subsystems,  Up: Subsystems
-
-4.0: Reading Mail with VM
-=========================
-
-Q4.0.1: How do I set up VM to retrieve mail from a remote site using POP?
--------------------------------------------------------------------------
-
-   Use `vm-spool-files', like this for example:
-
-     (setq vm-spool-files '("/var/spool/mail/wing"
-                            "netcom23.netcom.com:110:pass:wing:MYPASS"))
-
-   Of course substitute your actual password for MYPASS.
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.2,  Next: Q4.0.3,  Prev: Q4.0.1,  Up: Subsystems
-
-Q4.0.2: How do I get VM to filter mail for me?
-----------------------------------------------
-
-   One possibility is to use procmail to split your mail before it gets
-to VM.  I prefer this personally, since there are many strange and
-wonderful things one can do with procmail.  Procmail may be found at
-`ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/'.
-
-   Also see the Mail Filtering FAQ at:
-`ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq'.
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.3,  Next: Q4.0.4,  Prev: Q4.0.2,  Up: Subsystems
-
-Q4.0.3: How can I get VM to automatically check for new mail?
--------------------------------------------------------------
-
-   John Turner <turner@lanl.gov> writes:
-
-     Use the following:
-
-          (setq vm-auto-get-new-mail 60)
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.4,  Next: Q4.0.5,  Prev: Q4.0.3,  Up: Subsystems
-
-Q4.0.4: [This question intentionally left blank]
-------------------------------------------------
-
-   Obsolete question, left blank to avoid renumbering.
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.5,  Next: Q4.0.6,  Prev: Q4.0.4,  Up: Subsystems
-
-Q4.0.5: How do I get my outgoing mail archived?
------------------------------------------------
-
-     (setq mail-archive-file-name "~/outbox")
-
-\1f
 File: xemacs-faq.info,  Node: Q4.0.6,  Next: Q4.0.7,  Prev: Q4.0.5,  Up: Subsystems
 
 Q4.0.6: I have various addresses at which I receive mail.  How can I tell VM to ignore them when doing a "reply-all"?
@@ -880,14 +652,8 @@ Q4.7.2: Are there any Emacs Lisp Spreadsheets?
 \1f
 File: xemacs-faq.info,  Node: Q4.7.3,  Next: Q4.7.4,  Prev: Q4.7.2,  Up: Subsystems
 
-Q4.7.3: Byte compiling AUC TeX on XEmacs 19.14.
------------------------------------------------
-
-   Georges Brun-Cottan <bruncott@dormeur.inria.fr> writes:
-
-     When byte compiling auctex-9.4g, you must use the command:
-
-          xemacs -batch -l lpath.el
+Q4.7.3: [This question intentionally left blank]
+------------------------------------------------
 
 \1f
 File: xemacs-faq.info,  Node: Q4.7.4,  Next: Q4.7.5,  Prev: Q4.7.3,  Up: Subsystems
@@ -982,14 +748,14 @@ Major & Minor Modes:
 * Q5.0.8::      Why does edt emulation not work?
 * Q5.0.9::      How can I emulate VI and use it as my default mode?
 * Q5.0.10::     [This question intentionally left blank]
-* Q5.0.11::     Filladapt doesn't work in 19.15?
+* Q5.0.11::     How do I turn on filladapt for all buffers?
 * Q5.0.12::     How do I disable gnuserv from opening a new frame?
 * Q5.0.13::     How do I start gnuserv so that each subsequent XEmacs is a client?
 * Q5.0.14::     Strange things are happening in Shell Mode.
 * Q5.0.15::     Where do I get the latest CC Mode?
 * Q5.0.16::     I find auto-show-mode disconcerting.  How do I turn it off?
 * Q5.0.17::     How can I get two instances of info?
-* Q5.0.18::     I upgraded to XEmacs 19.14 and gnuserv stopped working
+* Q5.0.18::     [This question intentionally left blank]
 * Q5.0.19::     Is there something better than LaTeX mode?
 * Q5.0.20::     Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
 
@@ -1242,12 +1008,12 @@ Q5.0.10: [This question intentionally left blank]
 \1f
 File: xemacs-faq.info,  Node: Q5.0.11,  Next: Q5.0.12,  Prev: Q5.0.10,  Up: Miscellaneous
 
-Q5.0.11: Filladapt doesn't work in 19.15
-----------------------------------------
+Q5.0.11: How do I turn on filladapt for all buffers?
+----------------------------------------------------
 
-   Filladapt 2.x is included in 19.15.  In it filladapt is now a minor
-mode and minor modes are traditionally off by default.  The following
-added to your `.emacs' will turn it on for all buffers:
+   Filladapt is a minor mode and minor modes are traditionally off by
+default.  The following added to your `.emacs' will turn it on for all
+buffers:
 
      (setq-default filladapt-mode t)
 
@@ -1353,3 +1119,196 @@ Q5.0.17: How can I get two instances of info?
    You can't.  The `info' package does not provide for multiple info
 buffers.
 
+\1f
+File: xemacs-faq.info,  Node: Q5.0.18,  Next: Q5.0.19,  Prev: Q5.0.17,  Up: Miscellaneous
+
+Q5.0.18: [This question intentionally left blank]
+-------------------------------------------------
+
+\1f
+File: xemacs-faq.info,  Node: Q5.0.19,  Next: Q5.0.20,  Prev: Q5.0.18,  Up: Miscellaneous
+
+Q5.0.19: Is there something better than LaTeX mode?
+---------------------------------------------------
+
+   David Kastrup <dak@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:
+
+     The standard TeX modes leave much to be desired, and are somewhat
+     leniently maintained.  Serious TeX users use AUC TeX (*note
+     Q4.7.1::.).
+
+\1f
+File: xemacs-faq.info,  Node: Q5.0.20,  Next: Q5.1.1,  Prev: Q5.0.19,  Up: Miscellaneous
+
+Q5.0.20: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
+---------------------------------------------------------------------------------------------------------
+
+   Jan Vroonhof <vroonhof@math.ethz.ch> writes:
+     Here is one of the solutions, we have this in a script called
+     `etc/editclient.sh'.
+           #!/bin/sh
+           if gnuclient -batch -eval t >/dev/null 2>&1
+           then
+             exec gnuclient ${1+"$@"}
+           else
+             xemacs -unmapped -f gnuserv-start &
+             until gnuclient -batch -eval t >/dev/null 2>&1
+             do
+                sleep 1
+             done
+             exec gnuclient ${1+"$@"}
+           fi
+
+     Note that there is a known problem when running XEmacs and
+     'gnuclient -nw' on the same TTY.
+
+\1f
+File: xemacs-faq.info,  Node: Q5.1.1,  Next: Q5.1.2,  Prev: Q5.0.20,  Up: Miscellaneous
+
+5.1: Emacs Lisp Programming Techniques
+======================================
+
+Q5.1.1: What is the difference in key sequences between XEmacs and GNU Emacs?
+-----------------------------------------------------------------------------
+
+   Erik Naggum <clerik@naggum.no> writes;
+
+     Emacs has a legacy of keyboards that produced characters with
+     modifier bits, and therefore map a variety of input systems into
+     this scheme even today.  XEmacs is instead optimized for X events.
+     This causes an incompatibility in the way key sequences are
+     specified, but both Emacs and XEmacs will accept a key sequence as
+     a vector of lists of modifiers that ends with a key, e.g., to bind
+     `M-C-a', you would say `[(meta control a)]' in both Emacsen.
+     XEmacs has an abbreviated form for a single key, just (meta
+     control a).  Emacs has an abbreviated form for the Control and the
+     Meta modifiers to string-characters (the ASCII characters), as in
+     `\M-\C-a'.  XEmacs users need to be aware that the abbreviated
+     form works only for one-character key sequences, while Emacs users
+     need to be aware that the string-character is rather limited.
+     Specifically, the string-character can accommodate only 256
+     different values, 128 of which have the Meta modifier and 128 of
+     which have not.  In each of these blocks, only 32 characters have
+     the Control modifier.  Whereas `[(meta control A)]' differs from
+     `[(meta control a)]' because the case differs, `\M-\C-a' and
+     `\M-\C-A' do not.  Programmers are advised to use the full common
+     form, both because it is more readable and less error-prone, and
+     because it is supported by both Emacsen.
+
+   Another (even safer) way to be sure of the key-sequences is to use
+the `read-kbd-macro' function, which takes a string like `C-c <up>',
+and converts it to the internal key representation of the Emacs you
+use.  The function is available both on XEmacs and GNU Emacs.
+
+\1f
+File: xemacs-faq.info,  Node: Q5.1.2,  Next: Q5.1.3,  Prev: Q5.1.1,  Up: Miscellaneous
+
+Q5.1.2: Can I generate "fake" keyboard events?
+----------------------------------------------
+
+   I wonder if there is an interactive function that can generate
+"fake" keyboard events.  This way, I could simply map them inside
+XEmacs.
+
+   This seems to work:
+
+     (defun cg--generate-char-event (ch)
+       "Generate an event, as if ch has been typed"
+       (dispatch-event (character-to-event ch)))
+     
+     ;;  Backspace and Delete stuff
+     (global-set-key [backspace]
+       (lambda () (interactive) (cg--generate-char-event 127)))
+     (global-set-key [unknown_keysym_0x4]
+       (lambda () (interactive) (cg--generate-char-event 4)))
+
+\1f
+File: xemacs-faq.info,  Node: Q5.1.3,  Next: Q5.1.4,  Prev: Q5.1.2,  Up: Miscellaneous
+
+Q5.1.3: Could you explain `read-kbd-macro' in more detail?
+----------------------------------------------------------
+
+   The `read-kbd-macro' function returns the internal Emacs
+representation of a human-readable string (which is its argument).
+Thus:
+
+     (read-kbd-macro "C-c C-a")
+     => [(control ?c) (control ?a)]
+     
+     (read-kbd-macro "C-c C-. <up>")
+     => [(control ?c) (control ?.) up]
+
+   In GNU Emacs the same forms will be evaluated to what GNU Emacs
+understands internally--the sequences `"\C-x\C-c"' and `[3 67108910
+up]', respectively.
+
+   The exact "human-readable" syntax is defined in the docstring of
+`edmacro-mode'.  I'll repeat it here, for completeness.
+
+     Format of keyboard macros during editing:
+
+     Text is divided into "words" separated by whitespace.  Except for
+     the words described below, the characters of each word go directly
+     as characters of the macro.  The whitespace that separates words is
+     ignored.  Whitespace in the macro must be written explicitly, as in
+     `foo <SPC> bar <RET>'.
+
+        * The special words `RET', `SPC', `TAB', `DEL', `LFD', `ESC',
+          and `NUL' represent special control characters.  The words
+          must be written in uppercase.
+
+        * A word in angle brackets, e.g., `<return>', `<down>', or
+          `<f1>', represents a function key.  (Note that in the standard
+          configuration, the function key `<return>' and the control key
+          <RET> are synonymous.)  You can use angle brackets on the
+          words <RET>, <SPC>, etc., but they are not required there.
+
+        * Keys can be written by their ASCII code, using a backslash
+          followed by up to six octal digits.  This is the only way to
+          represent keys with codes above \377.
+
+        * One or more prefixes `M-' (meta), `C-' (control), `S-'
+          (shift), `A-' (alt), `H-' (hyper), and `s-' (super) may
+          precede a character or key notation.  For function keys, the
+          prefixes may go inside or outside of the brackets: `C-<down>'
+          == `<C-down>'.  The prefixes may be written in any order:
+          `M-C-x' == `C-M-x'.
+
+          Prefixes are not allowed on multi-key words, e.g., `C-abc',
+          except that the Meta prefix is allowed on a sequence of
+          digits and optional minus sign: `M--123' == `M-- M-1 M-2 M-3'.
+
+        * The `^' notation for control characters also works: `^M' ==
+          `C-m'.
+
+        * Double angle brackets enclose command names: `<<next-line>>'
+          is shorthand for `M-x next-line <RET>'.
+
+        * Finally, `REM' or `;;' causes the rest of the line to be
+          ignored as a comment.
+
+     Any word may be prefixed by a multiplier in the form of a decimal
+     number and `*': `3*<right>' == `<right> <right> <right>', and
+     `10*foo' == `foofoofoofoofoofoofoofoofoofoo'.
+
+     Multiple text keys can normally be strung together to form a word,
+     but you may need to add whitespace if the word would look like one
+     of the above notations: `; ; ;' is a keyboard macro with three
+     semicolons, but `;;;' is a comment.  Likewise, `\ 1 2 3' is four
+     keys but `\123' is a single key written in octal, and `< right >'
+     is seven keys but `<right>' is a single function key.  When in
+     doubt, use whitespace.
+
+\1f
+File: xemacs-faq.info,  Node: Q5.1.4,  Next: Q5.1.5,  Prev: Q5.1.3,  Up: Miscellaneous
+
+Q5.1.4: What is the performance hit of `let'?
+---------------------------------------------
+
+   In most cases, not noticeable.  Besides, there's no avoiding
+`let'--you have to bind your local variables, after all.  Some pose a
+question whether to nest `let's, or use one `let' per function.  I
+think because of clarity and maintenance (and possible future
+implementation), `let'-s should be used (nested) in a way to provide
+the clearest code.
+