since compatibility functions should have our package prefix (mh-) by
Emacs convention and to avoid messing up checks for the same functions
in other packages. Use explicit argument instead of forming name by
adding mh-e prefix so that one can grep and find the definition.
* mh-alias.el (mh-alias-local-users, mh-alias-reload)
(mh-alias-expand, mh-alias-minibuffer-confirm-address): Use
mh-assoc-string instead of assoc-string.
* mh-compat.el (assoc-string): Rename to mh-assoc-string.
(mh-mail-abbrev-make-syntax-table, mh-url-hexify-string): Move here
from mh-utils.el.
(mh-display-completion-list): Move here from mh-comp.el.
(mh-face-foreground, mh-face-background): Move here from mh-xface.el.
(mh-write-file-functions): Move here from mh-folder.el
* mh-folder.el (mh-write-file-functions-compat): Move to mh-compat.el
and rename to mh-write-file-functions.
(mh-folder-mode): Use the new name.
* mh-gnus.el (gnus-local-map-property): Rename to
mh-gnus-local-map-property.
(mm-merge-handles): Rename to mh-mm-merge-handles.
(mm-set-handle-multipart-parameter): Rename to
mh-mm-set-handle-multipart-parameter.
(mm-inline-text-vcard): Rename to mh-mm-inline-text-vcard.
(mm-possibly-verify-or-decrypt): Rename to
mh-mm-possibly-verify-or-decrypt.
(mm-handle-multipart-ctl-parameter): Rename to
mh-mm-handle-multipart-ctl-parameter.
(mm-readable-p): Rename to mh-mm-readable-p.
(mm-long-lines-p): Rename to mh-mm-long-lines-p.
(mm-keep-viewer-alive-p): Rename to mh-mm-keep-viewer-alive-p.
(mm-destroy-parts): Rename to mh-mm-destroy-parts.
(mm-uu-dissect-text-parts): Rename to mh-mm-uu-dissect-text-parts.
(mml-minibuffer-read-disposition): Rename to
mh-mml-minibuffer-read-disposition.
* mh-identity.el (mh-identity-field-handler): Use mh-assoc-string
instead of assoc-string.
* mh-mime.el (mh-mm-inline-media-tests, mh-mm-inline-message)
(mh-mime-display, mh-mime-display-security) (mh-insert-mime-button,
mh-insert-mime-security-button) (mh-handle-set-external-undisplayer)
(mh-mime-security-press-button, mh-mime-security-show-details)
(mh-mml-attach-file, mh-mime-cleanup)
(mh-destroy-postponed-handles): Use new mh-* names for compatibility
functions.
* mh-utils.el (mail-abbrev-make-syntax-table): Move to mh-compat.el
and rename to mh-mail-abbrev-make-syntax-table.
(mh-beginning-of-word): Use the new name.
(mh-get-field): Delete ancient alias.
* mh-xface.el (mh-face-foreground-compat): Move to mh-compat.el and
rename to mh-face-foreground
(mh-face-background-compat): Move to mh-compat.el and rename to
mh-face-background.
(mh-face-display-function): Use the new names.
(mh-x-image-url-cache-canonicalize): Use mh-url-hexify-string instead
of url-hexify-string.
(url-unreserved-chars): Move to mh-compat.el and rename to
mh-url-unreserved-chars.
(url-hexify-string): Move to mh-compat.el and rename to
mh-url-hexify-string.
verboten within Emacs and our implementation was returning the wrong
value from require. Upcoming restructuring should make this
unnecessary.
(mh-assoc-ignore-case): Replace with defsubst assoc-string.
* mh-alias.el (mh-alias-local-users, mh-alias-reload, mh-alias-expand,
mh-alias-minibuffer-confirm-address): Use it.
* mh-identity.el (mh-identity-field-handler): Use it.
to help remove dependency on mh-utils.
* mh-exec.el: New file. Move process support routines here from
mh-utils.el.
* mh-init.el (mh-utils): Remove require.
(mh-exec): Add require.
(mh-profile-component, mh-profile-component-value): Move here from
mh-utils.el.
* mh-utils.el (mh-pgp-support-flag): Move to mh-comp.el to reduce
dependencies on mh-utils.el.
(mh-profile-component, mh-profile-component-value): Move to mh-init.el
since that's the only place that uses them. (Other than mh-alias.el;
I'm thinking that mh-find-path can set variable from the Aliasfile
component like it does the other components).
(mh-index-max-cmdline-args, mh-xargs, mh-quote-for-shell)
(mh-exec-cmd, mh-exec-cmd-error, mh-exec-cmd-daemon)
(mh-exec-cmd-env-daemon, mh-process-daemon, mh-exec-cmd-quiet)
(defvar, mh-exec-cmd-output)
(mh-exchange-point-and-mark-preserving-active-mark)
(mh-exec-lib-cmd-output, mh-handle-process-error): Move to new file
mh-exec.el so that mh-init.el doesn't have to depend on mh-utils.el,
breaking circular dependency.
* mh-alias.el: mh-customize.el: mh-e.el: mh-funcs.el: mh-gnus.el:
* mh-identity.el: mh-inc.el: mh-junk.el: mh-mime.el: mh-print.el:
* mh-search.el: mh-seq.el: mh-speed.el: Added debugging statements
(commented out) around requires to help find dependency loops. Will
remove them when issues are resolved.
instead of mh-replace-in-string as mh-replace-in-string was replaced
by a more appropriate defsubst in mh-xemacs.el.
* mh-comp.el: Require cleanup, wrap compiler-shushing defvars with
eval-when-compile.
(mh-file-is-vcard-p): Removed redundant test.
* mh-customize.el: Require cleanup, wrap compiler-shushing defvars
with eval-when-compile.
(mh-adaptive-cmd-note-flag, mh-invisible-header-fields)
(mh-invisible-header-fields-default): Add forward definitions.
(mh-invisible-header-fields-default): Alphabetize.
* mh-e.el: Require cleanup, wrap compiler-shushing defvars with
eval-when-compile.
(mh-thread-scan-line-map-stack, tool-bar-mode): Delete unused
variables.
(mh-colors-available-p): Just call display-color-cells. It's on all
supported Emacsen (and defaliased on XEmacs).
* mh-funcs.el: mh-inc.el: mh-init.el: Wrap compiler-shushing defvars
* with eval-when-compile.
* mh-identity.el: Don't need (mh-require-cl).
* mh-index.el: Don't need to load executable any more.
* mh-mime.el: Wrap compiler-shushing defvars with eval-when-compile.
(mh-have-file-command): Initialize variable to 'undefined. Add
docstring. Update function of same name accordingly. Also don't need
to load executable any more.
(mh-mime-content-types): Delete.
(mh-minibuffer-read-type): Prompt user for type if mh-file-mime-type
returns application/octet-stream. Assume we have mailcap-mime-types.
(mh-mime-display): Update error message.
* mh-seq.el: Require cleanup, and wrap compiler-shushing defvars with
eval-when-compile.
* mh-utils.el: Require cleanup, and wrap compiler-shushing defvars
with eval-when-compile.
(mh-clean-msg-header): Don't set after-change-functions to nil.
(mh-replace-in-string): Remove. Create defsubst in mh-xemacs.el
instead.
* mh-alias.el:
* mh-comp.el:
* mh-customize.el:
* mh-e.el:
* mh-funcs.el:
* mh-gnus.el:
* mh-identity.el:
* mh-inc.el:
* mh-index.el:
* mh-init.el:
* mh-junk.el:
* mh-mime.el:
* mh-pick.el:
* mh-print.el:
* mh-seq.el:
* mh-speed.el:
* mh-utils.el:
Follow commenting conventions. Don't use ;;; form so much, except for
headings. Precede headings with page feed. This was mostly already
done, so I made it a convention. Did not update copyright on a couple
of files since this was an insignificant change.
mh-alias.el and move to mh-acros.el
* mh-alias.el (mh-assoc-ignore-case): Merge with version in
mh-identity.el and move to mh-acros.el
* mh-acros.el (mh-assoc-ignore-case): Merge of function from
mh-identity.el and mh-alias.el.
assoc-string (if the function is available) and falls back on
assoc-ignore-case if assoc-string is not found.
(mh-identity-field-handler): Use mh-assoc-ignore-case since
assoc-ignore-case is a obsolete function in Emacs 22.
* mh-e.el (mh-folder-buttons-init-flag): New variable that keeps
track of whether the tool-bar in mh-folder-mode has been
initialized yet.
(mh-folder-mode): Initialize the tool-bar for folders the first
time we get into mh-letter-mode.
* mh-customize.el (mh-buffer-exists-p): New function which tests
presence of buffers of a given mode.
(mh-tool-bar-define): New functions
mh-tool-bar-folder-buttons-init and
mh-tool-bar-letter-buttons-init are defined. These functions are
used to create the tool-bar from the corresponding customizable
variables.
* mh-comp.el (mh-letter-buttons-init-flag): New variable that
keeps track of whether the tool-bar in mh-letter-mode has been
initialized yet.
(mh-letter-mode): Initialize the tool-bar for drafts the first
time we get into mh-letter-mode.
the MH-E images to the image-load-path or load-path depending on the
version of Emacs.
* mh-customize.el: Call mh-image-load-path just before
mh-tool-bar-define so that the toolbar images can be found.
* mh-customize.el (mh-invisible-header-fields-internal)
(mh-invisible-header-fields-internal): Add Received-SPF header and
X-Gmail- prefixes seen from Gmail. Jeffrey C Honig
<jch@honig.net>
* mh-customize.el (mh-customize): Use customization group mh-e.
* mh-e.el (desktop-buffer-mode-handlers): Only add to this list if
the variable exists. Not present pre-version 22.
(Version, mh-version): Added +cvs to version.
* mh-unit.el (mh-unit): Changed lm-verify test to Emacs 22.
* Makefile: Incorporated ideas from Clemens Fruhwirth to
generalize mh-loaddefs.el to make it work for both GNU Emacs and
XEmacs.
(EMACS_OPTIONS, XEMACS_OPTIONS): Use double-dash for all long
options.
(EMACS_LOADDEFS_COOKIE): New variable for generate-autoload-cookie
setting. Obsoletes XEMACS_LOADDEFS_COOKIE.
(EMACS_EXPORT_MH_LOADDEFS): New variable for GNU Emacs commands to
rebuild mh-loaddefs.el.
(XEMACS_EXPORT_MH_LOADDEFS): New variable for XEmacs commands to
rebuild mh-loaddefs.el. Obsoletes XEMACS_LOADDEFS_FILE and
XEMACS_LOADDEFS_PKG_NAME.
(MH-E-LOADDEFS-SRC): New variable which is set to $(MH-E-SRC) on
GNU Emacs, and adds $(MH-E-XEMACS-SRC) on XEmacs.
(all): Modify EMACS_EXPORT_MH_LOADDEFS and MH-E-LOADDEFS-SRC on
XEMacs.
(mh-loaddefs.el): Now depends on $(MH-E-LOADDEFS-SRC) and has
generic compile command that works on both GNU Emacs XEmacs.
(xemacs): Depend on autoloads instead of deleted loaddefs-xemacs.
(loaddefs-xemacs): Deleted.
* mh-comp.el (mh-font-lock-field-data): Fix a bug where the
function would return t but match-data was being set to nil
(closes SF #1241017). Satyaki Das <satyaki@theforce.stanford.edu>.
* mh-comp.el (mh-insert-auto-fields): Inset identity regardless of
whether one was already set, since if one used a default identity
it would never be overridden. Peter S Galbraith
<psg@debian.org>
* mh-init.el (mh-path): Use customization group mh-e. Thanks to
Peter Whaite for these patches (closes SF #1213716).
* mh-mime.el (mh-compose-forward): Only use mh-sent-from-msg as a
default message if it's a number (as is done elsewhere).
Otherwise, an error is thrown if this function is called from a
draft created by mh-forward since this variable is a list. Also
added a space after the "Messages [%s]:" prompt.
* mh-mime.el (mh-compose-forward): Allow insertion of multiple
forwarded messages by range (including sequences). For the sent
folder the default message presented is the sent message. For
other folders, the default message is "cur", if it exists.
Jeffrey C Honig <jch@honig.net>
release version 7.2.
* lisp/mail/mh-alias.el, lisp/mail/mh-comp.el,
lisp/mail/mh-customize.el, lisp/mail/mh-e.el, lisp/mail/mh-funcs.el,
lisp/mail/mh-identity.el, lisp/mail/mh-index.el,
lisp/mail/mh-loaddefs.el, lisp/mail/mh-mime.el, lisp/mail/mh-pick.el,
lisp/mail/mh-seq.el, lisp/mail/mh-speed.el, lisp/mail/mh-utils.el,
lisp/mail/mh-xemacs-compat.el: Moved to mh-e. Note that reply2.pbm and
reply2.xpm, which were created by the MH-E package, were left in mail
since they can probably be used by other mail packages.
* makefile.w32-in (WINS): Added mh-e.
* makefile.nt (WINS): Added mh-e.