Mercurial > emacs
diff lisp/mh-e/mh-customize.el @ 67246:bce5c0d2041c
* mh-comp.el (mh-letter-mode): Use mh-highlight-citation-style instead
of mh-highlight-citation-p.
(mh-letter-toggle-header-field-display): "Ellipsed" isn't a word, I
think, so use "truncated".
* mh-customize.el (mh-folder, mh-folder-faces): Group's manual section
is Folders, not Organizing. Parent of mh-folder-faces is mh-folder,
not mh-show.
(mh-speed): Rename to mh-speedbar for consistency with mh-toolbar.
(mh-thread): New group that corresponds with manual's Threading
chapter.
(mh-letter-faces): Group's manual section is Editing Drafts, not
Sending Mail.
(mh-sortm-args): New customization variable that used to be a defvar.
(mh-index-new-messages-folders, mh-index-ticked-messages-folders):
Move from mh-index group to mh-folders group.
(mh-alias-local-users-prefix, mh-large-folder)
(mh-recursive-folders-flag, mh-before-quit-hook)
(mh-folder-mode-hook, mh-kill-folder-suppress-prompt-hook)
(mh-quit-hook, mh-refile-msg-hook): Move from mh-show group to
mh-folder group.
(mh-highlight-citation-style): Rename from mh-highlight-citation-p.
Sync docstrings with manual.
(mh-mhl-format-file): Rename from mhl-formfile. Sync docstrings with
manual.
(mh-show-threads-flag): Move from mh-show group to mh-thread group.
(mh-find-path-hook): Move from mh-show group to mh-e group.
(mh-folder-updated-hook): Add to mh-folder group.
(mh-forward-hook): Move from mh-folder to mh-sending-mail group.
(mh-unseen-updated-hook): Move from mh-show to mh-sequences group.
(mh-bury-show-buffer-flag, mh-clean-message-header-flag)
(mh-decode-mime-flag, mh-display-buttons-for-alternatives-flag)
(mh-display-buttons-for-inline-parts-flag)
(mh-do-not-confirm-flag, mh-fetch-x-image-url)
(mh-graphical-smileys-flag, mh-graphical-emphasis-flag)
(mh-invisible-header-fields-default, mh-invisible-header-fields)
(mh-lpr-command-format, mh-max-inline-image-height)
(mh-max-inline-image-width)
(mh-mime-save-parts-default-directory, mh-print-background-flag)
(mh-show-maximum-size, mh-show-use-goto-addr-flag)
(mh-show-use-xface-flag, mh-store-default-directory)
(mh-summary-height, mh-delete-msg-hook
(mh-show-hook, mh-show-mode-hook): Sync docstrings with manual.
* mh-e.el (mh-scan-format-mh, mh-scan-good-msg-regexp)
(mh-scan-deleted-msg-regexp, mh-scan-refiled-msg-regexp)
(mh-scan-cur-msg-number-regexp, mh-scan-subject-regexp): Use
non-fontification instead of non-fontifying.
(mh-header-display): Use mh-mhl-format-file instead of mhl-formfile.
Sync docstrings with manual.
(mh-next-undeleted-msg, mh-previous-undeleted-msg): Rename arg to
count. Sync docstrings with manual.
(mh-refile-or-write-again): Use output from mh-write-msg-to-file so
that message doesn't change when using this command. Sync docstrings
with manual.
(mh-page-msg, mh-previous-page): Rename arg to lines. Sync docstrings
with manual.
(mh-write-msg-to-file): Rename msg to message. Rename no-headers to
no-header. Sync docstrings with manual.
(mh-ps-print-map): Delete keybindings for deleted commands
mh-ps-print-toggle-mime and mh-ps-print-msg-show.
(mh-help-messages): Updated printing help.
(mh-delete-msg, mh-delete-msg-no-motion, mh-first-msg)
(mh-last-msg, mh-previous-unread-msg, mh-next-button)
(mh-prev-button, mh-folder-toggle-mime-part)
(mh-folder-inline-mime-part, mh-folder-save-mime-part)
(mh-next-unread-msg, mh-toggle-mime-buttons): Sync docstrings with
manual.
* mh-funcs.el (mh-sortm-args): Now a customization option and in
mh-customize.el.
(mh-pipe-msg): Rename include-headers to include-header. Sync
docstrings with manual.
(mh-burst-digest, mh-page-digest, mh-page-digest-backwards)
(mh-store-msg): Sync docstrings with manual.
* mh-mime.el (mh-mime-save-parts): Rename arg to prompt. Sync
docstrings with manual.
(mh-toggle-mh-decode-mime-flag): Use English in message, not Lisp.
Sync docstrings with manual.
(mh-mm-display-part, mh-mm-inline-message): Use
mh-highlight-citation-style instead of mh-highlight-citation-p.
(mh-press-button): Sync docstrings with manual.
(mh-display-with-external-viewer): Fix default output in minibuffer.
Sync docstrings with manual.
* mh-print.el: (mh-ps-print-mime, mh-ps-print-toggle-mime): Deleted.
(mh-ps-print-color-option): Incorporate docstring from
ps-print-color-p.
(mh-ps-spool-buffer): Remove unused code. Fix indent. Slimline
docstring.
(mh-ps-spool-msg): Slimline docstring. Rename from mh-ps-spool-a-msg.
Rewrote to use existing show buffer when available.
(mh-ps-print-range): Extract method from common code in
mh-ps-print-msg and mh-ps-print-msg-file.
(mh-ps-print-preprint): Clean docstring. Use filename "mh-%s".
(mh-ps-print-msg-show): Delete. Can use either mh-ps-print-msg-show or
mh-ps-print-msg-show to same effect with new code in mh-ps-spool-msg.
(mh-print-msg): Use mh-mhl-format-file instead of mhl-formfile. Sync
docstrings with manual.
(mh-ps-print-msg, mh-ps-print-msg-file)
(mh-ps-print-toggle-faces, mh-ps-print-toggle-color): Sync docstrings
with manual.
* mh-utils.el (mh-show-ps-print-msg-show)
(mh-show-ps-print-toggle-mime): Delete.
(mh-show-ps-print-map): Updated accordingly.
(mh-show-mode): Use mh-highlight-citation-style instead of
mh-highlight-citation-p.
(mh-show-xface, mh-display-msg): Use mh-mhl-format-file instead of
mhl-formfile.
(mh-show): Use mh-mhl-format-file instead of mhl-formfile. Sync
docstrings with manual.
(mh-show-font-lock-fontify-region, mh-modify, mh-goto-msg): Sync
docstrings with manual.
author | Bill Wohler <wohler@newt.com> |
---|---|
date | Fri, 02 Dec 2005 05:54:33 +0000 |
parents | 25ad3e63f2a1 |
children | 8cbe08e4eed5 |
line wrap: on
line diff
--- a/lisp/mh-e/mh-customize.el Fri Dec 02 04:55:39 2005 +0000 +++ b/lisp/mh-e/mh-customize.el Fri Dec 02 05:54:33 2005 +0000 @@ -117,7 +117,7 @@ (defgroup mh-folder nil "Organizing your mail with folders." :prefix "mh-" - :link '(custom-manual "(mh-e)Organizing") + :link '(custom-manual "(mh-e)Folders") :group 'mh-e) (defgroup mh-folder-selection nil @@ -186,12 +186,18 @@ :link '(custom-manual "(mh-e)Reading Mail") :group 'mh-e) -(defgroup mh-speed nil +(defgroup mh-speedbar nil "The speedbar." :prefix "mh-speed-" :link '(custom-manual "(mh-e)Speedbar") :group 'mh-e) +(defgroup mh-thread nil + "Threading." + :prefix "mh-thread-" + :link '(custom-manual "(mh-e)Threading") + :group 'mh-e) + (defgroup mh-toolbar nil "The toolbar" :link '(custom-manual "(mh-e)Toolbar") @@ -215,10 +221,10 @@ (defgroup mh-folder-faces nil "Faces used in scan listing." - :link '(custom-manual "(mh-e)Organizing") + :link '(custom-manual "(mh-e)Folders") :prefix "mh-" :group 'mh-faces - :group 'mh-show) + :group 'mh-folder) (defgroup mh-index-faces nil "Faces used in searching." @@ -229,7 +235,7 @@ (defgroup mh-letter-faces nil "Faces used in message drafts." - :link '(custom-manual "(mh-e)Sending Mail") + :link '(custom-manual "(mh-e)Editing Drafts") :prefix "mh-" :group 'mh-faces :group 'mh-letter) @@ -250,7 +256,7 @@ -;;; Emacs interface to the MH mail system (:group mh) +;;; Emacs interface to the MH mail system (:group mh-e) (eval-when (compile) (setq mh-variant 'none)) @@ -346,7 +352,7 @@ :group 'mh-alias) (defcustom mh-alias-local-users-prefix "local." - "*String prepended to the real names of users from the password file. + "*String prefixed to the real names of users from the password file. This option can also be set to `Use Login'. For example, consider the following password file entry: @@ -378,6 +384,39 @@ ;;; Organizing Your Mail with Folders (:group 'mh-folder) +(defcustom mh-index-new-messages-folders t + "Folders searched for the \"unseen\" sequence. +Set this option to \"Inbox\" to search the \"+inbox\" folder or \"All\" to +search all of the top level folders. Otherwise, list the folders that should +be searched with the \"Choose Folders\" menu item. + +See also `mh-recursive-folders-flag'." + :type '(choice (const :tag "Inbox" t) + (const :tag "All" nil) + (repeat :tag "Choose Folders" (string :tag "Folder"))) + :group 'mh-folder) + +(defcustom mh-index-ticked-messages-folders t + "Folders searched for `mh-tick-seq'. +Set this option to \"Inbox\" to search the \"+inbox\" folder or \"All\" to +search all of the top level folders. Otherwise, list the folders that should +be searched with the \"Choose Folders\" menu item. + +See also `mh-recursive-folders-flag'." + :type '(choice (const :tag "Inbox" t) + (const :tag "All" nil) + (repeat :tag "Choose Folders" (string :tag "Folder"))) + :group 'mh-folder) + +(defcustom mh-large-folder 200 + "The number of messages that indicates a large folder. +If a folder is deemed to be large, that is the number of messages in it exceed +this value, then confirmation is needed when it is visited. Even when +`mh-show-threads-flag' is non-nil, the folder is not automatically threaded, if +it is large. If set to nil all folders are treated as if they are small." + :type '(choice (const :tag "No Limit") integer) + :group 'mh-folder) + (defcustom mh-recenter-summary-flag nil "*Non-nil means to recenter the summary window. If this option is turned on, recenter the summary window when the show window @@ -385,6 +424,20 @@ :type 'boolean :group 'mh-folder) +(defcustom mh-recursive-folders-flag nil + "*Non-nil means that commands which operate on folders do so recursively." + :type 'boolean + :group 'mh-folder) + +(defcustom mh-sortm-args nil + "*Extra arguments to have \\[mh-sort-folder] pass to the \"sortm\" command. +The arguments are passed to sortm if \\[mh-sort-folder] is given a +prefix argument. Normally default arguments to sortm are specified in the +MH profile. +For example, '(\"-nolimit\" \"-textfield\" \"subject\") is a useful setting." + :type 'string + :group 'mh-folder) + ;;; Folder Selection (:group 'mh-folder-selection) @@ -657,18 +710,6 @@ ;;; Searching (:group 'mh-index) -(defcustom mh-index-new-messages-folders t - "Folders searched for the \"unseen\" sequence. -Set this option to \"Inbox\" to search the \"+inbox\" folder or \"All\" to -search all of the top level folders. Otherwise, list the folders that should -be searched with the \"Choose Folders\" menu item. - -See also `mh-recursive-folders-flag'." - :group 'mh-index - :type '(choice (const :tag "Inbox" t) - (const :tag "All" nil) - (repeat :tag "Choose Folders" (string :tag "Folder")))) - (defcustom mh-index-program nil "Indexing program that MH-E shall use. The default setting of this option is `Auto-detect' which means that MH-E will @@ -687,18 +728,6 @@ (const :tag "grep" grep)) :group 'mh-index) -(defcustom mh-index-ticked-messages-folders t - "Folders searched for `mh-tick-seq'. -Set this option to \"Inbox\" to search the \"+inbox\" folder or \"All\" to -search all of the top level folders. Otherwise, list the folders that should -be searched with the \"Choose Folders\" menu item. - -See also `mh-recursive-folders-flag'." - :group 'mh-index - :type '(choice (const :tag "Inbox" t) - (const :tag "All" nil) - (repeat :tag "Choose Folders" (string :tag "Folder")))) - ;;; Dealing with Junk Mail (:group 'mh-junk) @@ -747,9 +776,9 @@ "Spam program that MH-E should use. The default setting of this option is \"Auto-detect\" which means that MH-E -will automatically choose one of SpamAssassin, Bogofilter, or SpamProbe in -that order. If, for example, you have both SpamAssassin and Bogofilter -installed and you want to use BogoFilter, then you can set this option to +will automatically choose one of SpamAssassin, bogofilter, or SpamProbe in +that order. If, for example, you have both SpamAssassin and bogofilter +installed and you want to use bogofilter, then you can set this option to \"Bogofilter\"." :type '(choice (const :tag "Auto-detect" nil) (const :tag "SpamAssassin" spamassassin) @@ -1167,98 +1196,148 @@ ;;; Reading Your Mail (:group 'mh-show) (defcustom mh-bury-show-buffer-flag t - "*Non-nil means that the displayed show buffer for a folder is buried." + "*Non-nil means show buffer is buried. + +One advantage of not burying the show buffer is that one can delete the show +buffer more easily in an electric buffer list because of its proximity to its +associated MH-Folder buffer. Try running \\[electric-buffer-list] to see what +I mean." :type 'boolean :group 'mh-show) (defcustom mh-clean-message-header-flag t "*Non-nil means remove extraneous header fields. -The header fields listed in the `mh-invisible-header-fields-default' option -are hidden, although you can check off any field that you would like to see. -Header fields that you would like to hide that aren't listed can be added to -the `mh-invisible-header-fields' option." + +See also `mh-invisible-header-fields-default' and +`mh-invisible-header-fields'." :type 'boolean :group 'mh-show) (defcustom mh-decode-mime-flag (not (not (locate-library "mm-decode"))) - "*Non-nil means that Gnus is used to show MIME attachments with Gnus." + "*Non-nil means attachments are handled\\<mh-folder-mode-map>. + +MH-E can handle attachments as well if the Gnus `mm-decode' library is +present. If so, this option will be on. Otherwise, you'll see the MIME body +parts rather than text or attachments. There isn't much point in turning off +this option; however, you can inspect it if it appears that the body parts are +not being interpreted correctly or toggle it with the command +\\[mh-toggle-mh-decode-mime-flag] to view the raw message. + +This option also controls the display of quoted-printable messages and other +graphical widgets. See the options `mh-graphical-smileys-flag' and +`mh-graphical-emphasis-flag'." :type 'boolean :group 'mh-show) (defcustom mh-display-buttons-for-alternatives-flag nil - "*Non-nil means display buttons for all MIME alternatives. -Default behavior is to display only the preferred alternative. If this -variable is non-nil, then the preferred part is shown inline and buttons -are shown for each of the other alternatives." + "*Non-nil means display buttons for all alternative attachments. + +Sometimes, a mail program will produce multiple alternatives of the attachment +in increasing degree of faithfulness to the original content. By default, only +the preferred alternative is displayed. If this option is on, then the +preferred part is shown inline and buttons are shown for each of the other +alternatives." :type 'boolean :group 'mh-show) (defcustom mh-display-buttons-for-inline-parts-flag nil - "*Non-nil means display buttons for all inline MIME parts. -If non-nil, buttons are displayed for all MIME parts. Inline parts start off -in displayed state but they can be hidden by clicking the button. If nil no -buttons are shown for inline parts." + "*Non-nil means display buttons for all inline attachments\\<mh-folder-mode-map>. + +The sender can request that attachments should be viewed inline so that they +do not really appear like an attachment at all to the reader. Most of the +time, this is desirable, so by default MH-E suppresses the buttons for inline +attachments. On the other hand, you may receive code or HTML which the sender +has added to his message as inline attachments so that you can read them in +MH-E. In this case, it is useful to see the buttons so that you know you don't +have to cut and paste the code into a file; you can simply save the +attachment. + +If you want to make the buttons visible for inline attachments, you can use +the command \\[mh-toggle-mime-buttons] to toggle the visibility of these +buttons. You can turn on these buttons permanently by turning on this option. + +MH-E cannot display all attachments inline however. It can display +text (including HTML) and images." :type 'boolean :group 'mh-show) (defcustom mh-do-not-confirm-flag nil - "*Non-nil means do not prompt for confirmation. + "*Non-nil means non-reversible commands do not prompt for confirmation. + Commands such as `mh-pack-folder' prompt to confirm whether to process -outstanding moves and deletes or not before continuing. A non-nil setting will -perform the action--which is usually desired but cannot be retracted--without -question." +outstanding moves and deletes or not before continuing. Turning on this option +means that these actions will be performed--which is usually desired but +cannot be retracted--without question." :type 'boolean :group 'mh-show) (defcustom mh-fetch-x-image-url 'ask - "*Control fetching of `X-Image-URL:' header field image. -If set to \"Always fetch\" (t), the image is always fetched. You probably want -to avoid this setting for privacy and DOS (denial of service) reasons. For -example, fetching a URL can tip off a spammer that you've read his email. -Someone may also flood your network and fill your disk drive by sending a -torrent of messages, each specifying a unique URL to a very large file. - -If set to \"Ask before fetching\" ('ask), you are prompted before the image is -fetched. MH-E will remember your reply and will either use the already fetched -image the next time the same URL is encountered or silently skip it if you -didn't fetch it the first time. This is the default. - -If set to \"Never fetch\" (nil), images are never fetched and only displayed -if they are already present in the cache. - -The cache of images is found in the directory `.mhe-x-image-cache' within your -MH directory. To see how you can add your own face to the `From:' field, see -`mh-x-face-file'. - -This setting only has effect if `mh-show-use-xface-flag' is non-nil." - - :type '(choice (const :tag "Always fetch" t) - (const :tag "Ask before fetching" ask) - (const :tag "Never fetch" nil)) + "*Control fetching of \"X-Image-URL:\" header field image. + +If set to \"Always Fetch\", the image is always fetched. You probably want to +avoid this setting for privacy and denial of service reasons. For example, +fetching a URL can tip off a spammer that you've read his email. Someone may +also flood your network and fill your disk drive by sending a torrent of +messages, each specifying a unique URL to a very large file. + +If set to \"Ask Before Fetching\", you are prompted before the image is +fetched. MH-E will remember your reply and will either use the cached image +the next time the same URL is encountered or silently skip it if you didn't +fetch it the first time. This is the default. + +If set to \"Never Fetch\", images are never fetched and only displayed if they +are already present in the cache. + +The cache of images is found in the directory \".mhe-x-image-cache\" within +your MH directory. To see how you can add your own face to the \"From:\" +field, see the option `mh-x-face-file'. + +This setting only has effect if the option `mh-show-use-xface-flag' is turned +on." + + :type '(choice (const :tag "Always Fetch" t) + (const :tag "Ask Before Fetching" ask) + (const :tag "Never Fetch" nil)) :group 'mh-show) (defcustom mh-graphical-smileys-flag t "*Non-nil means graphical smileys are displayed. -Non-nil means that small graphics will be used in the show buffer instead of -patterns like :-), ;-) etc. The setting only has effect if -`mh-decode-mime-flag' is non-nil." + +It is a long standing custom to inject body language using a cornucopia of +punctuation, also known as the \"smileys\". MH-E can render these as graphical +widgets if this option is turned on, which it is by default. Smileys include +patterns such as :-) and ;-). + +This option is disabled if the option `mh-decode-mime-flag' is turned off." :type 'boolean :group 'mh-show) (defcustom mh-graphical-emphasis-flag t "*Non-nil means graphical emphasis is displayed. -Non-nil means that _underline_ will be underlined, *bold* will appear in bold, -/italic/ will appear in italic etc. See `gnus-emphasis-alist' for the whole -list. The setting only has effect if `mh-decode-mime-flag' is non-nil." + +A few typesetting features are indicated in ASCII text with certain +characters. If your terminal supports it, MH-E can render these typesetting +directives naturally if this option is turned on, which it is by default. For +example, _underline_ will be underlined, *bold* will appear in bold, /italics/ +will appear in italics, and so on. See the option `gnus-emphasis-alist' for +the whole list. + +This option is disabled if the option `mh-decode-mime-flag' is turned off." :type 'boolean :group 'mh-show) -(defcustom mh-highlight-citation-p 'gnus - "How to highlight citations in show buffers. -The gnus method uses a different color for each indentation." - :type '(choice (const :tag "Use Gnus" gnus) - (const :tag "Use font-lock" font-lock) - (const :tag "Don't fontify" nil)) +(defcustom mh-highlight-citation-style 'gnus + "Style for highlighting citations. + +If the sender of the message has cited other messages in his message, then +MH-E will highlight these citations to emphasize the sender's actual response. +This option can be customized to change the highlighting style. The +\"Multicolor\" method uses a different color for each indentation while the +\"Monochrome\" method highlights all citations in red. To disable highlighting +of citations entirely, choose \"None\"." + :type '(choice (const :tag "Multicolor" gnus) + (const :tag "Monochrome" font-lock) + (const :tag "None" nil)) :group 'mh-show) ;; Keep fields alphabetized. Mention source, if known. @@ -1470,10 +1549,12 @@ (defcustom mh-invisible-header-fields-default nil "*List of hidden header fields. + The header fields listed in this option are hidden, although you can check off -any field that you would like to see. Header fields that you would like to -hide that aren't listed can be added to the `mh-invisible-header-fields' -option. +any field that you would like to see. + +Header fields that you would like to hide that aren't listed can be added to +the option `mh-invisible-header-fields'. See also `mh-clean-message-header-flag'." :type `(set ,@(mapcar (lambda (x) `(const ,x)) @@ -1485,11 +1566,14 @@ (defcustom mh-invisible-header-fields nil "*Additional header fields to hide. + Header fields that you would like to hide that aren't listed in `mh-invisible-header-fields-default' can be added to this option with a couple of caveats. Regular expressions are not allowed. Unique fields should have a `:' suffix; otherwise, the element can be used to render invisible an entire -class of fields that start with the same prefix. +class of fields that start with the same prefix. If you think a header field +should be generally ignored, report a bug (see URL +`https://sourceforge.net/tracker/?group_id=13357&atid=113357'). See also `mh-clean-message-header-flag'." @@ -1500,146 +1584,184 @@ :group 'mh-show) (defcustom mh-lpr-command-format "lpr -J '%s'" - "*Format for Unix command that prints a message. -The string should be a Unix command line, with the string '%s' where -the job's name (folder and message number) should appear. The formatted -message text is piped to this command when you type \\<mh-folder-mode-map>`\\[mh-print-msg]'." + "*Command used to print\\<mh-folder-mode-map>. + +This option contains the Unix command line which performs the actual printing +for the \\[mh-print-msg] command. The string can contain one escape, \"%s\", +which is replaced by the name of the folder and the message number and is +useful for print job names. I use \"mpage -h'%s' -b Letter -H1of -mlrtb -P\" +which produces a nice header and adds a bit of margin so the text fits within +my printer's margins. + +This options is not used by the commands \\[mh-ps-print-msg] or +\\[mh-ps-print-msg-file]." :type 'string :group 'mh-show) (defcustom mh-max-inline-image-height nil - "*Maximum inline image height if Content-Disposition is not present. -If nil, image will be displayed if its height is smaller than the height of -the window." + "*Maximum inline image height if \"Content-Disposition:\" is not present. + +Some older mail programs do not insert this needed plumbing to tell +MH-E whether to display the attachments inline or not. If this is the +case, MH-E will display these images inline if they are smaller than +the window. However, you might want to allow larger images to be +displayed inline. To do this, you can change the options +`mh-max-inline-image-width' and `mh-max-inline-image-height' from their +default value of zero to a large number. The size of your screen is a +good choice for these numbers." :type '(choice (const nil) integer) :group 'mh-show) (defcustom mh-max-inline-image-width nil - "*Maximum inline image width if Content-Disposition is not present. -If nil, image will be displayed if its width is smaller than the width of the -window." + "*Maximum inline image width if \"Content-Disposition:\" is not present. + +Some older mail programs do not insert this needed plumbing to tell +MH-E whether to display the attachments inline or not. If this is the +case, MH-E will display these images inline if they are smaller than +the window. However, you might want to allow larger images to be +displayed inline. To do this, you can change the options +`mh-max-inline-image-width' and `mh-max-inline-image-height' from their +default value of zero to a large number. The size of your screen is a +good choice for these numbers." :type '(choice (const nil) integer) :group 'mh-show) +(defcustom mh-mhl-format-file nil + "*Specifies the format file to pass to the \"mhl\" program. + +Normally MH-E takes care of displaying messages itself (rather than calling an +MH program to do the work). If you'd rather have \"mhl\" display the +message (within MH-E), change this option from its default value of \"Use +Default mhl Format (Printing Only)\". + +You can set this option to \"Use Default mhl Format\" to get the same output +as you would get if you ran \"mhl\" from the shell. + +If you have a format file that you want MH-E to use, you can set this option +to \"Specify an mhl Format File\" and enter the name of your format file. Your +format file should specify a non-zero value for \"overflowoffset\" to allow +MH-E to parse the header. Note that \"mhl\" is always used for printing and +forwarding; in this case, the value of this option is consulted if you have +specified a format file." + :type '(choice (const :tag "Use Default mhl Format (Printing Only)" nil) + (const :tag "Use Default mhl Format" t) + (file :tag "Specify an mhl Format File")) + :group 'mh-show) + (defcustom mh-mime-save-parts-default-directory t - "Default directory to use for `mh-mime-save-parts'. -If nil, prompt and set for next time the command is used during same session. -If t, prompt always" - :type '(choice (const :tag "Prompt the first time" nil) - (const :tag "Prompt always" t) + "Default directory to use for \\<mh-folder-mode-map>\\[mh-mime-save-parts]. + +The default value for this option is \"Prompt Always\" so that you are always +prompted for the directory in which to save the attachments. However, if you +usually use the same directory within a session, then you can set this option +to \"Prompt the First Time\" to avoid the prompt each time. you can make this +directory permanent by choosing \"Directory\" and entering the directory's +name." + :type '(choice (const :tag "Prompt the First Time" nil) + (const :tag "Prompt Always" t) directory) :group 'mh-show) (defcustom mh-print-background-flag nil - "*Non-nil means messages should be printed in the background. -WARNING: do not delete the messages until printing is finished; -otherwise, your output may be truncated." - :type 'boolean - :group 'mh-show) - -(defcustom mh-recursive-folders-flag nil - "*Non-nil means that commands which operate on folders do so recursively." + "*Non-nil means messages should be printed in the background\\<mh-folder-mode-map>. + +Normally messages are printed in the foreground. If this is slow on your +system, you may elect to turn off this option to print in the background. + +WARNING: If you do this, do not delete the message until it is printed or else +the output may be truncated. + +This option is not used by the commands \\[mh-ps-print-msg] or +\\[mh-ps-print-msg-file]." :type 'boolean :group 'mh-show) (defcustom mh-show-maximum-size 0 "*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." + +This option provides an opportunity to skip over large messages which may be +slow to load. The default value of 0 means that all message are shown +regardless of size." :type 'integer :group 'mh-show) -(defcustom mh-show-threads-flag nil - "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'." - :type 'boolean - :group 'mh-show) - -;; Use goto-addr if it was already loaded (which probably sets this -;; variable to t), or if this variable is otherwise set to t. (defcustom mh-show-use-goto-addr-flag (and (boundp 'goto-address-highlight-p) goto-address-highlight-p) - "*Non-nil means highlight URLs and email addresses. -The `goto-addr' module is used." + "*Non-nil means highlight URLs and email addresses\\<goto-address-highlight-keymap>. + +To send a message using the highlighted email address or to view the web page +for the highlighted URL, use the middle mouse button or +\\[goto-address-at-point]. + +See Info node `(mh-e)Sending Mail' to see how to configure Emacs to send the +message using MH-E. + +The default value of this option comes from the value of +`goto-address-highlight-p'." :type 'boolean :group 'mh-show) (defcustom mh-show-use-xface-flag (>= emacs-major-version 21) - "*Non-nil means display face images in `mh-show-mode'. - -MH-E can display the content of `Face:', `X-Face:', and `X-Image-URL:' header -fields. If any of these fields occur in the header of your message, the -sender's face will appear in the `From:' header field. If more than one of -these fields appear, then the first field found in the order `Face:', -`X-Face:', and `X-Image-URL:' will be used. Note that versions of GNU Emacs -prior to 21.1 don't support the display of inline images, so face images are -not displayed in these versions. + "*Non-nil means display face images in MH-show buffers. + +MH-E can display the content of \"Face:\", \"X-Face:\", and \"X-Image-URL:\" +header fields. If any of these fields occur in the header of your message, the +sender's face will appear in the \"From:\" header field. If more than one of +these fields appear, then the first field found in the order \"Face:\", +\"X-Face:\", and \"X-Image-URL:\" will be used. The option `mh-show-use-xface-flag' is used to turn this feature on and off. This feature will be turned on by default if your system supports it. -The first header field used, if present, is the Gnus-specific `Face:' field. -The `Face:' field appeared in GNU Emacs 21 and XEmacs. For more information, +The first header field used, if present, is the Gnus-specific \"Face:\" field. +The \"Face:\" field appeared in GNU Emacs 21 and XEmacs. For more information, see URL `http://quimby.gnus.org/circus/face/'. Next is the traditional -`X-Face:' header field. The display of this field requires the `uncompface' -program (see URL `ftp://ftp.cs.indiana.edu/pub/faces/compface/compface.tar.Z'). -Recent versions of XEmacs have internal support for `X-Face:' images. If your -version of XEmacs does not, then you'll need both `uncompface' and the x-face +\"X-Face:\" header field. The display of this field requires the +\"uncompface\" program (see URL +`ftp://ftp.cs.indiana.edu/pub/faces/compface/compface.tar.z'). Recent versions +of XEmacs have internal support for \"X-Face:\" images. If your version of +XEmacs does not, then you'll need both \"uncompface\" and the x-face package (see URL `ftp://ftp.jpl.org/pub/elisp/'). -Finally, MH-E will display images referenced by the `X-Image-URL:' header -field if neither the `Face:' nor the `X-Face:' fields are present. The display -of the images requires `wget' (see URL -`http://www.gnu.org/software/wget/wget.html'), `fetch', or `curl' to fetch the -image and the `convert' program from the ImageMagick suite (see URL +Finally, MH-E will display images referenced by the \"X-Image-URL:\" header +field if neither the \"Face:\" nor the \"X-Face:\" fields are present. The +display of the images requires \"wget\" (see URL +`http://www.gnu.org/software/wget/wget.html'), \"fetch\", or \"curl\" to fetch +the image and the \"convert\" program from the ImageMagick suite (see URL `http://www.imagemagick.org/'). Of the three header fields this is the most efficient in terms of network usage since the image doesn't need to be transmitted with every single mail. -The option `mh-fetch-x-image-url' controls the fetching of the `X-Image-URL:' -header field image." +The option `mh-fetch-x-image-url' controls the fetching of the +\"X-Image-URL:\" header field image." :type 'boolean :group 'mh-show) (defcustom mh-store-default-directory nil - "*Last directory used by \\[mh-store-msg]; default for next store. -A directory name string, or nil to use current directory." + "*Default directory for \\<mh-folder-mode-map>\\[mh-store-msg]. + +If you would like to change the initial default directory, customize this +option, change the value from `Current' to `Directory', and then enter the +name of the directory for storing the content of these messages." :type '(choice (const :tag "Current" nil) directory) :group 'mh-show) (defcustom mh-summary-height nil - "*Number of lines in MH-Folder window (including the mode line)." + "*Number of lines in MH-Folder buffer (including the mode line). + +The default value of this option is \"Automatic\" which means that the +MH-Folder buffer will maintain the same proportional size if the frame is +resized. If you'd prefer a fixed height, then choose the \"Fixed Size\" option +and enter the number of lines you'd like to see." :type '(choice (const :tag "Automatic" nil) - (integer :tag "Fixed sized")) + (integer :tag "Fixed Size")) :group 'mh-show) -(defcustom mhl-formfile nil - "*Name of format file to be used by mhl to show and print messages. -A value of t means use the default format file. -nil means don't use mhl to format messages when showing; mhl is still used, -with the default format file, to format messages when printing them. -The format used should specify a non-zero value for overflowoffset so -the message continues to conform to RFC 822 and MH-E can parse the headers." - :type '(choice (const nil) (const t) string) - :group 'mh-show) -(put 'mhl-formfile 'info-file "mh-e") - ;;; The Speedbar (:group 'mh-speed) -(defcustom mh-large-folder 200 - "The number of messages that indicates a large folder. -If a folder is deemed to be large, that is the number of messages in it exceed -this value, then confirmation is needed when it is visited. Even when -`mh-show-threads-flag' is non-nil, the folder is not automatically threaded, if -it is large. If set to nil all folders are treated as if they are small." - :type '(choice (const :tag "No limit") integer) - :group 'mh-speed) - (defcustom mh-speed-flists-interval 60 "Time between calls to flists in seconds. If 0, flists is not called repeatedly." @@ -1657,6 +1779,19 @@ +;;; Threading (:group 'mh-thread) + +(defcustom mh-show-threads-flag nil + "*Non-nil means new folders start in threaded mode. + +Threading large number of messages can be time consuming so this option is +turned off by default. If you turn this option on, then threading will be done +only if the number of messages being threaded is less than `mh-large-folder'." + :type 'boolean + :group 'mh-thread) + + + ;;; The Toolbar (:group 'mh-toolbar) (defcustom mh-tool-bar-search-function 'mh-search-folder @@ -2119,7 +2254,7 @@ See also `mh-quit-hook'." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-folder) (defcustom mh-before-send-letter-hook nil "Invoked at the beginning of the \\<mh-letter-mode-map>\\[mh-send-letter] command. @@ -2131,7 +2266,10 @@ :group 'mh-letter) (defcustom mh-delete-msg-hook nil - "Invoked after marking each message for deletion." + "Invoked after marking each message for deletion. + +For example, a past maintainer of MH-E used this once when he kept statistics +on his mail usage." :type 'hook :group 'mh-hooks :group 'mh-show) @@ -2146,13 +2284,13 @@ "Invoked by `mh-find-path' after reading the user's MH profile." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-e) (defcustom mh-folder-mode-hook nil "Invoked in `mh-folder-mode' on a new folder." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-folder) (defcustom mh-folder-updated-hook nil "Invoked when the folder actions (such as moves and deletes) are performed. @@ -2160,13 +2298,14 @@ `mh-refile-list' which can be used to see which changes are being made to current folder, `mh-current-folder'." :type 'hook - :group 'mh-hooks) + :group 'mh-hooks + :group 'mh-folder) (defcustom mh-forward-hook nil "Invoked on the forwarded letter by \\<mh-folder-mode-map>\\[mh-forward]." :type 'hook :group 'mh-hooks - :group 'mh-folder) + :group 'mh-sending-mail) (defcustom mh-inc-folder-hook nil "Invoked by \\<mh-folder-mode-map>`\\[mh-inc-folder]' after incorporating mail into a folder." @@ -2189,7 +2328,7 @@ in the +inbox buffer, you will not be happy." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-folder) (defcustom mh-letter-insert-signature-hook nil "Invoked after signature has been inserted. @@ -2216,22 +2355,28 @@ See also `mh-before-quit-hook'." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-folder) (defcustom mh-refile-msg-hook nil "Invoked after marking each message for refiling." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-folder) (defcustom mh-show-hook nil - "Invoked after \\<mh-folder-mode-map>`\\[mh-show]' shows a message." + "Invoked after \\<mh-folder-mode-map>\\[mh-show] shows a message. + +It is the last thing called after messages are displayed. It's used to affect +the behavior of MH-E in general or when `mh-show-mode-hook' is too early." :type 'hook :group 'mh-hooks :group 'mh-show) (defcustom mh-show-mode-hook nil - "Invoked upon entry to `mh-show-mode'." + "Invoked upon entry to `mh-show-mode'. + +This hook is called early on in the process of the message display. It is +usually used to perform some action on the message's content." :type 'hook :group 'mh-hooks :group 'mh-show) @@ -2242,7 +2387,7 @@ will be removed from the unseen sequence." :type 'hook :group 'mh-hooks - :group 'mh-show) + :group 'mh-sequences)