(mh-make-obsolete-variable): New macros to fix XEmacs compiler
warnings.
* mh-letter.el (mh-yank-hooks): Use new mh-make-obsolete-variable
macro.
* mh-e.el (mh-kill-folder-suppress-prompt-hooks): Use new
mh-define-obsolete-variable-alias macro.
* mh-compat.el (mh-cl-flet): New alias for cl-flet on Emacs 24 and
flet elsewhere.
* mh-thread.el (mh-thread-set-tables): Replace flet with new alias
mh-cl-flet.
* mh-show.el (mh-gnus-article-highlight-citation): Replace flet with
new alias mh-cl-flet.
* mh-mime.el (mh-display-with-external-viewer, mh-mime-display)
(mh-press-button, mh-push-button, mh-display-emphasis): Replace flet
with new alias mh-cl-flet.
* mh-e.el (mh-invisible-header-fields-internal): Remove trailing
whitespace.
with-current-buffer in mh-yang-cur-msg, semantics changed in emacs
23 and we do not want to use set-buffer unless we actually want to
change the buffer the user is looking at (cloases SF #2830504).
(mh-complete-word): Remove FIXME comments since these functions are
still needed in other Emacsen. However, they can probably stand to be
generalized like completion-at-point.
(mh-letter-complete-or-space): Remove unused variable.
* 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.
rather than using a potentially incorrect message number (closes SF
#1473729). In addition, use the cur message if mh-sent-from-msg is
nil (when sending a message, in contrast to replying). Move conversion
of int to string into interactive stanza so body can assume variables
are of proper type.
(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.
recommending that one binds image-load-path. Just defvar it to placate
compiler and only use it if previously defined.
* mh-e.el (image-load-path): Don't bind!
* mh-folder.el (mh-folder-mode): Only use image-load-path if
previously defined.
* mh-letter.el (mh-letter-mode): Ditto.
* mh-utils.el (mh-logo-display): Ditto.
from image-load-path-for-library, which are:
(image-load-path-for-library): Pass value of path rather than symbol.
Always return list of directories. Guarantee that image directory
comes first.
* mh-e.el (image-load-path): Define on those Emacsen that lack it to
avoid compile and run-time errors.
* mh-folder.el (mh-folder-mode): Use new idiom for setting
image-load-path.
* mh-letter.el (mh-letter-mode): Ditto.
* mh-utils.el (mh-logo-display): Ditto.
mh-image-load-path-for-library.
* mh-letter.el (mh-letter-mode): Rename mh-image-load-path to
mh-image-load-path-for-library.
* mh-utils.el (mh-image-load-path): Rename to
mh-image-load-path-for-library. Add example to docstring. Rename local
variable mh-image-directory to image-directory. Move error checks to
default case in cond and simplify.
(mh-folder-mode): Call mh-tool-bar-init conditionally in XEmacs. Set
scoped variables image-load-path and load-path with updated
mh-image-load-path before calling mh-tool-bar-folder-buttons-init.
* mh-letter.el (mh-tool-bar-init): Autoload.
(mh-letter-mode): Call mh-tool-bar-init conditionally in XEmacs. Set
scoped variables image-load-path and load-path with updated
mh-image-load-path before calling mh-tool-bar-letter-buttons-init.
* mh-show.el (mh-tool-bar-init): Autoload.
(mh-show-mode): Perform tool bar stuff conditionally in XEmacs and GNU
Emacs.
* mh-tool-bar.el (mh-tool-bar-define): Don't quote stuff in error
messages per conventions.
(mh-tool-bar-folder-buttons-init)
(mh-tool-bar-letter-buttons-init): Don't call mh-image-load-path.
(mh-tool-bar-define call): Format.
* mh-utils.el (mh-image-directory, mh-image-load-path-called-flag):
Delete.
(mh-image-load-path): Incorporate changes from Gnus team. Biggest
changes are that it no longer uses/sets mh-image-directory or
mh-image-load-path-called-flag, and returns the updated path rather
than change it.
(mh-logo-display): Change usage of mh-image-load-path.
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.
(mh-get-header-field): Move to mh-utils.el so that you can read
messages without having to load mh-comp.el and mh-letter.el.
* mh-letter.el (mh-hidden-header-keymap)
(mh-letter-toggle-header-field-display)
(mh-letter-skipped-header-field-p)
(mh-letter-skip-leading-whitespace-in-header-field)
(mh-letter-truncate-header-field): Move to mh-utils.el so that you can
read messages without having to load mh-comp.el and mh-letter.el.
* mh-utils.el (mh-get-header-field)
(mh-letter-hide-all-skipped-fields)
(mh-letter-skipped-header-field-p, mh-hidden-header-keymap)
(mh-letter-toggle-header-field-display)
(mh-letter-skip-leading-whitespace-in-header-field)
(mh-letter-truncate-header-field): Move here from mh-comp.el and
mh-letter.el so that you can read messages without having to load
mh-comp.el and mh-letter.el.