3 This release includes the new features of multiple identities and
4 alias completion. In addition, indexed searching has been revamped.
5 Various other features have been added and a few bugs were fixed.
7 ** New Features in MH-E 7.1
9 *** Multiple Identities
11 MH-E now supports multiple identities (closes SF #628782). That means
12 that you can have different From and Organization header fields (or
13 any other header field of your choice) as well as different signatures
14 depending on your context. Usually, the contexts are home and work.
16 Add your identities to the variable `mh-identity-list' and set the
17 default identity with the variable `mh-identity-default'. Your
18 identity can be switched on the fly by using the Identity menu or by
19 calling "M-x mh-insert-identity RET".
21 This functionality can be customized within the mh-identity group.
23 *** Alias Completion and Harvesting
25 The contributed file mh-alias.el has been rewritten and incorporated
28 By default, aliases are culled from the system files
29 "/etc/nmh/MailAliases," "/usr/lib/mh/MailAliases," and "/etc/passwd"
30 (see `mh-alias-system-aliases') and from your "AliasFile" MH profile
31 component. These aliases are then used for completion in the
32 minibuffer when entering addresses. Within the header of the message
33 draft, "M-TAB (mh-letter-complete)" is used to do alias completion.
35 The package also provides for alias creation based upon the From
36 header field of the current message. Use the lasso button
37 (mh-alias-grab-from-field).
39 This functionality can be customized within the mh-alias group.
41 *** Index Folder Updates
43 The results of an index search "F i (mh-index-search)" are now stored
44 in a bona fide folder so that you can refile messages and reply to
45 messages directly from the result folder. This folder is a sub-folder
46 of +mhe-index and the name is based upon the search string (closes SF
49 If a prefix argument is given then the search in the current index
52 The index folder lists the names of the source folders as before.
53 However, instead of using RET on the name of the folder to visit the
54 folder, use "v (mh-show-index-visit-folder)" anywhere within the
55 results to visit that folder narrowed to the results of the search.
56 Additional functions have been added to navigate including "TAB
57 (mh-index-next-folder)", and "SHIFT-TAB (mh-index-previous-folder)."
59 *** mh-visit-folder Interface Updated
61 A change was made to the prompting of the message range. In general,
62 you can use the same format for messages and sequences as you can in
63 MH with a single exception: a single number means to scan that many
64 messages, rather than scan that message number. This turns out to be
65 much more useful than visiting a single message and is consistent with
66 Gnus and the MH-E speedbar (closes SF #655891).
68 If mh-visit-folder is called non-interactively and RANGE is nil then
69 all messages are displayed. This behavior is now documented and
70 provides backwards compatibility.
72 *** Threading Improvements
74 After incorporating new mail into a threaded folder, unseen messages
75 can be spread about. Two new functions have been added to make it
76 easier to find them: these are "M-n (mh-next-unread-msg)" and "M-p
77 (mh-previous-unread-msg)" (closes SF #630328)
79 Two new functions were added to delete and refile threads. They are "T
80 d (mh-thread-delete)" and "T o (mh-thread-refile)" respectively
83 In addition, the key "k" used to be bound to the function
84 `mh-delete-subject': it is now bound to
85 `mh-show-delete-subject-or-thread'.
87 New functions to navigate threads include "T u (mh-thread-ancestor)",
88 which can jump to the root message of the current thread given an
89 optional argument, "T n (mh-thread-next-sibling)", and "T p
90 (mh-thread-previous-sibling)"
92 *** Refiling of Messages in Region
94 If mark is active and `transient-mark-mode' is enabled then all the
95 messages in the region are refiled.
99 If a signature cannot be identified, but there is a vCard attachment,
100 then that vCard will be presented as a signature (closes SF #649216).
102 *** New Info Added to mh-version
104 Information about Gnus versions available at both compile time and run
107 ** New Variables in MH-E 7.1
109 The defcustom groups were reorganized. Rather than iterate the
110 specific changes here, you are invited to browse the groups with "M-x
113 *** mh-alias-completion-ignore-case-flag
115 Non-nil means don't consider case significant in MH alias completion.
116 This is the default in plain MH, so it is the default here as well. It
117 can be useful to set this to t if, for example, you use lowercase
118 aliases for people and uppercase for mailing lists.
120 *** mh-alias-expand-aliases-flag
122 Non-nil means to expand aliases entered in the minibuffer. In other
123 words, aliases entered in the minibuffer will be expanded to the full
124 address in the message draft. By default, this expansion is not
127 *** mh-alias-flash-on-comma
129 Specify whether to flash the translation of the alias or warn if there
130 isn't a translation of the alias.
132 *** mh-alias-insert-file
134 Filename to use to store new MH-E aliases. This variable can also be a
135 list of filenames, in which case MH-E will prompt for one of them. If
136 nil, the default, then MH-E will use the first file found in the
137 "AliasFile" component of the MH profile.
139 *** mh-alias-insertion-location
141 Specifies where new aliases are entered in alias files. Options are
142 sorted alphabetically (the default), at the top of the file or at the
145 *** mh-alias-local-users
147 If t, local users are completed in MH-E To: and Cc: prompts.
149 If you set this variable to a string, it will be executed to generate
150 a password file. A value of "ypcat passwd" is helpful if NIS is in
153 *** mh-alias-system-aliases
155 A list of system files from which to cull aliases. If these files are
156 modified, they are automatically reread. This list need include only
157 system aliases and the passwd file, since personal alias files listed
158 in your "AliasFile" MH profile component are automatically included.
160 *** mh-identity-default
162 Default identity to use when `mh-letter-mode' is called.
166 List holding MH-E identity.
168 *** mh-invisible-header-fields
170 Simple user interface to change `mh-invisible-headers'.
172 *** mh-letter-complete-function
174 Function to call when completing outside of fields specific to
175 aliases. By default, it is bound to 'ispell-complete-word.
177 *** mh-show-threads-flag
179 Non-nil means new folders start in threaded mode. Threading large
180 number of messages can be time consuming. So if the flag is non-nil
181 then threading will be done only if the number of messages being
182 threaded is less than `mh-large-folder' (closes SF #646794).
184 *** mh-tool-bar-folder-buttons
186 Buttons to include in MH-E folder/show toolbar.
188 *** mh-tool-bar-letter-buttons
190 Buttons to include in MH-E letter toolbar.
192 ** Bug Fixes in MH-E 7.1
196 Call new function `mh-add-cur-notation' to undo the work of
197 `mh-remove-cur-notation' if there was no new mail (closes SF #647681).
201 No longer updates the default `mh-cmd-note' value. This resulted in
202 the misplacement of the current mark when the message number width
203 changed (closes SF #643701).
207 * Changes in mh-e 7.0
209 This is a major release which includes a lot of new features including
210 improved MIME handling, speedbar folder browsing, and indexed
211 searching. In this version, MH-E runs under XEmacs, passes checkdoc,
212 and compiles clean under all supported platforms.
214 The "passes checkdoc" feature above required changing the name of
215 several user-visible variables. It is likely that this affects you.
216 Please be sure to see the table at the end of these notes and rename
217 your variables accordingly.
219 MH-E has been written mh-e, Mh-e, MH-e and MH-E. We have decided that
220 the proper term should be MH-E. Please try to use MH-E in your
223 ** New Features in MH-E 7.0
227 There is now support for the speedbar. Try "M-x speedbar" (closes SF
230 Press the middle mouse button on the `+' icons to open a folder,
231 middle mouse button on a folder name to open the folder. Folders with
232 unseen messages are shown in bold, so this is a handy way to browse
233 new messages that you have filed with procmail or slocal.
235 See the new customization variable `mh-large-folder,' which controls
236 when the speedbar asks for how many messages to scan when opening a
237 large folder and `mh-speed-run-flists-flag' whose default value of t
238 means to use the flists command to populate the count of unseen and
239 total messages in each folder.
243 Interoperability with swish++, swish, glimpse, and namazu has been
244 added to enable lightening-fast searches of your mail. If none of
245 these are present, grep is used. Try "F i (mh-index-search)".
247 For more information, read the documentation for the functions
248 `mh-swish++-execute-search,' `mh-swish-execute-search,'
249 `mh-namazu-execute-search,' or `mh-glimpse-execute-search' depending
250 on your preferred indexing program to see what kind of setup is needed
251 to generate the index.
255 Use "T t (mh-toggle-threads)" to view the threads in the folder. Use
256 it again to return to a non-threaded view.
260 Use "? (mh-help)" and "X ? (mh-prefix-help)," where X is a prefix
261 character, for a brief synopsis in the minibuffer of frequently used
262 commands. In the MH-Letter or MH-Pick buffers, use "C-c ? (mh-help)"
265 *** Folder Keymap Shared by Show Buffer
267 You can now use the MH-Folder mode commands from the MH-Show buffer.
268 Because of this, the MH-Show buffer is now read-only (closes SF
269 #493749 and SF #527946) and you now have to use "M (mh-modify)" to
274 You no longer have to modify your scan format if your folders have
275 more than 9999 messages in them. If you've only modified your scan
276 format file to allow for the wider message numbers, consider using the
277 default behavior of MH-E and simplify your MH-E configuration
278 considerably (closes SF #635791).
280 To do this, you may have to remove your modifications of
281 `mh-scan.*-regexp' and `mh-cmd-note' and your customization of
282 `mh-scan-format-file'.
284 You may still want the updated format files for running MH commands
285 outside of MH-E; the default of `mh-scan-format-file' will cause them
288 If you prefer fixed-width message numbers, set the new customization
289 variable to nil , set this variable to
290 nil and call `mh-set-cmd-note' with the width specified by the scan format in
291 `mh-scan-format-file'. For example, the default width is 4, so you would use
292 "(mh-set-cmd-note 4)" if `mh-scan-format-file' were nil.
296 MH-E now displays the content of the X-Face header field in the From
297 field. When sending a message, an X-Face field is appended to the
298 header if it doesn't already exist and "~/.face" is present. See the
299 new customization variables `mh-show-use-xface-flag' and `mh-x-face-file'
302 MH-E depends on the external x-face package found in
303 ftp://ftp.jpl.org/pub/elisp/ to do this. The `uncompface' binary is
304 also required to be in the execute PATH. It can be obtained from:
305 http://freshmeat.net/redir/compface/1439/url_tgz/compface-1.4.tar.gz.
307 It has also been observed that if you don't see the faces, you might
308 have to do this (for unknown reasons):
310 mv /usr/local/include/compface.h /usr/include/
312 *** Graphical Smileys
314 Smiley's are now converted to cute little images. See the new
315 customization variable `mh-graphical-smileys-flag.'
319 ASCII formatting is now converted to the appropriate font. For
320 example, _underline_ is underlined, *bold* appears in bold, /italic/
321 appears in italic, etc. See `gnus-emphasis-alist' for the whole list.
322 See the new customization variables `mh-decode-mime' and
323 `mh-graphical-emphasis-flag.'
325 *** Attachment Handling
327 Inline attachments are now displayed. Regular attachments appear as
328 buttons in show buffer. Use "K TAB (mh-next-button)" or "K SHIFT-TAB
329 (mh-prev-button)" to cycle through these buttons. Use "K v
330 (mh-folder-toggle-mime-part)" to view, "K o
331 (mh-folder-save-mime-part)" to save one part or "K-a
332 (mh-save-mime-parts)" to save all parts, or "K i
333 (mh-folder-inline-mime-part)" to view the attachment inline.
335 See the new customization variable `mh-decode-mime' for additional
336 information. Other customization variables that affect this new feature
337 include `mh-store-mime-parts-default-directory' and
338 `mh-display-buttons-for-inline-parts-flag'.
340 HTML documents can be viewed inline if Gnus v5.10 and w3 or w3m lisp
341 packages are present. Set the customization variable
342 `mm-text-html-renderer' accordingly (closes SF #453352).
344 *** Quoted-printable Handling
346 Quoted-printable body parts are now decoded.
348 *** More Choices for `mh-yank-from-start-of-msg'
350 Historically, if this variable was t, the entire message, with full
351 headers would be included and every line would begin with
352 `mh-ins-buf-prefix.' This usage is deprecated in favor of the setting
353 `supercite' below. The default has been changed to `attribution.' The
354 following symbols are now understood:
356 `body': yank the message minus the header.
358 `supercite': include the entire message, with full headers. This also
359 causes the invocation of `sc-cite-original' without the setting of
360 `mail-citation-hook', now deprecated practice.
362 `autosupercite': do as for `supercite' automatically when show buffer
363 matches the message being replied-to.
365 `attribution': yank the message minus the header and add a simple
366 attribution line at the top.
368 `autoattrib': do as for `attribution' automatically when show buffer
369 matches the message being replied-to.
371 There is a new customization variable called
372 `mh-extract-from-attribution-verb' which is used for attribution which
373 provides a method for setting a different language.
375 *** Use Gnus mml Instead of mhn
377 When inserting attachments into a message draft, Gnus mml directives
378 are now used instead of mhn directives. One beneficial side-effect of
379 this is that attachments can now appear inline as well as separate.
381 The new customization variable `mh-compose-insertion' controls whether
382 Gnus or mhn is used to insert MIME message directives in messages
383 (default: 'gnus, if the mml library exists).
385 *** Content-Type Now Obtained Automatically
387 The value of the Content-Type no longer needs to be entered by the
390 *** Attachments Automatically Included Upon Send
392 You no longer have to run "C-c C-e (mh-edit-mhn)" before sending a
393 message with attachments--this is done automatically when you send the
394 message with "C-c C-c (mh-send-letter)". There is, however, a new key
395 binding "C-c C-m m (mh-mml-to-mime)" which is analogous to "C-c C-e
400 Messages that have been signed or encrypted with GPG are verified and
401 decrypted automatically. To sign or encrypt a message, use "C-c RET
402 C-s (mh-mml-secure-message-sign-pgpmime)" and "C-c C-m C-e
403 (mh-mml-secure-message-encrypt-pgpmime)." You need Gnus version 5.10
404 for this feature. These functions are provided by the pgg.el package.
406 Users report "flashing" with the pgg.el package and prefer the gpg.el
407 package instead. To use gpg.el instead of the pgg.el package you need:
409 (setq mml2015-use 'gpg)
411 To mimic automatic encryption in gpg.el, use:
413 (setq mm-verify-option 'always)
414 (setq mm-decrypt-option 'always)
416 The venerable mailcrypt package is also an option. However, now that
417 show buffers are read-only, mailcrypt version 3.5.6 and older fail
418 when they attempt to decrypt the contents.
420 *** Mail-Followup-To Header Field
422 Support for this controversial field has been added because nmh
423 supports it (closes SF #627035). If you want to add it to outgoing
424 mail for selected mailing lists, add those mailing lists to the new
425 customization variable `mh-insert-mail-followup-to-list.' If you think
426 this field is evil, set the new customization variable
427 `mh-insert-mail-followup-to-flag' to nil.
431 If you update Gnus, you must recompile MH-E. Note that if you are
432 running the stock version of MH-E that comes with Emacs or the MH-E
433 package on a Debian GNU/Linux, this is done for you.
435 ** New Variables in MH-E 7.0
437 New customization variables not mentioned earlier include:
439 *** mh-letter-insert-signature-hook
441 Invoked at the beginning of the "C-c C-s (mh-insert-signature)"
442 command. Can be used to determine which signature file to use based on
443 message content. On return, if `mh-signature-file-name' is non-nil
444 that file will be inserted at the current point in the buffer.
446 *** mh-show-maximum-size
448 Maximum size of message (in bytes) to display automatically. Provides
449 an opportunity to skip over large messages which may be slow to load.
450 Use a value of 0 to display all messages automatically regardless of
451 size (closes SF #488696).
453 *** mh-tool-bar-reply-3-buttons-flag
455 Non-nil means use three buttons for reply commands in tool-bar. If you
456 have room on your tool-bar because you are using a large font, you may
457 set this variable to expand the single reply button into three buttons
458 that won't lead to minibuffer prompt about who to reply to.
460 ** Bug Fixes in MH-E 7.0
462 *** mh-delete-msg, mh-refile-msg, mh-undo
464 Mandrake Linux includes XEmacs initialization code that binds
465 `transient-mark-mode' which causes problems in MH-E. These problems
466 have been fixed (closes SF #541915).
470 This would sometimes yield a read-only buffer. This has been fixed
471 (closes SF #624283 and SF #625538).
475 When using nmh, always specify -mime so as to preserve the original
480 If you had narrowed to a sequence and then incorporated new mail,
481 those new messages would not be present in your +inbox when you
482 widened. This has been fixed (closes SF #489430, SF #489437, SF
487 No longer uses mhl to include a message as this mangled the header and
488 gave supercite fits (closes SF #629153).
492 "M-q (fill-paragraph)" now fills quoted paragraphs (for example,
493 starting with "> ") correctly (closes SF #489927).
495 *** mh-next-undeleted-msg, mh-previous-undeleted-msg
497 If there are no more undeleted messages the point remains at its
498 original position and a message is produced (closes SF #494304).
502 Now calls `mh-pick-mode-hook' as documented.
504 *** mh-put-msg-in-seq
506 Now puts all messages in region in sequence (closes SF #630324).
508 *** mh-refile-msg, mh-write-msg-to-file
510 These functions stomped on the variables that held the name of the
511 last file and folder respectively for the other function. This has
512 been fixed so that the last folder or file name is preserved (closes
515 *** mh-region-to-sequence
517 If the region in MH-Folder was set with "C-x h (mark-whole-buffer)",
518 you couldn't perform operations on all of the messages as you would
519 expect. This has been fixed (closes SF #621632).
523 Performing an undo the first thing after replying would blank out the
524 entire draft. Now just the insertion of the yanked message is undone
525 leaving the header and signature intact for additional editing (closes
530 Now calls `mh-show-mode-hook' as documented (closes SF #627222).
532 *** mh-subject-thread-to-sequence
534 Make 'subject sequence a real one, exported to MH. This means you can,
535 for example, mh-forward it. But it also shows up with a mark in the
536 scan output (closes SF #489445).
540 The following bugs have also been closed:
542 SF #495450: Folder buffer read-only after inc
543 SF #489706: mh-page-msg bombs out
544 SF #580772: mh-last-destination is overloaded
546 *** Variables renamed to conform with Emacs coding conventions
548 The coding conventions require that boolean variables end in -flag.
549 The following two tables show which variables were affected (closes SF
552 Customization Variables (defcustom)
556 mh-auto-folder-collect mh-auto-folder-collect-flag
557 mh-bury-show-buffer mh-bury-show-buffer-flag
558 mh-clean-message-header mh-clean-message-header-flag
559 mh-decode-quoted-printable mh-decode-quoted-printable-flag
560 mh-delete-yanked-msg-window mh-delete-yanked-msg-window-flag
561 mh-do-not-confirm mh-do-not-confirm-flag
562 mh-highlight-citation-p mh-highlight-citation
563 mh-insert-x-mailer-p mh-insert-x-mailer-flag
564 mh-print-background mh-print-background-flag
565 mh-recenter-summary-p mh-recenter-summary-flag
566 mh-recursive-folders mh-recursive-folders-flag
567 mh-reply-show-message-p mh-reply-show-message-flag
568 mh-show-use-goto-addr mh-show-use-goto-addr-flag
569 mh-update-sequences-after-mh-show mh-update-sequences-after-mh-show-flag
571 Regular Variables (defvar)
575 mh-mhn-compose-insert-p mh-mhn-compose-insert-flag
577 mh-page-to-next-msg-p mh-page-to-next-msg-flag
581 * Changes in mh-e 6.1
583 This is a minor release which includes a few bug fixes. The
584 distribution now includes the ChangeLog.
586 ** New Features in mh-e 6.1
590 Unseen messages now displayed in bold.
592 *** Viewing folders and sequences
594 The folder and sequence listings that "F l (mh-list-folders)" and "S l
595 (mh-list-sequences)" create are now displayed in view mode.
597 ** Bug Fixes in mh-e 6.1
599 *** mh-folder-unseen-seq-name
601 Byte compilation failed when initializing this variable when the
602 user's MH environment was not set up. This has been fixed (closes
603 Debian #140232 and Debian #140817).
607 When forwarding a sequence, the mode of the draft would not be set to
608 MH-Letter correctly. This has been fixed (closes SF #489448).
610 *** mh-insert-prefix-string
612 Fixed to work under XEmacs. Thanks to Will Partain
613 <partain at dcs.gla.ac.uk>.
617 mh-quit now cleans up the buffers named `mh-temp-buffer,'
618 'mh-temp-folders-buffer' and 'mh-temp-sequences-buffer.'
621 * Changes in mh-e 6.0
623 mh-e is now maintained at SourceForge (see
624 http://mh-e.sourceforge.net/). This is where you need to go to obtain
625 new versions of mh-e, report bugs and receive support.
627 The maintainers have moved much of their personal configurations into
628 the codebase, so you may find that you may be able to reduce your mh-e
629 customizations as well.
631 There are several incompatibilities in this version from older
632 versions. Please read the following notes carefully for details. Pay
633 particular attention to the key binding changes in the MH-Folder
634 section. If you have customized your scan format, you will want to
635 read about the new variable `mh-scan-format-file'.
637 The manual could not be updated in time for this release. It will be
638 updated in the near future. If the Preface in your manual indicates
639 the older version (version 1.3, for mh-e version 5.0.2), please check
640 the following page occasionally for an update:
642 https://sourceforge.net/project/showfiles.php?group_id=13357
645 ** New Features in mh-e 6.0
649 mh-e now uses the customize feature of Emacs. Use "M-x customize-group
650 mh RET" to customize mh-e.
654 All mh-e modes now provide menus that contain most mh-e functions.
658 All mh-e modes now have toolbar buttons for oft-used functions (Emacs 21).
662 All mh-e buffers now have font-lock keywords. To use, either call
663 (turn-on-font-lock) from the appropriate hook, or set
664 `global-font-lock-mode' to t. To customize, use "M-x
665 customize-apropos-faces ^mh RET".
667 If you have customized your scan lines, you will have to update your
668 scan regexps. The existing regexps were changed to extract a match so
669 you will have to add appropriate grouping constructs to take advantage
670 of the fontification. Your old settings will continue to work, but the
671 folder will not be fontified. For example:
673 (setq mh-good-msg-regexp "^\\(.....\\)[^D^]")
675 You will most likely have to update the new variable
676 `mh-scan-subject-regexp' as well. There is another new variable
677 `mh-scan-date-regexp' which you may also find useful. Run "M-x apropos
678 mh.*regexp" for a complete list.
680 *** mail-user-agent support
682 You can now set `mail-user-agent' to `mh-e-user-agent' so that packages
683 that need to send mail will use mh-e (closes SF #406883, SF #470024).
685 *** replgroupcomps support
687 If you reply to `cc' or `all' and you use nmh, the nmh repl option
688 -group will be used. This means that the file `replgroupcomps' will be
689 used. If you have customized `replcomps', you will definitely want to
690 either copy `$NMH_LIB/replgroupcomps' to your mail directory and modify
691 it the same way that you modified your `replcomps' file, or simply
692 copy your `replcomps' file to `replgroupcomps'.
696 The variable `mh-summary-height' used to have a default of 4. It now
697 varies from 4 to 10 depending on the height of the frame.
699 Clicking the mouse on a message shows that message.
701 Delete, refile and undo now operate on a region (but only if
702 `transient-mark-mode' is non-nil).
704 SPC (mh-page-msg) now displays the message if it is not already
705 visible. If the bottom of a message is showing, SPC (mh-page-msg)
706 moves to the next message (respecting the direction you are moving
709 The threading commands "T u (mh-next-unseen-subject-thread)",
710 "T t (mh-toggle-subject-thread)", "T s (mh-narrow-to-subject-thread)",
711 and "T k (mh-delete-subject-thread)" have been added. These functions
712 do not offer threading in the true sense of the word, but do allow
713 some manipulation by subject.
715 Major, major keymap changes. This was done to free up movement
716 commands in the buffer, and to provide for additional features, such
717 as the threading commands. At the same time, better and more
718 consistent mnemonics were realized that should make it easier to
719 remember key bindings.
721 Added new sub-keymaps for folder commands, sequence commands,
722 extraction commands, and digest commands which begin with with F, S,
723 X, and D, respectively. These sub-keymaps allowed some consistency
724 (e.g., especially with l(ist) and k(ill)).
726 Here are the actual changes and rationale:
730 e - Deleted. Already have x. Now used by mh-edit-again.
731 j - Deleted. Already have g.
733 M-a e Better mnemonic. Matches rmail. Frees movement command.
734 M-e E Better mnemonic. Consistent with e.
735 - S Why not? mh-sort-folder.
737 M-f Fv Frees movement command
740 M-k Fk No reason but to keep with folder commands
741 M-l Fl No reason but to keep with folder commands
742 M-p Fp No reason but to keep with folder commands
743 M-r Fr Frees movement command
744 M-s Fs No reason but to keep with folder commands
745 M-u Fu No reason but to keep with folder commands
747 M-% Sd Better mnemonic
748 M-# Sk Better mnemonic
749 M-q Sl Better mnemonic
750 C-xn Sn Frees up standard key binding
751 % Sp Better mnemonic for putting a message in a sequence
752 ? Ss Shows sequences that message is in
753 C-xw Sw Frees up standard key binding
755 M-n Xs Better mnemonic (extract shar)
756 M-n Xu Better mnemonic (extract uuencode)
758 M-SPC D SPC Frees mark command
759 M-\177 D \177 No reason but to keep with digest commands
760 M-b Db Frees movement command
762 As the number of variables increases, it is becoming important to
763 organize the mh-e namespace. Several variables having to do with the
764 format of scan lines were renamed, as follows:
768 mh-good-msg-regexp mh-scan-good-msg-regexp
769 mh-deleted-msg-regexp mh-scan-deleted-msg-regexp
770 mh-refiled-msg-regexp mh-scan-refiled-msg-regexp
771 mh-valid-scan-line mh-scan-valid-regexp
772 mh-cur-scan-msg-regexp mh-scan-cur-msg-number-regexp
773 - mh-scan-cur-msg-regexp
774 - mh-scan-rcpt-regexp
775 - mh-scan-format-regexp
776 mh-msg-number-regexp mh-scan-msg-number-regexp
777 mh-msg-search-regexp mh-scan-msg-search-regexp
781 While the MIME support is not complete, quoted-printable body parts
784 Some MTAs quote From at the beginning of the line with a ">". The ">"
785 is now removed in the display, but not on disk.
789 New function "C-c C-o (mh-split-line)" splits lines in a draft
790 preserving the fill prefix and indentation. This is useful when
791 responding to several sentences in a single paragraph separately.
793 "M-q (fill-paragraph)" can now be used on the message that is being
794 replied to. The fill prefix such as "> " is preserved.
796 You no longer have to run "C-c C-e (mh-edit-mhn)" manually as this is
797 now done automatically when the message is sent.
799 The X-Mailer header field is now added to messages as they are sent.
801 "C-c C-m C-i (mh-mhn-compose-insertion)" now makes a pretty good guess
802 at the type of file using the `file' command and no longer asks the
803 user for the media type. If the necessary version of `file' is not
804 available, the user is asked for the media type as before; however,
805 the list of media types is now taken from the system mailcap if
806 available. Failing that, the built-in list of types has been
807 supplemented so in most cases the type you need should be present
808 (closes SF #406883, #441179).
810 ** New Variables in mh-e 6.0
812 New variables not mentioned earlier include:
814 *** mh-insert-x-mailer-p
816 Default value of t means that an X-Mailer header field should be
819 *** mh-reply-show-message-p
821 The setting of this variable determines whether the MH show-buffer is
822 displayed with the current message when using mh-reply without a prefix
823 argument. Set it to nil if you already include the message
824 automatically in your draft using "repl: -filter repl.filter" in
827 *** mh-scan-format-file
829 Specifies the format file to pass to the scan program. If t, the
830 format string will be taken from the either `mh-scan-format-mh' or
831 `mh-scan-format-nmh' depending on whether MH or nmh is in use. If nil,
832 the default scan output will be used.
834 If you customize the scan format, you may need to modify a few
835 variables containing regexps that mh-e uses to identify specific
836 portions of the output. Use `M-x apropos RET mh-scan.*regexp' to
837 obtain a list of these variables.
839 *** mh-scan-format-mh
841 Scan format string for MH, provided to the scan program via the
842 -format arg. This format is identical to the default except that
843 additional hints for fontification have been added to the sixth
846 *** mh-scan-format-nmh
848 Scan format string for nmh, provided to the scan program via the
849 -format arg. This format is identical to the default except that
850 additional hints for fontification have been added to the sixth
853 *** mh-show-use-goto-addr
855 Non-nil means URLs and e-mail addresses are highlighted using
856 goto-addr in MH-Show buffer.
858 *** mh-letter-fill-column
860 Fill column to use in `mh-letter-mode'. This is useful to make the
861 lines a bit shorter to allow for quoting in replies.
863 *** mh-folder-updated-hook
865 Invoked when the actions in a folder (such as moves and deletes) are
866 performed. Variables that are useful in this hook include
867 `mh-delete-list' and `mh-refile-list' which can be used to see which
868 changes are being made to current folder, `mh-current-folder'.
870 *** mh-unseen-updated-hook
872 Invoked after the unseen sequence has been updated. The variable
873 `mh-seen-list' can be used to obtain the list of messages which will
874 be removed from the unseen sequence
876 ** Bug Fixes in mh-e 6.0
878 *** mh-edit-again and mh-extract-rejected-mail
880 Now insert a header separator (--------) which packages such as
885 Now uses `mhparam' to set `mh-lib-progs' and `mh-lib'. Added more
886 directories to `mh-progs' so that mh-e can autoconfigure in more
887 environments. Chances are that you no longer have to set these
888 variables, and if you do, you will only have to set `mh-progs'.
889 Unless, of course, you are using an ancient version of MH that doesn't
892 *** mh-folder-mode-map
894 The DEL/<delete>/<backspace> change in Emacs 21 broke
895 `mh-previous-page'. This has been fixed (closes SF #228907).
899 If you had "forw: -mime" to your .mh_profile, forwarding a message
902 Search failed: "^------- Forwarded Message"
904 In addition, the Subject field was not filled in. This has been fixed
909 The user is now always prompted before this action; the variable
910 `mh-do-not-confirm' is no longer consulted here. Therefore users who
911 wanted to set `mh-do-not-confirm' but didn't because of the
912 `mh-kill-folder' dependency may now do so.
914 *** mh-make-folder-mode-line
916 Properly deals with folders that do not have any lines in them. Prints
917 "no msgs" instead of "0 msgs". Does not try to print a range when
918 there are no messages.
920 *** mh-mhn-compose-insertion
922 Now gets the MIME type automatically (assuming the local file command
923 supports the -i and -b options). If this use of the file command is
924 not supported, the list of MIME types has been expanded to use the
925 system's mailcap file.
929 This variable (t when nmh is in use rather than MH) assumed that the
930 string "nmh" is in `mh-lib-progs' or `mh-lib'. This has been fixed
935 No longer lets you specify an empty folder (closes SF #476824).
937 *** mh-regenerate-headers
939 Now suppresses "scan: bad message list" messages.
943 This function was looking for `mhl' in the wrong place on nmh on
944 Redhat LINUX 7.0. This has been fixed (closes SF #481128).
948 Now updates `cur' sequence after a message is shown (closes SF #481772).
952 Renamed variable and function to `mh-showing-mode' to conform with
953 minor mode conventions. Added optional arg to function so it would
954 behave like a normal minor mode: no or nil arg toggles mode, 0 arg
955 turns off, non-nil turns on. This fixed the error that occurred when
956 `desktop-create-buffer' recreated mh-e buffers because it was calling
957 `mh-showing' with an arg.
961 Fixed for nmh. Now displays mh-e version correctly. Cleaned up output
962 and display `mh-progs', etc.
966 Now attempts to stay on the same message number (closes SF #480922).
968 No longer wipes out pending deletes and refiles without warning
972 * Changes in mh-e 5.0.2
974 This version contains additional minor changes to integrate it with
975 reporter.el (requires reporter.el version 3.1c or later) and Emacs
976 19.30. The mh-goto-msg function is much faster, which also speeds up
977 several other operations.
980 * Changes in mh-e 5.0.1
982 This version contains minor changes from mh-e 5.0 to integrate it with
986 * User-visible changes to mh-e 5.0
988 Note: This being a major release, there are many internal changes.
989 This document lists only changes to the external interfaces of mh-e.
991 When upgrading, you must either explicitly reload the new versions of
992 all mh-e files that are already loaded or restart your Emacs.
995 ** Major Changes and New Features in mh-e 5.0
997 The emphasis for this release has been on consistency and
998 documentation. Many documentation strings were enhanced. Documentation
999 strings were changed to comments for internal functions and variables.
1001 *** There is now proper documentation in the form of a 75-page users
1002 manual. The Texinfo source is mh-e.texi; the formatted Info document
1005 *** There is a new command `mh-update-sequences', which updates MH's
1006 idea of what messages are in the Unseen sequence and what is the
1007 current folder and message. `mh-quit' calls it. While
1008 `mh-execute-commands' has always done this updating as a side effect,
1009 the new function is faster.
1011 *** The MH profile entry "Inbox:" is supported.
1013 *** If the show-buffer is modified, the user is queried before mh-e
1014 reuses the buffer to show a different message. This buffer is also
1015 auto-saved and backed up correctly.
1017 *** `mh-store-buffer' is significantly more robust. It now handles
1018 messages created by a wide variety of packaging software. The status
1019 message for `uudecode' includes the name of the file created. An error
1020 is signaled if the subprocess exits with a non-zero status.
1022 *** `mh-search-folder' behaves predictably, adding messages found to
1023 the `search' sequence. It correctly handles the case of no messages
1026 *** `mh-burst-digest' (`M-b') now only rescans the part of the folder
1027 affected by the burst. It is now much faster in a large folder.
1030 ** New Hooks and Customization Variables in mh-e 5.0
1032 *** `mh-default-folder-for-message-function': new name for the old
1033 `mh-msg-folder-hook', which wasn't a hook. The old name was confusing,
1034 leading people to think they could use `add-hook' with it, when
1035 actually `setq' is the correct way.
1037 *** `mh-sortm-args': When this variable is used has changed. Now
1038 `mh-sortm-args' is passed if there IS a prefix argument to
1039 `mh-sort-folder'. The assumption is that for arguments you normally
1040 want, you would specify them in an MH profile entry.
1042 *** `mh-mhn-args': new hook, a list of additional arguments to pass to
1043 the `mhn' program if `mh-edit-mhn' is given a prefix argument.
1045 *** `mh-edit-mhn-hook': new hook called by `mh-edit-mhn', the function
1046 that formats MIME messages.
1048 *** `mh-folder-list-change-hook': new hook, called whenever the cached
1049 list of folders, `mh-folder-list', is changed.
1051 *** `mh-find-path-hook': new hook, called when entering mh-e.
1053 *** `mh-repl-formfile': new variable, used to change the format file
1054 used by `mh-reply' from the default of "replcomps".
1056 *** New variables to customize the scan format and notating:
1057 `mh-note-deleted', `mh-note-refiled', `mh-note-seq', `mh-note-cur',
1058 `mh-note-copied', `mh-note-printed'.
1061 ** Key Binding Changes in mh-e 5.0
1063 *** `RET' runs `mh-show' for consistency with the Finder and Info. The
1064 old binding `.' still works, but `RET' is now the standard binding.
1066 *** `M-<' now runs `mh-first-msg' for consistency with `M->', which
1069 *** `C-c C-f C-d' in MH-Letter mode moves to a Dcc: header field.
1071 *** `C-c C-f C-r' in MH-Letter mode moves to a From: header field.
1073 *** `g' is now the standard binding for `mh-goto-msg'. The old binding
1077 ** Other Improvements and Changes to mh-e 5.0
1079 *** `mh-lpr-command-format' no longer passes the "-p" argument to
1080 `lpr' by default. The mail header typically has the date anyway.
1082 *** When prompting for a sequence name, if no sequences have been used
1083 yet, mh-e will offer the first sequence the current message is in.
1085 *** The patterns of more mailers are recognized by
1086 `mh-extract-rejected-mail'.
1088 *** `mh-insert-prefix-string' no longer wraps the call to the
1089 `mail-citation-hook' function in a `save-excursion' so the hook writer
1090 can choose whether to leave point at the beginning or the end of the
1093 *** `mh-write-msg-to-file': The prompt now refers to "message" or
1094 "message body" depending on which will be written. (This is controlled
1095 by a prefix argument.) The file defaults to the last-used file instead
1096 of supplying only the directory name.
1098 *** mh-e uses message ranges when running MH commands. Thus "rmm 1 2 3
1099 4 6" is now "rmm 1-4 6". This change makes it less likely to overflow
1100 system argument list limits, and it might be faster, too.
1103 ** Bug Fixes to mh-e 5.0
1105 *** mh-e's idea of the unseen sequence now stays in sync with MH's
1108 *** Functions that are supposed to find fields in the message header
1109 no longer look in the message body.
1111 *** mh-e would sometimes fail to remove the "%" from a scan line when
1112 the message was removed from a sequence if the message was also in the
1115 *** The variable `mh-inc-prog' is now correctly used in all places.
1117 *** `mh-pipe-msg' runs the process in the correct directory.
1119 *** A partially scanned folder will no longer lose the "/select"
1120 annotation when you execute marked deletes and refiles with `x'.
1123 * Changes to mh-e 4.0
1125 This file is automatically generated from news-mh-e.txinfo. Do not edit.
1127 [MH-E-ONEWS has been incorporated here and removed. news-mh-e.txinfo
1128 is no longer available.]
1130 Note: there are many internal changes to mh-e in this release. If you
1131 have the previous version loaded into your Emacs, you will probably not
1132 be able to load this version on top of it.
1134 ** New Features in mh-e 4.0
1136 *** Background folder collection. The first time you are prompted for
1137 a folder, you must wait while mh-e collects the names of all existing
1138 folders. Now however, if you abort, collecting will continue in the
1139 background, and you can do something else in Emacs until the
1140 collection completes. Normally, mh-e will begin collecting folders
1141 names in the background when you first load it; you can disable this
1142 feature by setting `mh-auto-folder-collect' to nil.
1144 *** There is support for composing MIME messages using the `mhn'
1145 program from MH 6.8. See the documentation string for mh-edit-mhn.
1146 (While composing a letter, type `C-h k C-c C-e'.) See also mhn(1).
1147 There is as yet no support for reading MIME messages.
1149 *** `mh-show', typically on `.', repositions to the start of the
1150 message if the message is already visible. It used to do nothing in
1153 *** The function `mh-unshar-msg' is renamed `mh-store-msg'. It now
1154 does uudecoding, too. Someday it should do MIME. It remembers the last
1155 directory you used and offers it as the default for next time.
1157 *** New function `mh-header-display', on `,', displays the message
1158 with all headers, including those normally not displayed. Type `.' to
1159 display the message normally again.
1161 *** New function `mh-list-sequences' lists the sequences in use in the
1164 *** New function `mh-version' displays version information about MH
1165 and mh-e. Please use the output in bug reports.
1167 *** `mh-quit' now burys the folder buffer and show buffer.
1170 ** New hooks and customization variables in mh-e 4.0
1172 *** `mh-pick-mode-hook': new hook called by new mode `mh-pick-mode'.
1173 The pick buffer didn't used to have its own mode. Another advantage of
1174 `mh-pick-mode' is that `C-h m' works in the pick buffer.
1176 *** `mail-citation-hook': new variable for supercite.
1178 *** `mh-refile-msg-hook': new hook called by `mh-refile-msg' (and
1179 `mh-refile-or-write-again' when refiling).
1181 *** `mh-msg-folder-hook': new hook used by `mh-refile-msg' and
1182 `mh-to-fcc' to provide a default folder for user prompt.
1184 *** `mh-show-hook': new hook called by `mh-show'.
1186 *** `mh-delete-msg-hook': new hook called by `mh-delete-msg'.
1188 *** `mh-show-mode-hook': new hook called by new mode `mh-show-mode'
1189 for `show-' buffers.
1191 *** `mh-comp-formfile': new variable so can customize `components'
1194 *** `mh-sortm-args': new variable, a list of extra arguments to be
1195 passed to sortm by `mh-sort-folder'. Give an argument to
1196 `mh-sort-folder' to suppress this behavior.
1198 *** `mh-send-prog': new variable so can customize name of `send'
1199 program in case of name conflicts.
1201 *** `mh-scan-prog': new variable so can customize name of `scan'
1202 program to generate custom effects.
1204 *** `mh-inc-prog': new variable so can customize name of `inc' program
1205 to do fancy management of incoming messages.
1207 *** `mh-forwarded-letter-subject': new function used by `mh-forward'
1208 to compute the Subject line of the new message. It is a small function
1209 which can be replaced by the user for customization. Uses the new
1210 variable `mh-forward-subject-format', which allows some simple
1211 customizations without rewriting even `mh-forwarded-letter-subject'.
1213 *** `mh-new-draft-cleaned-headers': new variable, header lines removed
1214 by `mh-edit-again' and `mh-extract-rejected-mail' before offering a
1215 message as a new draft.
1217 *** `mh-signature-file-name': new variable used by
1218 `mh-insert-signature' to so can customize name of the file to insert.
1220 *** `mh-read-address': new function called to read all To: and Cc:
1223 *** `mh-msg-folder-hook': new hook used by `mh-refile-msg' and
1224 `mh-to-fcc' to provide a default folder for user prompt.
1227 ** Key binding changes in mh-e 4.0
1229 *** `,' runs new function `mh-header-display'. It is like `.' but it
1230 displays *all* the headers.
1232 *** `M-#' runs the new function `mh-delete-seq'. One used to have to
1233 type `C-u M-%' to delete a sequence.
1235 *** `<' no longer does `mh-first-msg', but `M->' now does
1236 `mh-last-msg'. This allows first and last to be consistent (`>' was
1237 taken) and is more likely to be discovered by chance anyway.
1239 *** `M-d' runs `mh-redistribute', `r' runs `mh-reply' (on the theory
1240 that the more commonly used function should be easier to type, and the
1241 obscure action of redistributing can be harder to type).
1243 *** `M-o' changed to `C-o' (`mh-write-msg-to-file'). It was
1244 interfering with arrow keys for some people.
1246 *** `M-n' now runs `mh-store-msg' (formerly `mh-unshar-msg').
1248 *** `b' no longer runs `mh-quit'; use `q' instead. `b' may be used in
1249 a future version for something else.
1252 ** Minor improvements to mh-e 4.0
1254 *** The mh-e code is now divided into multiple Emacs Lisp files, so it
1255 starts up faster because Emacs doesn't have to load all of it at once.
1256 (This change also makes it easier for the maintainer to manage
1259 *** When searching for the directory containing the MH programs,
1260 search the user's PATH in addition to the built-in directories, to
1261 increase the chance of finding the MH programs.
1263 *** The subject for a forwarded message no longer has ugly square
1266 *** The name of the folder is no longer appears twice in the show
1269 *** When typing a folder name in the minibuffer, parent folders
1270 complete to the trailing slash (/), for easier typing of subfolders.
1272 *** The folder buffer mode name changed from `mh-e scan' or `mh-e
1273 show' to `MH-Folder', which makes the hook name easier to guess. Added
1274 `mh-showing' to `minor-mode-alist' so there is still an indication in
1275 the mode line of whether messages will be shown automatically.
1277 *** `mh-rename-seq' does completion on the old sequence name.
1279 *** If called by a user who has never used MH on this system before,
1280 mh-e runs the MH program `install-mh' to get them set up.
1282 *** Undo history for previous messages is not kept to avoid wasting
1285 *** The internal temp buffer used by mh-e has `buffer-offer-save'
1286 explicitly nil. This change benefits people who change the
1287 `buffer-offer-save' default.
1290 ** Bug fixes to mh-e 4.0
1292 *** `mh-to-field': don't bomb if no To: field.
1294 *** `mh-get-new-mail': restore annotations, e.g., cur, even if no new
1297 *** `mh-rename-seq': verify that the new seq name was accepted by
1298 `mark' before updating state.
1300 *** `mh-internal-seq': the Previous sequence is not notated, since it
1301 would notate everything scanned.
1303 *** `mh-read-draft': don't call `find-file-noselect' so an
1304 `auto-mode-alist' doesn't trigger `mh-letter-mode-hook' twice. Faster,
1307 *** `mh-show': If user moves onto a message that doesn't exist, don't
1308 leave the cursor in the show pane.
1310 *** `mh-delete-scan-msgs': use `equal', not `=', on the result of
1311 `mh-get-msg-num', since it may be nil.
1313 *** `mh-get-field': do anchored search so searching for `reply-to:'
1314 doesn't find `in-reply-to:'.
1316 *** `mh-widen': do nothing if not narrowed.
1318 *** `mh-clean-message-header': find end of headers even if no body.
1323 paragraph-separate: "[
\f]*$"