Commit 2dcf34f9 authored by Bill Wohler's avatar Bill Wohler
Browse files

Follow Emacs coding conventions. Use default setting of

emacs-lisp-docstring-fill-column which is 65.
parent d1699462
2005-12-22 Bill Wohler <wohler@newt.com>
Follow Emacs coding conventions. Use default setting of
emacs-lisp-docstring-fill-column which is 65.
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
* mh-comp.el (mh-letter-mode): Use 60 column width.
......
......@@ -49,8 +49,9 @@
(defmacro mh-require-cl ()
"Macro to load `cl' if needed.
Some versions of `cl' produce code for the expansion of
\(setf (gethash ...) ...) that uses functions in `cl' at run time. This macro
recognizes that and loads `cl' where appropriate."
\(setf (gethash ...) ...) that uses functions in `cl' at run
time. This macro recognizes that and loads `cl' where
appropriate."
(if (eq (car (macroexpand '(setf (gethash foo bar) baz))) 'cl-puthash)
`(require 'cl)
`(eval-when-compile (require 'cl))))
......@@ -75,16 +76,16 @@ recognizes that and loads `cl' where appropriate."
(defmacro mh-make-local-hook (hook)
"Make HOOK local if needed.
XEmacs and versions of GNU Emacs before 21.1 require `make-local-hook' to be
called."
XEmacs and versions of GNU Emacs before 21.1 require
`make-local-hook' to be called."
(when (and (fboundp 'make-local-hook)
(not (get 'make-local-hook 'byte-obsolete-info)))
`(make-local-hook ,hook)))
(defmacro mh-mark-active-p (check-transient-mark-mode-flag)
"A macro that expands into appropriate code in XEmacs and nil in GNU Emacs.
In GNU Emacs if CHECK-TRANSIENT-MARK-MODE-FLAG is non-nil then check if
variable `transient-mark-mode' is active."
In GNU Emacs if CHECK-TRANSIENT-MARK-MODE-FLAG is non-nil then
check if variable `transient-mark-mode' is active."
(cond ((featurep 'xemacs) ;XEmacs
`(and (boundp 'zmacs-regions) zmacs-regions (region-active-p)))
((not check-transient-mark-mode-flag) ;GNU Emacs
......@@ -95,12 +96,14 @@ variable `transient-mark-mode' is active."
(defmacro mh-defstruct (name-spec &rest fields)
"Replacement for `defstruct' from the `cl' package.
The `defstruct' in the `cl' library produces compiler warnings, and generates
code that uses functions present in `cl' at run-time. This is a partial
replacement, that avoids these issues.
NAME-SPEC declares the name of the structure, while FIELDS describes the
various structure fields. Lookup `defstruct' for more details."
The `defstruct' in the `cl' library produces compiler warnings,
and generates code that uses functions present in `cl' at
run-time. This is a partial replacement, that avoids these
issues.
NAME-SPEC declares the name of the structure, while FIELDS
describes the various structure fields. Lookup `defstruct' for
more details."
(let* ((struct-name (if (atom name-spec) name-spec (car name-spec)))
(conc-name (or (and (consp name-spec)
(cadr (assoc :conc-name (cdr name-spec))))
......@@ -136,8 +139,8 @@ various structure fields. Lookup `defstruct' for more details."
(defmacro mh-assoc-ignore-case (key alist)
"Check if KEY is present in ALIST while ignoring case to do the comparison.
Compatibility macro for Emacs versions that lack `assoc-string', introduced in
Emacs 22."
Compatibility macro for Emacs versions that lack `assoc-string',
introduced in Emacs 22."
(if (fboundp 'assoc-string)
`(assoc-string ,key ,alist t)
`(assoc-ignore-case ,key ,alist)))
......
......@@ -68,10 +68,11 @@
"/usr/lib/mh/MailAliases" "/usr/share/mailutils/mh/MailAliases"
"/etc/passwd")
"*A list of system files which are a source of 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.
You can update the alias list manually using \\[mh-alias-reload].")
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. You can update the alias list manually using
\\[mh-alias-reload].")
......@@ -79,8 +80,8 @@ You can update the alias list manually using \\[mh-alias-reload].")
(defun mh-alias-tstamp (arg)
"Check whether alias files have been modified.
Return t if any file listed in the Aliasfile MH profile component has been
modified since the timestamp.
Return t if any file listed in the Aliasfile MH profile component has
been modified since the timestamp.
If ARG is non-nil, set timestamp with the current time."
(if arg
(let ((time (current-time)))
......@@ -98,8 +99,10 @@ If ARG is non-nil, set timestamp with the current time."
(defun mh-alias-filenames (arg)
"Return list of filenames that contain aliases.
The filenames come from the Aliasfile profile component and are expanded.
If ARG is non-nil, filenames listed in `mh-alias-system-aliases' are appended."
The filenames come from the Aliasfile profile component and are
expanded.
If ARG is non-nil, filenames listed in `mh-alias-system-aliases' are
appended."
(or mh-progs (mh-find-path))
(save-excursion
(let* ((filename (mh-profile-component "Aliasfile"))
......@@ -120,8 +123,8 @@ If ARG is non-nil, filenames listed in `mh-alias-system-aliases' are appended."
(defun mh-alias-gecos-name (gecos-name username comma-separator)
"Return a usable address string from a GECOS-NAME and USERNAME.
Use only part of the GECOS-NAME up to the first comma if COMMA-SEPARATOR is
non-nil."
Use only part of the GECOS-NAME up to the first comma if
COMMA-SEPARATOR is non-nil."
(let ((res gecos-name))
;; Keep only string until first comma if COMMA-SEPARATOR is t.
(if (and comma-separator
......@@ -183,14 +186,15 @@ Exclude all aliases already in `mh-alias-alist' from `ali'"
(defun mh-alias-reload ()
"Reload MH aliases.
Since aliases are updated frequently, MH-E reloads aliases automatically
whenever an alias lookup occurs if an alias source has changed. Sources
include files listed in your `Aliasfile:' profile component and your password
file if option `mh-alias-local-users' is turned on. However, you can reload
your aliases manually by calling this command directly.
Since aliases are updated frequently, MH-E reloads aliases
automatically whenever an alias lookup occurs if an alias source has
changed. Sources include files listed in your `Aliasfile:' profile
component and your password file if option `mh-alias-local-users' is
turned on. However, you can reload your aliases manually by calling
this command directly.
This function runs `mh-alias-reloaded-hook' after the aliases have been
loaded."
This function runs `mh-alias-reloaded-hook' after the aliases have
been loaded."
(interactive)
(save-excursion
(message "Loading MH aliases...")
......@@ -238,8 +242,8 @@ loaded."
(defun mh-alias-ali (alias &optional user)
"Return ali expansion for ALIAS.
ALIAS must be a string for a single alias.
If USER is t, then assume ALIAS is an address and call ali -user.
ali returns the string unchanged if not defined. The same is done here."
If USER is t, then assume ALIAS is an address and call ali -user. ali
returns the string unchanged if not defined. The same is done here."
(condition-case err
(save-excursion
(let ((user-arg (if user "-user" "-nouser")))
......@@ -322,8 +326,8 @@ Blind aliases or users from /etc/passwd are not expanded."
(defun mh-alias-suggest-alias (string &optional no-comma-swap)
"Suggest an alias for STRING.
Don't reverse the order of strings separated by a comma if NO-COMMA-SWAP is
non-nil."
Don't reverse the order of strings separated by a comma if
NO-COMMA-SWAP is non-nil."
(cond
((string-match "^<\\(.*\\)>$" string)
;; <somename@foo.bar> -> recurse, stripping brackets.
......@@ -378,8 +382,8 @@ non-nil."
(defun mh-alias-canonicalize-suggestion (string)
"Process STRING to replace spaces by periods.
First all spaces and commas are replaced by periods. Then every run of
consecutive periods are replaced with a single period. Finally the string
is converted to lower case."
consecutive periods are replaced with a single period. Finally the
string is converted to lower case."
(with-temp-buffer
(insert string)
;; Replace spaces with periods
......@@ -417,10 +421,10 @@ is converted to lower case."
(defun mh-alias-insert-file (&optional alias)
"Return filename which should be used to add ALIAS.
The value of the option `mh-alias-insert-file' is used if non-nil\; otherwise
the value of the `Aliasfile:' profile component is used.
If the alias already exists, try to return the name of the file that contains
it."
The value of the option `mh-alias-insert-file' is used if non-nil\;
otherwise the value of the `Aliasfile:' profile component is used.
If the alias already exists, try to return the name of the file that
contains it."
(cond
((and mh-alias-insert-file (listp mh-alias-insert-file))
(if (not (elt mh-alias-insert-file 1)) ; Only one entry, use it
......@@ -488,12 +492,14 @@ Set `mh-alias-insert-file' or the Aliasfile profile component"))
(defun mh-alias-add-alias-to-file (alias address &optional file)
"Add ALIAS for ADDRESS in alias FILE without alias check or prompts.
Prompt for alias file if not provided and there is more than one candidate.
If the alias exists already, you will have the choice of inserting the new
alias before or after the old alias. In the former case, this alias will be
used when sending mail to this alias. In the latter case, the alias serves as
an additional folder name hint when filing messages."
Prompt for alias file if not provided and there is more than one
candidate.
If the alias exists already, you will have the choice of
inserting the new alias before or after the old alias. In the
former case, this alias will be used when sending mail to this
alias. In the latter case, the alias serves as an additional
folder name hint when filing messages."
(if (not file)
(setq file (mh-alias-insert-file alias)))
(save-excursion
......@@ -543,11 +549,12 @@ an additional folder name hint when filing messages."
;;;###mh-autoload
(defun mh-alias-add-alias (alias address)
"*Add ALIAS for ADDRESS in personal alias file.
This function prompts you for an alias and address. If the alias exists
already, you will have the choice of inserting the new alias before or after
the old alias. In the former case, this alias will be used when sending mail
to this alias. In the latter case, the alias serves as an additional folder
name hint when filing messages."
This function prompts you for an alias and address. If the alias
exists already, you will have the choice of inserting the new
alias before or after the old alias. In the former case, this
alias will be used when sending mail to this alias. In the latter
case, the alias serves as an additional folder name hint when
filing messages."
(interactive "P\nP")
(mh-alias-reload-maybe)
(setq alias (completing-read "Alias: " mh-alias-alist nil nil alias))
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -57,17 +57,19 @@
(defun mh-burst-digest ()
"Break up digest into separate messages\\<mh-folder-mode-map>.
This command uses the MH command \"burst\" to break out each message in the
digest into its own message. Using this command, you can quickly delete
unwanted messages, like this: Once the digest is split up, toggle out of
MH-Folder Show mode with \\[mh-toggle-showing] so that the scan lines fill the
screen and messages aren't displayed. Then use \\[mh-delete-msg] to quickly
delete messages that you don't want to read (based on the \"Subject:\" header
field). You can also burst the digest to reply directly to the people who
posted the messages in the digest. One problem you may encounter is that the
\"From:\" header fields are preceded with a \">\" so that your reply can't
create the \"To:\" field correctly. In this case, you must correct the \"To:\"
field yourself."
This command uses the MH command \"burst\" to break out each
message in the digest into its own message. Using this command,
you can quickly delete unwanted messages, like this: Once the
digest is split up, toggle out of MH-Folder Show mode with
\\[mh-toggle-showing] so that the scan lines fill the screen and
messages aren't displayed. Then use \\[mh-delete-msg] to quickly
delete messages that you don't want to read (based on the
\"Subject:\" header field). You can also burst the digest to
reply directly to the people who posted the messages in the
digest. One problem you may encounter is that the \"From:\"
header fields are preceded with a \">\" so that your reply can't
create the \"To:\" field correctly. In this case, you must
correct the \"To:\" field yourself."
(interactive)
(let ((digest (mh-get-msg-num t)))
(mh-process-or-undo-commands mh-current-folder)
......@@ -85,15 +87,15 @@ field yourself."
(defun mh-copy-msg (range folder)
"Copy RANGE to FOLDER\\<mh-folder-mode-map>.
If you wish to copy a message to another folder, you can use this command
\(see the \"-link\" argument to \"refile\"). Like the command
\\[mh-refile-msg], this command prompts you for the name of the target folder
and you can specify a range. Note that unlike the command \\[mh-refile-msg],
the copy takes place immediately. The original copy remains in the current
folder.
If you wish to copy a message to another folder, you can use this
command \(see the \"-link\" argument to \"refile\"). Like the
command \\[mh-refile-msg], this command prompts you for the name
of the target folder and you can specify a range. Note that
unlike the command \\[mh-refile-msg], the copy takes place
immediately. The original copy remains in the current folder.
Check the documentation of `mh-interactive-range' to see how RANGE is read in
interactive use."
Check the documentation of `mh-interactive-range' to see how
RANGE is read in interactive use."
(interactive (list (mh-interactive-range "Copy")
(mh-prompt-for-folder "Copy to" "" t)))
(let ((msg-list (let ((result ()))
......@@ -108,13 +110,13 @@ interactive use."
(defun mh-kill-folder ()
"Remove folder.
Remove all of the messages (files) within the current folder, and then
remove the folder (directory) itself.
Remove all of the messages (files) within the current folder, and
then remove the folder (directory) itself.
Run the abnormal hook `mh-kill-folder-suppress-prompt-hooks'. The hook
functions are called with no arguments and should return a non-nil
value to suppress the normal prompt when you remove a folder. This is
useful for folders that are easily regenerated."
Run the abnormal hook `mh-kill-folder-suppress-prompt-hooks'. The
hook functions are called with no arguments and should return a
non-nil value to suppress the normal prompt when you remove a
folder. This is useful for folders that are easily regenerated."
(interactive)
(if (or (run-hook-with-args-until-success
'mh-kill-folder-suppress-prompt-hooks)
......@@ -172,14 +174,15 @@ Display the results only if something went wrong."
(defun mh-pack-folder (range)
"Pack folder\\<mh-folder-mode-map>.
This command packs the folder, removing gaps from the numbering sequence. If
you don't want to rescan the entire folder afterward, this command will accept
a RANGE. Check the documentation of `mh-interactive-range' to see how RANGE is
read in interactive use.
This command packs the folder, removing gaps from the numbering
sequence. If you don't want to rescan the entire folder
afterward, this command will accept a RANGE. Check the
documentation of `mh-interactive-range' to see how RANGE is read
in interactive use.
This command will ask if you want to process refiles or deletes first and then
either run \\[mh-execute-commands] for you or undo the pending refiles and
deletes, which are lost."
This command will ask if you want to process refiles or deletes
first and then either run \\[mh-execute-commands] for you or undo
the pending refiles and deletes, which are lost."
(interactive (list (if current-prefix-arg
(mh-read-range "Scan" mh-current-folder t nil t
mh-interpret-number-as-range-flag)
......@@ -210,9 +213,10 @@ Display RANGE after packing, or the entire folder if RANGE is nil."
(defun mh-pipe-msg (command include-header)
"Pipe message through shell command COMMAND.
You are prompted for the Unix command through which you wish to run your
message. If you give an argument INCLUDE-HEADER to this command, the message
header is included in the text passed to the command."
You are prompted for the Unix command through which you wish to
run your message. If you give an argument INCLUDE-HEADER to this
command, the message header is included in the text passed to the
command."
(interactive
(list (read-string "Shell command on message: ") current-prefix-arg))
(let ((msg-file-to-pipe (mh-msg-filename (mh-get-msg-num t)))
......@@ -263,9 +267,11 @@ header is included in the text passed to the command."
;;;###mh-autoload
(defun mh-sort-folder (&optional extra-args)
"Sort the messages in the current folder by date.
Calls the MH program sortm to do the work.
The arguments in the list `mh-sortm-args' are passed to sortm if the optional
argument EXTRA-ARGS is given."
The arguments in the list `mh-sortm-args' are passed to sortm if
the optional argument EXTRA-ARGS is given."
(interactive "P")
(mh-process-or-undo-commands mh-current-folder)
(setq mh-next-direction 'forward)
......@@ -299,10 +305,11 @@ argument EXTRA-ARGS is given."
(defun mh-store-msg (directory)
"Unpack message created with `uudecode' or `shar'.
The default DIRECTORY for extraction is the current directory; however, you
have a chance to specify a different extraction directory. The next time you
use this command, the default directory is the last directory you used. If you
would like to change the initial default directory, customize the option
The default DIRECTORY for extraction is the current directory;
however, you have a chance to specify a different extraction
directory. The next time you use this command, the default
directory is the last directory you used. If you would like to
change the initial default directory, customize the option
`mh-store-default-directory'."
(interactive (list (let ((udir (or mh-store-default-directory
default-directory)))
......@@ -318,9 +325,11 @@ would like to change the initial default directory, customize the option
;;;###mh-autoload
(defun mh-store-buffer (directory)
"Store the file(s) contained in the current buffer into DIRECTORY.
The buffer can contain a shar file or uuencoded file.
Default directory is the last directory used, or initially the value of
`mh-store-default-directory' or the current directory."
Default directory is the last directory used, or initially the
value of `mh-store-default-directory' or the current directory."
(interactive (list (let ((udir (or mh-store-default-directory
default-directory)))
(read-file-name "Store buffer in directory: "
......
......@@ -41,9 +41,9 @@
(defmacro mh-defun-compat (function arg-list &rest body)
"This is a macro to define functions which are not defined.
It is used for Gnus utility functions which were added recently. If FUNCTION
is not defined then it is defined to have argument list, ARG-LIST and body,
BODY."
It is used for Gnus utility functions which were added recently.
If FUNCTION is not defined then it is defined to have argument
list, ARG-LIST and body, BODY."
(let ((defined-p (fboundp function)))
(unless defined-p
`(defun ,function ,arg-list ,@body))))
......@@ -51,9 +51,9 @@ BODY."
(defmacro mh-defmacro-compat (function arg-list &rest body)
"This is a macro to define functions which are not defined.
It is used for Gnus utility functions which were added recently. If FUNCTION
is not defined then it is defined to have argument list, ARG-LIST and body,
BODY."
It is used for Gnus utility functions which were added recently.
If FUNCTION is not defined then it is defined to have argument
list, ARG-LIST and body, BODY."
(let ((defined-p (fboundp function)))
(unless defined-p
`(defmacro ,function ,arg-list ,@body))))
......
......@@ -47,14 +47,15 @@
(defvar mh-identity-pgg-default-user-id nil
"Holds the GPG key ID to be used by pgg.el.
This is normally set as part of an Identity in `mh-identity-list'.")
This is normally set as part of an Identity in
`mh-identity-list'.")
(make-variable-buffer-local 'mh-identity-pgg-default-user-id)
;;;###mh-autoload
(defun mh-identity-make-menu ()
"Build the Identity menu.
This should be called any time `mh-identity-list' or `mh-auto-fields-list'
change."
This should be called any time `mh-identity-list' or
`mh-auto-fields-list' change."
(easy-menu-define mh-identity-menu mh-letter-mode-map
"MH-E identity menu"
(append
......@@ -87,9 +88,9 @@ change."
;;;###mh-autoload
(defun mh-identity-list-set (symbol value)
"Update the `mh-identity-list' variable, and rebuild the menu.
Sets the default for SYMBOL (for example, `mh-identity-list') to VALUE (as set
in customization). This is called after 'customize is used to alter
`mh-identity-list'."
Sets the default for SYMBOL (for example, `mh-identity-list') to
VALUE (as set in customization). This is called after 'customize
is used to alter `mh-identity-list'."
(set-default symbol value)
(mh-identity-make-menu))
......@@ -120,10 +121,10 @@ Return t if anything is deleted."
(defun mh-identity-field-handler (field)
"Return the handler for header FIELD or nil if none set.
The field name is downcased. If the FIELD begins with the character
`:', then it must have a special handler defined in
`mh-identity-handlers', else return an error since it is not a valid
header field."
The field name is downcased. If the FIELD begins with the
character `:', then it must have a special handler defined in
`mh-identity-handlers', else return an error since it is not a
valid header field."
(or (cdr (mh-assoc-ignore-case field mh-identity-handlers))
(and (eq (aref field 0) ?:)
(error "Field %s - unknown mh-identity-handler" field))
......@@ -169,8 +170,8 @@ See `mh-identity-list'."
(defun mh-identity-handler-gpg-identity (field action &optional value)
"Process header FIELD \":pgg-default-user-id\".
The ACTION is one of 'remove or 'add. If 'add, the VALUE is added.
The buffer-local variable `mh-identity-pgg-default-user-id' is set to VALUE
when action 'add is selected."
The buffer-local variable `mh-identity-pgg-default-user-id' is set to
VALUE when action 'add is selected."
(cond
((or (equal action 'remove)
(not value)
......@@ -182,7 +183,8 @@ when action 'add is selected."
;;;###mh-autoload
(defun mh-identity-handler-signature (field action &optional value)
"Process header FIELD \":signature\".
The ACTION is one of 'remove or 'add. If 'add, the VALUE is added."
The ACTION is one of 'remove or 'add. If 'add, the VALUE is
added."
(cond
((equal action 'remove)
(when (and (markerp mh-identity-signature-start)
......@@ -212,7 +214,8 @@ The ACTION is one of 'remove or 'add. If 'add, the VALUE is added."
;;;###mh-autoload
(defun mh-identity-handler-attribution-verb (field action &optional value)
"Process header FIELD \":attribution-verb\".
The ACTION is one of 'remove or 'add. If 'add, the VALUE is added."
The ACTION is one of 'remove or 'add. If 'add, the VALUE is
added."
(when (and (markerp mh-identity-attribution-verb-start)
(markerp mh-identity-attribution-verb-end))
(delete-region mh-identity-attribution-verb-start
......@@ -241,9 +244,9 @@ If VALUE is nil, use `mh-extract-from-attribution-verb'."
(defun mh-identity-handler-default (field action top &optional value)
"Process header FIELD.
The ACTION is one of 'remove or 'add. If TOP is non-nil, add the field and its
VALUE at the top of the header, else add it at the bottom of the header. If
action is 'add, the VALUE is added."
The ACTION is one of 'remove or 'add. If TOP is non-nil, add the
field and its VALUE at the top of the header, else add it at the
bottom of the header. If action is 'add, the VALUE is added."
(let ((field-colon (if (string-match "^.*:$" field)
field
(concat field ":"))))
......@@ -269,15 +272,17 @@ action is 'add, the VALUE is added."
;;;###mh-autoload
(defun mh-identity-handler-top (field action &optional value)
"Process header FIELD.
The ACTION is one of 'remove or 'add. If 'add, the VALUE is added.
If the field wasn't present, it is added to the top of the header."
The ACTION is one of 'remove or 'add. If 'add, the VALUE is
added. If the field wasn't present, it is added to the top of the
header."
(mh-identity-handler-default field action t value))
;;;###mh-autoload
(defun mh-identity-handler-bottom (field action &optional value)
"Process header FIELD.
The ACTION is one of 'remove or 'add. If 'add, the VALUE is added.
If the field wasn't present, it is added to the bottom of the header."
The ACTION is one of 'remove or 'add. If 'add, the VALUE is
added. If the field wasn't present, it is added to the bottom of
the header."
(mh-identity-handler-default field action nil value))
(provide 'mh-identity)
......
This diff is collapsed.
......@@ -81,8 +81,8 @@ Created by the function `mh-variants'")
(defun mh-variants ()
"Return a list of installed variants of MH on the system.
This function looks for MH in `mh-sys-path', `mh-path' and
`exec-path'. The format of the list of variants that is returned is described
by the variable `mh-variants'."
`exec-path'. The format of the list of variants that is returned
is described by the variable `mh-variants'."
(if mh-variants
mh-variants
(let ((list-unique))
......@@ -100,14 +100,16 @@ by the variable `mh-variants'."
(defvar mh-variant-in-use nil
"The MH variant currently in use; a string with variant and version number.
This differs from `mh-variant' when the latter is set to `autodetect'.")
This differs from `mh-variant' when the latter is set to
`autodetect'.")
;;;###mh-autoload
(defun mh-variant-set (variant)
"Set the MH variant to VARIANT.
Sets `mh-progs', `mh-lib', `mh-lib-progs' and `mh-flists-present-flag'.
If the VARIANT is `autodetect', then first try nmh, then MH and finally
GNU mailutils."
Sets `mh-progs', `mh-lib', `mh-lib-progs' and
`mh-flists-present-flag'.
If the VARIANT is `autodetect', then first try nmh, then MH and
finally GNU mailutils."
(interactive
(list (completing-read
"MH Variant: "
......@@ -138,7 +140,8 @@ GNU mailutils."
(defun mh-variant-set-variant (variant)
"Setup the system variables for the MH variant named VARIANT.
If VARIANT is a string, use that key in the variable `mh-variants'.
If VARIANT is a symbol, select the first entry that matches that variant."
If VARIANT is a symbol, select the first entry that matches that
variant."
(cond
((stringp variant) ;e.g. "nmh 1.1-RC1"
(when (assoc variant mh-variants)
......@@ -193,7 +196,7 @@ Currently known variants are 'MH, 'nmh, and 'mu-mh."
"/usr/bin/mu-mh/") ; GNU mailutils - packaged
"List of directories to search for variants of the MH variant.
The list `exec-path' is searched in addition to this list.
There's no need for users to modify this list. Instead add extra
There's no need for users to modify this list. Instead add extra
directories to the customizable variable `mh-path'.")
(defun mh-variant-mh-info (dir)
......@@ -302,10 +305,11 @@ This assumes that a temporary buffer is setup."
;;;###mh-autoload
(defun mh-image-load-path ()
"Ensure that the MH-E images are accessible by `find-image'.
Images for MH-E are found in ../../etc/images relative to the files in
`lisp/mh-e'. If `image-load-path' exists (since Emacs 22), then the images
directory is added to it if isn't already there. Otherwise, the images
directory is added to the `load-path' if it isn't already there."
Images for MH-E are found in ../../etc/images relative to the
files in `lisp/mh-e'. If `image-load-path' exists (since Emacs
22), then the images directory is added to it if isn't already
there. Otherwise, the images directory is added to the
`load-path' if it isn't already there."
(unless mh-image-load-path-called-flag
(let (mh-library-name mh-image-load-path)
;; First, find mh-e in the load-path.
......@@ -332,10 +336,11 @@ directory is added to the `load-path' if it isn't already there."
"Convert SPEC for defface if necessary to run on older platforms.
See `defface' for the spec definition.
When `mh-min-colors-defined-flag' is nil, this function finds a display with a
single \"class\" requirement with a \"color\" item, renames the requirement to
\"tty\" and moves it to the beginning of the list. It then strips any
\"min-colors\" requirements."
When `mh-min-colors-defined-flag' is nil, this function finds a
display with a single \"class\" requirement with a \"color\"
item, renames the requirement to \"tty\" and moves it to the
beginning of the list. It then strips any \"min-colors\"
requirements."
(when (not mh-min-colors-defined-flag)
;; Insert ((class tty)) display with ((class color)) attributes.
(let ((attributes (cdr (assoc '((class color)) spec))))
......
......@@ -41,14 +41,15 @@
(defun mh-junk-blacklist (range)
"Blacklist RANGE as spam.
This command trains the spam program in use (see the option `mh-junk-program')
with the content of RANGE and then handles the message(s) as specified by the
option `mh-junk-disposition'.
This command trains the spam program in use (see the option
`mh-junk-program') with the content of RANGE and then handles the
message(s) as specified by the option `mh-junk-disposition'.
Check the documentation of `mh-interactive-range' to see how RANGE is read in
interactive use.
Check the documentation of `mh-interactive-range' to see how RANGE is
read in interactive use.
For more information about using your particular spam fighting program, see:
For more information about using your particular spam fighting
program, see:
- `mh-spamassassin-blacklist'
- `mh-bogofilter-blacklist'
......@@ -80,12 +81,12 @@ For more information about using your particular spam fighting program, see:
(defun mh-junk-whitelist (range)
"Whitelist RANGE as ham.
This command reclassifies the RANGE as ham if it were incorrectly classified