(mh-buffer-exists-p): Move inside mh-do-in-gnu-emacs since it isn't
used outside of it.
(mh-tool-bar-folder-buttons-init, mh-tool-bar-letter-buttons-init):
Update load-path/image-load-path before setting buttons. This code
used to be in mh-folder-mode/mh-letter-mode but this was the wrong
place since mh-tool-bar-*-buttons-init can also be called when
customizing the buttons.
(mh-tool-bar-update): New function which updates tool-bar-map in all
of the MH-E buffers after customizing the buttons (closes SF
#1452718).
(mh-tool-bar-folder-buttons-set, mh-tool-bar-letter-buttons-set): Call
it (closes SF #1452718).
* mh-folder.el (mh-folder-buttons-init-flag): Delete. Use
mh-folder-tool-bar-map instead.
(image-load-path): Delete. No longer used.
(mh-folder-mode): Moved setting of image-load-path into
mh-tool-bar-folder-buttons-init.
* mh-letter.el (mh-letter-buttons-init-flag): Delete. Use
mh-letter-tool-bar-map instead.
(image-load-path): Delete. No longer used.
(mh-letter-mode): Moved setting of image-load-path into
mh-tool-bar-letter-buttons-init.
* mh-seq.el (mh-narrow-to-seq, mh-widen): Use with-current-buffer
instead of set-buffer.
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.
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.
mh-pick.el. C-c C-c launches your mh-index-program; C-c C-p runs pick.
Pick no longer sets the "search" sequence. Instead, it brings up a
folder view that we're accustomed to. (closes SF #829207).
(mh-index-search): Rename to mh-search.
(mh-pick-menu): Rename menu from Pick to Search. Rename Execute the
Search to Perform Search and call mh-do-search. Add Search with Pick
menu item.
(mh-do-search): Delete.
(mh-search-mode): Rename from mh-pick-mode.
(MH-Search): Rename mode from MH-Pick.
(mh-search-mode-map): Rename from mh-pick-mode-map.
(mh-search-mode-help-messages): Rename from
mh-pick-mode-help-messages.
(mh-index-choose): Don't reuse the last value of mh-indexer; when
mh-pick-do-search sets it to 'pick, we don't necessarily want to stay
with that choice!
* mh-index.el: mh-pick.el: Merge into mh-search.el and delete.
* mh-customize.el (mh-index-program): Change mh-index-search to
mh-search in docstring.
(mh-tool-bar-search-function): Change default from mh-search-folder to
mh-search. Remove mh-search-folder as choice and rename
mh-index-search choice to mh-search. Fix docstring.
(mh-pick-mode-hook): Rename to mh-search-mode-hook and change
mh-search-folder to mh-search in docstring.
* mh-e.el (mh-folder-folder-menu): Delete Search a Folder. Change
Indexed Search to Search. Use mh-search instead of mh-index-search.
(mh-folder-map): Delete i (mh-index-search) keybinding. Change s from
mh-show-search-folder to mh-search.
* mh-seq.el (mh-put-msg-in-seq): Fix docstring now that
mh-search-folder no longer creates the search sequence.
* mh-utils.el (mh-show-search-folder): Delete.
(mh-show-folder-map): Delete i (mh-index-search) keybinding. Change s
from mh-show-search-folder to mh-search.
(mh-show-folder-menu): Delete Search a Folder. Change Indexed Search
to Search. Use mh-search instead of mh-index-search.
(mh-index-max-cmdline-args, mh-xargs, mh-quote-for-shell): Move here
from deleted mh-index.el.
* 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-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.
the docstrings and made usage consistent. Generally speaking,
"messages in range" and "range of messages" is redundant and just
"range" can be used in most circumstances. Also ensured that
mh-interactive-range was mentioned in all interactive functions that
use a range which describes the range argument for both users and
programmers.
* mh-e.el (mh-delete-msg-no-motion, mh-refile-msg)
(mh-refile-or-write-again, mh-rescan-folder, mh-undo)
(mh-visit-folder, mh-scan-folder, mh-regenerate-headers)
(mh-notate-user-sequences, mh-delete-msg-from-seq, mh-catchup): Ditto.
* mh-funcs.el (mh-copy-msg, mh-pack-folder, mh-pack-folder-1): Ditto.
* mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
* mh-print.el (mh-ps-print-range, mh-ps-print-msg)
(mh-ps-print-msg-file, mh-print-msg): Ditto.
* mh-seq.el (mh-put-msg-in-seq, mh-range-to-msg-list)
(mh-narrow-to-range, mh-toggle-tick): Ditto.
make-variable-buffer-local call to top level to avoid warnings in CVS
Emacs.
* mh-comp.el (mh-insert-letter): Replaced deprecated read-input with
read-string.