view man/xemacs/reading.texi @ 5679:a81a739181dc

Add command remapping, a more robust alternative to #'substitute-key-definition src/ChangeLog addition: 2012-09-02 Aidan Kehoe <kehoea@parhasard.net> * keymap.c: Add command remapping, a more robust equivalent to #'substitute-key-definition. * keymap.c (CHECK_REMAPPING_POSITION): New. * keymap.c (keymap_equal): Correct a comment here. * keymap.c (Fdefine_key): Document the command remapping syntax. * keymap.c (Fremap_command): New. * keymap.c (command_remapping): New. * keymap.c (Fcommand_remapping): New. * keymap.c (commands_remapped_to_mapper): New. * keymap.c (commands_remapped_to_traverser): New. * keymap.c (Fcommands_remapped_to): New. * keymap.c (get_relevant_keymaps): Take a new POSITION argument. * keymap.c (Fcurrent_keymaps, event_binding): Supply the new POSITION argument to get_relevant_keymaps. * keymap.c (Fkey_binding): Add new arguments, NO-REMAP and POSITION. * keymap.c (map_keymap_mapper): * keymap.c (Fwhere_is_internal): * keymap.c (where_is_to_char): * keymap.c (where_is_recursive_mapper): Don't expose the key remapping in these functions. This conflicts with GNU, but is more sane for our callers. Access to command remapping is with the functions #'command-remapping, #'commands-remapped-to, and #'remap-command, not with the general keymap functions, apart from the compatibility hack in #'define-key. * keymap.c (syms_of_keymap): * keymap.c (vars_of_keymap): * keymap.c (complex_vars_of_keymap): * lisp.h: New CHECK_COMMAND macro. man/ChangeLog addition: 2012-09-02 Aidan Kehoe <kehoea@parhasard.net> * lispref/keymaps.texi (Keymaps): * lispref/keymaps.texi (Changing Key Bindings): * lispref/keymaps.texi (Scanning Keymaps): * lispref/keymaps.texi (Remapping commands): * lispref/keymaps.texi (XEmacs): New. * lispref/keymaps.texi (Other Keymap Functions): Document the new command remapping functionality in this file. lisp/ChangeLog addition: 2012-09-02 Aidan Kehoe <kehoea@parhasard.net> * help.el (describe-function-1): Document any command remapping that has been done in this function. tests/ChangeLog addition: 2012-09-02 Aidan Kehoe <kehoea@parhasard.net> * automated/keymap-tests.el: Test the new command remapping functionality.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 02 Sep 2012 14:31:40 +0100
parents 712931b4b71d
children
line wrap: on
line source


@node Reading Mail, Calendar/Diary, Sending Mail, Top
@chapter Reading Mail
@cindex mail
@cindex message

XEmacs provides several mail-reading packages.  Each one comes with
its own manual, which is included in each package.

The recommended mail-reading package for new users is VM.  VM works
with standard Unix-mail-format folders and was designed as a replacement
for the older Rmail.

XEmacs also provides a sophisticated and comfortable front-end to the
MH mail-processing system, called @samp{MH-E}.  Unlike in other
mail programs, folders in MH are stored as file-system directories,
with each message occupying one (numbered) file.  This facilitates
working with mail using shell commands, and many other features of
MH are also designed to integrate well with the shell and with
shell scripts.  Keep in mind, however, that in order to use MH-E
you must have the MH mail-processing system installed on your
computer.

The @dfn{Everything including the kitchen sink} package @samp{Gnus} is
also available as an XEmacs package.  Gnus also handles Usenet articles
as well as mail.

@samp{MEW} (Messaging in the Emacs World) is another mail-reading
package available for XEmacs.

Finally, XEmacs provides the Rmail package.  Rmail is (currently)
the only mail reading package distributed with FSF GNU Emacs, and is
powerful in its own right.  However, it stores mail folders in a
special format called @samp{Babyl}, that is incompatible with all
other frequently-used mail programs.  A utility program is provided
for converting Babyl folders to standard Unix-mail format; however,
unless you already have mail in Babyl-format folders, you should
consider using Gnus, VM, or MH-E instead.