mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
924df20809
See etc/MH-E-NEWS and lisp/mh-e/ChangeLog for details.
1729 lines
60 KiB
Plaintext
1729 lines
60 KiB
Plaintext
Copyright (C) 2003 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
|
||
* Changes in MH-E 7.3
|
||
|
||
** New Features in MH-E 7.3
|
||
|
||
*** Unified function arguments
|
||
|
||
Any function with MSG-OR-SEQ in its docstring uses the displayed
|
||
message by default for this argument. However, if a prefix argument is
|
||
provided, then the user is prompted for a message sequence. If the
|
||
variable `transient-mark-mode' is non-nil and the mark is active, then
|
||
the function operates on the messages in the selected region. In a
|
||
program, MSG-OR-SEQ can be a message number, a list of message
|
||
numbers, a region in a cons cell, or a sequence.
|
||
|
||
*** MH-Index view of unseen messages
|
||
|
||
Use "F n (mh-index-new-messages)" or Folder -> View New Messages menu
|
||
item to display messages in the `mh-unseen-seq' sequence in folders
|
||
specified by `mh-index-new-messages-folders'. With a prefix argument,
|
||
enter a space-separated list of folders, or nothing to search all
|
||
folders.
|
||
|
||
Like other MH-Index folders, use "v (mh-index-visit-folder)" if you
|
||
wish to visit the original folder with the unseen message. This is
|
||
usually not necessary since the original message is annotated if you
|
||
reply, deleted if you delete the message, or refiled if you refile the
|
||
message (closes SF #701756).
|
||
|
||
*** Spam software support
|
||
|
||
MH-E now supports several spam filters including Bogofilter,
|
||
SpamProbe, and SpamAssassin. Spam that is mistakenly considered to be
|
||
good mail can be reclassified as spam with "J b (mh-junk-blacklist)".
|
||
Conversely, good mail that is accidently considered to be spam can be
|
||
reclassified with "J w (mh-junk-whitelist)" (closes SF #669518).
|
||
|
||
If a message is blacklisted, and `mh-junk-mail-folder' is a string,
|
||
then the message is refiled to that folder. If this variable is nil,
|
||
the message is deleted. If a message is whitelisted, then the message
|
||
is refiled to `mh-inbox'.
|
||
|
||
To change the spam program being used, customize `mh-junk-program'.
|
||
This should only be necessary if you have multiple filters on your
|
||
system and MH-E picked the wrong one. These customization variables
|
||
are found in the new customization group `mh-junk'.
|
||
|
||
The documentation for the following functions describes what setup is
|
||
needed for the different spam fighting programs:
|
||
|
||
- `mh-bogofilter-blacklist'
|
||
- `mh-spamprobe-blacklist'
|
||
- `mh-spamassassin-blacklist'
|
||
|
||
*** Relative folder specification @ supported
|
||
|
||
You can now use the relative folder marker @ in folder names (closes
|
||
SF #666774).
|
||
|
||
*** Marking messages
|
||
|
||
Messages can now be highlighted with "' (mh-toggle-tick)", Sequence ->
|
||
Toggle Tick Mark menu item or the "Toggle tick mark" button. These
|
||
messages are added to the "tick" sequence, although this sequence can
|
||
be changed in `mh-tick-seq'. The highlighting effect can be modified
|
||
by customizing `mh-folder-tick-face' (closes SF #623367).
|
||
|
||
There is also a new keybinding "/ ' (mh-narrow-to-tick)" and menu item
|
||
Sequence -> Narrow to Tick Sequence to narrow the view to the
|
||
highlighted messages.
|
||
|
||
*** mh-default-folder-list now takes recipients
|
||
|
||
If you wish to file a message based upon the recipient of a message
|
||
(such as a mailing list), you can now indicate that when filling out
|
||
the address in the `mh-default-folder-list' customization variable.
|
||
|
||
*** Face header field supported
|
||
|
||
In addition to the X-Face header field, the Face header field, which
|
||
can display color images, is now supported. As a bonus, the external
|
||
xface-e21 library is no longer required.
|
||
|
||
*** X-Image-URL support
|
||
|
||
Images specified in X-Image-URL header fields are now supported.
|
||
See the customization variable `mh-fetch-x-image-url' to enable this
|
||
support.
|
||
|
||
*** Fcc completion
|
||
|
||
Folders in Fcc fields in message drafts can now be completed with
|
||
M-TAB.
|
||
|
||
** New Variables in MH-E 7.3
|
||
|
||
Variables that have been added to MH-E that have not been discussed
|
||
elsewhere are listed here.
|
||
|
||
*** mh-auto-fields-list
|
||
|
||
Alist of addresses for which header lines are automatically inserted.
|
||
When a regular expression matches in the To or cc fields of a message,
|
||
the corresponding header field is automatically inserted in the
|
||
message header. It also allows the automatic setting of an identity
|
||
(using `mh-insert-identity') to set an alternate identity when sending
|
||
messages to a certain person or mailing list.
|
||
|
||
Since this is a more general use of `mh-insert-mail-followup-to-flag'
|
||
and `mh-insert-mail-followup-to-list', these variables have been removed.
|
||
|
||
*** mh-show-xface-face
|
||
|
||
Face for displaying the X-Face image.
|
||
|
||
*** mh-xemacs-toolbar-position
|
||
|
||
This customization variable allows the user to place the toolbar on
|
||
the four edges of the frame.
|
||
|
||
*** mh-xemacs-use-toolbar-flag
|
||
|
||
This customization variable is used to enable or disable the toolbar
|
||
under XEmacs.
|
||
|
||
** Variables Deleted in MH-E 7.3
|
||
|
||
Variables that have been removed from MH-E that have not been
|
||
discussed elsewhere are listed here.
|
||
|
||
*** mh-decode-content-transfer-encoded-message-flag
|
||
|
||
No longer needed since the external program mimencode is no longer
|
||
used.
|
||
|
||
*** mh-index-show-hook
|
||
|
||
This hook was never used, so it was removed.
|
||
|
||
*** mh-tool-bar-reply-3-buttons-flag
|
||
|
||
Obsolete. This functionality is present `mh-tool-bar-folder-buttons'.
|
||
|
||
** Bug Fixes in MH-E 7.3
|
||
|
||
*** Can't refile message
|
||
|
||
Messages with invalid addresses were causing errors in ali which
|
||
prevented the refiling of messages. The ali error is now shown in the
|
||
"*MH-E Log*" buffer and refiling suggests the last folder used (closes
|
||
SF #680388).
|
||
|
||
*** Empty body triggers duped header
|
||
|
||
If the body was empty the header would be treated like the body and
|
||
was therefore displayed twice. This has been fixed (closes SF
|
||
#681162).
|
||
|
||
*** mml or mhl directives not always processed
|
||
|
||
The mml and mhl directives used to create body parts were not
|
||
processed if one re-edited a draft, or if they added the directives
|
||
manually. The directives are now always processed upon sending the
|
||
letter. You may still, of course, use "C-c C-m m (mh-mml-to-mime)" or
|
||
"C-c C-e (mh-edit-mhn)" to manually create the MIME body parts from
|
||
the directives and then send the draft.
|
||
|
||
*** mh-alias-grab-from-field fails
|
||
|
||
MH-E was adding aliases with angle brackets around the address when
|
||
there wasn't a phrase (usually, the user's name), to go with it. This
|
||
caused ali to fail which caused problems in MH-E. This is probably a
|
||
bug in ali, but MH-E no longer inserts angle brackets around the
|
||
address unless there is a phrase, which avoids the problem (closes SF
|
||
#690216).
|
||
|
||
*** XEmacs fixes
|
||
|
||
MH-E is now fully supported under XEmacs and compiles without any
|
||
warnings.
|
||
|
||
In particular, the following now work under XEmacs:
|
||
|
||
- X-Face, Face, and X-Image-URL header fields
|
||
- MH-E logo in mode line
|
||
- Emphasis (bold, italics, etc.)
|
||
- Smilies
|
||
- Toolbar
|
||
|
||
*** Indexed folders should respect mh-show-threads-flag
|
||
|
||
Indexed folders are now threaded if `mh-show-threads-flag' is non-nil
|
||
(closes SF #709667).
|
||
|
||
*** Threading index view loses folder info
|
||
|
||
This has been fixed (closes SF #709672).
|
||
|
||
*** No undo information when re-editing drafts
|
||
|
||
Undo is turned on in the draft buffer when using "e (mh-edit-again)"
|
||
(closes SF #712777).
|
||
|
||
*** Forwarded base64 encoded messages are incorrectly displayed
|
||
|
||
This has been fixed (closes SF #681518).
|
||
|
||
*** Append to *MH-E Log* buffer
|
||
|
||
The last 100 lines of log messages are kept in the *MH-E Log* buffer.
|
||
Previously, the buffer was erased every time it was written (closes SF
|
||
#685476). In addition, many of the MH-E commands now send their output
|
||
into this buffer instead of a plethora of other special-purpose
|
||
buffers.
|
||
|
||
*** mh-inc-folder complains if no mail and no current message
|
||
|
||
The function `mh-inc-folder' no longer calls `mh-show' if point is not
|
||
on a valid scan line. This keeps `mh-inc-folder' from complaining
|
||
(closes SF #678115).
|
||
|
||
*** Folder normalization strips leading slash
|
||
|
||
Leading "/" characters in folder names entered by the user were being
|
||
lost. This has been fixed (closes SF #676890).
|
||
|
||
*** Print header doesn't show message
|
||
|
||
When printing a sequence, the header simply indicated that a sequence,
|
||
but not which one, was being printed and did not show the message
|
||
number. This has been fixed. If more than one message is printed, a
|
||
page of the scan lines is printed and its header indicates the
|
||
sequence or message range. The pages with the actual messages all set
|
||
the header to the folder and message displayed on that page.
|
||
|
||
*** Aliases constantly reloaded
|
||
|
||
Empty lists are now handled properly (closes SF #693859).
|
||
|
||
*** Remove RCS keywords
|
||
|
||
Removed RCS keywords per Emacs conventions (closes SF #680731).
|
||
|
||
*** Replace mimencode
|
||
|
||
MH-E was enhanced to decode message based on charset and
|
||
Content-Transfer-Encoding. This eliminates the need for the external
|
||
program mimencode (closes SF #674857).
|
||
|
||
|
||
|
||
* Changes in MH-E 7.2
|
||
|
||
This release includes the new features of filing hints, hierarchical
|
||
file name completion, indexed search and pick integration, unification
|
||
between `mh-visit-folder' and the speedbar, a displayed message
|
||
indicator, buffer name organization, support for mairix indexed
|
||
search, and last but not least, the MH-E logo has been added to the
|
||
mode line. Code that handles sequences and message regions runs
|
||
faster. Bugs have been fixed.
|
||
|
||
** New Features in MH-E 7.2
|
||
|
||
*** Filing Hints
|
||
|
||
When you file a message, MH-E now looks for an alias corresponding to
|
||
the address of the sender and offers that as a default folder (closes
|
||
SF #657096). The new variable `mh-default-folder-prefix' can be used
|
||
to put these folders in a sub-folder. The new variable
|
||
`mh-default-folder-must-exist-flag' means to suppress the suggested
|
||
folder (thereby providing the previous folder used) if the folder
|
||
doesn't already exist. The new variable `mh-default-folder-list' can
|
||
be used to map additional addresses and folders.
|
||
|
||
*** Hierarchical File Name Completion
|
||
|
||
When you completed filenames in the past, you were presented with a
|
||
list of all your folders at all depths in the tree. Now you are
|
||
presented with only one level at a time (closes SF #664821).
|
||
As a result, the variables `mh-auto-folder-collect-flag' and
|
||
`mh-folder-list-change-hook' are obsolete.
|
||
|
||
*** Indexed Search and Pick Integration
|
||
|
||
The indexed and pick searches have been integrated (closes SF
|
||
#664816). Both "F s (mh-search-folder)" and "F i (mh-index-search)"
|
||
use the pick template for forming queries. To submit the query, use
|
||
"C-c C-c (mh-do-search)" which will use the query method you selected.
|
||
If you change your mind while forming the query, you can use "C-c C-i
|
||
(mh-index-do-search)" or "C-c C-p (mh-pick-do-search)" to submit the
|
||
query using the respective method.
|
||
|
||
Second, the results from a pick search are now saved in a sub-folder
|
||
of +mhe-index like an indexed search.
|
||
|
||
Third, `pick' is now a valid choice for `mh-index-program'.
|
||
|
||
*** mh-visit-folder Metamorphosis Continues
|
||
|
||
When visiting a folder from the speedbar, only the unseen messages are
|
||
shown if there are unseen messages. If there aren't any unseen
|
||
messages, all of the messages are shown if there are fewer than
|
||
`mh-large-folder' messages; otherwise, the user is prompted for the
|
||
range of messages to display. The "F v (mh-visit-folder)" command has
|
||
been modified to mimic this behavior. Use a prefix arg to force the
|
||
message range prompt.
|
||
|
||
*** Displayed Message Indicator
|
||
|
||
In graphical Emacs, the message that is shown is marked by a triangle
|
||
in the fringe. In textual Emacs, there is a ">" in the first column
|
||
(closes SF #664824).
|
||
|
||
*** Buffer Name Organization
|
||
|
||
All ephemeral buffer names start with " *mh" while all interesting
|
||
buffers start with "*MH-E ". The "*Folders*", "*Sequences*", and
|
||
"*Recipients*" buffers were therefore renamed to "*MH-E Folders*",
|
||
"*MH-E Sequences*" and "*MH-E Recipients*" respectively (programmers
|
||
should see mh-utils.el for the names of the new constants). Also, the
|
||
output of MH commands is saved in the "*MH-E Log*" buffer.
|
||
|
||
*** mh-index-program
|
||
|
||
Add choices for `mairix' and `pick'.
|
||
|
||
*** Logo Displayed on Mode Line
|
||
|
||
** New Variables in MH-E 7.2
|
||
|
||
The new variables have been discussed elsewhere.
|
||
|
||
** Bug Fixes in MH-E 7.2
|
||
|
||
*** mh-decode-content-transfer-encoded-message
|
||
|
||
Messages that had been encoded with base64 were not decoded. This has
|
||
been fixed with this new function (closes SF #674190). As a result,
|
||
the variable `mh-decode-quoted-printable-flag' has been renamed to
|
||
`mh-decode-content-transfer-encoded-message-flag'.
|
||
|
||
*** mh-kill-folder
|
||
|
||
Now restores previous window configuration (closes SF #664828).
|
||
|
||
*** mh-mime-display
|
||
|
||
MH-E was not using the charset defined in the content-type
|
||
header. This meant that mail in a different charset would not
|
||
be properly displayed. This has been fixed (closes SF #655123).
|
||
|
||
*** mh-read-address
|
||
|
||
In XEmacs and Emacs20, this function would always prompt using "To: "
|
||
instead of using the command argument. This has been fixed (closes SF
|
||
#670913).
|
||
|
||
*** mh-rmail
|
||
|
||
Unseen messages are now shown in addition to new ones (closes SF
|
||
#667542).
|
||
|
||
*** mh-scan-msg-overflow-regexp
|
||
|
||
Change the variable so that a space is always maintained in the
|
||
beginning of the scan line.
|
||
|
||
*** mh-swish-execute-search
|
||
|
||
The example configuration file in the docstring didn't show the
|
||
backslash in the FileRules filename. If the example had been used
|
||
literally by the user, no files would be indexed! This has been fixed
|
||
(closes SF #665888).
|
||
|
||
*** mh-thread-refile
|
||
|
||
The "T o (mh-thread-refile)" command did not provide refiling hints
|
||
like `mh-refile-msg'. This has been fixed (closes SF #664829).
|
||
|
||
*** mh-toggle-threads
|
||
|
||
If the threaded view was modified and then toggled, the standard view
|
||
may not have been accurate (as it contained a potentially old first
|
||
message to last message range). This has been fixed (closes SF
|
||
#626117).
|
||
|
||
*** mh-tool-bar-show-set, mh-tool-bar-letter-set, mh-tool-bar-folder-set
|
||
|
||
Clicking the customize and help buttons now deletes the other windows
|
||
in the frame.
|
||
|
||
*** mh-version
|
||
|
||
The "M-x mh-version" command displayed "Aliasfile: aliases". This has
|
||
been fixed (closes SF #664467). See Buffer Name Organization above.
|
||
|
||
|
||
|
||
* Changes in MH-E 7.1
|
||
|
||
This release includes the new features of multiple identities and
|
||
alias completion. In addition, indexed searching has been revamped.
|
||
Various other features have been added and a few bugs were fixed.
|
||
|
||
** New Features in MH-E 7.1
|
||
|
||
*** Multiple Identities
|
||
|
||
MH-E now supports multiple identities (closes SF #628782). That means
|
||
that you can have different From and Organization header fields (or
|
||
any other header field of your choice) as well as different signatures
|
||
depending on your context. Usually, the contexts are home and work.
|
||
|
||
Add your identities to the variable `mh-identity-list' and set the
|
||
default identity with the variable `mh-identity-default'. Your
|
||
identity can be switched on the fly by using the Identity menu or by
|
||
calling "M-x mh-insert-identity RET".
|
||
|
||
This functionality can be customized within the mh-identity group.
|
||
|
||
*** Alias Completion and Harvesting
|
||
|
||
The contributed file mh-alias.el has been rewritten and incorporated
|
||
into MH-E.
|
||
|
||
By default, aliases are culled from the system files
|
||
"/etc/nmh/MailAliases," "/usr/lib/mh/MailAliases," and "/etc/passwd"
|
||
(see `mh-alias-system-aliases') and from your "AliasFile" MH profile
|
||
component. These aliases are then used for completion in the
|
||
minibuffer when entering addresses. Within the header of the message
|
||
draft, "M-TAB (mh-letter-complete)" is used to do alias completion.
|
||
|
||
The package also provides for alias creation based upon the From
|
||
header field of the current message. Use the lasso button
|
||
(mh-alias-grab-from-field).
|
||
|
||
This functionality can be customized within the mh-alias group.
|
||
|
||
*** Index Folder Updates
|
||
|
||
The results of an index search "F i (mh-index-search)" are now stored
|
||
in a bona fide folder so that you can refile messages and reply to
|
||
messages directly from the result folder. This folder is a sub-folder
|
||
of +mhe-index and the name is based upon the search string (closes SF
|
||
#623321).
|
||
|
||
If a prefix argument is given then the search in the current index
|
||
buffer is redone.
|
||
|
||
The index folder lists the names of the source folders as before.
|
||
However, instead of using RET on the name of the folder to visit the
|
||
folder, use "v (mh-show-index-visit-folder)" anywhere within the
|
||
results to visit that folder narrowed to the results of the search.
|
||
Additional functions have been added to navigate including "TAB
|
||
(mh-index-next-folder)", and "SHIFT-TAB (mh-index-previous-folder)."
|
||
|
||
*** mh-visit-folder Interface Updated
|
||
|
||
A change was made to the prompting of the message range. In general,
|
||
you can use the same format for messages and sequences as you can in
|
||
MH with a single exception: a single number means to scan that many
|
||
messages, rather than scan that message number. This turns out to be
|
||
much more useful than visiting a single message and is consistent with
|
||
Gnus and the MH-E speedbar (closes SF #655891).
|
||
|
||
If mh-visit-folder is called non-interactively and RANGE is nil then
|
||
all messages are displayed. This behavior is now documented and
|
||
provides backwards compatibility.
|
||
|
||
*** Threading Improvements
|
||
|
||
After incorporating new mail into a threaded folder, unseen messages
|
||
can be spread about. Two new functions have been added to make it
|
||
easier to find them: these are "M-n (mh-next-unread-msg)" and "M-p
|
||
(mh-previous-unread-msg)" (closes SF #630328)
|
||
|
||
Two new functions were added to delete and refile threads. They are "T
|
||
d (mh-thread-delete)" and "T o (mh-thread-refile)" respectively
|
||
(closes SF #630493).
|
||
|
||
In addition, the key "k" used to be bound to the function
|
||
`mh-delete-subject': it is now bound to
|
||
`mh-show-delete-subject-or-thread'.
|
||
|
||
New functions to navigate threads include "T u (mh-thread-ancestor)",
|
||
which can jump to the root message of the current thread given an
|
||
optional argument, "T n (mh-thread-next-sibling)", and "T p
|
||
(mh-thread-previous-sibling)"
|
||
|
||
*** Refiling of Messages in Region
|
||
|
||
If mark is active and `transient-mark-mode' is enabled then all the
|
||
messages in the region are refiled.
|
||
|
||
*** vCard Handling
|
||
|
||
If a signature cannot be identified, but there is a vCard attachment,
|
||
then that vCard will be presented as a signature (closes SF #649216).
|
||
|
||
*** New Info Added to mh-version
|
||
|
||
Information about Gnus versions available at both compile time and run
|
||
time has been added.
|
||
|
||
** New Variables in MH-E 7.1
|
||
|
||
The defcustom groups were reorganized. Rather than iterate the
|
||
specific changes here, you are invited to browse the groups with "M-x
|
||
mh-customize RET".
|
||
|
||
*** mh-alias-completion-ignore-case-flag
|
||
|
||
Non-nil means don't consider case significant in MH alias completion.
|
||
This is the default in plain MH, so it is the default here as well. It
|
||
can be useful to set this to t if, for example, you use lowercase
|
||
aliases for people and uppercase for mailing lists.
|
||
|
||
*** mh-alias-expand-aliases-flag
|
||
|
||
Non-nil means to expand aliases entered in the minibuffer. In other
|
||
words, aliases entered in the minibuffer will be expanded to the full
|
||
address in the message draft. By default, this expansion is not
|
||
performed.
|
||
|
||
*** mh-alias-flash-on-comma
|
||
|
||
Specify whether to flash the translation of the alias or warn if there
|
||
isn't a translation of the alias.
|
||
|
||
*** mh-alias-insert-file
|
||
|
||
Filename to use to store new MH-E aliases. This variable can also be a
|
||
list of filenames, in which case MH-E will prompt for one of them. If
|
||
nil, the default, then MH-E will use the first file found in the
|
||
"AliasFile" component of the MH profile.
|
||
|
||
*** mh-alias-insertion-location
|
||
|
||
Specifies where new aliases are entered in alias files. Options are
|
||
sorted alphabetically (the default), at the top of the file or at the
|
||
bottom.
|
||
|
||
*** mh-alias-local-users
|
||
|
||
If t, local users are completed in MH-E To: and Cc: prompts.
|
||
|
||
If you set this variable to a string, it will be executed to generate
|
||
a password file. A value of "ypcat passwd" is helpful if NIS is in
|
||
use.
|
||
|
||
*** mh-alias-system-aliases
|
||
|
||
A list of system files from which to cull aliases. If these files are
|
||
modified, they are automatically reread. This list need include only
|
||
system aliases and the passwd file, since personal alias files listed
|
||
in your "AliasFile" MH profile component are automatically included.
|
||
|
||
*** mh-identity-default
|
||
|
||
Default identity to use when `mh-letter-mode' is called.
|
||
|
||
*** mh-identity-list
|
||
|
||
List holding MH-E identity.
|
||
|
||
*** mh-invisible-header-fields
|
||
|
||
Simple user interface to change `mh-invisible-headers'.
|
||
|
||
*** mh-letter-complete-function
|
||
|
||
Function to call when completing outside of fields specific to
|
||
aliases. By default, it is bound to 'ispell-complete-word.
|
||
|
||
*** mh-show-threads-flag
|
||
|
||
Non-nil means new folders start in threaded mode. Threading large
|
||
number of messages can be time consuming. So if the flag is non-nil
|
||
then threading will be done only if the number of messages being
|
||
threaded is less than `mh-large-folder' (closes SF #646794).
|
||
|
||
*** mh-tool-bar-folder-buttons
|
||
|
||
Buttons to include in MH-E folder/show toolbar.
|
||
|
||
*** mh-tool-bar-letter-buttons
|
||
|
||
Buttons to include in MH-E letter toolbar.
|
||
|
||
** Bug Fixes in MH-E 7.1
|
||
|
||
*** mh-get-new-mail
|
||
|
||
Call new function `mh-add-cur-notation' to undo the work of
|
||
`mh-remove-cur-notation' if there was no new mail (closes SF #647681).
|
||
|
||
*** mh-set-cmd-note
|
||
|
||
No longer updates the default `mh-cmd-note' value. This resulted in
|
||
the misplacement of the current mark when the message number width
|
||
changed (closes SF #643701).
|
||
|
||
|
||
|
||
* Changes in MH-E 7.0
|
||
|
||
This is a major release which includes a lot of new features including
|
||
improved MIME handling, speedbar folder browsing, and indexed
|
||
searching. In this version, MH-E runs under XEmacs, passes checkdoc,
|
||
and compiles clean under all supported platforms.
|
||
|
||
The "passes checkdoc" feature above required changing the name of
|
||
several user-visible variables. It is likely that this affects you.
|
||
Please be sure to see the table at the end of these notes and rename
|
||
your variables accordingly.
|
||
|
||
MH-E has been written mh-e, Mh-e, MH-e and MH-E. We have decided that
|
||
the proper term should be MH-E. Please try to use MH-E in your
|
||
writing.
|
||
|
||
** New Features in MH-E 7.0
|
||
|
||
*** Speedbar
|
||
|
||
There is now support for the speedbar. Try "M-x speedbar" (closes SF
|
||
#503727).
|
||
|
||
Press the middle mouse button on the `+' icons to open a folder,
|
||
middle mouse button on a folder name to open the folder. Folders with
|
||
unseen messages are shown in bold, so this is a handy way to browse
|
||
new messages that you have filed with procmail or slocal.
|
||
|
||
See the new customization variable `mh-large-folder,' which controls
|
||
when the speedbar asks for how many messages to scan when opening a
|
||
large folder and `mh-speed-run-flists-flag' whose default value of t
|
||
means to use the flists command to populate the count of unseen and
|
||
total messages in each folder.
|
||
|
||
*** Indexed Search
|
||
|
||
Interoperability with swish++, swish, glimpse, and namazu has been
|
||
added to enable lightening-fast searches of your mail. If none of
|
||
these are present, grep is used. Try "F i (mh-index-search)".
|
||
|
||
For more information, read the documentation for the functions
|
||
`mh-swish++-execute-search,' `mh-swish-execute-search,'
|
||
`mh-namazu-execute-search,' or `mh-glimpse-execute-search' depending
|
||
on your preferred indexing program to see what kind of setup is needed
|
||
to generate the index.
|
||
|
||
*** Threading
|
||
|
||
Use "T t (mh-toggle-threads)" to view the threads in the folder. Use
|
||
it again to return to a non-threaded view.
|
||
|
||
*** Brief Help
|
||
|
||
Use "? (mh-help)" and "X ? (mh-prefix-help)," where X is a prefix
|
||
character, for a brief synopsis in the minibuffer of frequently used
|
||
commands. In the MH-Letter or MH-Pick buffers, use "C-c ? (mh-help)"
|
||
(closes SF #493740).
|
||
|
||
*** Folder Keymap Shared by Show Buffer
|
||
|
||
You can now use the MH-Folder mode commands from the MH-Show buffer.
|
||
Because of this, the MH-Show buffer is now read-only (closes SF
|
||
#493749 and SF #527946) and you now have to use "M (mh-modify)" to
|
||
edit a message.
|
||
|
||
*** Better Scanning
|
||
|
||
You no longer have to modify your scan format if your folders have
|
||
more than 9999 messages in them. If you've only modified your scan
|
||
format file to allow for the wider message numbers, consider using the
|
||
default behavior of MH-E and simplify your MH-E configuration
|
||
considerably (closes SF #635791).
|
||
|
||
To do this, you may have to remove your modifications of
|
||
`mh-scan.*-regexp' and `mh-cmd-note' and your customization of
|
||
`mh-scan-format-file'.
|
||
|
||
You may still want the updated format files for running MH commands
|
||
outside of MH-E; the default of `mh-scan-format-file' will cause them
|
||
to be ignored.
|
||
|
||
If you prefer fixed-width message numbers, set the new customization
|
||
variable to nil , set this variable to
|
||
nil and call `mh-set-cmd-note' with the width specified by the scan format in
|
||
`mh-scan-format-file'. For example, the default width is 4, so you would use
|
||
"(mh-set-cmd-note 4)" if `mh-scan-format-file' were nil.
|
||
|
||
*** X-Face
|
||
|
||
MH-E now displays the content of the X-Face header field in the From
|
||
field. When sending a message, an X-Face field is appended to the
|
||
header if it doesn't already exist and "~/.face" is present. See the
|
||
new customization variables `mh-show-use-xface-flag' and `mh-x-face-file'
|
||
(closes SF #480770).
|
||
|
||
MH-E depends on the external x-face package found in
|
||
ftp://ftp.jpl.org/pub/elisp/ to do this. The `uncompface' binary is
|
||
also required to be in the execute PATH. It can be obtained from:
|
||
http://freshmeat.net/redir/compface/1439/url_tgz/compface-1.4.tar.gz.
|
||
|
||
It has also been observed that if you don't see the faces, you might
|
||
have to do this (for unknown reasons):
|
||
|
||
mv /usr/local/include/compface.h /usr/include/
|
||
|
||
*** Graphical Smileys
|
||
|
||
Smiley's are now converted to cute little images. See the new
|
||
customization variable `mh-graphical-smileys-flag.'
|
||
|
||
*** Text Emphasis
|
||
|
||
ASCII formatting is now converted to the appropriate font. For
|
||
example, _underline_ is underlined, *bold* appears in bold, /italic/
|
||
appears in italic, etc. See `gnus-emphasis-alist' for the whole list.
|
||
See the new customization variables `mh-decode-mime' and
|
||
`mh-graphical-emphasis-flag.'
|
||
|
||
*** Attachment Handling
|
||
|
||
Inline attachments are now displayed. Regular attachments appear as
|
||
buttons in show buffer. Use "K TAB (mh-next-button)" or "K SHIFT-TAB
|
||
(mh-prev-button)" to cycle through these buttons. Use "K v
|
||
(mh-folder-toggle-mime-part)" to view, "K o
|
||
(mh-folder-save-mime-part)" to save one part or "K-a
|
||
(mh-save-mime-parts)" to save all parts, or "K i
|
||
(mh-folder-inline-mime-part)" to view the attachment inline.
|
||
|
||
See the new customization variable `mh-decode-mime' for additional
|
||
information. Other customization variables that affect this new feature
|
||
include `mh-store-mime-parts-default-directory' and
|
||
`mh-display-buttons-for-inline-parts-flag'.
|
||
|
||
HTML documents can be viewed inline if Gnus v5.10 and w3 or w3m lisp
|
||
packages are present. Set the customization variable
|
||
`mm-text-html-renderer' accordingly (closes SF #453352).
|
||
|
||
*** Quoted-printable Handling
|
||
|
||
Quoted-printable body parts are now decoded.
|
||
|
||
*** More Choices for `mh-yank-from-start-of-msg'
|
||
|
||
Historically, if this variable was t, the entire message, with full
|
||
headers would be included and every line would begin with
|
||
`mh-ins-buf-prefix.' This usage is deprecated in favor of the setting
|
||
`supercite' below. The default has been changed to `attribution.' The
|
||
following symbols are now understood:
|
||
|
||
`body': yank the message minus the header.
|
||
|
||
`supercite': include the entire message, with full headers. This also
|
||
causes the invocation of `sc-cite-original' without the setting of
|
||
`mail-citation-hook', now deprecated practice.
|
||
|
||
`autosupercite': do as for `supercite' automatically when show buffer
|
||
matches the message being replied-to.
|
||
|
||
`attribution': yank the message minus the header and add a simple
|
||
attribution line at the top.
|
||
|
||
`autoattrib': do as for `attribution' automatically when show buffer
|
||
matches the message being replied-to.
|
||
|
||
There is a new customization variable called
|
||
`mh-extract-from-attribution-verb' which is used for attribution which
|
||
provides a method for setting a different language.
|
||
|
||
*** Use Gnus mml Instead of mhn
|
||
|
||
When inserting attachments into a message draft, Gnus mml directives
|
||
are now used instead of mhn directives. One beneficial side-effect of
|
||
this is that attachments can now appear inline as well as separate.
|
||
|
||
The new customization variable `mh-compose-insertion' controls whether
|
||
Gnus or mhn is used to insert MIME message directives in messages
|
||
(default: 'gnus, if the mml library exists).
|
||
|
||
*** Content-Type Now Obtained Automatically
|
||
|
||
The value of the Content-Type no longer needs to be entered by the
|
||
user.
|
||
|
||
*** Attachments Automatically Included Upon Send
|
||
|
||
You no longer have to run "C-c C-e (mh-edit-mhn)" before sending a
|
||
message with attachments--this is done automatically when you send the
|
||
message with "C-c C-c (mh-send-letter)". There is, however, a new key
|
||
binding "C-c C-m m (mh-mml-to-mime)" which is analogous to "C-c C-e
|
||
(mh-edit-mhn)".
|
||
|
||
*** GPG Handling
|
||
|
||
Messages that have been signed or encrypted with GPG are verified and
|
||
decrypted automatically. To sign or encrypt a message, use "C-c RET
|
||
C-s (mh-mml-secure-message-sign-pgpmime)" and "C-c C-m C-e
|
||
(mh-mml-secure-message-encrypt-pgpmime)." You need Gnus version 5.10
|
||
for this feature. These functions are provided by the pgg.el package.
|
||
|
||
Users report "flashing" with the pgg.el package and prefer the gpg.el
|
||
package instead. To use gpg.el instead of the pgg.el package you need:
|
||
|
||
(setq mml2015-use 'gpg)
|
||
|
||
To mimic automatic encryption in gpg.el, use:
|
||
|
||
(setq mm-verify-option 'always)
|
||
(setq mm-decrypt-option 'always)
|
||
|
||
The venerable mailcrypt package is also an option. However, now that
|
||
show buffers are read-only, mailcrypt version 3.5.6 and older fail
|
||
when they attempt to decrypt the contents.
|
||
|
||
*** Mail-Followup-To Header Field
|
||
|
||
Support for this controversial field has been added because nmh
|
||
supports it (closes SF #627035). If you want to add it to outgoing
|
||
mail for selected mailing lists, add those mailing lists to the new
|
||
customization variable `mh-insert-mail-followup-to-list.' If you think
|
||
this field is evil, set the new customization variable
|
||
`mh-insert-mail-followup-to-flag' to nil.
|
||
|
||
*** Gnus Issues
|
||
|
||
If you update Gnus, you must recompile MH-E. Note that if you are
|
||
running the stock version of MH-E that comes with Emacs or the MH-E
|
||
package on a Debian GNU/Linux, this is done for you.
|
||
|
||
** New Variables in MH-E 7.0
|
||
|
||
New customization variables not mentioned earlier include:
|
||
|
||
*** mh-letter-insert-signature-hook
|
||
|
||
Invoked at the beginning of the "C-c C-s (mh-insert-signature)"
|
||
command. Can be used to determine which signature file to use based on
|
||
message content. On return, if `mh-signature-file-name' is non-nil
|
||
that file will be inserted at the current point in the buffer.
|
||
|
||
*** mh-show-maximum-size
|
||
|
||
Maximum size of message (in bytes) to display automatically. Provides
|
||
an opportunity to skip over large messages which may be slow to load.
|
||
Use a value of 0 to display all messages automatically regardless of
|
||
size (closes SF #488696).
|
||
|
||
*** mh-tool-bar-reply-3-buttons-flag
|
||
|
||
Non-nil means use three buttons for reply commands in tool-bar. If you
|
||
have room on your tool-bar because you are using a large font, you may
|
||
set this variable to expand the single reply button into three buttons
|
||
that won't lead to minibuffer prompt about who to reply to.
|
||
|
||
** Bug Fixes in MH-E 7.0
|
||
|
||
*** mh-delete-msg, mh-refile-msg, mh-undo
|
||
|
||
Mandrake Linux includes XEmacs initialization code that binds
|
||
`transient-mark-mode' which causes problems in MH-E. These problems
|
||
have been fixed (closes SF #541915).
|
||
|
||
*** mh-edit-again
|
||
|
||
This would sometimes yield a read-only buffer. This has been fixed
|
||
(closes SF #624283 and SF #625538).
|
||
|
||
*** mh-forward
|
||
|
||
When using nmh, always specify -mime so as to preserve the original
|
||
message(s).
|
||
|
||
*** mh-inc-folder
|
||
|
||
If you had narrowed to a sequence and then incorporated new mail,
|
||
those new messages would not be present in your +inbox when you
|
||
widened. This has been fixed (closes SF #489430, SF #489437, SF
|
||
#629233).
|
||
|
||
*** mh-insert-letter
|
||
|
||
No longer uses mhl to include a message as this mangled the header and
|
||
gave supercite fits (closes SF #629153).
|
||
|
||
*** mh-letter-mode
|
||
|
||
"M-q (fill-paragraph)" now fills quoted paragraphs (for example,
|
||
starting with "> ") correctly (closes SF #489927).
|
||
|
||
*** mh-next-undeleted-msg, mh-previous-undeleted-msg
|
||
|
||
If there are no more undeleted messages the point remains at its
|
||
original position and a message is produced (closes SF #494304).
|
||
|
||
*** mh-pick-mode
|
||
|
||
Now calls `mh-pick-mode-hook' as documented.
|
||
|
||
*** mh-put-msg-in-seq
|
||
|
||
Now puts all messages in region in sequence (closes SF #630324).
|
||
|
||
*** mh-refile-msg, mh-write-msg-to-file
|
||
|
||
These functions stomped on the variables that held the name of the
|
||
last file and folder respectively for the other function. This has
|
||
been fixed so that the last folder or file name is preserved (closes
|
||
SF #580772).
|
||
|
||
*** mh-region-to-sequence
|
||
|
||
If the region in MH-Folder was set with "C-x h (mark-whole-buffer)",
|
||
you couldn't perform operations on all of the messages as you would
|
||
expect. This has been fixed (closes SF #621632).
|
||
|
||
*** mh-reply
|
||
|
||
Performing an undo the first thing after replying would blank out the
|
||
entire draft. Now just the insertion of the yanked message is undone
|
||
leaving the header and signature intact for additional editing (closes
|
||
SF #623693).
|
||
|
||
*** mh-show-mode
|
||
|
||
Now calls `mh-show-mode-hook' as documented (closes SF #627222).
|
||
|
||
*** mh-subject-thread-to-sequence
|
||
|
||
Make 'subject sequence a real one, exported to MH. This means you can,
|
||
for example, mh-forward it. But it also shows up with a mark in the
|
||
scan output (closes SF #489445).
|
||
|
||
*** Other Bug Fixes
|
||
|
||
The following bugs have also been closed:
|
||
|
||
SF #495450: Folder buffer read-only after inc
|
||
SF #489706: mh-page-msg bombs out
|
||
SF #580772: mh-last-destination is overloaded
|
||
|
||
*** Variables renamed to conform with Emacs coding conventions
|
||
|
||
The coding conventions require that boolean variables end in -flag.
|
||
The following two tables show which variables were affected (closes SF
|
||
#627015).
|
||
|
||
Customization Variables (defcustom)
|
||
|
||
Old Name New Name
|
||
|
||
mh-auto-folder-collect mh-auto-folder-collect-flag
|
||
mh-bury-show-buffer mh-bury-show-buffer-flag
|
||
mh-clean-message-header mh-clean-message-header-flag
|
||
mh-decode-quoted-printable mh-decode-quoted-printable-flag
|
||
mh-delete-yanked-msg-window mh-delete-yanked-msg-window-flag
|
||
mh-do-not-confirm mh-do-not-confirm-flag
|
||
mh-highlight-citation-p mh-highlight-citation
|
||
mh-insert-x-mailer-p mh-insert-x-mailer-flag
|
||
mh-print-background mh-print-background-flag
|
||
mh-recenter-summary-p mh-recenter-summary-flag
|
||
mh-recursive-folders mh-recursive-folders-flag
|
||
mh-reply-show-message-p mh-reply-show-message-flag
|
||
mh-show-use-goto-addr mh-show-use-goto-addr-flag
|
||
mh-update-sequences-after-mh-show mh-update-sequences-after-mh-show-flag
|
||
|
||
Regular Variables (defvar)
|
||
|
||
Old Name New Name
|
||
|
||
mh-mhn-compose-insert-p mh-mhn-compose-insert-flag
|
||
mh-nmh-p mh-nmh-flag
|
||
mh-page-to-next-msg-p mh-page-to-next-msg-flag
|
||
|
||
|
||
|
||
* Changes in mh-e 6.1
|
||
|
||
This is a minor release which includes a few bug fixes. The
|
||
distribution now includes the ChangeLog.
|
||
|
||
** New Features in mh-e 6.1
|
||
|
||
*** Fontification
|
||
|
||
Unseen messages now displayed in bold.
|
||
|
||
*** Viewing folders and sequences
|
||
|
||
The folder and sequence listings that "F l (mh-list-folders)" and "S l
|
||
(mh-list-sequences)" create are now displayed in view mode.
|
||
|
||
** Bug Fixes in mh-e 6.1
|
||
|
||
*** mh-folder-unseen-seq-name
|
||
|
||
Byte compilation failed when initializing this variable when the
|
||
user's MH environment was not set up. This has been fixed (closes
|
||
Debian #140232 and Debian #140817).
|
||
|
||
*** mh-forward
|
||
|
||
When forwarding a sequence, the mode of the draft would not be set to
|
||
MH-Letter correctly. This has been fixed (closes SF #489448).
|
||
|
||
*** mh-insert-prefix-string
|
||
|
||
Fixed to work under XEmacs. Thanks to Will Partain
|
||
<partain at dcs.gla.ac.uk>.
|
||
|
||
*** mh-quit
|
||
|
||
mh-quit now cleans up the buffers named `mh-temp-buffer,'
|
||
'mh-temp-folders-buffer' and 'mh-temp-sequences-buffer.'
|
||
|
||
|
||
* Changes in mh-e 6.0
|
||
|
||
mh-e is now maintained at SourceForge (see
|
||
http://mh-e.sourceforge.net/). This is where you need to go to obtain
|
||
new versions of mh-e, report bugs and receive support.
|
||
|
||
The maintainers have moved much of their personal configurations into
|
||
the codebase, so you may find that you may be able to reduce your mh-e
|
||
customizations as well.
|
||
|
||
There are several incompatibilities in this version from older
|
||
versions. Please read the following notes carefully for details. Pay
|
||
particular attention to the key binding changes in the MH-Folder
|
||
section. If you have customized your scan format, you will want to
|
||
read about the new variable `mh-scan-format-file'.
|
||
|
||
The manual could not be updated in time for this release. It will be
|
||
updated in the near future. If the Preface in your manual indicates
|
||
the older version (version 1.3, for mh-e version 5.0.2), please check
|
||
the following page occasionally for an update:
|
||
|
||
https://sourceforge.net/project/showfiles.php?group_id=13357
|
||
|
||
|
||
** New Features in mh-e 6.0
|
||
|
||
*** Customization
|
||
|
||
mh-e now uses the customize feature of Emacs. Use "M-x customize-group
|
||
mh RET" to customize mh-e.
|
||
|
||
*** Menus
|
||
|
||
All mh-e modes now provide menus that contain most mh-e functions.
|
||
|
||
*** Toolbars
|
||
|
||
All mh-e modes now have toolbar buttons for oft-used functions (Emacs 21).
|
||
|
||
*** Fontification
|
||
|
||
All mh-e buffers now have font-lock keywords. To use, either call
|
||
(turn-on-font-lock) from the appropriate hook, or set
|
||
`global-font-lock-mode' to t. To customize, use "M-x
|
||
customize-apropos-faces ^mh RET".
|
||
|
||
If you have customized your scan lines, you will have to update your
|
||
scan regexps. The existing regexps were changed to extract a match so
|
||
you will have to add appropriate grouping constructs to take advantage
|
||
of the fontification. Your old settings will continue to work, but the
|
||
folder will not be fontified. For example:
|
||
|
||
(setq mh-good-msg-regexp "^\\(.....\\)[^D^]")
|
||
|
||
You will most likely have to update the new variable
|
||
`mh-scan-subject-regexp' as well. There is another new variable
|
||
`mh-scan-date-regexp' which you may also find useful. Run "M-x apropos
|
||
mh.*regexp" for a complete list.
|
||
|
||
*** mail-user-agent support
|
||
|
||
You can now set `mail-user-agent' to `mh-e-user-agent' so that packages
|
||
that need to send mail will use mh-e (closes SF #406883, SF #470024).
|
||
|
||
*** replgroupcomps support
|
||
|
||
If you reply to `cc' or `all' and you use nmh, the nmh repl option
|
||
-group will be used. This means that the file `replgroupcomps' will be
|
||
used. If you have customized `replcomps', you will definitely want to
|
||
either copy `$NMH_LIB/replgroupcomps' to your mail directory and modify
|
||
it the same way that you modified your `replcomps' file, or simply
|
||
copy your `replcomps' file to `replgroupcomps'.
|
||
|
||
*** MH-Folder mode
|
||
|
||
The variable `mh-summary-height' used to have a default of 4. It now
|
||
varies from 4 to 10 depending on the height of the frame.
|
||
|
||
Clicking the mouse on a message shows that message.
|
||
|
||
Delete, refile and undo now operate on a region (but only if
|
||
`transient-mark-mode' is non-nil).
|
||
|
||
SPC (mh-page-msg) now displays the message if it is not already
|
||
visible. If the bottom of a message is showing, SPC (mh-page-msg)
|
||
moves to the next message (respecting the direction you are moving
|
||
through the folder).
|
||
|
||
The threading commands "T u (mh-next-unseen-subject-thread)",
|
||
"T t (mh-toggle-subject-thread)", "T s (mh-narrow-to-subject-thread)",
|
||
and "T k (mh-delete-subject-thread)" have been added. These functions
|
||
do not offer threading in the true sense of the word, but do allow
|
||
some manipulation by subject.
|
||
|
||
Major, major keymap changes. This was done to free up movement
|
||
commands in the buffer, and to provide for additional features, such
|
||
as the threading commands. At the same time, better and more
|
||
consistent mnemonics were realized that should make it easier to
|
||
remember key bindings.
|
||
|
||
Added new sub-keymaps for folder commands, sequence commands,
|
||
extraction commands, and digest commands which begin with with F, S,
|
||
X, and D, respectively. These sub-keymaps allowed some consistency
|
||
(e.g., especially with l(ist) and k(ill)).
|
||
|
||
Here are the actual changes and rationale:
|
||
|
||
Old New Rationale
|
||
|
||
e - Deleted. Already have x. Now used by mh-edit-again.
|
||
j - Deleted. Already have g.
|
||
|
||
M-a e Better mnemonic. Matches rmail. Frees movement command.
|
||
M-e E Better mnemonic. Consistent with e.
|
||
- S Why not? mh-sort-folder.
|
||
|
||
M-f Fv Frees movement command
|
||
M-f Ff Alias (keep?)
|
||
M-f Fo Alias (keep?)
|
||
M-k Fk No reason but to keep with folder commands
|
||
M-l Fl No reason but to keep with folder commands
|
||
M-p Fp No reason but to keep with folder commands
|
||
M-r Fr Frees movement command
|
||
M-s Fs No reason but to keep with folder commands
|
||
M-u Fu No reason but to keep with folder commands
|
||
|
||
M-% Sd Better mnemonic
|
||
M-# Sk Better mnemonic
|
||
M-q Sl Better mnemonic
|
||
C-xn Sn Frees up standard key binding
|
||
% Sp Better mnemonic for putting a message in a sequence
|
||
? Ss Shows sequences that message is in
|
||
C-xw Sw Frees up standard key binding
|
||
|
||
M-n Xs Better mnemonic (extract shar)
|
||
M-n Xu Better mnemonic (extract uuencode)
|
||
|
||
M-SPC D SPC Frees mark command
|
||
M-\177 D \177 No reason but to keep with digest commands
|
||
M-b Db Frees movement command
|
||
|
||
As the number of variables increases, it is becoming important to
|
||
organize the mh-e namespace. Several variables having to do with the
|
||
format of scan lines were renamed, as follows:
|
||
|
||
Old New
|
||
|
||
mh-good-msg-regexp mh-scan-good-msg-regexp
|
||
mh-deleted-msg-regexp mh-scan-deleted-msg-regexp
|
||
mh-refiled-msg-regexp mh-scan-refiled-msg-regexp
|
||
mh-valid-scan-line mh-scan-valid-regexp
|
||
mh-cur-scan-msg-regexp mh-scan-cur-msg-number-regexp
|
||
- mh-scan-cur-msg-regexp
|
||
- mh-scan-rcpt-regexp
|
||
- mh-scan-format-regexp
|
||
mh-msg-number-regexp mh-scan-msg-number-regexp
|
||
mh-msg-search-regexp mh-scan-msg-search-regexp
|
||
|
||
*** MH-Show mode
|
||
|
||
While the MIME support is not complete, quoted-printable body parts
|
||
are now decoded.
|
||
|
||
Some MTAs quote From at the beginning of the line with a ">". The ">"
|
||
is now removed in the display, but not on disk.
|
||
|
||
*** MH-Letter mode
|
||
|
||
New function "C-c C-o (mh-split-line)" splits lines in a draft
|
||
preserving the fill prefix and indentation. This is useful when
|
||
responding to several sentences in a single paragraph separately.
|
||
|
||
"M-q (fill-paragraph)" can now be used on the message that is being
|
||
replied to. The fill prefix such as "> " is preserved.
|
||
|
||
You no longer have to run "C-c C-e (mh-edit-mhn)" manually as this is
|
||
now done automatically when the message is sent.
|
||
|
||
The X-Mailer header field is now added to messages as they are sent.
|
||
|
||
"C-c C-m C-i (mh-mhn-compose-insertion)" now makes a pretty good guess
|
||
at the type of file using the `file' command and no longer asks the
|
||
user for the media type. If the necessary version of `file' is not
|
||
available, the user is asked for the media type as before; however,
|
||
the list of media types is now taken from the system mailcap if
|
||
available. Failing that, the built-in list of types has been
|
||
supplemented so in most cases the type you need should be present
|
||
(closes SF #406883, #441179).
|
||
|
||
** New Variables in mh-e 6.0
|
||
|
||
New variables not mentioned earlier include:
|
||
|
||
*** mh-insert-x-mailer-p
|
||
|
||
Default value of t means that an X-Mailer header field should be
|
||
added.
|
||
|
||
*** mh-reply-show-message-p
|
||
|
||
The setting of this variable determines whether the MH show-buffer is
|
||
displayed with the current message when using mh-reply without a prefix
|
||
argument. Set it to nil if you already include the message
|
||
automatically in your draft using "repl: -filter repl.filter" in
|
||
"~/.mh_profile."
|
||
|
||
*** mh-scan-format-file
|
||
|
||
Specifies the format file to pass to the scan program. If t, the
|
||
format string will be taken from the either `mh-scan-format-mh' or
|
||
`mh-scan-format-nmh' depending on whether MH or nmh is in use. If nil,
|
||
the default scan output will be used.
|
||
|
||
If you customize the scan format, you may need to modify a few
|
||
variables containing regexps that mh-e uses to identify specific
|
||
portions of the output. Use `M-x apropos RET mh-scan.*regexp' to
|
||
obtain a list of these variables.
|
||
|
||
*** mh-scan-format-mh
|
||
|
||
Scan format string for MH, provided to the scan program via the
|
||
-format arg. This format is identical to the default except that
|
||
additional hints for fontification have been added to the sixth
|
||
column.
|
||
|
||
*** mh-scan-format-nmh
|
||
|
||
Scan format string for nmh, provided to the scan program via the
|
||
-format arg. This format is identical to the default except that
|
||
additional hints for fontification have been added to the sixth
|
||
column.
|
||
|
||
*** mh-show-use-goto-addr
|
||
|
||
Non-nil means URLs and e-mail addresses are highlighted using
|
||
goto-addr in MH-Show buffer.
|
||
|
||
*** mh-letter-fill-column
|
||
|
||
Fill column to use in `mh-letter-mode'. This is useful to make the
|
||
lines a bit shorter to allow for quoting in replies.
|
||
|
||
*** mh-folder-updated-hook
|
||
|
||
Invoked when the actions in a folder (such as moves and deletes) are
|
||
performed. Variables that are useful in this hook include
|
||
`mh-delete-list' and `mh-refile-list' which can be used to see which
|
||
changes are being made to current folder, `mh-current-folder'.
|
||
|
||
*** mh-unseen-updated-hook
|
||
|
||
Invoked after the unseen sequence has been updated. The variable
|
||
`mh-seen-list' can be used to obtain the list of messages which will
|
||
be removed from the unseen sequence
|
||
|
||
** Bug Fixes in mh-e 6.0
|
||
|
||
*** mh-edit-again and mh-extract-rejected-mail
|
||
|
||
Now insert a header separator (--------) which packages such as
|
||
mailcrypt expect.
|
||
|
||
*** mh-find-progs
|
||
|
||
Now uses `mhparam' to set `mh-lib-progs' and `mh-lib'. Added more
|
||
directories to `mh-progs' so that mh-e can autoconfigure in more
|
||
environments. Chances are that you no longer have to set these
|
||
variables, and if you do, you will only have to set `mh-progs'.
|
||
Unless, of course, you are using an ancient version of MH that doesn't
|
||
have `mhparam'.
|
||
|
||
*** mh-folder-mode-map
|
||
|
||
The DEL/<delete>/<backspace> change in Emacs 21 broke
|
||
`mh-previous-page'. This has been fixed (closes SF #228907).
|
||
|
||
*** mh-forward
|
||
|
||
If you had "forw: -mime" to your .mh_profile, forwarding a message
|
||
resulted in:
|
||
|
||
Search failed: "^------- Forwarded Message"
|
||
|
||
In addition, the Subject field was not filled in. This has been fixed
|
||
(closes SF #223603).
|
||
|
||
*** mh-kill-folder
|
||
|
||
The user is now always prompted before this action; the variable
|
||
`mh-do-not-confirm' is no longer consulted here. Therefore users who
|
||
wanted to set `mh-do-not-confirm' but didn't because of the
|
||
`mh-kill-folder' dependency may now do so.
|
||
|
||
*** mh-make-folder-mode-line
|
||
|
||
Properly deals with folders that do not have any lines in them. Prints
|
||
"no msgs" instead of "0 msgs". Does not try to print a range when
|
||
there are no messages.
|
||
|
||
*** mh-mhn-compose-insertion
|
||
|
||
Now gets the MIME type automatically (assuming the local file command
|
||
supports the -i and -b options). If this use of the file command is
|
||
not supported, the list of MIME types has been expanded to use the
|
||
system's mailcap file.
|
||
|
||
*** mh-nmh-p
|
||
|
||
This variable (t when nmh is in use rather than MH) assumed that the
|
||
string "nmh" is in `mh-lib-progs' or `mh-lib'. This has been fixed
|
||
(closes SF #441776).
|
||
|
||
*** mh-refile-msg
|
||
|
||
No longer lets you specify an empty folder (closes SF #476824).
|
||
|
||
*** mh-regenerate-headers
|
||
|
||
Now suppresses "scan: bad message list" messages.
|
||
|
||
*** mh-print-msg
|
||
|
||
This function was looking for `mhl' in the wrong place on nmh on
|
||
Redhat LINUX 7.0. This has been fixed (closes SF #481128).
|
||
|
||
*** mh-show
|
||
|
||
Now updates `cur' sequence after a message is shown (closes SF #481772).
|
||
|
||
*** mh-showing
|
||
|
||
Renamed variable and function to `mh-showing-mode' to conform with
|
||
minor mode conventions. Added optional arg to function so it would
|
||
behave like a normal minor mode: no or nil arg toggles mode, 0 arg
|
||
turns off, non-nil turns on. This fixed the error that occurred when
|
||
`desktop-create-buffer' recreated mh-e buffers because it was calling
|
||
`mh-showing' with an arg.
|
||
|
||
*** mh-version
|
||
|
||
Fixed for nmh. Now displays mh-e version correctly. Cleaned up output
|
||
and display `mh-progs', etc.
|
||
|
||
*** mh-widen
|
||
|
||
Now attempts to stay on the same message number (closes SF #480922).
|
||
|
||
No longer wipes out pending deletes and refiles without warning
|
||
(closes SF #481036).
|
||
|
||
|
||
* Changes in mh-e 5.0.2
|
||
|
||
This version contains additional minor changes to integrate it with
|
||
reporter.el (requires reporter.el version 3.1c or later) and Emacs
|
||
19.30. The mh-goto-msg function is much faster, which also speeds up
|
||
several other operations.
|
||
|
||
|
||
* Changes in mh-e 5.0.1
|
||
|
||
This version contains minor changes from mh-e 5.0 to integrate it with
|
||
Emacs 19.29.
|
||
|
||
|
||
* User-visible changes to mh-e 5.0
|
||
|
||
Note: This being a major release, there are many internal changes.
|
||
This document lists only changes to the external interfaces of mh-e.
|
||
|
||
When upgrading, you must either explicitly reload the new versions of
|
||
all mh-e files that are already loaded or restart your Emacs.
|
||
|
||
|
||
** Major Changes and New Features in mh-e 5.0
|
||
|
||
The emphasis for this release has been on consistency and
|
||
documentation. Many documentation strings were enhanced. Documentation
|
||
strings were changed to comments for internal functions and variables.
|
||
|
||
*** There is now proper documentation in the form of a 75-page users
|
||
manual. The Texinfo source is mh-e.texi; the formatted Info document
|
||
is mh-e.info.
|
||
|
||
*** There is a new command `mh-update-sequences', which updates MH's
|
||
idea of what messages are in the Unseen sequence and what is the
|
||
current folder and message. `mh-quit' calls it. While
|
||
`mh-execute-commands' has always done this updating as a side effect,
|
||
the new function is faster.
|
||
|
||
*** The MH profile entry "Inbox:" is supported.
|
||
|
||
*** If the show-buffer is modified, the user is queried before mh-e
|
||
reuses the buffer to show a different message. This buffer is also
|
||
auto-saved and backed up correctly.
|
||
|
||
*** `mh-store-buffer' is significantly more robust. It now handles
|
||
messages created by a wide variety of packaging software. The status
|
||
message for `uudecode' includes the name of the file created. An error
|
||
is signaled if the subprocess exits with a non-zero status.
|
||
|
||
*** `mh-search-folder' behaves predictably, adding messages found to
|
||
the `search' sequence. It correctly handles the case of no messages
|
||
found.
|
||
|
||
*** `mh-burst-digest' (`M-b') now only rescans the part of the folder
|
||
affected by the burst. It is now much faster in a large folder.
|
||
|
||
|
||
** New Hooks and Customization Variables in mh-e 5.0
|
||
|
||
*** `mh-default-folder-for-message-function': new name for the old
|
||
`mh-msg-folder-hook', which wasn't a hook. The old name was confusing,
|
||
leading people to think they could use `add-hook' with it, when
|
||
actually `setq' is the correct way.
|
||
|
||
*** `mh-sortm-args': When this variable is used has changed. Now
|
||
`mh-sortm-args' is passed if there IS a prefix argument to
|
||
`mh-sort-folder'. The assumption is that for arguments you normally
|
||
want, you would specify them in an MH profile entry.
|
||
|
||
*** `mh-mhn-args': new hook, a list of additional arguments to pass to
|
||
the `mhn' program if `mh-edit-mhn' is given a prefix argument.
|
||
|
||
*** `mh-edit-mhn-hook': new hook called by `mh-edit-mhn', the function
|
||
that formats MIME messages.
|
||
|
||
*** `mh-folder-list-change-hook': new hook, called whenever the cached
|
||
list of folders, `mh-folder-list', is changed.
|
||
|
||
*** `mh-find-path-hook': new hook, called when entering mh-e.
|
||
|
||
*** `mh-repl-formfile': new variable, used to change the format file
|
||
used by `mh-reply' from the default of "replcomps".
|
||
|
||
*** New variables to customize the scan format and notating:
|
||
`mh-note-deleted', `mh-note-refiled', `mh-note-seq', `mh-note-cur',
|
||
`mh-note-copied', `mh-note-printed'.
|
||
|
||
|
||
** Key Binding Changes in mh-e 5.0
|
||
|
||
*** `RET' runs `mh-show' for consistency with the Finder and Info. The
|
||
old binding `.' still works, but `RET' is now the standard binding.
|
||
|
||
*** `M-<' now runs `mh-first-msg' for consistency with `M->', which
|
||
runs `mh-last-msg'.
|
||
|
||
*** `C-c C-f C-d' in MH-Letter mode moves to a Dcc: header field.
|
||
|
||
*** `C-c C-f C-r' in MH-Letter mode moves to a From: header field.
|
||
|
||
*** `g' is now the standard binding for `mh-goto-msg'. The old binding
|
||
`j' still works.
|
||
|
||
|
||
** Other Improvements and Changes to mh-e 5.0
|
||
|
||
*** `mh-lpr-command-format' no longer passes the "-p" argument to
|
||
`lpr' by default. The mail header typically has the date anyway.
|
||
|
||
*** When prompting for a sequence name, if no sequences have been used
|
||
yet, mh-e will offer the first sequence the current message is in.
|
||
|
||
*** The patterns of more mailers are recognized by
|
||
`mh-extract-rejected-mail'.
|
||
|
||
*** `mh-insert-prefix-string' no longer wraps the call to the
|
||
`mail-citation-hook' function in a `save-excursion' so the hook writer
|
||
can choose whether to leave point at the beginning or the end of the
|
||
yanked text.
|
||
|
||
*** `mh-write-msg-to-file': The prompt now refers to "message" or
|
||
"message body" depending on which will be written. (This is controlled
|
||
by a prefix argument.) The file defaults to the last-used file instead
|
||
of supplying only the directory name.
|
||
|
||
*** mh-e uses message ranges when running MH commands. Thus "rmm 1 2 3
|
||
4 6" is now "rmm 1-4 6". This change makes it less likely to overflow
|
||
system argument list limits, and it might be faster, too.
|
||
|
||
|
||
** Bug Fixes to mh-e 5.0
|
||
|
||
*** mh-e's idea of the unseen sequence now stays in sync with MH's
|
||
better.
|
||
|
||
*** Functions that are supposed to find fields in the message header
|
||
no longer look in the message body.
|
||
|
||
*** mh-e would sometimes fail to remove the "%" from a scan line when
|
||
the message was removed from a sequence if the message was also in the
|
||
Previous sequence.
|
||
|
||
*** The variable `mh-inc-prog' is now correctly used in all places.
|
||
|
||
*** `mh-pipe-msg' runs the process in the correct directory.
|
||
|
||
*** A partially scanned folder will no longer lose the "/select"
|
||
annotation when you execute marked deletes and refiles with `x'.
|
||
|
||
|
||
* Changes to mh-e 4.0
|
||
|
||
This file is automatically generated from news-mh-e.txinfo. Do not edit.
|
||
|
||
[MH-E-ONEWS has been incorporated here and removed. news-mh-e.txinfo
|
||
is no longer available.]
|
||
|
||
Note: there are many internal changes to mh-e in this release. If you
|
||
have the previous version loaded into your Emacs, you will probably not
|
||
be able to load this version on top of it.
|
||
|
||
** New Features in mh-e 4.0
|
||
|
||
*** Background folder collection. The first time you are prompted for
|
||
a folder, you must wait while mh-e collects the names of all existing
|
||
folders. Now however, if you abort, collecting will continue in the
|
||
background, and you can do something else in Emacs until the
|
||
collection completes. Normally, mh-e will begin collecting folders
|
||
names in the background when you first load it; you can disable this
|
||
feature by setting `mh-auto-folder-collect' to nil.
|
||
|
||
*** There is support for composing MIME messages using the `mhn'
|
||
program from MH 6.8. See the documentation string for mh-edit-mhn.
|
||
(While composing a letter, type `C-h k C-c C-e'.) See also mhn(1).
|
||
There is as yet no support for reading MIME messages.
|
||
|
||
*** `mh-show', typically on `.', repositions to the start of the
|
||
message if the message is already visible. It used to do nothing in
|
||
this case.
|
||
|
||
*** The function `mh-unshar-msg' is renamed `mh-store-msg'. It now
|
||
does uudecoding, too. Someday it should do MIME. It remembers the last
|
||
directory you used and offers it as the default for next time.
|
||
|
||
*** New function `mh-header-display', on `,', displays the message
|
||
with all headers, including those normally not displayed. Type `.' to
|
||
display the message normally again.
|
||
|
||
*** New function `mh-list-sequences' lists the sequences in use in the
|
||
current folder.
|
||
|
||
*** New function `mh-version' displays version information about MH
|
||
and mh-e. Please use the output in bug reports.
|
||
|
||
*** `mh-quit' now burys the folder buffer and show buffer.
|
||
|
||
|
||
** New hooks and customization variables in mh-e 4.0
|
||
|
||
*** `mh-pick-mode-hook': new hook called by new mode `mh-pick-mode'.
|
||
The pick buffer didn't used to have its own mode. Another advantage of
|
||
`mh-pick-mode' is that `C-h m' works in the pick buffer.
|
||
|
||
*** `mail-citation-hook': new variable for supercite.
|
||
|
||
*** `mh-refile-msg-hook': new hook called by `mh-refile-msg' (and
|
||
`mh-refile-or-write-again' when refiling).
|
||
|
||
*** `mh-msg-folder-hook': new hook used by `mh-refile-msg' and
|
||
`mh-to-fcc' to provide a default folder for user prompt.
|
||
|
||
*** `mh-show-hook': new hook called by `mh-show'.
|
||
|
||
*** `mh-delete-msg-hook': new hook called by `mh-delete-msg'.
|
||
|
||
*** `mh-show-mode-hook': new hook called by new mode `mh-show-mode'
|
||
for `show-' buffers.
|
||
|
||
*** `mh-comp-formfile': new variable so can customize `components'
|
||
file.
|
||
|
||
*** `mh-sortm-args': new variable, a list of extra arguments to be
|
||
passed to sortm by `mh-sort-folder'. Give an argument to
|
||
`mh-sort-folder' to suppress this behavior.
|
||
|
||
*** `mh-send-prog': new variable so can customize name of `send'
|
||
program in case of name conflicts.
|
||
|
||
*** `mh-scan-prog': new variable so can customize name of `scan'
|
||
program to generate custom effects.
|
||
|
||
*** `mh-inc-prog': new variable so can customize name of `inc' program
|
||
to do fancy management of incoming messages.
|
||
|
||
*** `mh-forwarded-letter-subject': new function used by `mh-forward'
|
||
to compute the Subject line of the new message. It is a small function
|
||
which can be replaced by the user for customization. Uses the new
|
||
variable `mh-forward-subject-format', which allows some simple
|
||
customizations without rewriting even `mh-forwarded-letter-subject'.
|
||
|
||
*** `mh-new-draft-cleaned-headers': new variable, header lines removed
|
||
by `mh-edit-again' and `mh-extract-rejected-mail' before offering a
|
||
message as a new draft.
|
||
|
||
*** `mh-signature-file-name': new variable used by
|
||
`mh-insert-signature' to so can customize name of the file to insert.
|
||
|
||
*** `mh-read-address': new function called to read all To: and Cc:
|
||
addresses.
|
||
|
||
*** `mh-msg-folder-hook': new hook used by `mh-refile-msg' and
|
||
`mh-to-fcc' to provide a default folder for user prompt.
|
||
|
||
|
||
** Key binding changes in mh-e 4.0
|
||
|
||
*** `,' runs new function `mh-header-display'. It is like `.' but it
|
||
displays *all* the headers.
|
||
|
||
*** `M-#' runs the new function `mh-delete-seq'. One used to have to
|
||
type `C-u M-%' to delete a sequence.
|
||
|
||
*** `<' no longer does `mh-first-msg', but `M->' now does
|
||
`mh-last-msg'. This allows first and last to be consistent (`>' was
|
||
taken) and is more likely to be discovered by chance anyway.
|
||
|
||
*** `M-d' runs `mh-redistribute', `r' runs `mh-reply' (on the theory
|
||
that the more commonly used function should be easier to type, and the
|
||
obscure action of redistributing can be harder to type).
|
||
|
||
*** `M-o' changed to `C-o' (`mh-write-msg-to-file'). It was
|
||
interfering with arrow keys for some people.
|
||
|
||
*** `M-n' now runs `mh-store-msg' (formerly `mh-unshar-msg').
|
||
|
||
*** `b' no longer runs `mh-quit'; use `q' instead. `b' may be used in
|
||
a future version for something else.
|
||
|
||
|
||
** Minor improvements to mh-e 4.0
|
||
|
||
*** The mh-e code is now divided into multiple Emacs Lisp files, so it
|
||
starts up faster because Emacs doesn't have to load all of it at once.
|
||
(This change also makes it easier for the maintainer to manage
|
||
things.)
|
||
|
||
*** When searching for the directory containing the MH programs,
|
||
search the user's PATH in addition to the built-in directories, to
|
||
increase the chance of finding the MH programs.
|
||
|
||
*** The subject for a forwarded message no longer has ugly square
|
||
brackets around it.
|
||
|
||
*** The name of the folder is no longer appears twice in the show
|
||
buffer mode line.
|
||
|
||
*** When typing a folder name in the minibuffer, parent folders
|
||
complete to the trailing slash (/), for easier typing of subfolders.
|
||
|
||
*** The folder buffer mode name changed from `mh-e scan' or `mh-e
|
||
show' to `MH-Folder', which makes the hook name easier to guess. Added
|
||
`mh-showing' to `minor-mode-alist' so there is still an indication in
|
||
the mode line of whether messages will be shown automatically.
|
||
|
||
*** `mh-rename-seq' does completion on the old sequence name.
|
||
|
||
*** If called by a user who has never used MH on this system before,
|
||
mh-e runs the MH program `install-mh' to get them set up.
|
||
|
||
*** Undo history for previous messages is not kept to avoid wasting
|
||
memory.
|
||
|
||
*** The internal temp buffer used by mh-e has `buffer-offer-save'
|
||
explicitly nil. This change benefits people who change the
|
||
`buffer-offer-save' default.
|
||
|
||
|
||
** Bug fixes to mh-e 4.0
|
||
|
||
*** `mh-to-field': don't bomb if no To: field.
|
||
|
||
*** `mh-get-new-mail': restore annotations, e.g., cur, even if no new
|
||
mail.
|
||
|
||
*** `mh-rename-seq': verify that the new seq name was accepted by
|
||
`mark' before updating state.
|
||
|
||
*** `mh-internal-seq': the Previous sequence is not notated, since it
|
||
would notate everything scanned.
|
||
|
||
*** `mh-read-draft': don't call `find-file-noselect' so an
|
||
`auto-mode-alist' doesn't trigger `mh-letter-mode-hook' twice. Faster,
|
||
too.
|
||
|
||
*** `mh-show': If user moves onto a message that doesn't exist, don't
|
||
leave the cursor in the show pane.
|
||
|
||
*** `mh-delete-scan-msgs': use `equal', not `=', on the result of
|
||
`mh-get-msg-num', since it may be nil.
|
||
|
||
*** `mh-get-field': do anchored search so searching for `reply-to:'
|
||
doesn't find `in-reply-to:'.
|
||
|
||
*** `mh-widen': do nothing if not narrowed.
|
||
|
||
*** `mh-clean-message-header': find end of headers even if no body.
|
||
|
||
|
||
Local variables:
|
||
mode: outline
|
||
paragraph-separate: "[ ]*$"
|
||
end:
|