* lisp/mh-e/mh-letter.el (mh-letter-completion-at-point): New function,
extracted from mh-letter-complete
(mh-letter-mode, mh-letter-complete, mh-letter-complete-or-space): Use it.
(mh-complete-word): Only use the common-substring arg when it works.
(mh-folder-expand-at-point):
* lisp/mh-e/mh-alias.el (mh-alias-letter-expand-alias): Return data suitable
for completion-at-point-functions.
* lisp/mh-e/mh-utils.el (mh-folder-completion-function): Make it work like
file-name completion, so partial-completion can do its job.
* lisp/minibuffer.el (completion-at-point, completion-help-at-point):
Don't presume that a given completion-at-point-function will always
use the same calling convention.
(mh-goto-address-find-address-at-point): Delete copies from
goto-addr.el. (mh-alias-suggest-alias): Use goto-address-mail-regexp
instead of mh-address-mail-regexp.
(mh-alias-add-address-under-point): Use
goto-address-find-address-at-point instead of
mh-goto-address-find-address-at-point.
* mh-e.el (mh-show-use-goto-addr-flag): Delete.
* mh-show.el (mh-show-mode): Mention goto-address-highlight-p in
docstring.
(mh-show-addr): Call goto-address unconditionally. User should use
goto-address-highlight-p instead of mh-show-use-goto-addr-flag.
instead of replace-regexp-in-string.
(crm, multi-prompt): Use mh-require instead of require.
(mh-goto-address-find-address-at-point): Use
mh-line-beginning-position and mh-line-end-position instead of
line-beginning-position and line-end-position. Use
mh-match-string-no-properties instead of match-string-no-properties.
* mh-comp.el (mh-modify-header-field): Use mh-line-beginning-position
and mh-line-end-position instead of line-beginning-position and
line-end-position.
* mh-compat.el (mailabbrev): Use mh-require instead of require.
(mh-assoc-string, mh-display-completion-list, mh-face-foreground)
(mh-face-background): Make docstring consistent.
(mh-require, mh-cancel-timer, mh-display-color-cells)
(mh-line-beginning-position, mh-line-end-position)
(mh-match-string-no-properties, mh-replace-regexp-in-string)
(mh-view-mode-enter): Move definition here from mh-xemacs.el and add
mh- prefix 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.
* mh-e.el (mh-compiling-flag): Move mh-xemacs-compiling-flag here from
mh-xemacs.el and rename.
(mh-xargs): Use mh-line-beginning-position and mh-line-end-position
instead of line-beginning-position and line-end-position.
(mh-defface-compat): Use mh-display-color-cells instead of
display-color-cells.
* mh-folder.el (which-func): Use mh-require instead of require.
* mh-funcs.el (mh-list-folders): Use mh-view-mode-enter instead of
view-mode-enter.
* mh-gnus.el (gnus-util, mm-bodies, mm-decode, mm-view, mml): Use
mh-require instead of require.
* mh-letter.el (mh-letter-header-end, mh-letter-mode)
(mh-letter-next-header-field): Use mh-line-beginning-position and
mh-line-end-position instead of line-beginning-position and
line-end-position.
* mh-limit.el (mh-subject-to-sequence-unthreaded): Use
mh-match-string-no-properties instead of match-string-no-properties.
(mh-narrow-to-header-field): Use mh-line-beginning-position and
mh-line-end-position instead of line-beginning-position and
line-end-position.
* mh-mime.el (mh-mime-inline-part, mh-mm-display-part)
(mh-mh-quote-unescaped-sharp, mh-mh-directive-present-p): Use
mh-line-beginning-position and mh-line-end-position instead of
line-beginning-position and line-end-position.
* mh-search.el (which-func): Use mh-require instead of require.
(mh-make-pick-template, mh-index-visit-folder)
(mh-pick-parse-search-buffer, mh-swish-next-result)
(mh-mairix-next-result, mh-namazu-next-result)
(mh-pick-next-result, mh-grep-next-result)
(mh-index-create-imenu-index, mh-index-match-checksum)
(mh-md5sum-parser, mh-openssl-parser, mh-index-update-maps): Use
mh-line-beginning-position and mh-line-end-position instead of
line-beginning-position and line-end-position.
* mh-seq.el (mh-list-sequences): Use mh-view-mode-enter instead of
view-mode-enter.
(mh-folder-size-flist, mh-parse-flist-output-line)
(mh-add-sequence-notation): Use mh-line-beginning-position and
mh-line-end-position instead of line-beginning-position and
line-end-position.
* mh-show.el (mh-show-addr): Use mh-require instead of require.
* mh-speed.el (mh-folder-speedbar-menu-items, mh-speed-toggle)
(mh-speed-view, mh-folder-speedbar-buttons)
(mh-speed-highlight, mh-speed-goto-folder)
(mh-speed-add-buttons, mh-speed-parse-flists-output)
(mh-speed-invalidate-map, mh-speedbar-change-expand-button-char)
(mh-speed-add-folder): Use mh-line-beginning-position and
mh-line-end-position instead of line-beginning-position and
line-end-position.
(mh-speed-flists): Use mh-cancel-timer instead of cancel-timer.
* mh-thread.el (mh-thread-find-children)
(mh-thread-parse-scan-line, mh-thread-generate): Use
mh-line-beginning-position and mh-line-end-position instead of
line-beginning-position and line-end-position.
* mh-utils.el (mh-colors-available-p): Use mh-display-color-cells
instead of display-color-cells.
(mh-folder-list): Use mh-replace-regexp-in-string instead of
replace-regexp-in-string.
(mh-sub-folders-actual, mh-letter-toggle-header-field-display): Use
mh-line-beginning-position and mh-line-end-position instead of
line-beginning-position and line-end-position.
* mh-comp.el (mh-send-sub): Don't find components file in current
directory--this seems to have been a side-effect of commenting out the
use of an old mh-etc variable. Improve error message.
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.
* emacs/lisp/Makefile.in (MH_E_SRC): Rename from MH-E-SRC since the
dashes can give some systems gas. Add new file mh-buffers.el.
* emacs/lisp/mh-e/mh-buffers.el: New file. Contains constants and code
from mh-index.el and mh-utils.el.
* emacs/lisp/mh-e/mh-alias.el:
* emacs/lisp/mh-e/mh-comp.el:
* emacs/lisp/mh-e/mh-e.el:
* emacs/lisp/mh-e/mh-funcs.el:
* emacs/lisp/mh-e/mh-init.el:
* emacs/lisp/mh-e/mh-junk.el:
* emacs/lisp/mh-e/mh-mime.el:
* emacs/lisp/mh-e/mh-print.el:
* emacs/lisp/mh-e/mh-seq.el: Require new file mh-buffers.el.
* emacs/lisp/mh-e/mh-index.el: Require new file mh-buffers.el.
(mh-index-temp-buffer, mh-checksum-buffer): Move to new file
mh-buffers.el.
* emacs/lisp/mh-e/mh-utils.el: Require new file mh-buffers.el.
(mh-temp-buffer, mh-temp-fetch-buffer)
(mh-aliases-buffer, mh-folders-buffer, mh-help-buffer)
(mh-info-buffer, mh-log-buffer, mh-mail-delivery-buffer)
(mh-recipients-buffer, mh-sequences-buffer, mh-log-buffer-lines)
(mh-truncate-log-buffer): Move to new file mh-buffers.el.
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-comp.el (mh-letter-mode): Use 60 column width.
(mh-forward, mh-insert-signature, mh-send-letter): Sync docstrings
with manual.
(mh-yank-cur-msg): Mention that mh-ins-buf-prefix isn't used if you
have added a mail-citation-hook and neither are used if you use one of
the supercite flavors of mh-yank-behavior. Sync docstrings with
manual.
* mh-customize.el (mh-ins-buf-prefix, mh-yank-behavior): Mention that
mh-ins-buf-prefix isn't used if you have added a mail-citation-hook
and neither are used if you use one of the supercite flavors of
mh-yank-behavior. Sync docstrings with manual.
(mail-citation-hook): Delete. Use one in sendmail.el.
(mh-signature-file-name, mh-after-commands-processed-hook)
(mh-alias-reloaded-hook, mh-before-commands-processed-hook)
(mh-before-quit-hook, mh-before-send-letter-hook) (mh-delete-msg-hook,
mh-find-path-hook, mh-folder-mode-hook) (mh-forward-hook,
mh-inc-folder-hook, mh-insert-signature-hook)
(mh-kill-folder-suppress-prompt-hooks, mh-letter-mode-hook)
(mh-mh-to-mime-hook, mh-pick-mode-hook, mh-quit-hook)
(mh-refile-msg-hook, mh-show-hook, mh-show-mode-hook)
(mh-unseen-updated-hook): Sync docstrings with manual. Use "Hook run
by `function'..." instead of "Invoked...".
* mh-e.el (mh-last-destination, mh-last-destination-folder)
(mh-last-destination-write, mh-folder-mode-map, mh-arrow-marker)
(mh-delete-list, mh-refile-list, mh-folders-changed)
(mh-next-direction, mh-view-ops, mh-folder-view-stack) (mh-index-data,
mh-first-msg-num, mh-last-msg-num) (mh-mode-line-annotation,
mh-sequence-notation-history)
(mh-colors-available-flag): Move comment into
docstring. (mh-delete-msg, mh-execute-commands, mh-inc-folder,
mh-quit, mh-process-commands): Sync docstrings with manual.
(mh-refile-msg): Small doc edit.
(mh-delete-a-msg, mh-refile-a-msg): Sync docstrings with manual.
Rename msg argument to message.
* mh-funcs.el (mh-kill-folder): Sync docstrings with manual.
* mh-e.el (mh-update-unseen): No longer say "The value of `foo-hook'
is a list of functions to be called, with no arguments, ...," but
rather just "The hook foo-hook is called...".
* mh-mime.el (mh-mh-to-mime): Ditto
* mh-pick.el (mh-pick-mode): Ditto.
* mh-utils.el (mh-showing-mode): Use uppercase for argument in
docstring.
(mh-seq-list, mh-seen-list, mh-showing-with-headers): Move comment
into docstring.
(mh-show-mode, mh-show-msg, mh-find-path): Sync docstrings with
manual.
* 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.
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>