(latexenc-find-file-coding-system): Don't inherit the EOL part of the
[emacs.git] / lisp / mh-e / ChangeLog
blob23e7c6d44cbb5c183e0bf991d69ae119d3e4e6a9
1 2005-05-28  Bill Wohler  <wohler@newt.com>
3          Released MH-E version 7.84.
5          * MH-E-NEWS, README: Updated for release 7.84.
7          * mh-e.el (Version, mh-version): Updated for release 7.84.
9 2005-05-28  Bill Wohler  <wohler@newt.com>
11         * mh-e.el, mh-comp.el: Don't autoload Info-goto-node. It's not
12         used, and if it were, the code should use the info function
13         instead.
15         Use full year in copyright notices (for example, 2005, not 05).
17         * Makefile (mh-loaddefs.el, mh-e-autoloads.el): Added 2005 to
18         copyright notice.
20         * mh-inc.el: Use three ;;; to precede Local Variables to be
21         consistent with other files. Will have to ask Stefan Monnier why
22         he changed it.
24         * README: This version of MH-E to appear in GNU Emacs 22.1, not
25         21.5.
27         * ChangeLog: The * in a ChangeLog entry must only be used before a
28         filename.
30         Fixed compilation warnings in CVS Emacs. This included using
31         "public" functions instead of "private" ones (info instead of
32         Info-goto-node, view-mode-enter instead of view-mode), and
33         removing a customization group that didn't have a parent group. In
34         addition, string-to-int was recently deprecated; use
35         string-to-number instead.
37         * mh-customize.el (Info-goto-node): Deleted autoload.
38         (mh-e): Deleted mh group. Use single mh-e group instead.
39         (mh-tool-bar-folder-help, mh-tool-bar-letter-help): Use info
40         instead of Info-goto-node.
42         * mh-e.el (mh-read-msg-list): string-to-int deprecated; use
43         string-to-number.
45         * mh-funcs.el (mh-list-folders): Use view-mode-enter instead of
46         view-mode.
48         * mh-seq.el (mh-list-sequences): Use view-mode-enter instead of
49         view-mode.
51         * mh-utils.el (mh-get-msg-num): string-to-int deprecated; use
52         string-to-number.
54         Merged in changes from CVS Emacs including:
56         * mh-utils.el (mh-show-mode):
57         * mh-pick.el (mh-pick-mode): Remove spurious run-hooks. Lute
58         Kamstra  <lute@gnu.org> 2005-05-26.
60 2005-05-25  Bill Wohler  <wohler@newt.com>
62         Merged in changes from CVS Emacs including:
64         * mh-customize.el (mh-speedbar-selected-folder-face): Special case
65         high number of colors displays. Dan Nicolaescu <dann@ics.uci.edu>
66         2005-04-08.
68         * mh-e.el, mh-identity.el, mh-mime.el: Replace `legal' with
69         `valid'. Replace `illegal' with `invalid'. Werner Lemberg
70         <wl@gnu.org> 2005-03-25.
72         * mh-inc.el (mh-inc-spool-list): Correctly declare the external
73         var. Stefan <monnier@iro.umontreal.ca> 2004-09-07.
75 2005-05-18  Bill Wohler  <wohler@newt.com>
77         * mh-comp.el (mh-reply): Mention use of mh-repl-group-formfile in
78         docstring.
80 2005-05-05  Bill Wohler  <wohler@newt.com>
82         * mh-e.el (Version, mh-version): Added +cvs to release number.
84 2005-05-05  Bill Wohler  <wohler@newt.com>
86         Released MH-E version 7.83.
88         * MH-E-NEWS, README: Updated for release 7.83.
90         * mh-e.el (Version, mh-version): Updated for release 7.83.
92 2005-05-05  Bill Wohler  <wohler@newt.com>
94         * README: To appear in Emacs 21.5, since 21.4 was released (but
95         without the latest MH-E).
97         * release-utils (usage): Added --variable-changes.
99 2005-05-04  Bill Wohler  <wohler@newt.com>
101         * mh-customize.el (*-face): Made docstrings consistent.
103         * mh-seq.el (mh-pick-args-list): Extracted function for turning
104         string of pick arguments to list. Fixed list so that multi-word
105         arguments were put in a single string (closes SF #1122655).
106         (mh-edit-pick-expr): Use it.
108         * mh-unit.el (mh-unit): Since 21.4 snuck out but didn't contain
109         updated lm-verify, don't run lm-verify on versions before 21.5.
110         (mh-unit-test-pick-args-list): Added.
112         * mh-customize.el (mh-yank-from-start-of-msg): Use headline
113         capitalization. Changed wording of some choices to be more consistent.
114         (mh-invisible-header-fields-internal): Added fields from usa.net.
116 2005-04-24  Satyaki Das  <satyaki@theforce.stanford.edu>
118         * mh-mime.el (mh-mime-security-button-face): New function which
119         determines the face to use to colorize encrypted or signed emails.
120         (mh-insert-mime-security-button): Modified to colorize the button
121         differently based on whether the signature was valid or not,
122         whether the decryption was successful or not, etc.
124         * mh-customize.el (mh-show-pgg-good-face)
125         (mh-show-pgg-unknown-face, mh-show-pgg-bad-face): Faces added to
126         highlight buttons introduced for encrpted or signed MIME parts.
128 2005-03-19  Bill Wohler  <wohler@newt.com>
130         * mh-customize.el (mh-mml-method-default): Sorted alphabetically.
131         (mh-insert-x-mailer-flag, mh-reply-show-message-flag): Moved from
132         mh-letter group to mh-sending-mail group. The writing of the
133         documentation revealed that these options were misplaced.
135 2005-03-17  Bill Wohler  <wohler@newt.com>
137         * mh-customize.el (mh-junk-background): Put in alphabetical order.
138         Synced with manual.
139         (mh-junk-program): Use double-quotes on non-symbols.
141         * mh-pick.el: (mh-search-folder): Synced docstrings with manual.
143         * mh-index.el: (mh-index-search, mh-pick-execute-search)
144         (mh-grep-execute-search, mh-mairix-execute-search)
145         (mh-swish-execute-search, mh-swish++-execute-search)
146         (mh-namazu-execute-search): Synced docstrings with manual. Note
147         that I'm now grabbing the output of an Info buffer which is why
148         the indents on the examples has changed a bit. If we all use that
149         methodology in the future, we shouldn't produce as many gratuitous
150         diffs. I also noticed that `grep' and `search' became links to
151         unrelated things, so let's use double-quotes for quoting
152         non-symbols in the docstrings.
154         * mh-customize.el (mh-index-new-messages-folders)
155         (mh-index-ticked-messages-folders): Synced docstrings with manual.
157 2005-02-16  Satyaki Das  <satyaki@theforce.stanford.edu>
159         * mh-index.el (mh-swish-execute-search): Simplify the indexing
160         recipe for swish. Thanks to Eric Jensen for the suggestion.
162 2005-02-11  Satyaki Das  <satyaki@theforce.stanford.edu>
164         * mh-index.el (mh-swish-execute-search)
165         (mh-swish++-execute-search): Make the indexing recipes better.
166         (mh-swish-next-result): The indexer might find matches in files
167         that aren't messages. Make the function handle that case
168         gracefully.
170 2005-02-07  Bill Wohler  <wohler@newt.com>
172         * mh-customize.el (mh-inc-prog, mh-inc-spool-list): Synced
173         docstrings with manual.
175 2005-02-06  Bill Wohler  <wohler@newt.com>
177         * mh-junk.el (mh-spamassassin-blacklist): Removed trailing
178         whitespace.
180         * mh-e.el (mh-refile-or-write-again): Checkdoc fix.
182         * mh-identity.el (mh-identity-list-set)
183         (mh-identity-field-handler, mh-identity-handler-gpg-identity)
184         (mh-identity-handler-signature)
185         (mh-identity-handler-attribution-verb)
186         (mh-identity-handler-default, mh-identity-handler-top): Docstring
187         editing.
189         * mh-customize.el (mh-identity-list, mh-auto-fields-list)
190         (mh-identity-default, mh-identity-handlers): Synced docstrings
191         with manual.
193 2005-02-03  Bill Wohler  <wohler@newt.com>
195         * mh-xemacs.el (define-behavior 'mh): Moved Ben's code here from
196         mh-e.el and added standard documentation.
198         * mh-e.el: Received patch from Ben Wing <ben@666.com> to add
199         define-behavior on XEmacs.
201 2005-01-28  Jeffrey C Honig  <jch@honig.net>
203         * mh-customize.el (mh-invisible-header-fields-internal): Added
204         X-Evolution header added by Evolution mai client.
206 2005-01-18  Bill Wohler  <wohler@newt.com>
208         * mh-customize.el (mh-invisible-header-fields-internal): Added
209         DomainKey-Signature (http://antispam.yahoo.com/domainkeys/).
210         There's a Comment field that goes with it, but I thought it was
211         too general to add.
213 2005-01-06  Bill Wohler  <wohler@newt.com>
215         * mh-junk.el (mh-spamassassin-blacklist): Fixed typo to fix an
216         error when junking spamassassin mail when mh-junk-background is
217         turned on.
219 2004-12-25  Satyaki Das  <satyaki@theforce.stanford.edu>
221         * mh-utils.el (mh-show-unquote-From): Make the buffer writable
222         before trying to change it (closes SF #1089870).
224         * mh-comp.el (mh-complete-word): Fix a typo in a variable
225         name (closes SF #1089870)
227 2004-11-28  Jeffrey C Honig  <jch@honig.net>
229         * mh-comp.el (mh-complete-word): Kill the *Completions* buffer in
230         any cases where we belive we are done with it.  Not perfect, but
231         better than just leaving it around.
233 2004-11-08  Satyaki Das  <satyaki@theforce.stanford.edu>
235         * mh-acros.el (mh-funcall-if-exists): In XEmacs, presence of a
236         function at compile time doesn't guarantee it's existence at run
237         time. So make the macro handle that situation better.
239 2004-11-05  Satyaki Das  <satyaki@theforce.stanford.edu>
241         * mh-acros.el (advice): Load advice, since it isn't loaded in
242         XEmacs causing compilation problems.
244 2004-10-24  Satyaki Das  <satyaki@theforce.stanford.edu>
246         * mh-index.el (mh-mairix-execute-search)
247         (mh-mairix-regexp-builder): Update the interface to mairix so that
248         it will work with versions of mairix 0.12 and later.
250         * mh-funcs.el (mh-rmf-daemon): Avoid using
251         beginning-of-buffer since it clobbers the mark and it was pointed
252         out on the Emacs developers list to be the wrong thing to do.
254         * mh-e.el (mh-inc-folder): Only remove the window on the show
255         buffer. This means if the user has BBDB enabled then the window
256         displaying BBDB information isn't clobbered.
257         (mh-refile-or-write-again): Don't use the function
258         interactive-p. There was a long thread on the Emacs developers
259         list where it was pointed out that it is incorrect to use this
260         function most of the time.
262         * mh-comp.el (autoload): Don't set auto-mode-alist. This could
263         screw things up for users that don't use MH-E (closes SF #1032353).
265 2004-10-13  Satyaki Das  <satyaki@theforce.stanford.edu>
267         * mh-e.el (mh-refile-or-write-again): Generalize the function to
268         work on a range of messages (closes SF #1046330).
270 2004-09-02  Satyaki Das  <satyaki@theforce.stanford.edu>
272         * mh-e.el (mh-process-commands): The concurrent execution of mark
273         and refile can cause problems since both the commands change the
274         current folder. This change avoids that by getting rid of the
275         concurrency. Another change covers the corner case where we refile
276         messages to a previously empty folder. Before the modification
277         sequences weren't preserved even if the appropriate flag was
278         set. That is no longer the case.
280 2004-08-26  Satyaki Das  <satyaki@theforce.stanford.edu>
282         * mh-e.el (mh-get-new-mail): Also, update the unseen sequence from
283         disk. Otherwise, the new messages aren't highlighted.
285         * mh-seq.el (mh-thread-inc): Fix a bug which appears when inc is
286         run in a narrowed folder. The user sequence notation was getting
287         lost. The change fixes that.
289         * mh-e.el (mh-get-new-mail): Make inc more efficient by reusing
290         the existing user sequence notation and deleted/refiled notation.
292 2004-08-24  Bill Wohler  <wohler@newt.com>
294         * mh-e.el (Version, mh-version): Added +cvs to release number.
296 2004-08-24  Bill Wohler  <wohler@newt.com>
298         Released MH-E version 7.82.
300         * MH-E-NEWS, README: Updated for release 7.82.
302         * mh-e.el (Version, mh-version): Updated for release 7.82.
304 2004-08-24  Bill Wohler  <wohler@newt.com>
306         * mh-init.el (mh-variant-set): Change MH to mh as that's what is
307         emitted by `mh-variant-mh-info' (closes SF #1014781).
308         (mh-variant-p): Add mu-mh to docstring.
310 2004-08-23  Satyaki Das  <satyaki@theforce.stanford.edu>
312         * mh-acros.el (mh-require-cl): Remove unneeded autoloads.
313         (require): Add an advice to the function so that at compile time
314         the uncompiled file is loaded. This avoids compilation problems
315         when built in the Emacs tree.
317         * mh-mime.el (mh-identity-pgg-default-user-id): Defvar the
318         variable, to avoid compiler warnings.
320         * mh-e.el (mh-seq): Load mh-seq since functions defined there are
321         used here. Without this, the state mh-seq.elc would be loaded.
323         * mh-customize.el (mh-init, mh-identity): Load mh-init and
324         mh-identity at compile time manually, before the corresponding
325         stale elc files get autoloaded.
327 2004-08-21  Bill Wohler  <wohler@newt.com>
329         * mh-e.el (Version, mh-version): Add +cvs to release number.
331 2004-08-21  Bill Wohler  <wohler@newt.com>
333         Released MH-E version 7.81.
335         * MH-E-NEWS, README: Updated for release 7.81.
337         * mh-e.el (Version, mh-version): Updated for release 7.81.
339 2004-08-21  Bill Wohler  <wohler@newt.com>
341         * release-utils (variable_changes): Check for checked-out
342         directory before proceeding.  Remove temporary files.
343         Rename --variable-update flag to --variable-changes.
345 2004-08-16  Mark D. Baushke  <mdb@gnu.org>
347         * mh-mime.el (mh-toggle-mh-decode-mime-flag: New function.
348         * mh-e.el (mh-help-messages): Add [;] help string for it.
349         (mh-folder-mode-map): Add ";" key binding for it.
351 2004-08-15  Satyaki Das  <satyaki@theforce.stanford.edu>
353         * mh-acros.el (mh-defstruct): Distinguishing structures created
354         by mh-defstruct just based on the number of fields is not
355         sufficient, since both the mh-thread-message and
356         mh-thread-container structures have the same length.
358 2004-08-15  Mark D. Baushke  <mdb@gnu.org>
360         * mh-customize.el (mh-identity-handlers): Use ":default" instead of
361         "default" to avoid problems with "Default:" as a user defined field.
362         * mh-identity.el (mh-identity-field-handler): Ditto.
364 2004-08-15  Bill Wohler  <wohler@newt.com>
366         * mh-e.el (Version, mh-version): Added +cvs to release number.
368 2004-08-15  Bill Wohler  <wohler@newt.com>
370         Released MH-E version 7.4.80.
372         * MH-E-NEWS, README: Updated for release 7.4.80.
374         * mh-e.el (Version, mh-version): Updated for release 7.4.80.
376 2004-08-15  Bill Wohler  <wohler@newt.com>
378         * mh-funcs.el, mh-gnus.el, mh-inc.el, mh-init.el, mh-junk.el,
379         mh-pick.el, mh-print.el, mh-xemacs.el: Added 2004 to Copyright.
381         * mh-acros.el, mh-alias.el: Checkdoc fixes.
383 2004-08-12  Satyaki Das  <satyaki@theforce.stanford.edu>
385         * mh-acros.el (cl): Load cl in this file. That is all right, since
386         this file is only used at compile time, and so cl doesn't get
387         loaded at run time. This avoids problems with stale *.elc files
388         present in the Emacs source tree during compilation.
389         (mh-defstruct): Modify it to make it more CL like and in the
390         process simplify it a bit. This makes the argument list of the
391         constructor compatible with the previous version, thereby avoiding
392         a compilation error when an old version of mh-seq.elc is present.
394         * mh-seq.el (mh-thread-id-container, mh-thread-get-message)
395         (mh-thread-get-message-container): Revert back to the CL style
396         of using keyword arguments, since the mh-defstruct now produces
397         code compatible to such usage.
399 2004-08-11  Satyaki Das  <satyaki@theforce.stanford.edu>
401         * mh-acros.el (mh-defstruct, mh-require-cl): Checkdoc fixes.
403         * mh-utils.el (message-tokenize-header, message-fetch-field): Add
404         autoloads.
405         (mh-folder-completing-read): Make the folder completion look
406         better with CVS Emacs.
408         * mh-init.el (mh-variant-set): Remove dead code.
410 2004-08-11  Bill Wohler  <wohler@newt.com>
412         * *.el: Use the following at the top of each file which seems to
413         do a good job of suppressing compilation warnings in 21.3 and CVS
414         Emacs (21.4). This replaces (require 'cl) or (require
415         'utils) (mh-require-cl) calls:
417           (eval-when-compile (require 'mh-acros))
418           (mh-require-cl)
420 2004-08-10  Bill Wohler  <wohler@newt.com>
422         * release-utils (DESCRIPTION): Added one.
423         (FILES, SEE ALSO, VERSION): Deleted empty and incorrect sections.
425         * mh-e.el (mh-colors-available-p): Call x-display-color-cells with
426         mh-funcall-if-exists since it no longer seems to be defined in
427         GNU Emacs 21.4.
429 2004-08-10  Satyaki Das  <satyaki@theforce.stanford.edu>
431         * mh-speed.el (mh-process-kill-without-query, mh-speed-flists):
432         Avoid a compiler warning in versions of Emacs where
433         process-kill-without-query is a deprecated function.
435         * mh-seq.el (mh-thread-message, mh-thread-container): Use
436         mh-defstruct instead of defstruct.
437         (mh-thread-id-container, mh-thread-get-message-container)
438         (mh-thread-get-message): Use the slightly different structure
439         constructor function.
441         * mh-acros.el (mh-defstruct): New macro which is a partial
442         replacement of the defstruct in CL.
443         (no-byte-compile): Don't compile the file since it isn't loaded at
444         run time, so efficiency isn't an issue.
446         * mh-utils.el (mh-buffer-data): Use mh-defstruct instead of
447         defstruct.
449 2004-08-09  Satyaki Das  <satyaki@theforce.stanford.edu>
451         * mh-funcs.el, mh-junk.el, mh-print.el: Use mh-require-cl to avoid
452         compilation warnings in Emacs-21.3.
454         * mh-acros.el (mh-require-cl): Add autoloads of CL functions used.
456 2004-08-09  Bill Wohler  <wohler@newt.com>
458         * mh-customize.el (mh-show-use-xface-flag): Mention that `fetch' and
459         `curl' are supported as well.
461 2004-08-08  Bill Wohler  <wohler@newt.com>
463         * mh-xemacs.el (mh-xemacs-has-toolbar-flag): Checkdoc fixes.
465         * mh-mime.el (mh-display-with-external-viewer): Checkdoc fixes.
467         * mh-identity.el: (mh-identity-attribution-verb-end): Stripped
468         trailing space; checkdoc fixes.
470         * mh-e.el (mh-restore-desktop-buffer): Checkdoc fixes.
472         * mh-customize.el: (mh-inc-spool-list,
473         mh-compose-forward-as-mime-flag, defcustom): Stripped trailing
474         space; checkdoc fixes.
476         * mh-comp.el (mh-reply): Stripped trailing space.
478         * mh-unit.el (mh-unit-files): Added mh-acros.el and mh-gnus.el.
479         (mh-unit): Don't lm-verify pre-21.4. Save buffers before killing
480         since we might have done some editing.
482         * import-emacs: Deleted. Functionality subsumed by release-utils.
484         * release-utils: New script. Performs import-emacs functionality
485         and displays new and deleted options.
487         * Makefile (import-emacs): Call release-utils instead of
488         import-emacs.
490         * mh-funcs.el (mh-undo-folder): Removed deprecated `ignore'
491         argument.
493         * mh-e.el (mh-scan-date-regexp): Deleted as Peter claims it is
494         obsolete.
495         (mh-folder-font-lock-keywords): Removed reference to deleted
496         variable `mh-scan-date-regexp'.
498         * mh-customize.el (mh-auto-fields-prompt-flag): Made reference to
499         `mh-auto-fileds-lists'.
500         (mh-forward-hook): Fixed docstring typo.
502 2004-08-07  Bill Wohler  <wohler@newt.com>
504         * mh-acros.el: New file. Currently holds macros needed by
505         mh-customize.el but is planned to hold all macros to avoid
506         dependency problems when compiling.
508         * mh-utils.el (mh-xemacs-flag): Defined in mh-customize.el now.
509         (mh-require-cl, mh-do-in-gnu-emacs, mh-do-in-xemacs)
510         (mh-funcall-if-exists, mh-make-local-hook, mh-mark-active-p):
511         Moved to new file mh-acros.el.
513         * mh-customize.el: Require mh-acros and cl only when compiling and
514         mh-loaddefs at runtime instead of mh-utils.
515         (mh-xemacs-flag): Define it here instead of mh-utils.el.
517         * Makefile (MH-E-SRC): Added mh-acros.el.
519         * mh-gnus.el (default-enable-multibyte-characters): Don't define
520         any more. It doesn't seem to be needed.
522         * mh-customize.el (mh-junk-background): New variable. If on, spam
523         programs are run in background. Running in foreground can be slow.
524         Defaults to nil to spare machines with little memory.
526         * mh-junk.el (mh-spamassassin-blacklist, mh-bogofilter-blacklist)
527         (mh-bogofilter-whitelist, mh-spamprobe-blacklist)
528         (mh-spamprobe-whitelist): Use new option mh-junk-background.
530 2004-07-25  Satyaki Das  <satyaki@theforce.stanford.edu>
532         * mh-utils.el (mh-folder-completing-read): In recent CVS Emacs,
533         the first letter of the possible choices in the completion buffer
534         is highlighted. The change is needed for this feature to work
535         during folder name completion. This is not entirely sufficient,
536         since the leading "+" in folder names is still mishandled. A patch
537         is required in Emacs itself to address that.
539 2004-07-22  Mark D. Baushke  <mdb@gnu.org>
541         * mh-e.el (recursive-load-depth-limit): Move
542         recursive-load-depth-limit code to ...
543         * mh-utils.el (recursive-load-depth-limit): ... here to avoid
544         problems compiling mh-utils.el and mh-alias.el with gnus-5.10.6
545         under emacs-21.1. Use eval-and-compile instead of eval-when.
547 2004-07-20  Bill Wohler  <wohler@newt.com>
549         * mh-customize.el (mh-invisible-header-fields-internal): Added
550         header fields emitted by T-Mobile picture phones (X-Mms-*, and
551         commented out X-Operator field saying it's like X-Mailer).
553 2004-07-12  Bill Wohler  <wohler@newt.com>
555         * mh-gnus.el: Set local variables indent-tabs-mode and
556         sentence-end-double-space to nil.
558         * mh-customize.el: Checkpoint from option docstring updates and
559         manual synchronization from last summer. For the options listed
560         below, docstring was usually completely rewritten. Use "on"
561         instead of "t" in docstring to match what is seen in customization
562         buffer. Use headline capitalization. Standardize on "Auto-detect"
563         text when option has that capibility.
564         (mh): Since we work on more than one type of Emacs, use Emacs
565         instead of GNU Emacs. Prefer GNU mailutils over GNU Mailutils.
566         (mh-variant): s/Autodetect at startup/Auto-detect/.
567         (mh-alias-insertion-location): s/Sorted
568         alphabetically/Alphabetical/. s/At the top of file/Top/. s/At the
569         bottom of file/Bottom/.
570         (mh-alias-local-users-prefix): s/Use login instead of real
571         name/Use Login/.
572         (mh-identity-list): Sorted values by fields, attribution,
573         signature, GPG key.
574         (mh-auto-fields-list): Missing quote.
575         (mh-compose-insertion): s/Use Gnus/Gnus/. s/Use mhn/mhn/.
576         (mh-compose-space-does-completion-flag): s/SPACE/<SPC>/.
577         (mh-extract-from-attribution-verb): Since we have French, added
578         German too ;-).
579         (mh-letter-complete-function): Mention default in docstring.
580         (mh-invisible-header-fields-internal): Added X-ELNK-Trace from
581         Earthlink.
582         (mh-alias-flash-on-comma, mh-alias-insert-file)
583         (mh-alias-passwd-gecos-comma-separator-flag)
584         (mh-recenter-summary-flag, mh-default-folder-for-message-function)
585         (mh-default-folder-must-exist-flag, mh-index-program)
586         (mh-index-ticked-messages-folders, mh-ins-buf-prefix)
587         (mh-delete-yanked-msg-window-flag, mh-identity-default): See
588         summary above.
590         * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-mu-mh-info):
591         Prefer GNU mailutils over GNU Mailutils MH.
593         * mh-comp.el (sc-cite-original, mh-smail, mh-smail-batch)
594         (mh-edit-again, mh-extract-rejected-mail, mh-forward)
595         (mh-smail-other-window, mh-reply, mh-send, mh-send-other-window):
596         Use `mh-send' instead of \\[mh-send]] since links in the docstring
597         are more useful than a key sequence in these cases. Use "See also"
598         instead of "See also documentation for".
600         Merged in 7.4.4 changes, described below.
602         * mh-e.el (Version, mh-version):  Set to 7.4.4+cvs.
604 2004-07-10  Bill Wohler  <wohler@newt.com>
606         Released MH-E version 7.4.4.
608         * MH-E-NEWS, README: Updated for release 7.4.4.
610         * mh-e.el (Version, mh-version): Updated for release 7.4.4.
612         This patch release contains the following patches:
614         * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
615         and mh-xemacs-icons.el which were removed since their names
616         exceeded DOS 8+3 limits.
618         * Makefile:
619         (mh-e-autoloads.el): Add target to make `mh-e-autoloads.el', a
620         file containg usual entry commands into MH-E to be used for users
621         installing MH-E separately from Emacs.
622         (XEMACS_LOADDEFS_FILE): New.  Used to generate mh-loaddefs.el
623         in XEmacs.
624         (XEMACS_LOADDEFS_COOKIE): Ditto.
625         (XEMACS_LOADDEFS_PKG_NAME): Ditto.
626         (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner build
627         environment.
628         (MH-E-SRC): Moved mh-xemacs.el to new variable MH-E-XEMACS-SRC.
629         (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
630         (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
631         (clean): Moved XEmacs-specific code to clean-xemacs.
632         (xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
633         section of file. Add target to build mh-loaddefs.el in XEmacs
634         (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
635         (clean-xemacs): New target to remove XEmacs-specific files.
636         (compile-xemacs): New. It allows for the '-no-autoloads' option
637         and byte-compiles all the source files with a single instance of
638         XEmacs.
639         (dist): Added $(MH-E-XEMACS-SRC) to tarball.
640         (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
641         'AUTOLOAD_FILE'.
642         (AUTOLOAD_PACKAGE_NAME): New.
643         (AUTOLOAD_FILE): New.
644         (all): Don't set $EMACS_HOME if building with XEmacs.
645         (xemacs): Use 'compile-xemacs' instead of 'compile'.
646         (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
647         '-no-autoloads'.
648         (custom-load.elc): Allow for '-no-autoloads'.
650         * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
651         The XEmacs stuff gets required by mh-customize.el which is
652         required by mh-utils.el which is required by mh-e.el. This all
653         happens before mh-xemacs-compat was required, so all should be
654         well.
655         (mh-restore-desktop-buffer): Move from desktop.el. Add Parameters.
656         (mh-restore-desktop-buffer): Delete with-no-warnings.
657         (mh-folder-mode): Bind desktop-save-buffer to t.
658         (Courtesy Lars Hansen).
660         * mh-alias.el (mh-assoc-ignore-case): New macro to use
661         assoc-string when available (Emacs 21.4+); assoc-ignore-case
662         otherwise.
663         (mh-alias-reload, mh-alias-expand,
664         mh-alias-minibuffer-confirm-address): Use it.
666         * mh-seq.el: Added mh-autoload to mh-read-seq-default.
668         * mh-utils.el (mh-require-cl): The Emacs coding conventions
669         require that the cl package not be required at runtime. However,
670         the cl package in versions of Emacs prior to 21.4 left cl routines
671         in their macro expansions. Use mh-require-cl to provide the cl
672         routines in the best way possible (closes SF #930012).
673         (require 'mouse): To shush compiler.
675         Use new function mh-require-cl throughout.
677         Add arch taglines (courtesy Miles Bader).
679         * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
680         mh-xemacs-icons.el with mh-xemacs.el.
682         * import-emacs: Also grab the ChangeLog.
684         * *.pbm: Regenerated using GIMP to be consistent with other Emacs
685         icons.
686         1. Edit .xpm image in GIMP.
687         2. Image > Mode > Indexed. Check Use Black/White Palette and No
688            Color Dithering.
689         3. File > Save As file.xbm.
690         4. Run xbmtopbm < file.xbm > file.pbm.
691         Thanks to jan.h.d@swipnet.se for the help.
693 2004-07-07  Stephen Gildea
695         * mh-customize.el (mh-invisible-header-fields-internal):
696         Add X-Greylist, X-Source*, and X-WebTV-Signature.
697         Replace specific X-Spam-* headers with general pattern.
699 2004-06-15  Bill Wohler  <wohler@newt.com>
701         * README: Vladimir Ivanovic reports that mh-rmail works with
702         XEmacs 21.5.17, so updated requirements text accordingly (closes
703         SF #644321).
705 2004-05-12  Satyaki Das  <satyaki@theforce.stanford.edu>
707         * mh-utils.el (mh-mail-header-end): Replace call to
708         rfc822-goto-eoh with something that allows From_ lines in the mail
709         header.
711 2004-04-14  Bill Wohler  <wohler@newt.com>
713         * mh-utils.el (mh-show-mouse): s/EVENT/event/. Thanks to John Paul
714         Wallington <jpw@gnu.org> for pointing this out.
716 2004-04-12  Satyaki Das  <satyaki@theforce.stanford.edu>
718         * mh-e.el (mh-folder-size-flist): Add -showzero option so that the
719         parsing code doesn't get confused by the presence of -noshowzero
720         in the user's .mh_profile (closes SF #933954).
722 2004-04-07  Satyaki Das  <satyaki@theforce.stanford.edu>
724         * mh-mime.el (mh-insert-mime-button)
725         (mh-insert-mime-security-button): Add evaporate property to
726         overlays used in MIME part buttons.  This avoids problems with
727         CVS Emacs.
729 2004-03-16  Satyaki Das  <satyaki@theforce.stanford.edu>
731         * mh-e.el (mh-folder-from-address): Go to the end of buffer if the
732         re-search-forward fails (closes SF #917096).
734 2004-02-02  Satyaki Das  <satyaki@theforce.stanford.edu>
736         * mh-customize.el (mh-compose-forward-as-mime-flag): New user
737         customizable variable that controls whether messages are forwarded
738         as MIME attachments (closes SF #827203).
740         * mh-comp.el (mh-forward): Call forw with -mime option only if
741         mh-compose-forward-as-mime-flag is non-nil.
743 2003-12-26  Jeffrey C Honig  <jch@honig.net>
745         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
746         (mh-spamassassin-blacklist, mh-spamassassin-blacklist)
747         (mh-spamassassin-blacklist, mh-spamassassin-whitelist)
748         (mh-spamassassin-whitelist, mh-bogofilter-blacklist)
749         (mh-spamprobe-blacklist): Add progress messages.  Change "Couldn't"
750         to "Unable" in error messages.  Run bogofilter and spamprobe in
751         the foreground to prevent a large number of processes from
752         swamping the system.
754 2003-12-25  Satyaki Das  <satyaki@theforce.stanford.edu>
756         * mh-e.el (mh-prompt-for-refile-folder): Marking the whole folder
757         and then refiling all messages throws an error, since this
758         function expects point to be on a valid scan line. The change
759         relaxes this requirement, thereby avoiding the above problem.
761 2003-12-14  Satyaki Das  <satyaki@theforce.stanford.edu>
763         * mh-comp.el (mh-ascii-buffer-p): New function that checks if a
764         buffer is entirely composed of ASCII.
765         (mh-send-letter): Encode the draft if it contains non-ASCII
766         characters.
768 2003-12-12  Satyaki Das  <satyaki@theforce.stanford.edu>
770         * mh-customize.el (mh-invisible-headers): Keep only unique fields
771         in list of header fields to hide. This avoids problems in XEmacs.
773 2003-12-10  Satyaki Das  <satyaki@theforce.stanford.edu>
775         * mh-seq.el (mh-thread-print-scan-lines): The imenu index was not
776         getting created for threaded index buffers. The change fixes this.
778         * mh-index.el (mh-index-insert-folder-headers): Always create the
779         imenu index.
780         (mh-index-create-imenu-index): Set which-func-mode to t. If
781         which-function-mode is turned on after the folder buffer has been
782         prepared, display of the folder info was being inhibited. The
783         change fixes that.
785 2003-12-09  Satyaki Das  <satyakid@stanford.edu>
787         * mh-comp.el (mh-letter-mode): Setup mh-mail-header-separator
788         based on draft contents.
789         (mh-letter-mode, mh-letter-mail-header-end-marker)
790         (mh-letter-header-end): Remove use of the variable
791         mh-letter-mail-header-end-marker. Instead use
792         mh-mail-header-separator. This avoids problems in font locking
793         draft buffers (closes SF #855479).
795 2003-12-09  Satyaki Das  <satyakid@stanford.edu>
797         * mh-index.el (mh-index-insert-folder-headers): Modified so that
798         imenu--index-alist is updated.
799         (mh-index-create-imenu-index): New function that generates an
800         index usable by imenu. This adds which-func-mode support to index
801         folders (closes SF #855520).
803         * mh-e.el (which-func, which-func-modes): Tell which-func that
804         mh-folder-mode supports it.
805         (mh-folder-mode): Add support for imenu.
807 2003-11-22  Peter S Galbraith  <psg@debian.org>
809         * Makefile: renamed mh-startup.el to mh-e-autoloads.el
811         * README: renamed mh-startup.el to mh-e-autoloads.el
813         * .cvsignore: Added mh-e-autoloads.el
815 2003-11-18  Bill Wohler  <wohler@newt.com>
817         Released MH-E version 7.4.3.
819         * MH-E-NEWS, README: Updated for release 7.4.3.
821         * mh-e.el (Version, mh-version): Updated for release 7.4.3.
823         * This patch release contains the following two patches:
825         * mh-identity.el (mh-identity-make-menu): Removed condition on
826         mh-auto-fields-list. Use it to enable or disable menu item
827         instead.
829         * mh-customize.el (mh-identity-list): Removed defvar and moved
830         defcustom before mh-auto-fields-list so that defvar wouldn't
831         clobber user's customization settings.
833 2003-11-17  Jeffrey C Honig  <jch@honig.net>
835         * mh-print.el (mh-print-msg): Do not print a message on deprecated
836         usage, the bindings have been removed.
838         * mh-e.el (mh-folder-mode-map): Remove "l" binding for
839         mh-print-msg.
841         * mh-utils.el (mh-show-mode-map): Remove "l" binding for
842         mh-print-msg.
844 2003-11-16  Satyaki Das  <satyakid@stanford.edu>
846         * mh-comp.el (mh-beginning-of-word): Use the function
847         mh-mail-abbrev-make-syntax-table instead of the function
848         mail-abbrev-make-syntax-table.
850         * mh-gnus.el (mh-mail-abbrev-make-syntax-table): Add a wrapper
851         function that calls mail-abbrev-make-syntax-table if available.
852         This is needed so that MH-E built with CVS Emacs will work with
853         released versions of Emacs21 and vice versa.
855 2003-11-14  Peter S Galbraith  <psg@debian.org>
857         * mh-customize.el (mh-invisible-header-fields-internal): Add
858         "X-NAI-Spam-" and "X-Spam-Report:".
860 2003-11-14  Mark D. Baushke  <mdb@gnu.org>
862         * mh-customize.el (mh-invisible-header-fields-internal):
863         Add X-AntiAbuse and X-MailScanner.
864         (Patch from Stephen Gildea.)
866 2003-11-13  Peter S Galbraith  <psg@debian.org>
868         * mh-identity.el (mh-identity-handler-attribution-verb): New
869         function. A new Identity handler for the attribution verb (e.g.
870         "wrote:") to allow for different identities to use different
871         languages.
872         (mh-identity-insert-attribution-verb): New function. Insert the
873         attribution verb, placing special markers so it can be deleted and
874         replaced later.
875         (mh-identity-attribution-verb-start): New variable. Holds the
876         marker for the start of the attribution verb.
877         (mh-identity-attribution-verb-end): New variable. Holds the
878         marker for the end of the attribution verb.
880         * mh-customize.el (mh-identity-handlers): Add new
881         ":attribution-verb" tag for the attribution-verb handler.
882         (mh-identity-list): Idem.
884         * mh-comp.el (mh-yank-cur-msg): Insert attribution verb using
885         mh-identity-insert-attribution-verb.
886         (mh-extract-from-attribution): Extract only the name from the From
887         line, without appending `mh-extract-from-attribution-verb' since
888         markers need to be inserted around that now.
890 2003-11-12  Bill Wohler  <wohler@newt.com>
892         * mh-e.el (mh-rmail, mh-nmail): Well, actually, we run in both GNU
893         Emacs and XEmacs, so removed the "GNU" in the docstrings unless
894         one is strictly talking about GNU Emacs.
896         * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
897         Ditto.
899 2003-11-11  Bill Wohler  <wohler@newt.com>
901         * mh-customize.el (mh-customize): Minor docstring change.
902         (mh, mh-e): The short description for MH-E is: The GNU Emacs
903         Interface to the MH Mail System. Therefore, updated docstrings
904         accordingly.
906         * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
907         Ditto.
909         * mh-e.el (mh-rmail, mh-nmail): Ditto.
911 2003-11-10  Satyaki Das  <satyakid@stanford.edu>
913         * mh-mime.el (mh-mml-to-mime): In case errors happen in
914         mml-to-mime, restore contents of the draft buffer (closes SF
915         #839303).
917 2003-11-07  Bill Wohler  <wohler@newt.com>
919         * mh-customize.el (mh-letter-mode-hook): Moved to mh-sending-mail
920         group (where it is now documented in the manual).
921         (mh-pick-mode-hook): Moved to mh-index group (where it is now
922         documented in the manual).
924         * mh-loaddefs.el: Deleted per our discussion on mh-e-devel. No
925         more conflicts! No more check-ins! Anyone pulling CVS MH-E is
926         expected to compile. This file shall be added to the tarball so
927         that users of the distribution are not.
929 2003-11-07  Mark D. Baushke  <mdb@gnu.org>
931         * mh-loaddefs.el: Regenerated.
933         * mh-customize.el (mh-forward-hook): Define new hook.
934         * mh-comp.el (mh-forward): Use it.
936 2003-11-07  Satyaki Das  <satyakid@stanford.edu>
938         * mh-loaddefs.el: Regenerated.
940         * mh-utils.el (mh-show-toggle-mime-buttons)
941         (mh-show-display-with-external-viewer): New interactive functions
942         callable from the show buffer.
943         (mh-show-mime-map): Add bindings for "K t" and "K e".
944         (mh-show-msg): Propagate change to
945         mh-display-buttons-for-inline-parts-flag to the show buffer.
947         * mh-mime.el (mh-display-with-external-viewer): New interactive
948         function to display MIME parts with external viewer (closes SF
949         #839318).
951         * mh-e.el (mh-folder-mode): Make the variable
952         mh-display-buttons-for-inline-parts-flag buffer-local so that
953         display of MIME buttons can be toggled.
954         (mh-toggle-mime-buttons): New interactive function to toggle
955         display of MIME buttons.
956         (mh-mime-map): Modified to add bindings for "K t" and "K e".
958 2003-11-04  Steve Youngs  <sryoungs@bigpond.net.au>
960         * Makefile (XEMACS_LOADDEFS_FILE): New. Used to generate
961         mh-loaddefs.el in XEmacs.
962         (XEMACS_LOADDEFS_COOKIE): Ditto.
963         (XEMACS_LOADDEFS_PKG_NAME): Ditto.
964         (xemacs): Add target to build mh-loaddefs.el in XEmacs
965         (clean-xemacs): Remove `mh-loaddefs.el*'
966         (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
968 2003-11-02  Peter S Galbraith  <psg@debian.org>
970         * mh-init.el (mh-variant-set-variant): Reset `mh-x-mailer-string'
971         when we select an MH variant.
973 2003-11-02  Jeffrey C Honig  <jch@honig.net>
975         * mh-loaddefs.el: Regenerated.
977         * mh-funcs.el (mh-print-msg): Move to mh-print.el.
979         * mh-e.el (mh-folder-mode-map): Add mh-print-msg ("l") back, it
980         will print a message that this usage is deprecated.
982         * mh-print.el (require, mh-ps-print-msg, mh-ps-print-msg-file):
983         Require mh-funcs for mh-note-printed.  PS print functions were not
984         setting the printed notation.  Move mh-print-msg here for
985         consistency.  Print message if mh-print-msg invoked via deprecated
986         key binding.
988 2003-11-01  Peter S Galbraith  <psg@debian.org>
990         * Makefile: Add target to make `mh-startup.el', a file containg
991         usual entry commands into MH-E to be used for users installing
992         MH-E separately from Emacs.
994         * README: Document the above for users.
996 2003-10-29  Jeffrey C Honig  <jch@honig.net>
998         * mh-utils.el (mh-show-ps-print-map): Add "?" and "l" to
999         mh-show-ps-print-map.
1001         * mh-e.el (mh-ps-print-map, mh-help-messages): Add "?" and "l" to
1002         mh-ps-print-map.  Add "l" to help message.
1004 2003-10-27  Bill Wohler  <wohler@newt.com>
1006         * Makefile (MH-E-SRC): Moved mh-xemacs.el to new variable
1007         MH-E-XEMACS-SRC.
1008         (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
1009         (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
1010         (clean): Moved XEmacs-specific code to clean-xemacs.
1011         (xemacs): Added clean-xemacs prerequisite. Moved down to
1012         XEmacs section of file.
1013         (clean-xemacs): New target to remove XEmacs-specific files.
1014         (compile-xemacs): Added $(MH-E-XEMACS-SRC) prerequisite.
1015         (dist): Added $(MH-E-XEMACS-SRC) to tarball.
1017 2003-10-27  Satyaki Das  <satyakid@stanford.edu>
1019         * mh-loaddefs.el: Regenerated.
1021         * mh-index.el (mh-indexer-choices): Remove option for the non-free
1022         glimpse indexer (closes SF #831276).
1023         (mh-glimpse-binary, mh-glimpse-directory)
1024         (mh-glimpse-execute-search, mh-glimpse-next-result): Functions
1025         and variables to implement glimpse support are removed.
1027         * mh-customize.el (mh-index-program): Remove option for glimpse.
1029 2003-10-24  Satyaki Das  <satyakid@stanford.edu>
1031         * mh-customize.el: Remove top-level test for toolbar enabled
1032         XEmacs since it is not needed.
1033         (mh-tool-bar-define): Add test for XEmacs toolbar in the functions
1034         mh-toolbar-init, mh-tool-bar-letter-buttons-set and
1035         mh-tool-bar-folder-buttons-set. This enables proper compilation
1036         irrespective of whether the XEmacs was built with toolbar support
1037         or not.
1039         * mh-comp.el (mh-letter-mode): Remove conditional since it is not
1040         needed.
1042         * mh-e.el (mh-folder-mode): Same as above.
1044         * mh-utils.el (mh-show-mode): Same as above.
1046         * mh-xemacs.el (mh-xemacs-icon-map): Remove condition on toolbar
1047         presence since we want the build to work if XEmacs without
1048         toolbars is used during compilation.
1050 2003-10-23  Bill Wohler  <wohler@newt.com>
1052         * mh-customize.el: The Great Reorganization. Sorted groups
1053         alphabetically. Aligned variables in customization groups with
1054         manual sections. Group docstrings changed to match manual chapter
1055         titles.
1057 2003-10-22  Satyaki Das  <satyakid@stanford.edu>
1059         * mh-speed.el (timer): Avoid compiler warning in XEmacs.
1061 2003-10-22  Steve Youngs  <sryoungs@bigpond.net.au>
1063         * Makefile (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner
1064         build environment.
1065         (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
1066         'AUTOLOAD_FILE'.
1067         (AUTOLOAD_PACKAGE_NAME): New.
1068         (AUTOLOAD_FILE): New.
1069         (all): Don't set $EMACS_HOME if building with XEmacs.
1070         (xemacs): Use 'compile-xemacs' instead of 'compile'.
1071         (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
1072         '-no-autoloads'.
1073         (custom-load.elc): Allow for '-no-autoloads'.
1074         (compile-xemacs): New.  It allows for the '-no-autoloads' option
1075         and byte-compiles all the source files with a single instance of
1076         XEmacs.
1078         * mh-e.el (mh-folder-mode): Only load the toolbar in XEmacs if
1079         toolbar support is available.
1081         * mh-comp.el (mh-letter-mode): Only load the toolbar in XEmacs if
1082         toolbar support is available.
1084         * mh-customize.el: Require 'mh-xemacs' at toplevel when
1085         'mh-xemacs-flag' is non-nil.
1086         Wrap all the toolbar code in a test that is true if using
1087         GNU/Emacs or a toolbar-enabled XEmacs.
1089         * mh-print.el (mh-ps-spool-a-msg): Comment out
1090         `clean-message-header-flag' because it isn't used anywhere.
1092         * mh-utils.el (mh-show-mode): Only load the toolbar in XEmacs if
1093         toolbar support is available.
1095         * mh-xemacs.el: Autoload `regexp-opt', `customize-group',
1096         `view-mode', `with-electric-help', `pp', `sort-numeric-fields',
1097         `reverse-region', and `goto-address' at compile time.
1098         (mh-xemacs-has-toolbar-flag): New.  This is non-nil when XEmacs
1099         has toolbar support.
1100         (mh-xemacs-toolbar-*-icon): Use it.
1102 2003-10-21  Mark D. Baushke  <mdb@gnu.org>
1104         * mh-identity.el (mh-identity-field-handler): Fields that begin
1105         with ":" must have an mh-identity-handler defined or the user
1106         gets an error.
1108 2003-10-17  Peter S Galbraith  <psg@debian.org>
1110         * mh-customize.el (mh-identity-list): This change affects users!
1111         The keyword "signature" becomes ":signature".  The recently added
1112         keyword "pgg-default-user-id" becomes ":pgg-default-user-id".
1113         (mh-auto-fields-list): The keyword "Identity" becomes ":identity".
1114         (mh-identity-handlers): Idem for signature and pgg-default-user-id.
1116         * mh-comp.el (mh-insert-auto-fields): Idem for Identity.
1118 2003-10-17  Peter S Galbraith  <psg@debian.org>
1120         * mh-xemacs.el: Add eval-and-compile call to (load "toolbar" t t) to
1121         make sure `toolbar-make-button-list' is defined.  We can't use
1122         require because Emacs doesn't have this library.
1124 2003-10-16  Bill Wohler  <wohler@newt.com>
1126         * mh-customize.el (mh-signature-file-name)
1127         (mh-letter-insert-signature-hook): Merge docstring with manual.
1129         * mh-comp.el (mh-file-is-vcard-p): Checkdoc fix.
1130         (mh-insert-signature): Merge docstring with manual.
1132         * mh-customize.el (mh-junk): Changed manual link in defgroup from
1133         Customizing mh-e to Junk.
1134         (mh-junk-function-alist): Moved SpamAssassin to first in list on
1135         the hunch that it is the most popular and should be chosen if
1136         other anti-spam programs exist.
1137         (mh-junk-mail-folder): Since the variable can accept values other
1138         than folder names, renamed to mh-junk-disposition to more
1139         accurately reflect the content. Merge docstring with manual.
1140         (mh-junk-program): Moved SpamAssassin to the top of the menu for
1141         the same reason presented in mh-junk-function-alist. Also, fixed
1142         case of spam programs to match official usage. Merge docstring
1143         with manual.
1145         * mh-junk.el (mh-junk-blacklist):
1146         s/mh-junk-mail-folder/mh-junk-disposition/. Merge docstring with
1147         manual.
1148         (mh-junk-whitelist): Merge docstring with manual.
1149         (mh-bogofilter-blacklist): No longer suggest using automatic
1150         classification so use -s instead of -Ns.
1151         (mh-bogofilter-whitelist): No longer suggest using automatic
1152         classification so use -n instead of -Sn.
1153         (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Merge
1154         docstring with manual. Moved spamassassin functions to top of file
1155         so functions appear in same order that they are presented in menu.
1157 2003-10-09  Peter S Galbraith  <psg@debian.org>
1159         * mh-customize.el (mail-citation-hook): Moved from mh-comp.el and
1160         made into a defcustom.
1162 2003-10-09  Satyaki Das  <satyakid@stanford.edu>
1164         * mh-loaddefs.el: Regenerated.
1166         * mh-comp.el (mh-get-header-field): Add autoload cookie.
1168         * mh-utils.el (mh-show-ps-print-toggle-mime)
1169         (mh-show-ps-print-toggle-color, mh-show-ps-print-toggle-faces)
1170         (mh-show-ps-print-msg-file, mh-show-ps-print-msg)
1171         (mh-show-ps-print-msg-show): New interactive functions callable
1172         from the show buffer.
1173         (mh-show-ps-print-map): New key map for printing.
1175         * mh-e.el (mh-folder-mode-map): Remove key binding for
1176         mh-print-msg.
1177         (mh-ps-print-map): Add new key map for printing.
1179         * Makefile (MH-E-SRC): Add mh-print.el.
1181 2003-10-07  Satyaki Das  <satyakid@stanford.edu>
1183         * mh-utils.el (mh-x-image-url-fetch-image): In XEmacs,
1184         make-temp-file is not present. So to avoid security problems, use
1185         a temporary file in the user's home directory. This avoids issues
1186         in creating files in a world-writable directory.
1188         * mh-mime.el (mh-signature-highlight): In Emacs, arrange for the
1189         overlay to be freed when it is no longer needed. Also, implement
1190         signature highlighting in XEmacs.
1192 2003-10-05  Satyaki Das  <satyakid@stanford.edu>
1194         * mh-mime.el (mh-mime-display, mh-mm-inline-message): Respect the
1195         value of `mm-verify-option' and `mm-decrypt-option'.
1196         (mh-mime-display-security): Rearrange code a bit to avoid too many
1197         new lines being inserted when message verification/decryption is
1198         carried out while the message is being read. Also use the
1199         point-m{in|ax}-marker functions to make the function easier to read.
1200         (mh-mime-security-press-button): Extend the function so that the
1201         user can verify/decrypt messages while reading them.
1203         * mh-gnus.el (mm-possibly-verify-or-decrypt): Added to avoid
1204         compiler warning with old Gnus.
1206         * mh-utils.el (mh-x-image-url-sane-p): New function which checks
1207         if the URL in X-Image-URL is something we can handle.
1208         (mh-x-image-url-display): Don't display image if the URL looks
1209         malformed.
1211 2003-10-04  Mark D Baushke  <mdb@gnu.org>
1213         * mh-comp.el (mh-letter-menu): Simplify menu heading.
1215 2003-10-03  Mark D Baushke  <mdb@gnu.org>
1217         * mh-mime.el (mh-mml-query-cryptographic-method): Avoid
1218         revisionist history and still provide a good default.
1220         * mh-comp.el (mh-letter-menu): Remove the Disable Security
1221         parenthetical comment.
1223         * mh-loaddefs.el: Regenerated.
1225         * mh-customize.el (mh-mml-method-default): What method should be
1226         used in secure directives.
1228         * mh-mime.el (mh-secure-message): New function used to generate
1229         the mml security tags.
1230         (mh-mml-unsecure-message): New wrapper function around
1231         mml-unsecure-messages.
1232         (mh-mml-secure-message-sign-pgpmime): Remove function.
1233         (mh-mml-secure-message-encrypt-pgpmime): Ditto.
1234         (mh-mml-cryptographic-method-history): New variable.
1235         (mh-mml-query-cryptographic-method): New function.
1236         (mh-mml-secure-message-encrypt): Ditto.
1237         (mh-mml-secure-message-signencrypt): Ditto.
1238         (mh-mml-secure-message-sign): Ditto.
1240         * mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
1241         (mh-letter-mode-map): Update to use new functions.
1243 2003-09-26  Satyaki Das  <satyakid@stanford.edu>
1245         * mh-seq.el (mh-interactive-range): The function has been
1246         extended so that it now takes a default result to return if no
1247         interactive prefix arg is given and no region is active.
1249         * mh-e.el (mh-add-sequence-notation): If transient-mark-mode is
1250         on, then the active region is deactivated based on whether a user
1251         sequence or a internal sequence is being notated. The change
1252         removes this inconsistency.
1253         (mh-catchup, mh-folder-map): A new interactive function to mark
1254         messages as read has been added and bound to "F c" in the folder
1255         mode.
1257         * mh-utils.el (mh-show-catchup, mh-show-folder-map): New
1258         interactive function callable from show mode buffers has been
1259         bound to "F c".
1261 2003-09-24  Bill Wohler  <wohler@newt.com>
1263         * mh-customize.el (mh-clean-message-header-flag)
1264         (mh-invisible-header-fields-default, mh-invisible-header-fields):
1265         Merge docstring with manual.
1267 2003-09-24  Mark D. Baushke  <mdb@gnu.org>
1269         * mh-junk.el (mh-junk-blacklist): Junked messages should be put
1270         into the mh-seen-list to avoid propagating the unseen sequence
1271         into the spam folder.
1273         * mh-loaddefs.el: Regenerated.
1275         * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Add an optional
1276         dontsign argument to remove an existing secure message directive.
1277         Update the docstring -- this fuction does not allow for
1278         encrypt/sign, just sign directives.
1280         * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Use
1281         mml-insert-tag directly to provide a sender if
1282         mh-identity-pgg-default-user-id is set.
1283         (mh-mml-secure-message-encrypt-pgpmime): Use mml-insert-tag
1284         directly to provide a sender if this message is to be both signed
1285         and encrypted and mh-identity-pgg-default-user-id is set.
1287 2003-09-23  Bill Wohler  <wohler@newt.com>
1289         * mh-alias.el (Commentary): Removed as it is now in the manual.
1290         (mh-alias-system-aliases): Moved here from mh-customize.el. By
1291         definition, "system" definitions are not user-visible, and user
1292         filenames are in the the Aliasfile: profile component, so this
1293         variable really shouldn't be a defcustom
1294         (mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
1295         (mh-alias-add-alias, mh-alias-grab-from-field)
1296         (mh-alias-add-address-under-point, mh-alias-apropos): Merge
1297         docstring with manual.
1298         (mh-alias-reload-maybe): Minor comment update.
1299         (mh-alias-insert-file): Merge docstring with manual. Removed
1300         "[press TAB]" from prompt since users should know about completion
1301         and space can be used as well.
1302         (mh-alias-for-from-p): No longer returns a surprising result (t if
1303         there was **not** an alias for the From field) if the From header
1304         field is missing. This function now returns what you would expect
1305         a function of this name to return. Renamed from
1306         mh-alias-from-has-no-alias-p since negatives in the function name
1307         make logic harder to follow.
1308         (mh-alias-add-alias-to-file): Merge docstring with manual.
1309         Improved verbiage of prompt. Aliases are now inserted "[b]efore"
1310         or "[a]fter" the existing alias instead of "[i]nsert" or
1311         "[a]ppend." Note how the new usage flows better.
1313         * mh-customize.el (mh-alias): Changed manual link in defgroup from
1314         Customizing mh-e to Aliases.
1315         (mh-alias-grab-from-field button): mh-alias-from-has-no-alias-p
1316         renamed to mh-alias-for-from-p and no longer returns surprising
1317         value if there isn't a From field. Therefore, enable button if
1318         there is a From header field and mh-alias-for-from-p returns nil.
1319         (mh-letter-complete-function)
1320         (mh-alias-completion-ignore-case-flag, mh-alias-flash-on-comma)
1321         (mh-alias-insert-file, mh-alias-insertion-location)
1322         (mh-alias-local-users, mh-alias-local-users-prefix)
1323         (mh-alias-passwd-gecos-comma-separator-flag): Merge docstring with
1324         manual.
1325         (mh-alias-system-aliases): Moved to mh-alias.el.
1327         * mh-comp.el (mh-letter-complete-function-alist): Removed comment
1328         about making this customizable since I didn't think it seemed
1329         appropriate in the manual.
1330         (mh-letter-complete): Merge docstring with manual.
1332 2003-09-23  Satyaki Das  <satyakid@stanford.edu>
1334         * mh-speed.el (mh-speed-flists): When exiting emacs, don't ask if
1335         the flists process should be killed.
1337         * mh-e.el (mh-folder-message-menu): Enable undo menu entry only
1338         if something can be undone.
1340         * mh-customize.el (undo): Enable undo button only if something
1341         can be undone.
1343 2003-09-22  Peter S Galbraith  <psg@debian.org>
1345         * mh-customize.el (mh-identity-handlers): New defcustom.  Alist of
1346         Handler functions for mh-identity (downcased) fields.
1347         (mh-identity-list): Add support for pgg-default-user-id.
1349         * mh-identity.el (mh-insert-identity): Modified to use
1350         `mh-identity-handlers', adding hacking flexibility for those who
1351         might need it.
1352         (mh-identity-field-handler): New function. Return the handler for
1353         a FIELD or nil if none set. The field name is downcased.
1354         (mh-identity-handler-gpg-identity): New function; handler for pgg
1355         pgp identities.  It sets a buffer-local value for
1356         `mh-pgg-default-user-id' which must be handled by mh-send-letter.
1357         (mh-identity-pgg-default-user-id): New buffer-local variable to
1358         hold the requested key ID.
1359         (mh-identity-handler-signature): New function; handler t insert
1360         and remove signature files.
1361         (mh-identity-handler-default): New function; the default handler
1362         to insert or remove generic field.
1363         (mh-identity-handler-top): Insert a field at the top of the
1364         header.
1365         (mh-identity-handler-bottom): Insert a field at the bottom of the
1366         header.
1367         (mh-header-field-delete): Make more robust wrt the field having a
1368         trailing colon or not.
1369         (mh-identity-make-menu): Add a "Customize Identities" menu entry.
1371         * mh-loaddefs.el: Regenerated.
1373 2003-09-21  Peter S Galbraith  <psg@debian.org>
1375         * mh-init.el (mh-variant-set): Bug fix for mh-variant long names
1376         with version numbers.
1378         * mh-e.el (mh-scan-format): patch from Sergey Poznyakoff.
1379         GNU mailutils now supports the %(decode) format
1381 2003-09-20  Satyaki Das  <satyakid@stanford.edu>
1383         * mh-gnus.el (mh-mm-text-html-renderer): New function to query
1384         which HTML renderer is being used by Gnus.
1386         * mh-mime.el (mh-signature-highlight): Renderers used to display
1387         HTML parts garble the signature separator in various ways. The
1388         function has been modified to take that into account.
1389         (mh-mime-display-single, mh-mm-display-part): Pass the new
1390         optional argument to `mh-signature-highlight'.
1392 2003-09-19  Mark D. Baushke  <mdb@gnu.org>
1394         * mh-mime.el (mh-have-file-command, mh-file-mime-type): Made an
1395         mh-autoload as they are used in mh-comp.el.
1397         * mh-loaddefs.el: Regenerated.
1399 2003-09-18  Peter S Galbraith  <psg@debian.org>
1401         * mh-comp.el (mh-insert-fields): Make sure field has a colon.
1403 2003-09-18  Satyaki Das  <satyakid@stanford.edu>
1405         * mh-seq.el (mh-toggle-tick): Don't hardcode the name of the tick
1406         sequencence in the function. This would have caused improper
1407         highlighting of the tick sequence if the user had changed its
1408         name.
1410 2003-09-15  Satyaki Das  <satyakid@stanford.edu>
1412         * mh-e.el (mh-folder-message-menu): Fix a little bug which shows
1413         up as a problem during compilation (closes SF #806577).
1415 2003-09-15  Mark D. Baushke  <mdb@gnu.org>
1417         * mh-customize.el (mh-invisible-header-fields-internal): Added
1418         a new field for GNU mailutils per Sergey Poznyakoff.
1420 2003-09-09  Satyaki Das  <satyakid@stanford.edu>
1422         * mh-utils.el (vcard): Unconditionally load vcard.el, if
1423         available, so that vcards are always inlined.
1425 2003-09-09  Peter S Galbraith  <psg@debian.org>
1427         * mh-mime.el (mh-file-mime-type-substitutions): Add entry to
1428         convert text/plain .vcf files to text/x-vcard.
1429         (mh-mime-content-types): Add text/x-vcard.
1431 2003-09-09  Bill Wohler  <wohler@newt.com>
1433         * mh-comp.el (mh-rejected-letter-start): Added strings for qmail
1434         and exim (addresses SF #404965).
1436 2003-09-09  Satyaki Das  <satyakid@stanford.edu>
1438         * mh-gnus.el (mm-inline-text-vcard): Make vcard display work with
1439         Gnus-5.9. The extra file vcard.el is still needed.
1441         * mh-mime.el (mh-signature-highlight): New function that
1442         highlights message signatures.
1443         (mh-mm-display-part, mh-mime-display-single): Highlight signatures
1444         using `mh-signature-highlight' (closes SF #802722). More work is
1445         needed for XEmacs.
1446         (mh-mime-display): Highlight signature in non-MIME email too.
1448         * mh-customize.el (mh-show-signature-face): New face used to
1449         display message signature.
1451 2003-09-08  Peter S Galbraith  <psg@debian.org>
1453         * mh-e.el (mh-version): Do something sensible when
1454         mh-variant-in-use is undefined.
1455         * mh-junk.el (mh-spamassassin-blacklist)
1456         (mh-spamassassin-whitelist): Change options to be compatoble with
1457         old version of spamassassin (V2.20).
1459 2003-09-07  Mark D. Baushke  <mdb@gnu.org>
1461         * mh-mime.el (mh-access-types): Per RFC 2049, the "afs"
1462         access-type for message/external-body has been removed.
1463         Update the comments to reference the current MIME RFCs
1464         2045, 2046 and 2049 rather than the obsolete RFC 1521.
1466 2003-09-05  Peter S Galbraith  <psg@debian.org>
1468         * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs.
1470 2003-09-04  Satyaki Das  <satyakid@stanford.edu>
1472         * mh-utils.el (mh-picon-directory-list, mh-picon-directory): The
1473         mh-picon-directory-list variable supersedes mh-picon-directory.
1474         (mh-picon-existing-directory-list): New variable that contains
1475         the list of picon directories that actually exist.
1476         (mh-picon-set-directory-list): New function to update
1477         mh-picon-existing-directory-list from mh-picon-directory-list.
1478         (mh-picon-get-image): The function has been modified to search a
1479         list of possible picon source directories. The regexp to extract
1480         the username from the email address has been made smarter so that
1481         it can recognize email addresses of the form user+random@foo.net
1482         and extract "user" from there.
1483         (mh-picon-file-contents): The file type recognition code has been
1484         moved from mh-picon-get-image into this function.
1485         (mh-picon-generate-path): The function has been generalized so
1486         that searching multiple paths is now feasible.
1488         * mh-pick.el, mh-e.el: Checkdoc fixes.
1490 2003-09-02  Satyaki Das  <satyakid@stanford.edu>
1492         * mh-identity.el (eval-when): It seems that the mh-comp-loaded
1493         code isn't required any more.
1495 2003-08-30  Satyaki Das  <satyakid@stanford.edu>
1497         * mh-init.el (mh-variant-set): Replace `error' with `message' so
1498         that Emacs CVS will compile without errors if no MH variant is
1499         present.
1501 2003-08-29  Satyaki Das  <satyakid@stanford.edu>
1503         * mh-init.el (mh-variant-set): Add interactive spec to the
1504         function.
1506         * mh-mime.el (mh-mhn-compose-external-type): Optional arguments
1507         are prompted for only if prefix arg is given.
1509 2003-08-29  Mark D. Baushke  <mdb@gnu.org>
1511         * mh-mime.el (mh-mhn-compose-external-type): Modified to be
1512         interactive and prompts for many of the fields. Made an
1513         mh-autoload.
1514         (mh-access-types): New table derived from RFC2017, RFC1521 and
1515         RFC1738, used in a completing-read in
1516         mh-mhn-compose-external-type.
1518         * mh-loaddefs.el: Regenerated.
1520 2003-08-26  Satyaki Das  <satyakid@stanford.edu>
1522         * mh-utils.el (mh-picon-image-types, mh-picon-get-image): Avoid
1523         compiler warnings.
1524         (mh-sub-folders-actual): Parsing of the output from folders has
1525         been modified, so that it also works for MH (closes SF #792300).
1527         * mh-junk.el (mh-spamassassin-whitelist): Avoid calling
1528         ietf-drums-parse-address if it isn't present.
1529         (mh-spamassassin-identify-spammers): Avoid use of puthash so that
1530         Emacs20 doesn't complain.
1532         * mh-e.el (mh-colors-available-p): Wrap call to
1533         display-color-cells in a mh-funcall-if-exists to avoid compiler
1534         warning in Emacs20.
1536 2003-08-25  Satyaki Das  <satyakid@stanford.edu>
1538         * mh-e.el (mh-colors-available-flag, mh-folder-mode): New
1539         variable to track if colors are available and it is set
1540         appropriately in mh-folder-mode.
1541         (mh-colors-available-p, mh-colors-in-use-p): Two functions to
1542         check whether colors are available and if they are actually being
1543         used.
1544         (mh-add-sequence-notation): Just changing a scan line doesn't
1545         make font-lock refontify the line in Emacs20. So explicitly
1546         refontify the scan line in such a situation.
1547         (mh-internal-seq): If colors aren't being used then treat the
1548         tick sequence like a normal user sequence.
1550         * mh-seq.el (mh-put-msg-in-seq): Do font-lock highlighting after
1551         the messages have been added to the sequence.
1552         (mh-toggle-tick): Modified so that highlighting of the ticked
1553         messages will be properly done. If font-lock isn't being used or
1554         if colors aren't supported by the Emacs where MH-E is running,
1555         then the `%' character is used to annotate ticked messages.
1557         * mh-utils.el (mh-picon-image-types): Since Emacs20 doesn't have
1558         image-type-available-p, wrap calls to that function in
1559         ignore-errors.
1560         (mh-add-msgs-to-seq): Do the font-lock highlighting after the
1561         messages have been added.
1563 2003-08-24  Bill Wohler  <wohler@newt.com>
1565         * Makefile (MH-E-SRC): Replaced mh-xemacs-compat.el and
1566         mh-xemacs-icons.el with mh-xemacs.el.
1568         * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
1569         The XEmacs stuff gets required by mh-customize.el which is
1570         required by mh-utils.el which is required by mh-e.el. This all
1571         happens before mh-xemacs-compat was required, so all should be
1572         well.
1574         * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
1575         mh-xemacs-icons.el with mh-xemacs.el.
1577         * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
1578         and mh-xemacs-icons.el which were removed since their names
1579         exceeded DOS 8+3 limits.
1581         * mh-customize.el (mh-compose-skipped-header-fields): Use
1582         uppercase for field names.
1584 2003-08-21  Bill Wohler  <wohler@newt.com>
1586         * mh-customize.el (mh-sequences): Introduced new customization
1587         group for sequences.
1588         (mh-refile-preserves-sequences-flag, mh-tick-seq)
1589         (mh-update-sequences-after-mh-show-flag): Moved option from
1590         mh-folder to mh-sequences group. Synced docstring with manual.
1591         (mh-index-ticked-messages-folders): Since mh-tick-seq is
1592         customizable, use it instead of tick in the docstring.
1594         * mh-index.el (mh-index-ticked-messages): Since mh-tick-seq is
1595         customizable, use it instead of tick in the docstring.
1597         * mh-seq.el (mh-msg-is-in-seq): Can now specify an alternate
1598         message number with a prefix argument.
1599         (mh-narrow-to-tick): Since mh-tick-seq is customizable, use it
1600         instead of tick in the docstring. Also, use mh-tick-seq instead of
1601         tick in warning message.
1603 2003-08-20  Peter S Galbraith  <psg@debian.org>
1605         * mh-customize.el: setq mh-variant to 'none when byte-compiling,
1606         since we don't care what MH variant (if any) is on the system at
1607         that point.
1609         * mh-init.el (mh-variant-set): Don't probe for MH variant when
1610         mh-variant is set to'none (during byte-compilation).
1612 2003-08-19  Peter S Galbraith  <psg@debian.org>
1614         * mh-pick.el (mh-pick-single-dash): New defconst.  Search
1615         components that are supported by single-dash option in
1616         pick.
1617         (mh-pick-regexp-builder): Use `mh-pick-single-dash' and adapt
1618         patch from Sergey Poznyakoff.
1620         * mh-comp.el (mh-reply): mu-mh supports `repl -group', thanks to
1621         Sergey Poznyakof.
1623         * mh-init.el: checkdoc fixes.
1625 2003-08-19  Bill Wohler  <wohler@newt.com>
1627         * mh-seq.el: (mh-edit-pick-expr): Renamed from mh-read-pick-regexp
1628         since the new name is more indicative of what the function does.
1629         Prompt now says "Pick expression" instead of "Pick regexp".
1630         (mh-narrow-to-subject): Rewrote function to behave like other
1631         similar functions.
1632         (mh-narrow-to-header-field, mh-narrow-to-range)
1633         (mh-narrow-to-tick): s/regexp/pick-expr/.
1634         (mh-widen, mh-narrow-to-from, mh-narrow-to-cc, mh-narrow-to-to):
1635         Synced docstrings with manual
1637 2003-08-19  Bill Wohler  <wohler@newt.com>
1639         Released MH-E version 7.4.2.
1641         * MH-E-NEWS, README: Updated for release 7.4.2.
1643         * mh-e.el (Version, mh-version): Updated for release 7.4.2.
1645         * mh-e.el (mh-folder-size, mh-folder-size-folder)
1646         (mh-folder-size-flist): If flist is not present use folder to find
1647         the number of messages in the folder. Also the .mh_sequences file
1648         is read to find the number of unseen messages (patch from 1.349
1649         and branched for 7.4.2, closes SF #791021).
1651         * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce a
1652         new variable to test for the presence of the flists program and
1653         set it in mh-find-progs.
1654         (mh-collect-folder-names): Use folders instead of flists. One
1655         advantage is that folders is available on MH while flists is not.
1656         Another is that if an explicit -sequence argument isn't given and
1657         Unseen-Sequence profile is not present then flists croaks while
1658         folders doesn't.
1659         (mh-collect-folder-names-filter): Don't consider folder names that
1660         start with a `.' character. This is needed since the folders
1661         command doesn't filter them out like flists does.
1662         (patches from 1.307 and 1.309 and branched for 7.4.2, closes SF
1663         #791021).
1665 2003-08-18  Bill Wohler  <wohler@newt.com>
1667         * mh-index.el (mh-index-sequenced-messages)
1668         (mh-index-new-messages, mh-index-ticked-messages): Updated
1669         docstrings from manual (closes SF #718833).
1671         * mh-customize.el (mh-variant): Checkdoc fix.
1672         (mh-index-new-messages-folders): Don't mention defvar in
1673         docstring, use `+inbox' instead.
1674         (mh-index-ticked-messages-folders): Don't mention defvar in
1675         docstring, use `tick' instead.
1677         * mh-comp.el (mh-repl-group-formfile): Checkdoc fix.
1679 2003-08-18  Peter S Galbraith  <psg@debian.org>
1681         * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-info): Add
1682         support for GNU mailutils.
1683         (mh-variant-mu-mh-info): New function to detect mu-mh and return
1684         info about it for `mh-variants'.
1686         * mh-e.el (mh-regenerate-headers): mu-mh has different error
1687         message for a invalid mesage list.
1689 2003-08-18  Peter S Galbraith  <psg@debian.org>
1691         * mh-customize.el (mh-e): New defgroup.  Sort of an alias for the
1692         'mh group that a user might be more likely to find.
1694 2003-08-18  Bill Wohler  <wohler@newt.com>
1696         * mh-comp.el (mh-insert-auto-fields-done-local): Docstring tweak.
1697         (mh-compose-and-send-mail): Do not call mh-insert-auto-fields.
1698         This should be done only once in mh-send-letter.
1700 2003-08-18  Peter S Galbraith  <psg@debian.org>
1702         * mh-comp.el (mh-letter-mode): Call `mh-find-path unconditionally,
1703         like elsewehere in MH-E.
1705         * mh-utils.el (mh-find-path): Run setup code only if
1706         `mh-find-path-run' is nil such that this is only done once.
1707         Also remove the `setq' for `read-mail-command' and `mail-user-agent'.
1709 2003-08-18  Peter S Galbraith  <psg@debian.org>
1711         * mh-e.el: require 'mh-utils first
1713         * mh-customize.el (mh-variant): defcustom moved here.
1715         * mh-init.el (mh-variants): Made an mh-autoload.
1717 2003-08-18  Peter S Galbraith  <psg@debian.org>
1719         * Makefile (MH-E-SRC): Added mh-init.el to MH-E-SRC.
1721         * mh-utils.el (mh-find-progs): Deleted.  Make obsolete by mh-init.el.
1722         (mh-find-path): Call `mh-variants' instead of now obsolete
1723         `mh-find-progs'.
1724         (mh-path-search): Deleted.  Was only used by `mh-find-progs'.
1726         * mh-e.el: require mh-init.el.
1727         (mh-version): Use simpler `mh-variant-in-use'.
1728         (mh-scan-format): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1730         * mh-comp.el (mh-insert-x-mailer): Use simpler `mh-variant-in-use'.
1732         * mh-utils.el (mh-progs, mh-lib, mh-lib-progs)
1733         (mh-flists-present-flag): Moved to mh-init.el.
1734         (mh-nmh-flag): Deleted.  Use (mh-variant-p 'nmh) instead.
1736         * mh-comp.el (mh-repl-group-formfile, mh-forward, mh-reply)
1737         (mh-send-letter): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1739         * mh-mime.el (mh-edit-mhn, mh-mime-save-parts): Use (mh-variant-p
1740         'nmh) instead of mh-nmh-flag.
1742 2003-08-16  Bill Wohler  <wohler@newt.com>
1744         * mh-customize.el (mh-folder-selection): New group to hold
1745         variables described in Folder Selection section in manual.
1746         (mh-default-folder-list, mh-default-folder-must-exist-flag,
1747         mh-default-folder-prefix): Moved to mh-folder-selection group.
1748         Updated docstrings per manual update.
1749         (mh-default-folder-for-message-function): New defcustom. Was a
1750         defvar in mh-utils.el. Updated docstring per manual update.
1752         * mh-utils.el (mh-default-folder-for-message-function): Moved to
1753         mh-customize.el.
1755         * mh-e.el (mh-folder-from-address, mh-prompt-for-refile-folder):
1756         Updated docstrings per manual update.
1758         * mh-unit.el (mh-unit-files): Added mh-init.el.
1760 2003-08-16  Peter S Galbraith  <psg@debian.org>
1762         * mh-init.el: New file.  Code to initialize the MH-E back-end.
1763         Highlights:
1764         (mh-variant): New defcustom. Users may customize `mh-variant' to
1765         switch between available variants.
1766         (mh-variants): Available MH variants are described in this variable.
1767         (mh-variant-in-use, mh-variant-p): Developers may check which
1768         variant is currently in use with the variable `mh-variant-in-use'
1769         or the function `mh-variant-p'.
1771 2003-08-15  Bill Wohler  <wohler@newt.com>
1773         * mh-customize.el (mh-auto-fields-list): The manual uses Fcc
1774         instead of fcc, so I've changed the user-visible text
1775         accordingly. I've left the const alone for backwards
1776         compatibility.
1778 2003-08-14  Bill Wohler  <wohler@newt.com>
1780         * mh-identity.el (mh-insert-identity): Changed signature deletion
1781         test to test for both markers, rather than testing to see if the
1782         start marker is bound. Since the start marker is defined in this
1783         file, it should always be bound. Suggestion by Satyaki.
1785         * mh-comp.el (mh-send-letter): Go to the top of the draft so that
1786         the user can see which header fields have been inserted. I think
1787         this is more important than leaving point alone or going to the
1788         end to see the signature since Mail-Followup-To or Bcc or cc could
1789         have some deleterious effects.
1791         * mh-customize.el (mh-auto-fields-prompt-flag): New variable.
1792         Non-nil means to prompt before sending if fields inserted.
1794         * mh-comp.el (mh-insert-auto-fields): Now return t if fields
1795         inserted; otherwise nil.
1796         (mh-send-letter): Deleted obsolete documentation about adding
1797         X-Mailer and X-Face. Prompt before sending if auto fields added
1798         and mh-auto-fields-prompt-flag is t.
1800         * mh-customize.el (mh-identity-list): Allow signature to come from
1801         mh-signature-file-name. In this case, the "signature" value is set
1802         to nil. This might not be the best implementation. Suggestions
1803         welcome.
1805         * mh-identity.el (mh-insert-identity): Now that the signature can
1806         be a nil value, moved test higher up in cond so that the test for
1807         a nil value would not be executed first prevening signature
1808         handling. Handle nil signature value by calling
1809         mh-insert-signature with no arguments which means to use
1810         mh-signature-file-name.
1812         * mh-comp.el (mh-insert-signature): Changed text of message if no
1813         signature inserted.
1815         * mh-customize.el (mh-identity-list): Changed "Signature" constant
1816         back to "signature" so it *won't* be backwards-incompatible any
1817         more. I discovered one could use the :tag keyword to get headline
1818         captalization in the menu.
1820         * mh-identity.el (mh-insert-identity): Ditto.
1822         * mh-identity.el (mh-identity-make-menu): Always build menu.
1823         Always create Insert Auto Fields menu item. Just don't enable it
1824         if mh-auto-fields-list is nil. Enable radio buttons always. Make
1825         None a radio button choice with the other identities.
1827         * mh-comp.el (mh-letter-menu): Removed cond on fboundp
1828         'easy-menu-define. We don't do this elsewhere.
1830 2003-08-13  Bill Wohler  <wohler@newt.com>
1832         * mh-identity.el (mh-identity-make-menu, mh-insert-identity): Use
1833         headline capitalization in menu items. Even the internal names are
1834         exposed in the customize interface, so they need to be uppercase
1835         too.
1836         (mh-insert-identity): Rather than goto-char to
1837         mh-identity-signature-start before deleting, simply pass it to
1838         delete-region. When setting markers, use point-min-marker and
1839         point-max-marker instead of moving point. Set marker type of
1840         mh-identity-signature-start to t to fix a bug where changing
1841         identity deleted user's text.
1843         * mh-customize.el (mh-identity-list, mh-auto-fields-list):
1844         Reworked docstring. Use headline capitalization. Commented out
1845         implementation details for later deletion or resurrection upon
1846         popular demand. N.B. If your mh-identity-list contains "signature"
1847         then you will need to either edit your .emacs file manually, or
1848         delete your existing "signature" which will become a regular field
1849         with this change and create a new signature. I figured I could get
1850         away with this since 8.0 is a major release, and coinciding with
1851         the manual update will be a MAJOR release. I apologize profusely
1852         that I didn't catch this before it was released.
1853         (mh-identity-default): Use headline capitalization in example.
1855 2003-08-12  Jeffrey C Honig  <jch@honig.net>
1857         * mh-customize.el (mh-alias-reloaded-hook): Define
1858         `mh-alias-reloaded-hook'.
1860         * mh-alias.el (mh-alias-reload): Run `mh-alias-reloaded-hook'
1861         after reloading the aliases.
1863 2003-08-12  Mark D. Baushke  <mdb@gnu.org>
1865         * mh-comp.el (mh-insert-signature): Use functionp to avoid
1866         the possibility of doing a funcall on a void function.
1868 2003-08-12  Bill Wohler  <wohler@newt.com>
1870         * mh-customize.el (mh-identity): Point group manual link to new
1871         Identities section.
1872         (mh-signature-separator-flag): New variable which can be used to
1873         suppress the output of the signature separator.
1875         * mh-comp.el (mh-insert-signature): Use
1876         mh-signature-separator-flag.
1878         * mh-identity.el (mh-insert-identity): If the identity's signature
1879         file didn't exist, an fboundp error was thrown. This was fixed by
1880         removing signature tests that were redundant and out of date with
1881         the tests in mh-insert-signature. Removed second signature
1882         condition as it is now handled in the first signature condition.
1884 2003-08-12  Peter S Galbraith  <psg@debian.org>
1886         * mh-identity.el (mh-insert-identity): Don't insert new lines on
1887         signatures anymore.
1889         * mh-comp.el (mh-insert-signature): Make sure signature file is
1890         readable before trying to insert it.
1892 2003-08-11  Bill Wohler  <wohler@newt.com>
1894         * mh-comp.el (mh-insert-signature): Unconditionally insert a
1895         newline so that signatures are inserted consistently, and so that
1896         there isn't any text after the cursor so that the user can start
1897         typing his message immediately. Use new variable and function
1898         mh-signature-separator and mh-signature-separator-p.
1900         * mh-customize.el (mh-delete-yanked-msg-window-flag): Checkdoc
1901         fix.
1902         (mh-signature-file-name): Updated docstring now that this variable
1903         can be a function. Added cross-references to
1904         mh-signature-separator, mh-signature-separator-regexp, and
1905         mh-signature-separator-p which might be used in such functions.
1907         * mh-identity.el (mh-insert-identity): Don't include signature if
1908         signature separator already present. Useful when running
1909         mh-edit-again.
1911         * mh-mime.el (mh-inline-vcard-p): Use mh-signature-separator-p.
1913         * mh-utils.el (mh-signature-separator-regexp): New variable
1914         containing "^-- $" which should be used when looking for the
1915         signature separator.
1916         (mh-signature-separator): New variable containing "-- \n" which
1917         should be used when inserting the signature separator.
1918         (mh-signature-separator-p): New function that returns non-nil if
1919         mh-signature-separator-regexp is found in the buffer.
1921 2003-08-09  Satyaki Das  <satyakid@stanford.edu>
1923         * mh-utils.el (mh-x-image-scaling-function): Variable that
1924         contains function used to scale images. Possible choices are
1925         mh-x-image-scale-with-convert and mh-x-image-scale-with-pnm.
1926         (mh-convert-executable): Removed.
1927         (mh-x-image-scale-with-pnm, mh-x-image-scale-with-convert): New
1928         functions that scale images using pnm tools or ImageMagick.
1929         (mh-x-image-scale-and-display, mh-x-image-url-display): Use
1930         mh-x-image-scaling-function instead of mh-convert-executable.
1932 2003-08-08  Peter S Galbraith  <psg@debian.org>
1934         * mh-comp.el (mh-insert-signature): Bug fix.  Handle case of nil
1935         `mh-signature-file-name' and hooks correctly.
1937         * mh-identity.el (mh-insert-identity): Refactor to use
1938         mh-insert-signature
1940         * mh-comp.el (mh-signature-separator-p): Removed.
1942         * mh-comp.el (mh-insert-signature): Merge MIME awareness from
1943         mh-insert-identity into this command. Allow
1944         `mh-signature-file-name' to be a function to call.  See if "-- "
1945         needs to be inserted only after hooks have run.
1947 2003-08-07  Bill Wohler  <wohler@newt.com>
1949         * mh-customize.el (mh-compose-skipped-header-fields): Added
1950         X-Image-URL.
1951         (mh-autoload): Removed cookies. They aren't necessary in
1952         mh-e.el, mh-utils.el, or mh-customize.el.
1954         * mh-e.el (mh-autoload): Removed cookies. They aren't necessary in
1955         mh-e.el, mh-utils.el, or mh-customize.el.
1957         * mh-identity.el (mh-insert-identity): Made regexp for signature
1958         separator more explicit. Hmmm, maybe we should create
1959         mh-signature-separator-regexp...
1961         * mh-index.el (mh-replace-string): Moved to mh-utils.el.
1963         * mh-utils.el (mh-replace-string): Moved here from mh-index.el.
1964         (mh-autoload): Removed cookies. They aren't necessary in mh-e.el,
1965         mh-utils.el, or mh-customize.el.
1967         * mh-comp.el (mh-insert-signature): Added file argument to insert
1968         a file other than mh-signature-file-name. Insert signature
1969         separator, unless file already contains one.
1971 2003-08-06  Satyaki Das  <satyakid@stanford.edu>
1973         * mh-e.el (mh-folder-size, mh-folder-size-folder)
1974         (mh-folder-size-flist): If flist is not present use folder to
1975         find the number of messages in the folder. Also the .mh_sequences
1976         file is read to find the number of unseen messages.
1978         * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce
1979         a new variable to test for the presence of the flists program and
1980         set it in mh-find-progs.
1982 2003-08-06  Peter S Galbraith  <psg@debian.org>
1984         * mh-customize.el: Change the order of `mh-identity-list' and
1985         `mh-auto-fields-list' and remove byte-compilation defvar for
1986         `mh-identity-list'.  This fixes a customization bug for
1987         `mh-identity-list', where it wasn't set correctly.
1989         * mh-identity.el (mh-identity-make-menu): mh-auto-fields-list may
1990         not be bound yet when initially loaded.
1992 2003-08-06  Bill Wohler  <wohler@newt.com>
1994         * mh-alias.el (mh-alias-add-address-under-point): Removed trailing
1995         period from messages. The conventions say that errors should not
1996         end with a period and that "Foo...done" messages should not end in
1997         a period, but they aren't explicit about messages in general.
1998         Given what the conventions *do* say, and because most of our
1999         messages don't end with a period, let's just say that messages in
2000         general don't end in a period, just like error messages.
2002         * mh-comp.el (mh-extract-rejected-mail, mh-letter-mode-message):
2003         Ditto.
2005         * mh-e.el (mh-refile-a-msg):  Ditto.
2007         * mh-funcs.el (mh-undo-folder): Ditto.
2009         * mh-mime.el (mh-mime-save-parts): Ditto.
2011         * mh-seq.el (mh-subject-to-sequence-unthreaded)
2012         (mh-narrow-to-subject, mh-delete-subject): Ditto.
2014         * mh-index.el (mh-index-sequenced-messages)
2015         (mh-index-new-messages, mh-index-ticked-messages): Discovered that
2016         in general we should only use question marks in yes-or-no-p or
2017         y-or-n-p prompts, but not in other prompts that use
2018         completing-read and offer defaults. In these cases, use colons
2019         instead (closes SF #730470).
2021         * mh-mime.el (mh-mime-save-parts): Ditto.
2023         * mh-utils.el (mh-prompt-for-folder): Ditto.
2025         * mh-alias.el (mh-alias-apropos): Multiple messages are usually
2026         shown one at a time rather than appended. Send output to
2027         mh-aliases-buffer instead of *Help*.
2028         (mh-alias-local-users): Checkdoc fix.
2030         * mh-funcs.el (mh-undo-folder): Removed commented-out code since
2031         its deadline had expired.
2033         * mh-utils.el (mh-aliases-buffer): New buffer name, used in
2034         mh-aliases.el.
2036 2003-08-06  Satyaki Das  <satyakid@stanford.edu>
2038         * mh-utils.el (mh-x-image-url-cache-canonicalize): Make this
2039         function work for XEmacs too.
2040         (mh-collect-folder-names): Use folders instead of flists. One
2041         advantage is that folders is available on MH while flists is not.
2042         Another is that if an explicit -sequence argument isn't given and
2043         Unseen-Sequence profile is not present then flists croaks while
2044         folders doesn't.
2045         (mh-collect-folder-names-filter): Don't consider folder names that
2046         start with a `.' character. This is needed since the folders
2047         command doesn't filter them out like flists does.
2049         * mh-index.el (mh-replace-string): Add autoload for it.
2051 2003-08-05  Satyaki Das  <satyakid@stanford.edu>
2053         * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw)
2054         (mh-mml-forward-message): The variable mh-sent-from-msg can be a
2055         list. So check that the value is really a number before using it
2056         like one.
2058         * mh-comp.el (mh-insert-letter): Same as above.
2060         * mh-utils.el (mh-picon-get-image): Make the code that finds the
2061         address of the sender more robust.
2062         (mh-face-display-function): Make it work with XEmacs.
2063         (mh-picon-image-types): A new variable that stores what image
2064         types can be used.
2066 2003-08-05  Satyaki Das  <satyakid@stanford.edu>
2068         * mh-customize.el (mh-tool-bar-define): Make the save button such
2069         that is activated only if the buffer needs to saved.
2071         * mh-utils.el (mh-face-display-function, mh-picon-get-image): Some
2072         domains, for instance cs.cmu.edu, don't have xpm files. So we need
2073         to search for all three files. The change does that.
2074         (mh-picon-file-contents): A utility function to return the
2075         contents of a file as a string.
2076         (mh-picon-get-image): Write it as a loop to make it simpler.
2077         (mh-x-image-set-download-state): Make the link simpler.
2079 2003-08-04  Satyaki Das  <satyakid@stanford.edu>
2081         * mh-utils.el (mh-x-image-url-display): Don't bother to try to
2082         download image if we don't have the necessary tools to display
2083         it.
2084         (mh-face-display-function): Add preliminary support for "domain"
2085         picons.
2086         (mh-picon-get-image, mh-picon-generate-path): Functions to find
2087         best match for domain in the From header field.
2089         * mh-e.el (mh-previous-unread-msg): If some of the messages in the
2090         unseen sequence are not present in the folder buffer then calling
2091         this function gets stuck and can't skip over them. The change
2092         fixes this.
2093         (mh-next-unread-msg): Same as above.
2095 2003-08-04  Bill Wohler  <wohler@newt.com>
2097         * mh-utils.el (mh-show-mode): Added cross reference to
2098         mh-folder-mode in docstring (closes SF #728638). Added
2099         \\{mh-show-mode-map} to show keymap.
2101         * mh-e.el (mh-folder-mode): Added information about ranges to
2102         docstring (closes SF #728638).
2104         * mh-speed.el (mh-speed-refresh): New function that calls
2105         mh-speed-flists and mh-invalidate-map.
2106         (mh-folder-speedbar-key-map): Replaced keybindings for
2107         mh-speed-invalidate-map and mh-speed-flists with a single binding
2108         for mh-speed-refresh.
2109         (mh-folder-speedbar-menu-items): Replaced menu items for Run
2110         Flists and Invalidate Cached Folders with the single menu item
2111         Refresh Speedbar in order to simplify the UI.
2113         * mh-customize.el (mh-fetch-x-image-url): Added DOS as another
2114         reason not to set this to t.
2116 2003-08-04  Satyaki Das  <satyakid@stanford.edu>
2118         * mh-e.el (mh-scan-folder): Handle ranges from user input properly.
2120 2003-08-03  Satyaki Das  <satyakid@stanford.edu>
2122         * mh-utils.el (mh-find-msg-get-num): Removed. If threading isn't
2123         present, the messages are sorted by index. So `mh-goto-msg' was
2124         implemented as a binary search and this function was used in that
2125         implementation. So this isn't needed any more.
2126         (mh-msg-search-pat): Removed. Before the advent of message
2127         threading, this function was used to generate a regexp used to
2128         search for a particular message. It isn't used anymore. The
2129         variable `mh-scan-msg-number-regexp' should be updated and used in
2130         `mh-goto-msg' instead of hardcoding the regexp in the code. Then
2131         we might be able to better support other scan line formats in the
2132         future.
2134         * mh-seq.el (mh-map-to-seq-msgs, mh-notate-seq): Removed. These
2135         functions were used to notate user sequences. But calling
2136         `mh-goto-msg' inside of a loop is inefficient. So the sequence
2137         notation code was rewritten thereby making these functions
2138         redundant.
2139         (mh-copy-line-to-point): Removed. This function was used in the
2140         implementation the now removed function `mh-copy-seq-to-point'.
2141         That function was problematic and was replaced by the less general
2142         `mh-copy-seq-to-eob'. This makes `mh-copy-line-to-point'
2143         redundant.
2144         (mh-region-to-msg-list): Removed since this is a special case of
2145         the more general `mh-range-to-msg-list'.
2147         * mh-loaddefs.el: Regenerated.
2149 2003-08-03  Jeffrey C Honig  <jch@honig.net>
2151         * mh-customize.el (mh-invisible-header-fields-default): Added
2152         several new fields to hide.  Sorted the list with sort-lines.
2154 2003-08-03  Peter S Galbraith  <psg@debian.org>
2156         * mh-customize.el (mh-invisible-headers): Variable renamed to
2157         `mh-invisible-header-fields-compiled'.
2158         (mh-invisible-headers): Implement above change.
2160         * mh-utils.el (mh-display-msg): Idem.
2162         * mh-mime.el (mh-mm-inline-message): Idem.
2164         * mh-comp.el (mh-insert-letter): Idem.
2166 2003-08-03  Bill Wohler  <wohler@newt.com>
2168         * mh-speed.el (mh-folder-speedbar-menu-items): Added separator
2169         between standard and MH-E menu items. Use headline capitalization
2170         in menu items.
2172         * mh-utils.el (mh-temp-fetch-buffer): New constant to hold
2173         buffer name for wget output.
2174         (mh-x-image-url-fetch-image): Use mh-temp-fetch-buffer instead
2175         of hard-coded buffer name. Use make-temp-file to avoid race
2176         conditions and subsequent security issues raised in make-temp-name
2177         docstring.
2179 2003-08-03  Satyaki Das  <satyakid@stanford.edu>
2181         * mh-utils.el (mh-wget-executable, mh-wget-choice, mh-wget-option)
2182         (mh-x-image-url-fetch-image): Support the use of `curl' and
2183         `fetch' as alternatives to `wget'.
2184         (mh-wget-choice): Change order of search.
2185         (mh-x-image-url-fetch-image): Rename buffer.
2187 2003-08-03  Satyaki Das  <satyakid@stanford.edu>
2189         * mh-utils.el (mh-x-image-set-download-state)
2190         (mh-x-image-get-download-state): Specially named symbolic links
2191         are used to keep track of whether a X-Image-URL header field needs
2192         to downloaded the next time it is seen. These functions get and
2193         set the symlinks appropriately.
2194         (mh-x-image-url-fetch-image): Simplified since the query has been
2195         moved to `mh-x-image-url-display'. Also if wget isn't present then
2196         try again next time since the user might install wget before
2197         trying once more.
2198         (mh-x-image-scale-and-display): Handle absence of the `convert'
2199         program better. If it isn't present then we will try to display
2200         the image the next time it is encountered. Also use the -geometry
2201         option to convert since the -resize option isn't present in older
2202         versions.
2203         (mh-x-image-url-display): Move all the code that decides whether
2204         an X-Image-URL header field will be fetched in this function. Also
2205         remember the user's decision so that if the image couldn't be
2206         fetched the first time, we will try to fetch it later on without
2207         asking again.
2209 2003-08-02  Peter S Galbraith  <psg@debian.org>
2211         * mh-alias.el (mh-alias-local-users): Exclude all aliases already
2212         in mh-alias-alist from `ali' (closes SF #772595).
2214 2003-08-01  Satyaki Das  <satyakid@stanford.edu>
2216         * mh-utils.el (mh-x-image-display, mh-x-image-url-display): Avoid
2217         a race. The X-Image-URL is displayed asynchronously. Suppose a
2218         message with a image is shown with `mh-show'. If a different
2219         message is displayed before the image can be fetched, then the new
2220         message will have the image displayed. With this change the race
2221         is less likely to happen.
2223 2003-08-01  Peter S Galbraith  <psg@debian.org>
2225         * mh-inc.el (mh-inc-spool-map): Fix what `mh-inc-spool-map-help'
2226         must look like as a fake `mh-help-messages' in order to work
2227         correctly in mh-help.
2229 2003-07-31  Bill Wohler  <wohler@newt.com>
2231         * mh-inc.el (mh-inc-spool-map): Use mh-help instead of
2232         mh-ephem-message in order to display help in its own buffer
2233         instead of minibuffer.
2235         * mh-utils.el (mh-help-buffer): New variable to hold the name of
2236         the MH-E help buffer name.
2238         * mh-funcs.el (mh-help, mh-prefix-help): Use with-electric-help to
2239         display help messages. I observed a friend with a vision
2240         disability and the 5 seconds the help appeared on the screen was
2241         not long enough for him to lock on it. I've therefore changed the
2242         help function to display the help in its own buffer called *MH-E
2243         Help* (closes SF #493740 and SF #656631).
2245         * mh-customize.el (mh-fetch-x-image-url): Changed default from nil
2246         to 'ask. Updated docstring from manual.
2247         (mh-invisible-header-fields-internal): Added X-Image-URL.
2248         (mh-show-use-xface-flag): Updated docstring from manual.
2249         (mh-x-face-file): Ditto.
2251         * mh-mime.el (mh-mhn-compose-external-type): Don't insert the
2252         directory parameter if it's nil. The mhbuild man page indicates
2253         that this parameter is optional, so this should be fine.
2255         * mh-comp.el (mh-letter-mode-map): Added keybindings for
2256         mh-mhn-compose-anon-ftp and
2257         mh-mhn-compose-external-compressed-tar.
2258         (mh-letter-menu): Uncommented menu items for same.
2260 2003-07-30  Satyaki Das  <satyakid@stanford.edu>
2262         * mh-loaddefs.el: Regenerated.
2264         * mh-pick.el (mh-do-pick-search): Removed since the function
2265         `mh-pick-do-search' performs the same action as this function.
2267         * mh-index.el (mh-index-update-unseen): Removed since the
2268         generalized sequence synchronization code that keeps sequences in
2269         index folders in sync with the sequences in the source folders
2270         makes this function redundant.
2272         * mh-e.el (mh-folder-unseen-seq-name, mh-folder-unseen-seq-list):
2273         Removed. These two functions were used in the unseen sequence
2274         highlighting before the sequence highlighting code was
2275         generalized. In any event calls to the function
2276         `mh-folder-unseen-seq-name' can be replaced by the variable
2277         `mh-unseen-seq' and calls to `mh-folder-unseen-seq-list' can be
2278         replaced with (cdr (assoc mh-unseen-seq mh-seq-list)).
2279         (mh-unmark-all-headers): Removed since this function has been
2280         superseded by mh-remove-all-notation.
2281         (mh-map-over-seqs): Removed since we now have the generalized
2282         iteration over message ranges (the `mh-iterate-on-range' macro)
2283         that can be used instead.
2284         (mh-notate-if-in-one-seq): Removed. This function was used for
2285         changing the `%' notation for user sequences. It can't be used for
2286         that purpose any more, since we have a different scheme now.
2288         * mh-unit.el (mh-unit-tests): Removed since it isn't needed any
2289         more.
2290         (mh-unit): Run all function that start with the string
2291         "mh-unit-test-".
2293 2003-07-30  Bill Wohler  <wohler@newt.com>
2295         * mh-customize.el (mh-invisible-header-fields): Checkdoc fix.
2297         * mh-utils.el (mh-x-image-url-cache-canonicalize): Shortened using
2298         example in files.el:make-backup-file-name-1.
2299         (mh-face-display-function): Added X-Image-URL to docstring.
2301         * mh-unit.el (mh-unit-x-image-url-cache-canonicalize): New
2302         function to test mh-x-image-url-cache-canonicalize since it lent
2303         itself well to unit testing. Had to start somewhere!
2304         (mh-unit-equal): New function that throws an error if RESULT
2305         doesn't equal EXPECTED.
2306         (mh-unit): Call mh-unit-x-image-url-cache-canonicalize.
2308 2003-07-29  Satyaki Das  <satyakid@stanford.edu>
2310         * mh-unit.el (mh-unit-update-call-graph): Make the function work
2311         better with dotted lists, that is lists of the form (a b c . d)
2312         where `d' isn't nil. With this we are able to avoid marking some
2313         functions as unused even though they are actually used in alists.
2315 2003-07-28  Peter S Galbraith  <psg@debian.org>
2317         * mh-comp.el (mh-insert-letter):  Remove `mh-visible-headers'
2318         operation.
2320         * mh-mime.el (mh-mm-inline-message): Same.
2322         * mh-utils.el (mh-display-msg): Same.
2323         (mh-clean-msg-header): Make a note of above change.
2325         * mh-customize.el (mh-invisible-header-fields-internal): Renamed
2326         from prior `mh-invisible-header-fields-default'.
2327         (mh-invisible-header-fields-default): Renamed from prior
2328         `mh-invisible-header-fields-default-override'.
2329         (mh-invisible-header-fields): Renamed from prior
2330         `mh-invisible-header-fields-user'.
2331         (mh-visible-headers): Removed!  We use invisible fields only now.
2332         (mh-visible-header-fields): Removed!
2334 2003-07-28  Peter S Galbraith  <psg@debian.org>
2336         * mh-customize.el (mh-invisible-header-fields-default): Added 3
2337         new fields to hide.
2339 2003-07-28  Satyaki Das  <satyakid@stanford.edu>
2341         * mh-utils.el (mh-show): Add an extra argument to the function so
2342         that interactive use will always force redisplay of the message.
2344         * mh-mime.el (mh-mime-display, mh-mm-inline-message): Bind the
2345         variables `mm-verify-option' and `mm-decrypt-option' so that
2346         verification and decryption of mail can happen without any
2347         additional tinkering.
2349 2003-07-25  Peter S Galbraith  <psg@debian.org>
2351         * mh-customize.el (mh-invisible-header-fields-default): New defvar
2352         holding default fields to hide.  This replaces the old
2353         `mh-invisible-header-fields' defcustom.
2354         (mh-invisible-header-fields-user): New defcustom.  Users add
2355         fields to suppress that we didn't include in
2356         `mh-invisible-header-fields-default'.  This could be named simply
2357         `mh-invisible-header-fields' and it wouldn't really break anything
2358         for users who have customized it to a long list now redundant with
2359         `mh-invisible-header-fields-default'.
2360         (mh-invisible-header-fields-default-override): New defcustom.
2361         Users check off the fields they want displyed from what we
2362         included in `mh-invisible-header-fields-default'.
2363         (mh-invisible-headers): Function adapted to new variables.
2365 2003-07-25  Satyaki Das  <satyakid@stanford.edu>
2367         * mh-e.el (mh-inc-folder): If the user is in a different folder
2368         displaying a message and runs mh-inc-folder, then the folder
2369         changes to +inbox but the show window continues to display the
2370         message in the old folder. The change fixes this.
2371         (mh-visit-folder): Make the handling of the show window similar to
2372         that of mh-inc-folder.
2374 2003-07-24  Satyaki Das  <satyakid@stanford.edu>
2376         * mh-e.el (mh-folder-message-menu, mh-folder-folder-menu): Use the
2377         predicate mh-outstanding-commands-p instead of its exapansion.
2378         Also use the same label in both menus.
2379         (mh-outstanding-commands-p): Generalized so that it will work in
2380         mh-show-mode buffers as well.
2382         * mh-customize.el (mh-tool-bar-define): Enable tool-bar button for
2383         mh-execute-commands only if there are pending deletes or refiles.
2385 2003-07-19  Satyaki Das  <satyakid@stanford.edu>
2387         * mh-utils.el (mh-show-msg): If a unseen message is first marked
2388         for deletion/refiling and then displayed, the bold highlighting
2389         does not go away. This change fixes that.
2391         * mh-seq.el (mh-msg-is-in-seq): Fix a bug in the function. If any
2392         message was marked for refiling, then the function would have you
2393         believe that every message in the folder is being refiled.
2395 2003-07-17  Bill Wohler  <wohler@newt.com>
2397         * mh-e.el: Removed email address for Stephen Gildea's in Change
2398         Log at his request (damn spammers). Removed other email addresses
2399         while I was at it since the SourceForge URL should be sufficient
2400         contact information.
2402         (mh-scan-format-*mh): Fixed typo in comment above these variables.
2403         These variables are used if mh-scan-format-file is t, not nil.
2404         Also mh-scan-format-file is no longer "above" (courtesy Stephen
2405         Gildea).
2407 2003-07-17  Satyaki Das  <satyakid@stanford.edu>
2409         * mh-mime.el (mh-mhn-quote-unescaped-sharp): New function that
2410         quotes `#' characters in the first column that aren't part of a
2411         MHN directive.
2412         (mh-mhn-directive-present-p): Generalized to allow the function
2413         to search for MHN directives in a part of the buffer.
2414         (mh-edit-mhn): Quote unescaped `#' characters in the draft (closes
2415         SF #762464).
2417 2003-07-16  Satyaki Das  <satyakid@stanford.edu>
2419         * mh-alias.el (mh-alias-read-address-map): If
2420         mh-alias-flash-on-comma is nil when mh-alias is loaded, then
2421         setting mh-alias-flash-on-comma to t later on doesn't turn on
2422         address completion display till Emacs is restarted. The change
2423         fixes this.
2425 2003-07-15  Bill Wohler  <wohler@newt.com>
2427         * mh-utils.el (mh-cmd-note): Cleaned up docstring (changed phrase
2428         to sentences). Moved to Scan Line Formats section.
2429         (mh-scan-msg-number-regexp)
2430         (mh-scan-msg-overflow-regexp, mh-scan-msg-format-regexp)
2431         (mh-scan-msg-format-string, mh-scan-msg-search-regexp): Cleaned up
2432         docstrings (changed phrases to sentences).
2433         (mh-note-seq): Cleaned up docstring (changed phrase to sentences).
2434         Also, this variable is now a character and not a string. Moved to
2435         Scan Line Formats section.
2437         * mh-funcs.el (mh-note-copied, mh-note-printed): Cleaned up
2438         docstrings (changed phrases to sentences). Also, these variables
2439         are now characters and not strings.
2441         * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Filled. I was
2442         hoping to quote the hint `t' but checkdoc wouldn't let me.
2443         (mh-note-deleted, mh-note-refiled, mh-note-cur): Moved to Scan
2444         Line Formats section.
2445         (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
2446         (mh-scan-refiled-msg-regexp, mh-scan-valid-regexp)
2447         (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
2448         (mh-scan-rcpt-regexp, mh-scan-body-regexp)
2449         (mh-scan-subject-regexp, mh-scan-format-regexp): Cleaned
2450         up docstrings (changed phrases to sentences).
2451         (mh-scan-cur-msg-regexp): Marked this variable as obsolete; it
2452         should be removed for 8.0.
2454         * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Cleaned
2455         up docstrings (changed phrases to sentences). Also, these
2456         variables are now characters and not strings.
2458 2003-07-15  Satyaki Das  <satyakid@stanford.edu>
2460         * mh-index.el (mh-index-update-single-msg)
2461         (mh-index-create-sequences): Handle the situation where there are
2462         copies of the exact same message correctly.
2464 2003-07-15  Satyaki Das  <satyakid@stanford.edu>
2466         * mh-seq.el (mh-thread-update-scan-line-map): Modified since
2467         notation is already a character.
2469         * mh-utils.el (mh-note-seq): Convert from string to character.
2470         (mh-notate): Modified since characters are used to notate instead
2471         of strings of length one.
2473         * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Convert
2474         from string to characters.
2476         * mh-e.el (mh-note-deleted, mh-note-refiled, mh-note-cur): Same as
2477         above (closes SF #770772).
2478         (mh-unmark-all-headers): Modified since mh-note-* variables are
2479         now characters.
2480         (mh-remove-sequence-notation): The mh-notate function remembers
2481         the previous notation. Before the change to the mh-note-*
2482         variables, mh-notate would only remember the change if a string
2483         was used to notate the message. Now mh-notate is always called
2484         with a character notation. So the deletion has to take place
2485         explicitly.
2487 2003-06-28  Bill Wohler  <wohler@newt.com>
2489         * mh-mime.el (mh-mhn-directive-present-p): If shell comments are
2490         present that have a space after the # but no content, then this
2491         function would throw an error. This has been fixed (closes SF
2492         #762458).
2494 2003-06-27  Satyaki Das  <satyakid@stanford.edu>
2496         * mh-index.el (mh-index-search): Use the new and improved
2497         mh-index-new-folder.
2498         (mh-index-new-folder): Improved so that redoing the same search
2499         will reuse the old index folder.
2500         (mh-index-folder-search-regexp): New function which that extracts
2501         out the search expression that produced the index folder.
2503 2003-06-24  Bill Wohler  <wohler@newt.com>
2505         * mh-e.el (Version, mh-version):  Set to 7.4.1+cvs.
2507 2003-06-25  Bill Wohler  <wohler@newt.com>
2509         Released MH-E version 7.4.1.
2511         * MH-E-NEWS, README: Updated for release 7.4.1.
2513         * mh-e.el (Version, mh-version): Updated for release 7.4.1.
2515 2003-06-25  Bill Wohler  <wohler@newt.com>
2517         * mh-unit.el (require 'cl): Added. Needed when compiling
2518         separately.
2520         * Makefile (clean): Now a double-colon rule. Added a second clean
2521         target to remove mh-unit.elc.
2522         (compile): Removed mh-unit.elc.
2523         (mh-unit.elc): New target used to compile mh-unit.
2525 2003-06-24  Bill Wohler  <wohler@newt.com>
2527         * mh-e.el (Version, mh-version):  Set to 7.4+cvs.
2529 2003-06-24  Bill Wohler  <wohler@newt.com>
2531         Released MH-E version 7.4.
2533         * MH-E-NEWS, README: Updated for release 7.4.
2535         * mh-e.el (Version, mh-version): Updated for release 7.4.
2537 2003-06-24  Bill Wohler  <wohler@newt.com>
2539         * mh-alias.el (mh-alias-gecos-name, mh-alias-local-users)
2540         (mh-alias-suggest-alias): s/gcos/gecos. The original acronym was
2541         GECOS but was later renamed to GCOS (see
2542         http://info.astrian.net/jargon/terms/g/GCOS.html). But the term
2543         really needs to match the field named pw_gecos in struct passwd in
2544         /usr/include/pwd.h
2546         * mh-customize.el (mh-letter-faces): New group to house
2547         mh-letter-header-field-face.
2548         (mh-interpret-number-as-range-flag)
2549         (mh-kill-folder-suppress-prompt-hook): Use "you" instead of "the
2550         user" to make text more friendly.
2551         (mh-index-ticked-messages-folders, mh-visible-headers)
2552         (mh-visible-header-fields): Alphabetized.
2553         (mh-alias-passwd-gcos-comma-separator-flag): Alphabetized and
2554         s/gcos/gecos.
2555         (mh-alias-local-users-prefix): Fixed docstring. Prefixes are
2556         prepended, not appended. Additional checkdoc fix.
2557         (mh-letter-header-field-face): Set group to new group
2558         mh-letter-faces and moved option into this group.
2560         * mh-index.el (mh-index-sequenced-messages): Improved wording of
2561         docstring and mentioned use of prefix argument.
2563         * mh-seq.el (mh-widen): Made docstring more accurate (hopefully!).
2565 2003-06-18  Satyaki Das  <satyakid@stanford.edu>
2567         * mh-index.el (mh-replace-string): Modified to preserve case of
2568         replacement text.
2569         (mh-index-parse-search-regexp): Preserve case of search terms.
2570         This is needed to take advantage of the acronym indexing in
2571         swish++ (closes SF #755718).
2573 2003-06-13  Satyaki Das  <satyakid@stanford.edu>
2575         * mh-utils.el (mh-show-index-sequenced-messages): Interactive
2576         function callable from the show buffer.
2577         (mh-show-folder-map): Add key binding for "F q".
2579         * mh-e.el (mh-folder-map): Same as above.
2581         * mh-index.el (mh-index-sequenced-messages): Add interactive spec
2582         to the function (closes SF #718833).
2584 2003-06-13  Bill Wohler  <wohler@newt.com>
2586         * mh-index.el (mh-flists-execute): Needed to expand mhpath too.
2588 2003-06-12  Satyaki Das  <satyakid@stanford.edu>
2590         * mh-index.el (mh-flists-execute): Modified so that flists
2591         present in mh-progs is called.
2593 2003-06-07  Jeffrey C Honig  <jch@honig.net>
2595         * mh-comp.el (mh-forward, mh-forward): Use (mh-mail-header-end) to
2596         find the end of headers instead of doing an re-search-forward
2597         based on mh-mail-header-separator.
2599 2003-06-06  Satyaki Das  <satyakid@stanford.edu>
2601         * mh-comp.el (mh-letter-toggle-header-field-display): Make the
2602         function callable from the show buffer. This means that the
2603         buffer is temporarily made writable and the modification status
2604         of the buffer restored to the original value.
2606 2003-06-06  Peter S Galbraith  <psg@debian.org>
2608         * mh-utils.el (mh-address-mail-regexp): Bug fix!  It wasn't a true
2609         copy of the goto-addr variable.  My modification only recognized
2610         addresses with one dot after the @.  Sorry about that.
2612 2003-06-05  Satyaki Das  <satyakid@stanford.edu>
2614         * mh-utils.el (mh-replace-in-string): Move comment into doc
2615         string to satisfy checkdoc.
2617         * mh-alias.el (mh-alias-apropos): Checkdoc fix.
2619 2003-06-05  Bill Wohler  <wohler@newt.com>
2621         * mh-customize.el (mh-identity-list): Fixed typo in docstring.
2623 2003-06-05  Peter S Galbraith  <psg@debian.org>
2625         * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to.
2627 2003-06-04  Peter S Galbraith  <psg@debian.org>
2629         * mh-comp.el (mh-letter-complete-function-alist): Add dcc.
2631 2003-06-03  Peter S Galbraith  <psg@debian.org>
2633         * mh-utils.el (mh-replace-in-string): New function name instead of
2634         `dired-replace-in-string'.
2635         * mh-alias.el (mh-alias-gcos-name): Use it.
2637         * mh-alias.el (mh-alias-apropos): New command. Show all aliases
2638         that match REGEXP either in name or content.
2640         * mh-alias.el (mh-alias-suggest-alias): Add no-comma-swap optional
2641         arg.
2642         (mh-alias-canonicalize-suggestion): Change a comma to a period in
2643         created aliases.
2644         (mh-alias-local-users): Call `mh-alias-suggest-alias' with
2645         `no-comma-swap' arg set to t.
2647         * mh-alias.el (mh-alias-local-users): Fix case of nil
2648         `mh-alias-passwd-gcos-comma-separator-flag'.
2650         * mh-alias.el (mh-alias-gcos-name): Fix for case of empty gcos
2651         name field.
2652         (mh-alias-local-users): Fix same.
2654         * mh-alias.el (mh-alias-canonicalize-suggestion): Replace use by
2655         verbose `replace-regexp' by a looped `replace-match'
2657 2003-06-02  Peter S Galbraith  <psg@debian.org>
2659         * mh-utils.el (dired-replace-in-string): Bind if not already
2660         defined.  Borrowed from dired.el
2662         * mh-alias.el (mh-alias-gcos-name): switch to using
2663         dired-replace-in-string.
2665 2003-06-02  Satyaki Das  <satyakid@stanford.edu>
2667         * mh-utils.el (mh-letter-font-lock-keywords): Fontify header
2668         fields in the draft buffer that aren't skipped when navigating
2669         with TAB (or S-TAB).
2671         * mh-customize.el (mh-clean-message-header-flag)
2672         (mh-invisible-headers, mh-invisible-header-fields)
2673         (mh-alias-passwd-gcos-comma-separator-flag): Checkdoc fix.
2674         (mh-letter-header-field-face): New face to fontify the header
2675         fields.
2677         * mh-comp.el (mh-insert-auto-fields-done-local): Checkdoc fix.
2678         (mh-letter-mode, mh-letter-mail-header-end-marker): Remember the
2679         end of the message header in a marker. This is used to fontify the
2680         header fields.
2681         (mh-font-lock-field-data, mh-letter-header-end): Functions used
2682         to fontify message header fields.
2684         * mh-alias.el (mh-alias-gcos-name): Checkdoc fix.
2686 2003-06-02  Peter S Galbraith  <psg@debian.org>
2688         * mh-alias.el (mh-alias-gcos-name): New function. Return a usable
2689         address string from a GCOS-NAME and USERNAME.
2690         (mh-alias-local-users): Use it.
2692         * mh-customize.el (mh-alias-passwd-gcos-comma-separator-flag): New
2693         defcustom. Whether the gcos field in the passwd file uses comma as
2694         a separator.
2696         * mh-customize.el (mh-alias-local-users-prefix): New
2697         defcustom. String to append to the real names of users from the
2698         passwd file. If nil, use the username string unmodified instead of
2699         the real name from the gcos field of the passwd file.
2701         * mh-alias.el (mh-alias-local-users): Use it to generate aliases
2702         which by default are now the real name prefixed by "local."
2704 2003-06-01  Peter S Galbraith  <psg@debian.org>
2706         * mh-comp.el (mh-modify-header-field): Bug fix.  Calling with with
2707         a value that was already inserted causes it to get inserted a
2708         second time.  I have wrapped the value around \b word delimiters.
2709         Hope there are no side effects for other code.
2711         * mh-comp.el (mh-insert-auto-fields): Attempt regardless of
2712         `mh-insert-auto-fields-done-local' flag in interactive use.
2714         * mh-comp.el (mh-insert-auto-fields-done-local): Keep track of
2715         whether `mh-insert-auto-fields' was called in a buffer.
2716         (mh-insert-auto-fields): Set it and use it.  Also, don't enter an
2717         identity if one was already entered manually.
2718         (mh-send-letter): Call `mh-insert-auto-fields' again when sending
2719         message.
2720         (mh-compose-and-send-mail): Call `mh-insert-auto-fields' _after_
2721         `mh-letter-mode' so `mh-identity-local' doesn't get cleared by the
2722         mode invocation.
2724 2003-06-01  Satyaki Das  <satyakid@stanford.edu>
2726         * mh-loaddefs.el: Regenerated.
2728         * mh-seq.el (mh-thread-parse-scan-line): The value of
2729         mh-scan-field-from-start-offset was hardcoded in one place. The
2730         change fixes that.
2732         * mh-utils.el (mh-show-mode): Setup mh-show-mode to display
2733         elipsis for truncated header fields and to skip over them quickly.
2734         (mh-clean-msg-header): Make another pass over the message header
2735         fields truncating long headers.
2737         * mh-comp.el (mh-letter-complete): Remove unnecessary autoload.
2738         (mh-letter-toggle-header-field-display): Take into account that
2739         an empty line can also end the message header. The function was
2740         originally written with the draft buffer in mind.
2742 2003-06-01  Mark D. Baushke  <mdb@gnu.org>
2744         * mh-comp.el (mh-letter-mode-map): Do not steal C-t. Use C-c C-t
2745         for the mh-letter-toggle-header-field-display command.
2747 2003-05-31  Peter S Galbraith  <psg@debian.org>
2749         * mh-customize.el (mh-visible-headers): Changed to a defvar that
2750         will be set using new `mh-visible-headers' function using
2751         `mh-visible-header-fields' as input.
2752         (mh-visible-headers): New function, described above.
2753         (mh-visible-header-fields): New defcustom.  The UI to set
2754         `mh-visible-headers'.
2755         (mh-invisible-header-fields-set): Deleted.  Code merged into
2756         defcustom since it's so short.
2758 2003-05-31  Satyaki Das  <satyakid@stanford.edu>
2760         * mh-comp.el (mh-letter-toggle-header-field-display): Extended to
2761         truncate headers if they are too long.
2762         (mh-letter-truncate-header-field): Make code that would be
2763         duplicated into a function.
2764         (mh-letter-hide-all-skipped-fields): Modified so that fields that
2765         are important are hidden if they are too long.
2767 2003-05-31  Satyaki Das  <satyakid@stanford.edu>
2769         * mh-utils.el ("tool-bar"): Since tool-bar isn't available on
2770         XEmacs, requiring it causes problems. So load it instead.
2771         (mh-do-at-event-location): New macro to do stuff at location of
2772         events. This has been refactored out of mh-push-button.
2774         * mh-mime.el (mh-push-button): Simplified since it now uses the
2775         mh-do-at-event-location macro.
2777         * mh-comp.el (mh-hidden-header-keymap): Keymap to make mouse
2778         clicks on header toggle its display.
2779         (mh-letter-toggle-header-field-display-button): Interactive
2780         function to toggle header display when mouse button is clicked.
2782 2003-05-31  Peter S Galbraith  <psg@debian.org>
2784         * mh-e.el (mh-folder-mode): Remove conditional on tool-bar-mode.
2786         * mh-comp.el (mh-letter-mode): Same.
2788         * mh-utils.el (mh-show-mode): Same.
2790 2003-05-30  Satyaki Das  <satyakid@stanford.edu>
2792         * mh-utils.el (tool-bar): Load tool-bar explicitly. This avoids
2793         problems with incorrect initialization of tool-bar-map otherwise.
2795 2003-05-30  Peter S Galbraith  <psg@mixed.dyndns.org>
2797         * mh-comp.el (mh-modify-header-field): Minor fix of spaces for
2798         when an entry already existed.
2799         (mh-insert-auto-fields): Make interactive. Add optional `quiet'
2800         arg for use when called systematically on every buffer.  Won't be
2801         used interactively for more verbose output.
2802         (mh-letter-mode-map): Add \C-c\M-d keybinding for
2803         mh-insert-auto-fields.
2805         * mh-identity.el (mh-identity-make-menu): Add a menu entry in
2806         Identity menu for mh-insert-auto-fields.
2808         * mh-customize.el (mh-invisible-header-fields): Add entries for
2809         `Envelope-to' and `X-Original-To'.
2811 2003-05-30  Satyaki Das  <satyakid@stanford.edu>
2813         * mh-comp.el (mh-letter-mode): Skip over invisible text quickly.
2815 2003-05-30  Satyaki Das  <satyakid@stanford.edu>
2817         * mh-comp.el (mh-letter-mode): Use text properties to achieve
2818         invisibility. This is more portable and the same code can be used
2819         for all Emacs versions.
2820         (mh-letter-toggle-header-field-display): Rewritten to use text
2821         properties.
2822         (mh-dead-overlay-p, mh-letter-hidden-header-fields)): Removed.
2824 2003-05-29  Satyaki Das  <satyakid@stanford.edu>
2826         * mh-comp.el (mh-letter-hidden-header-fields, mh-letter-mode): Add
2827         a hash table, initialized it in mh-letter-mode, to remember the
2828         overlays introduced to hide long headers fields.
2829         (mh-insert-x-mailer): checkdoc fix.
2830         (mh-compose-and-send-mail): Hide unimportant message header
2831         fields.
2832         (mh-letter-header-field-regexp, mh-letter-header-field-at-point)
2833         (mh-letter-next-header-field, mh-letter-previous-header-field):
2834         Add a variable that contains the header-field name regexp and use
2835         it instead of the regexp directly.
2836         (mh-letter-toggle-header-field-display, mh-letter-mode-map): Add
2837         new key binding in mh-letter-mode that toggles display of long
2838         header fields, in mh-letter-mode.
2839         (mh-dead-overlay-p): A predicate which checks if a given header
2840         field has an active overlay hiding it.
2841         (mh-letter-hide-all-skipped-fields): New function that shortens
2842         uninteresting headers.
2844 2003-05-29  Eric Ding  <ericding@acorn.bethesda.net>
2846         * mh-comp.el (mh-letter-next-header-field-or-indent): Call
2847         indent-relative rather than indent-for-tab-command.
2849 2003-05-29  Satyaki Das  <satyakid@stanford.edu>
2851         * mh-comp.el (mh-letter-complete-or-space): The meaning of the
2852         customizable variable was reversed. Also make the doc string more
2853         accurate.
2855 2003-05-28  Satyaki Das  <satyakid@stanford.edu>
2857         * mh-customize.el (mh-compose-skipped-header-fields): New
2858         customizable variable that lists headers that are skipped.
2859         (mh-compose-space-does-completion-flag): Option to do completion
2860         with space (closes SF #745634).
2862         * mh-comp.el (mh-insert-x-mailer): Check the value of
2863         mh-insert-x-mailer-flag in this function instead of in its caller.
2864         (mh-compose-and-send-mail, mh-send-letter): Insert X-Mailer and
2865         X-Face headers when the draft is first presented to the user
2866         instead of when the mail is sent (closes SF #745624).
2867         (mh-letter-complete-or-space): Allow for this key binding to be
2868         overridden.
2869         (mh-letter-next-header-field): Fix a problem with multiline header
2870         fields.
2871         (mh-letter-next-header-field, mh-letter-previous-header-field):
2872         Make these functions skip unwanted header fields.
2873         (mh-letter-skipped-header-field-p): New predicate that checks if a
2874         header field is to be skipped.
2876         * mh-seq.el (mh-thread-inc): Inc'ing email in threaded mode was
2877         causing duplication of the current notation. The change fixes that.
2879 2003-05-28  Satyaki Das  <satyakid@stanford.edu>
2881         * mh-comp.el (mh-beginning-of-word): Generalize it to skip
2882         arbitrary number of words.
2883         (mh-letter-complete-or-space): New interactive function that
2884         allows space character to be used for completion.
2885         (mh-letter-mode-map): Add key binding to allow space to be used
2886         for completion.
2888 2003-05-27  Satyaki Das  <satyakid@stanford.edu>
2890         * mh-customize.el (mh-compose-prompt-flag): Customizable variable
2891         that controls whether the user is prompted when composing a draft.
2892         It replaces mh-dont-prompt-for-address-flag (closes SF #745622).
2894         * mh-comp.el (mh-letter-next-header-field): If the point is in
2895         the header field name, then go the start of the header field
2896         instead of the next field.
2897         (mh-interactive-read-address, mh-interactive-read-string)
2898         (mh-letter-adjust-point): Use mh-compose-prompt-flag instead of
2899         mh-dont-prompt-for-address-flag.
2901 2003-05-27  Satyaki Das  <satyakid@stanford.edu>
2903         * mh-customize.el (mh-tool-bar-define): Fix incorrect usage of
2904         set-specifier (closes SF #745655). Also the button enabling code
2905         interacts poorly with font-lock in XEmacs. So disable that.
2907 2003-05-26  Satyaki Das  <satyakid@stanford.edu>
2909         * mh-e.el (mh-folder-from-address): The function
2910         message-fetch-field expects that the buffer is narrowed to the
2911         mail header. The change makes sure that this is indeed the case.
2913         * mh-mime.el (mh-add-missing-mime-version-header)
2914         (mh-decode-message-body): Same as above.
2916 2003-05-25  Satyaki Das  <satyakid@stanford.edu>
2918         * mh-alias.el (mh-alias-minibuffer-confirm-address): Modified to
2919         use mh-beginning-of-word.
2921         * mh-comp.el (mh-letter-confirm-address): Calling
2922         mh-alias-reload-maybe can be expensive. So do it only if we really
2923         need to.
2925 2003-05-25  Satyaki Das  <satyakid@stanford.edu>
2927         * mh-loaddefs.el: Regenerated.
2929         * mh-comp.el (mh-letter-confirm-address): Load aliases if not yet
2930         loaded.
2932         * mh-alias.el (mh-alias-reload-maybe): Autoload it since it is
2933         used in mh-comp.el.
2935 2003-05-24  Satyaki Das  <satyakid@stanford.edu>
2937         * mh-comp.el (mh-letter-skip-leading-whitespace-in-header-field):
2938         New function to skip leading space and tab characters when placing
2939         point in a header field.
2940         (mh-letter-next-header-field, mh-letter-previous-header-field):
2941         Skip leading whitespace when using TAB to navigate to header
2942         fields.
2943         (mh-letter-confirm-address): New interactive function that
2944         displays the last expansion of the last alias when "," is typed.
2945         (mh-letter-mode-map): Add key binding for "," (closes SF #745634).
2947 2003-05-23  Satyaki Das  <satyakid@stanford.edu>
2949         * mh-comp.el (mh-edit-again, mh-forward, mh-send)
2950         (mh-send-other-window, mh-send-sub): Modified so that if
2951         mh-dont-prompt-for-address-flag is non-nil, then MH-E won't prompt
2952         for addresses to send mail to and instead directly jump to the
2953         draft (closes SF #745622).
2954         (mh-letter-complete-function-alist): An alist that is used to
2955         decide which completion function to use in which header. This
2956         variable should probably be customizable.
2957         (mh-letter-complete): Now uses mh-letter-complete-function-alist.
2958         (mh-letter-header-field-at-point, mh-letter-next-header-field)
2959         (mh-letter-next-header-field-or-indent)
2960         (mh-letter-previous-header-field): Commands for easier navigation
2961         to header fields.
2962         (mh-dont-prompt-for-address-flag): Variable which controls
2963         whether MH-E prompts for addresses.
2964         (mh-interactive-read-address, mh-interactive-read-string): Two
2965         functions to ask user for input depending on the value of the
2966         above flag.
2967         (mh-letter-adjust-point): New function that sets point to the
2968         first header field.
2969         (mh-letter-mode-map): Add key bindings for TAB and S-TAB (closes
2970         SF #745627).
2972 2003-05-23  Satyaki Das  <satyakid@stanford.edu>
2974         * mh-loaddefs.el: Regenerated.
2976         * mh-comp.el (mh-complete-word): New function which is
2977         approximately equivalent to mail-abbrev-complete-alias.
2978         (mh-beginning-of-word): Refactor repeated code into its own
2979         function.
2980         (mh-folder-expand-at-point): Make Fcc completion work in XEmacs
2981         by not using mail-abbrev-complete-alias.
2983         * mh-alias.el (mh-alias-letter-expand-alias): Make alias
2984         expansion work in XEmacs. Replace the use of the function
2985         mail-abbrev-complete-alias, which isn't present in XEmacs.
2987         * mh-mime.el (mh-mml-to-mime): If a MIME message is created
2988         immediately after starting MH-E then invoking mh-mml-to-mime
2989         causes an error because "message" isn't being loaded. The change
2990         works around this problem.
2991         (mh-mime-maybe-display-alternatives): Give better indication of
2992         which MIME parts are alternatives.
2994 2003-05-22  Satyaki Das  <satyakid@stanford.edu>
2996         * mh-e.el (mh-add-sequence-notation, mh-remove-sequence-notation):
2997         Just delete and add the same character in the scan line to make
2998         font-lock refontify it. The previous trick of removing all text
2999         properties didn't work in XEmacs.
3001         * mh-seq.el (mh-put-msg-in-seq): Complain if the user tries to
3002         create an invalid MH sequence.
3004         * mh-mime.el (mh-mime-display-alternative): Modified to
3005         optionally display alternatives as buttons.
3006         (mh-mime-maybe-display-alternatives): New function which displays
3007         alternative MIME parts as buttons.
3008         (mh-mime-save-part): Initially mh-mime-save-parts-directory is
3009         nil and calling file-name-as-directory with nil arg leads to an
3010         error. So fall back on the default-directory in that case.
3012         * mh-customize.el (mh-display-buttons-for-alternatives-flag): New
3013         customizable variable that controls display of the alternative
3014         MIME parts (closes SF #741288).
3016 2003-05-22  Peter S Galbraith  <psg@debian.org>
3018         * mh-customize.el (mh-invisible-header-fields): Commented out
3019         "User-Agent:".  It's similar to X-Mailer, so display it.
3021 2003-05-21  Satyaki Das  <satyakid@stanford.edu>
3023         * mh-customize.el (mh-tool-bar-define): Add an optional argument
3024         to the button description that can dynamically enable/disable
3025         buttons.
3026         (mh-tool-bar-define): The alias grabbing button is disabled if the
3027         current message doesn't have a From header or if the sender is
3028         already in the user's alias. This functionality was inadvertently
3029         lost when the Emacs/XEmacs toolbar unification took place.
3031 2003-05-20  Satyaki Das  <satyakid@stanford.edu>
3033         * mh-unit.el (mh-unit-construct-call-graph): Be more aggressive
3034         and flag interactive functions that aren't autoloaded or have no
3035         key bindings.
3036         (mh-unit-interactive-function-p): Remove now unused function.
3037         (mh-unit, mh-unit-construct-call-graph): Replace mh-files with
3038         mh-unit-files.
3040 2003-05-20  Bill Wohler  <wohler@newt.com>
3042         * mh-unit.el (mh-prune-trailing-spaces): Renamed to
3043         mh-unit-prune-trailing-spaces to clean up the namespace.
3044         (mh-files): Renamed to mh-unit-files. Ditto.
3045         (mh-unit): Checkdoc fix.
3047         * mh-index.el (mh-index-p): Added autoload cookie since mh-index-p
3048         is used by mh-customize.el. This calls for another mh-unit test
3049         that looks for mh-autoloads for functions that are no longer used
3050         in other files.
3052         * mh-loaddefs.el: Regenerated.
3054 2003-05-20  Satyaki Das  <satyakid@stanford.edu>
3056         * mh-unit.el (mh-unit-construct-call-graph): Factor out the code
3057         to read the lisp files to a separate function. Also change it to
3058         construct a function call-graph. Autoloaded functions are taken
3059         into account.
3060         (mh-unit-find-all-used-functions, mh-unit-called-functions)
3061         (mh-unit-find-all-unused-functions): Find all unused functions by
3062         computing a fixed point starting from the set of top level
3063         functions.
3064         (mh-unit-analyze-block): Removed.
3065         (mh-unit-update-call-graph): mh-unit-functions-called was renamed
3066         with modifications to update the function call graph.
3068 2003-05-19  Satyaki Das  <satyakid@stanford.edu>
3070         * mh-loaddefs.el: Regenerated.
3072         * mh-utils.el (mh-notate): Modified to keep track of notation
3073         that was replaced when sequence notation is added. Thus when the
3074         sequence is deleted, the original notation is recovered.
3075         (mh-add-msgs-to-seq): Modified to work with the new sequence
3076         notation code.
3078         * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Simplified since
3079         we don't need to handle tick and unseen sequences specially any
3080         more.
3081         (mh-narrow-to-seq): Don't need to call mh-notate-user-sequences
3082         since mh-copy-seq-to-eob already does that.
3083         (mh-widen): Remove sequence notation, so that notation when
3084         messages are replied to aren't lost.
3085         (mh-copy-seq-to-eob): Simplified with the use of
3086         mh-iterate-on-range.
3087         (mh-thread-inc): This function doesn't need to notate user
3088         sequences since its callers already do that.
3089         (mh-thread-parse-scan-line): Simplified since mh-note-seq doesn't
3090         appear in scan lines it is given as arguments.
3091         (mh-thread-update-scan-line-map): Remove the test, since its
3092         caller already does the required check.
3093         (mh-thread-folder): Simplified by the use of mh-iterate-on-range.
3094         (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick):
3095         These functions aren't needed any more, since overlays aren't used
3096         any more. Also overlays aren't portable to XEmacs, so nasty
3097         conditional code that used overlays in Emacs and extents in Xemacs
3098         have been eliminated.
3099         (mh-toggle-tick): Generalize it to work on a range of messages
3100         like the other interactive messages.
3102         * mh-funcs.el (mh-undo-folder): Use mh-remove-all-notation
3103         instead of mh-unmark-all-headers.
3105         * mh-e.el (mh-folder-font-lock-keywords): The entry for unseen
3106         sequence highlighting is now done by the macro.
3107         (mh-generate-sequence-font-lock): New macro to highlight any
3108         arbitrary sequence. This macro is invoked twice to get the
3109         highlighting for unseen and tick sequences.
3110         (mh-sequence-notation-history, mh-folder-mode): New variable that
3111         keeps track of the old notation when a message is notated with
3112         mh-note-seq.
3113         (mh-regenerate-headers, mh-get-new-mail): Add appropriate calls to
3114         mh-notate-user-sequences and mh-remove-all-notation.
3115         (mh-unmark-all-headers): Add comment that this function shouldn't
3116         be used any more.
3117         (mh-add-sequence-notation, mh-remove-sequence-notation): New
3118         functions to notate message with mh-note-seq and to remove it.
3119         (mh-remove-all-notation): Simplified to use mh-iterate-on-range.
3120         (mh-process-commands): Use mh-remove-all-notation instead of
3121         mh-unmark-all-headers.
3122         (mh-notate-user-sequences, mh-delete-msg-from-seq): Simplified
3123         since the tick and unseen sequences don't need special handling
3124         any more.
3125         (mh-internal-seq): Make it possible to dynamically change what
3126         sequences are treated as internal (internal means font lock is
3127         used to highlight the sequence).
3128         (mh-clear-text-properties): Removed since it isn't needed
3129         anymore.
3131 2003-05-19  Satyaki Das  <satyakid@stanford.edu>
3133         * mh-unit.el (mh-unit-analyze-block, mh-unit-interactive-function-p)
3134         (mh-unit-find-all-unused-functions): Change argument name bl to
3135         block.
3137 2003-05-19  Satyaki Das  <satyakid@stanford.edu>
3139         * mh-unit.el (mh-unit-find-all-unused-functions): New interactive
3140         function to find all unused functions in MH-E.
3141         (mh-unit-analyze-block, mh-unit-interactive-function-p)
3142         (mh-unit-functions-called): Functions used by
3143         mh-unit-find-all-unused-functions do its job.
3145         * Makefile (compile): Byte-compile mh-unit.el, since the analysis
3146         to find unused code runs faster when compiled.
3148 2003-05-18  Satyaki Das  <satyakid@stanford.edu>
3150         * mh-loaddefs.el: Regenerated.
3152         * mh-seq.el (mh-notate-deleted-and-refiled): Add autoload
3153         declaration since this function is used in mh-index.el.
3155         * mh-e.el, mh-customize.el, mh-utils.el: Adjust require/provide
3156         statements so that mh-e.el isn't loaded twice.
3158 2003-05-15  Satyaki Das  <satyakid@stanford.edu>
3160         * mh-utils.el (mh-defun-show-buffer): Arrange for the current
3161         line in the folder buffer to be highlighted even when we are in
3162         the show buffer.
3164 2003-05-14  Satyaki Das  <satyakid@stanford.edu>
3166         * mh-seq.el (mh-read-range): Allow this to work on invalid
3167         sequences that only MH-E knows about.
3169         * mh-index.el (mh-create-sequence-map, mh-index-add-to-sequence)
3170         (mh-index-delete-from-sequence): Don't consider sequences that
3171         aren't valid MH sequences.
3173         * mh-e.el (mh-valid-seq-p): New predicate to check if a symbol
3174         could be a MH sequence.
3175         (mh-undefine-sequence, mh-define-sequence): Don't execute "mark"
3176         unless the sequence name is a valid MH sequence.
3178         * mh-utils.el (mh-exec-cmd): In case an error happens in the
3179         call-process and non-strings are present in ARGS, then the error
3180         message isn't properly displayed. The change fixes this.
3182 2003-05-14  Peter S Galbraith  <psg@debian.org>
3184         * mh-mime.el (mh-mime-save-part): Bug Fix: Make sure
3185         `mm-default-directory' gets a trailing "/" if
3186         `mh-mime-save-parts-directory' doesn't have one.  Otherwise the
3187         default in the prompt of `mh-mm-save-part' will be wrong.  Perhaps
3188         `mh-mm-save-part' needs to do this check itself.
3190 2003-05-14  Satyaki Das  <satyakid@stanford.edu>
3192         * mh-index.el (mh-unpropagated-sequences): New function and
3193         variable to keep track of sequences that shouldn't be propagated.
3194         (mh-create-sequence-map, mh-index-add-to-sequence)
3195         (mh-index-delete-from-sequence): Use mh-unpropagated-sequences to
3196         stop changes to some sequences being reflected back to the source
3197         folders.
3199 2003-05-13  Satyaki Das  <satyakid@stanford.edu>
3201         * mh-loaddefs.el: Regenerated.
3203         * mh-e.el (mh-process-commands): Preserve sequences when messages
3204         are refiled (closes SF #737128).
3206         * mh-index.el (mh-create-sequence-map)
3207         (mh-index-create-sequences): Refactor code that is reused into a
3208         new function.
3210         * mh-customize.el (mh-refile-preserves-sequences-flag): New
3211         customizable flag that controls whether sequences are preserved
3212         when messages are refiled.
3214 2003-05-13  Eric Ding  <ericding@alum.mit.edu>
3216         * mh-e.el (mh-scan-format): The argument for scan format files
3217         should be -form, not -format.
3219 2003-05-13  Satyaki Das  <satyakid@stanford.edu>
3221         * mh-seq.el (mh-widen): The scan line map stack was not being
3222         properly updated when ALL-FLAG is non-nil. The change fixes that.
3224         * mh-e.el (mh-reset-threads-and-narrowing): The change resets the
3225         scan line map stack.
3227 2003-05-12  Satyaki Das  <satyakid@stanford.edu>
3229         * mh-loaddefs.el: Regenerated.
3231         * mh-seq.el (mh-thread-scan-line-map-stack)
3232         (mh-thread-old-scan-line-map): Instead of the old scan line map,
3233         now we need to maintain a stack of scan line maps.
3234         (mh-narrow-to-seq): Modified so that multiple level of narrowings
3235         can be done. We now maintain a stack of old views instead of
3236         hiding the old scan lines. This makes it possible to have
3237         multiple levels of narrowings.
3238         (mh-widen): A optional prefix arg was added to allow undoing all
3239         narrowing.
3240         (mh-read-seq-default, mh-read-range): Don't use
3241         mh-narrowed-to-seq, since it doesn't exist any more.
3242         (mh-thread-initialize-hash, mh-thread-initialize): The
3243         mh-thread-initialize function has been refactored.
3244         (mh-thread-update-scan-line-map): Maintain notations in the stack
3245         of scan line maps.
3246         (mh-notate-tick, mh-toggle-tick): Simplified, since we don't have
3247         mh-narrowed-to-seq any more. This means there is a slight loss of
3248         functionality. Earlier if we narrowed to the tick sequence the
3249         ticked messages weren't highlighted. This feature isn't present
3250         any more.
3252         * mh-e.el (mh-execute-commands, mh-reset-threads-and-narrowing)
3253         (mh-folder-sequence-menu, mh-get-new-mail): Use
3254         mh-folder-view-stack instead of the now removed
3255         mh-narrowed-to-seq.
3256         (mh-narrowed-to-seq, mh-tick-seq-changed-when-narrowed-flag):
3257         These variables have been removed.
3258         (mh-folder-view-stack): New variable to keep track of a stack of
3259         narrowings.
3260         (mh-execute-commands, mh-get-new-mail): Add extra argument to
3261         mh-widen so that all narrowings are undone.
3263         * Makefile (MH-E-SRC, MH-E-OTHERS): Move mh-gnus.el from MH-E-SRC
3264         to MH-E-OTHERS so that it isn't byte compiled.
3266 2003-05-10  Satyaki Das  <satyakid@stanford.edu>
3268         * mh-seq.el (mh-read-seq): Improve the function a bit by adding
3269         history to the sequence prompt.
3271 2003-05-09  Satyaki Das  <satyakid@stanford.edu>
3273         * mh-gnus.el: New file that won't be byte-compiled. From now on
3274         having different Gnus versions at run-time and compile-time won't
3275         cause errors in MH-E.
3277         * mh-mime.el (mh-small-show-buffer-p, mh-display-smileys)
3278         (mh-display-emphasis): Handle all legal values of
3279         font-lock-maximum-size. The existing code assumed didn't consider
3280         the case where it could be an alist.
3281         (mh-small-image-p): Simplified, so that aliasing XEmacs functions
3282         in Emacs isn't necessary any more.
3283         (mh-mm-display-part): Remove unnecessary call to fboundp. The
3284         mh-funcall-if-exists does that for us any way.
3285         (mh-defun-compat, gnus-local-map-property, mm-merge-handles)
3286         (mm-set-handle-multipart-parameter, mm-readable-p)
3287         (mm-long-lines-p, mm-keep-viewer-alive-p, mm-destroy-parts)
3288         (mh-mm-save-part, mm-handle-multipart-ctl-parameter): These
3289         compatibility functions have been moved to mh-gnus.el.
3291         * Makefile (MH-E-SRC): Add mh-gnus.el.
3293         * mh-seq.el (mh-narrow-to-header-field)
3294         (mh-current-message-header-field): Checkdoc fixes.
3296         * mh-e.el (mh-undefine-sequence): Since mh-coalesce-msg-list
3297         returns a list, apply is needed.
3299 2003-05-09  Noel Cragg  <noel@red-bean.com> (tiny change)
3301         * mh-junk.el (mh-spamassassin-blacklist): Separate "--local" and
3302         "--no-rebuild" arguments to call-process.
3303         [Patch committed by satyaki]
3305 2003-05-08  Satyaki Das  <satyakid@stanford.edu>
3307         * mh-seq.el (mh-translate-range): Take into account differnt
3308         semantics of split-string in Emacs and XEmacs.
3309         (mh-read-pick-regexp, mh-narrow-to-from, mh-narrow-to-cc)
3310         (mh-narrow-to-to, mh-narrow-to-header-field)
3311         (mh-current-message-header-field, mh-narrow-to-range): New
3312         narrowing functions that can select messages based on different
3313         message headers.
3315         * mh-utils.el (mh-show-limit-map): Add new narrowing functions
3316         callable from the show buffer.
3318         * mh-e.el (mh-help-messages): Add help text for new functions.
3319         (mh-limit-map): Add new narrowing functions (closes SF #732823).
3321 2003-05-07  Satyaki Das  <satyakid@stanford.edu>
3323         * mh-utils.el (mh-collect-folder-names): Use mh-exec-daemon to
3324         run flists. This means we don't have to remember to expand the MH
3325         executable in the mh-progs path.
3326         (mh-exec-cmd-daemon): Return the new process object produced.
3328 2003-05-06  Satyaki Das  <satyakid@stanford.edu>
3330         * mh-e.el (mh-folder-font-lock-unseen): Use mh-seq-list to do
3331         unseen sequence highlighting instead of reading the .mh_sequences
3332         file from disk every time.
3334 2003-05-05  Satyaki Das  <satyakid@stanford.edu>
3336         * mh-utils.el (mh-show-sequence-map): Add key binding for S'
3337         (closes SF #732825).
3339         * mh-e.el (mh-sequence-map): Ditto.
3340         (mh-help-messages): Updated for S'.
3342 2003-05-04  Satyaki Das  <satyakid@stanford.edu>
3344         * mh-index.el (mh-index-write-data): The with-temp-buffer macro
3345         is a bit better than write-file, so use that instead.
3347 2003-05-03  Satyaki Das  <satyakid@stanford.edu>
3349         * mh-index.el (mh-index-update-maps, mh-index-search)
3350         (mh-index-sequenced-messages): Write index data to disk. This
3351         allows us to recover index folder information if Emacs is
3352         restarted, or the index folder is visited after the buffer has
3353         been killed (closes SF #701762).
3354         (mh-index-write-data, mh-index-read-data)
3355         (mh-index-write-hashtable, mh-index-read-hashtable): Functions to
3356         store and read index data information to disk.
3357         (mh-index-insert-folder-headers, mh-index-group-by-folder): We
3358         can no longer use object identity to compare strings, since they
3359         might have been read back from disk.
3361         * mh-e.el (mh-index-data-file): New variable that stores the name
3362         of the file that keeps track of index folder data.
3363         (mh-make-folder): Read index folder data if available.
3365         * mh-utils.el (mh-show, mh-summary-height, mh-modify): Make
3366         checkdoc happy.
3368         * mh-seq.el (mh-tick-add-overlay): Rearrange code to make code
3369         more uniform.
3371         * mh-loaddefs.el: Regenerated.
3373 2003-05-02  Satyaki Das  <satyakid@stanford.edu>
3375         * mh-seq.el (mh-tick-add-overlay): If a message with a short scan
3376         line is ticked, then the highlighting didn't extend to the right
3377         margin. This change fixes that.
3379 2003-05-01  Bill Wohler  <wohler@newt.com>
3381         * mh-e.el (mh-help-messages): Added brackets around / and
3382         downcased limit to be consistent with other commands with
3383         punctuation keybindings. Don't document aliases.
3385 2003-05-01  Satyaki Das  <satyakid@stanford.edu>
3387         * mh-loaddefs.el: Regenerated.
3389         * mh-seq.el (mh-read-range): Fix comment.
3391 2003-04-30  Mark D. Baushke  <mdb@gnu.org>
3393         * mh-e.el (mh-help-messages): Better documentation for the F map.
3395 2003-04-30  Satyaki Das  <satyakid@stanford.edu>
3397         * mh-utils.el (mh-find-path): Cache folder names so that
3398         folder name completion is always fast.
3399         (mh-flists-partial-line, mh-flists-process): Variables used for
3400         pre-caching folder names.
3401         (mh-collect-folder-names, mh-collect-folder-names-filter)
3402         (mh-populate-sub-folders-cache): Functions to pre-cache folder
3403         names.
3404         (mh-exec-cmd): Produce more info in *MH-E Log*.
3406         * mh-index.el (mh-index-search): Call the correct function.
3407         (mh-index-sequenced-messages): If folders is nil, then all mail
3408         is searched. The change restores that.
3410 2003-04-30  Peter S Galbraith  <psg@debian.org>
3412         * mh-customize.el (mh-summary-height): Move variable integer out
3413         of defcustom, and instead specify that `nil' means to calculate
3414         that size dynamically.  Fixes SF #723267.
3416         * mh-utils.el (mh-summary-height): New function. Return ideal
3417         mh-summary-height value for current frame height.
3418         (mh-show-msg): Use it.
3420 2003-04-30  Mark D. Baushke  <mdb@gnu.org>
3422         * mh-index.el (mh-index-ticked-messages): Fix prompt and
3423         description string.
3424         (mh-index-new-messages): Ditto.
3426         * mh-loaddefs.el: Regenerated.
3428         * mh-index.el (mh-index-sequenced-messages): Renamed from
3429         mh-index-new-messages with minor argument change.
3430         (mh-index-new-messages): Implement by calling
3431         mh-index-sequenced-messages with the appropriate arguments.
3432         (mh-index-ticked-messages): New function. Does the same thing as
3433         mh-index-new-messages, but on its own set of folders and using the
3434         mh-tick-seq instead of mh-unseen-seq.
3436         * mh-e.el (mh-folder-map): Add "F'" to the map for
3437         mh-index-ticked-messages.
3438         (mh-help-messages): Replace broken [t]hread with [n]ew messages.
3440         * mh-customize.el (mh-index-ticked-messages-folders): New user
3441         customizable flag that controls the folders to be searched by
3442         mh-index-ticked-messages.
3444         * mh-utils.el (mh-show-index-ticked-messages): Wrapper for
3445         mh-index-ticked-messages.
3446         (mh-show-folder-map): Add "F'" to the map for
3447         mh-index-ticked-messages.
3449 2003-04-30  Satyaki Das  <satyakid@stanford.edu>
3451         * mh-index.el (mh-index-search): The old cur in the source folder
3452         might not exist. This could cause mh-exec-cmd to fail. So don't
3453         add an error message in that case.
3455 2003-04-29  Satyaki Das  <satyakid@stanford.edu>
3457         * mh-e.el (mh-folder-from-address): Modified to allow multiple
3458         Cc: headers to work properly.
3459         (mh-inc-folder, mh-visit-folder): Fix an off by one error.
3461         * mh-utils.el (mh-notate): Update the scan line map. This fixes a
3462         tiny bug. In threaded view, if a message is replied to then the
3463         message is notated with a "-". Now if inc is done then the "-"
3464         added is lost. The change fixes this.
3466         * mh-seq.el (mh-translate-range): Use the correct function.
3467         (mh-thread-update-scan-line-map): New function that updates the
3468         scan line map when a message is notated.
3470 2003-04-28  Satyaki Das  <satyakid@stanford.edu>
3472         * mh-index.el (mh-index-parse-search-regexp): Avoid compiler
3473         warning in GNU Emacs 21.3.
3475         * mh-seq.el (mh-widen): Ditto.
3477 2003-04-28  Satyaki Das  <satyakid@stanford.edu>
3479         * mh-customize.el (mh-interpret-number-as-range-flag): New user
3480         customizable flag that controls whether a single number, N is
3481         interpreted as the range last:N.
3483         * mh-seq.el (mh-read-range): Generalize it for use when reading
3484         range to scan.
3485         (mh-interactive-range): Modified to use the new mh-read-range.
3487         * mh-speed.el (mh-speed-view): Use mh-read-range instead of the
3488         now removed mh-read-msg-range function.
3490         * mh-funcs.el (mh-pack-folder): Ditto.
3492         * mh-e.el (mh-rescan-folder, mh-visit-folder): Ditto.
3493         (mh-read-msg-range): Removed.
3495         * mh-loaddefs.el: Regenerated
3497 2003-04-27  Satyaki Das  <satyakid@stanford.edu>
3499         * mh-loaddefs.el: Regenerated.
3501         * mh-seq.el (mh-range-completion-function): Fix checkdoc warning.
3502         (mh-iterate-on-range): Mention that the macro can iterate over a
3503         MH message range too.
3505 2003-04-27  Bill Wohler  <wohler@newt.com>
3507         * mh-unit.el (mh-unit): As it turns out, lm-crack-copyright has
3508         been updated to handle multiple-line copyrights in 21.3, so
3509         updated code to run lm-verify only if user has 21.3 or greater.
3510         Delete buffers after use, unless user already had buffer open.
3512 2003-04-27  Satyaki Das  <satyakid@stanford.edu>
3514         * mh-loaddefs.el: Regenerated.
3516         * mh-index.el (mh-index-search): The MH command "refile" changes
3517         cur. The change restores cur in source folders.
3518         (mh-index-new-messages): Use the appropriate arguments for
3519         mh-read-seq.
3521         * mh-seq.el (mh-read-seq-default, mh-read-seq): Restore these
3522         functions to just read sequence names.
3523         (mh-range-seq-names, mh-range-history, mh-range-completion-map)
3524         (mh-range-completion-function, mh-read-range): New function which
3525         reads MH range with completion and history.
3526         (mh-interactive-range): Use mh-read-range instead of
3527         mh-read-seq-default.
3528         (mh-put-msg-in-seq): Change documentation about MH message range.
3530         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Change
3531         documentation about MH message range.
3533         * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3535         * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion)
3536         (mh-refile-msg, mh-undo, mh-delete-msg-from-seq): Ditto.
3538         * mh-comp.el (mh-forward): Ditto.
3540 2003-04-26  Satyaki Das  <satyakid@stanford.edu>
3542         * mh-comp.el, mh-e.el, mh-funcs.el, mh-junk.el, mh-seq.el:
3543         Replace msg-or-seq with range everywhere.
3545         * mh-loaddefs.el: Regenerated.
3547 2003-04-25  Satyaki Das  <satyakid@stanford.edu>
3549         * mh-e.el (mh-index-sequence-search-flag, mh-folder-mode): New
3550         local variable to remember that a folder buffer contains results
3551         from a sequence search. This is needed so that "C-u F i" will work
3552         as expected.
3553         (mh-visit-folder): Create sequences in the index folder.
3554         (mh-process-commands, mh-delete-msg-from-seq): If speedbar is on
3555         then update the speedbar message counts immediately.
3556         (mh-delete-msg-from-seq): Make the code faster by calling "mark"
3557         just once. Also update source folder sequence if messages are
3558         being deleted from a sequence in an index folder.
3559         (mh-undefine-sequence): Simplified to remove the speedbar updating
3560         code. Also DTRT and don't change any sequence when called with an
3561         empty list of messages.
3562         (mh-refile-msg, mh-delete-msg): Move to next message only if the
3563         current message has been deleted or refiled, as the case may be.
3565         * mh-utils.el (mh-show-msg): Update the message counts in the
3566         speedbar, if it is on, immediately.
3567         (mh-speed-flists-active-p, mh-speed-flists-inhibit-flag): A new
3568         flag has been added which inhibits updating of the speedbar. This
3569         is used to avoid needless speedbar updates when
3570         mh-execute-commands is called in index folders.
3572         * mh-speed.el (mh-speed-flists): Extended so that multiple
3573         folders can be given as arguments. Also the code that kept track
3574         of the current folder, needed since flists adds an extra ?+ char
3575         at the end of the current folder name, wasn't entirely correct.
3576         That has also been fixed.
3578         * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Modified so that
3579         sequence in source folder is updated if we delete a sequence in an
3580         index folder.
3581         (mh-read-seq, mh-read-seq-default, mh-translate-range)
3582         (mh-interactive-msg-or-seq): The mh-interactive-msg-or-seq
3583         function can read in an arbitrary MH message range.
3584         (mh-iterate-on-msg-or-seq): The macro has been extended to work on
3585         a MH range.
3586         (mh-subject-to-sequence, mh-subject-to-sequence-unthreaded)
3587         (mh-subject-to-sequence-threaded, mh-thread-find-msg-subject): Fix
3588         the mh-subject-to-sequence function so that it will work in
3589         threaded folders too.
3590         (mh-tick-add-overlay): Fix a leak of overlays.
3591         (mh-toggle-tick): Ticking, or unticking, messages in the index
3592         folder is propagated to the source folders (closes SF #709664).
3594         * mh-index.el (mh-flists-results-folder, mh-flists-sequence)
3595         (mh-flists-called-flag): New variables to implement searching for
3596         arbitrary sequences.
3597         (mh-index-generate-pretty-name): Updated so that folder names are
3598         generated for flists search that can take any sequence name.
3599         (mh-index-search): Since sequences are now properly maintained the
3600         unseen-flag argument isn't needed and hence removed. Also redoing
3601         a sequence search with "C-u F i" is handled correctly. Finally
3602         the speedbar is updated to reflect the new index folder created.
3603         (mh-index-create-sequences): New function that creates sequences
3604         in the index folder.
3605         (mh-index-matching-source-msgs, mh-index-execute-commands):
3606         Improved so that scan lines for refiled/deleted messages are
3607         removed from the source folders as well.
3608         (mh-index-add-to-sequence, mh-index-delete-from-sequence): New
3609         functions to update sequences in source folder to reflect changes
3610         in index folder.
3611         (mh-index-quote-for-shell): A utility function to that quotes
3612         characters with special meaning to /bin/sh.
3613         (mh-flists-execute, mh-index-new-messages): Updated to search for
3614         arbitrary sequences (closes SF #718833).
3616         * mh-loaddefs.el: Regenerated.
3618 2003-04-25  Bill Wohler  <wohler@newt.com>
3620         * mh-customize.el (mh-kill-folder-suppress-prompt-hook): New hook
3621         used by mh-kill-folder to suppress the prompt.
3623         * mh-funcs.el (mh-kill-folder): Suppress prompt not if
3624         mh-index-data is non-nil, but if any functions in
3625         mh-kill-folder-suppress-prompt-hook return non-nil.
3627         * mh-index.el (mh-index-p): New function with returns non-nil if
3628         the current folder was generated by an index search for use by
3629         mh-kill-folder-suppress-prompt-hook
3631         * mh-unit.el (mh-unit): Commented out lm-verify step until code
3632         updated to handle split Copyright lines.
3634         * mh-e.el (mh-version): Set to 7.3+cvs.
3636 2003-04-24  Bill Wohler  <wohler@newt.com>
3638         Released MH-E version 7.3.
3640         * MH-E-NEWS, README: Updated for release 7.3.
3642         * mh-e.el (Version, mh-version): Updated for release 7.3.
3644 2003-04-24  Satyaki Das  <satyakid@stanford.edu>
3646         * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
3647         time, since the mh-do-in-xemacs macro is used.
3649         * mh-inc.el (cl): Require cl at compile time since we are using
3650         the loop and setf macros.
3652 2003-04-24  Satyaki Das  <satyakid@stanford.edu>
3654         * mh-unit.el (mh-files): Fix the list of files to check.
3656 2003-04-24  Bill Wohler  <wohler@newt.com>
3658         * ChangeLog: Appended copyright to end of file.
3660         * Makefile: Added copyright and license.
3662         * README: Added copyright.
3664         * import-emacs: Changed copyright from Newt Software to Bill
3665         Wohler and use license from mh-e.el, except that this file is
3666         a part of MH-E, not GNU Emacs.
3668         * mh-alias.el: Updated copyright so that it doesn't wrap upon
3669         advice from Richard Stallman who said to use two-digit years when
3670         they are surrounded by 4-digit years that are in the same century
3671         and to break up copyrights on multiple lines.
3672         * mh-comp.el: Ditto.
3673         * mh-e.el: Ditto.
3674         * mh-funcs.el: Ditto.
3675         * mh-identity.el: Ditto.
3676         * mh-mime.el: Ditto.
3677         * mh-seq.el: Ditto.
3678         * mh-utils.el: Ditto.
3679         * mh-xemacs-compat.el: Ditto.
3681         * mh-unit.el: New file. Unit tests for MH-E. This version merely
3682         runs checkdoc and lm-verify which is useful before releasing the
3683         software. It can and should be expanded to do real unit tests.
3685 2003-04-22  Mark D Baushke  <mdb@gnu.org>
3687         * mh-alias.el: Update Copyright.
3688         * mh-comp.el: Ditto.
3689         * mh-customize.el: Ditto.
3690         * mh-e.el: Ditto.
3691         * mh-funcs.el: Ditto.
3692         * mh-identity.el: Ditto.
3693         * mh-index.el: Ditto.
3694         * mh-mime.el: Ditto.
3695         * mh-pick.el: Ditto.
3696         * mh-seq.el: Ditto.
3697         * mh-speed.el: Ditto.
3698         * mh-utils.el: Ditto.
3699         * mh-xemacs-compat.el: Ditto.
3701 2003-04-22  Satyaki Das  <satyaki@theforce.stanford.edu>
3703         * mh-utils.el (mh-normalize-folder-name): Make the completion
3704         code work properly with XEmacs. This change is neeeded since
3705         split-string behaves differently in XEmacs than it does in GNU
3706         Emacs.
3707         (mh-exec-cmd-error): Add a comment, so that we change it later on.
3709 2003-04-18  Steve Youngs  <youngs@xemacs.org>
3711         * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
3712         not 'mh-xemacs-toolbar'.
3714         * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
3715         now called 'mh-xemacs-icons' and it is required from
3716         'mh-customize'.
3718         * mh-customize.el: Require 'mh-xemacs-icons' instead of
3719         'mh-xemacs-toolbar'.
3721 2003-04-17  Peter S Galbraith  <psg@debian.org>
3723         * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
3724         Holds XEmacs icons.
3726         * mh-xemacs-toolbar.el: Deleted.
3728         * Makefile: Incorporate the file renaming.
3730 2003-04-15  Bill Wohler  <wohler@newt.com>
3732         * mh-comp.el (mh-forward): Pass a list of messages into
3733         mh-compose-and-send-mail instead of msg-or-seq.
3734         (mh-annotate-msg): The previous version called
3735         mh-iterate-on-msg-or-seq in the letter buffer. The new version
3736         simply adds the ability to operate on message lists. Thanks to
3737         Satyaki for the fix and suggestion for passing a list from
3738         mh-forward.
3740 2003-04-14  Bill Wohler  <wohler@newt.com>
3742         * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
3743         mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
3744         which in turn passed the msg-or-seq to mh-annotate-msg. In
3745         particular, forwarding a region failed. Note that the msgs
3746         argument in much of mh-comp.el should really be converted to
3747         msg-or-seq accordingly. But not now, unless something is broken as
3748         was the case here. We can revamp after the release.
3750 2003-04-13  Bill Wohler  <wohler@newt.com>
3752         * mh-funcs.el (mh-kill-folder): Added space after prompt to give
3753         the (yes or no) bit a little elbow room.
3755         * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
3756         Reinstated Steve's copyright.
3758 2003-04-12  Satyaki Das  <satyaki@theforce.stanford.edu>
3760         * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
3761         indentation hooks for the macros.
3763 2003-04-11  Bill Wohler  <wohler@newt.com>
3765         * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
3766         mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
3767         Merged in changes from CVS GNU Emacs. These included the removal
3768         of trailing whitespace.
3770         * mh-customize.el: The "anti-entropy" check-in. Moved groups
3771         around slightly to reflect commentary. Moved defcustoms around
3772         to preserve alphabetization. Big diff, little content.
3773         (mh-xemacs-use-toolbar-flag): Doc fix.
3774         (mh-xemacs-toolbar-position): Fixed typo in docstring.
3775         (mh-default-folder-list): Updated docstring to reflect new Check
3776         Recipient tag. Also, set type of Address to regexp.
3777         (mh-x-mailer-string): Moved to mh-comp.el where it is used.
3779         * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
3780         Not quite sure how it got to mh-customize.el in the first place.
3782         * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
3783         Messages menu item.
3785         * mh-utils.el (mh-show-folder-menu): Ditto.
3787         * mh-inc.el: Added Change Log comment (lm-verify fix).
3789         * mh-index.el (mh-index-search): Added documentation about prefix
3790         argument for users, in addition to documentation for programmers.
3792         * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
3793         fixes germaine to the change whereby we now check for MIME
3794         directives before sending.
3796         * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
3797         (lm-verify fix). Added standard MH-E local variables. Removed
3798         time-stamp stuff.
3800 2003-04-11  Satyaki Das  <satyaki@theforce.stanford.edu>
3802         * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
3804 2003-04-10  Satyaki Das  <satyaki@theforce.stanford.edu>
3806         * mh-index.el (mh-index-visit-folder): Prompt before reusing
3807         existing folder buffer.
3809         * mh-xemacs-toolbar.el (require): Require mh-utils at compile
3810         time to avoid compilation error when doing "make bootstrap" in
3811         CVS Emacs.
3813         * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
3814         time warning is avoided when doing "make bootstrap" in CVS Emacs.
3816 2003-04-10  Peter S Galbraith  <psg@debian.org>
3818         * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
3819         of a defmacro, applying Satyaki's patch.
3820         (mh-inc-spool-def-key): same.
3821         (mh-inc-spool-make): same.
3823         * mh-utils.el: define-key "I" in mh-show-mode-map for
3824         mh-inc-spool-map.
3826         * mh-comp.el (mh-modify-header-field): Remove debug message.
3828 2003-04-10  Peter S Galbraith  <psg@debian.org>
3830         * mh-inc.el (mh-inc-spool-map-help): Default to nil.
3831         (mh-inc-spool-map): Make "?" key display message when
3832         `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
3833         containing the message).
3835         * mh-e.el: require mh-inc.el
3836         * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
3837         (mh-help-messages): Add help string for "I" key.
3839 2003-04-09  Peter S Galbraith  <psg@debian.org>
3841         * mh-inc.el: New file. New feature to `inc' mail from various
3842         spool files into different folders.
3844         * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
3846         * Makefile (MH-E-IMG): Add highlight icon.
3847         (MH-E-SRC): Add mh-inc.el file.
3849         * mh-customize.el (mh-inc-spool-list): New variable for new
3850         feature to `inc' mail from various spool files into different
3851         folders.
3853 2003-04-09  Satyaki Das  <satyaki@theforce.stanford.edu>
3855         * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
3856         mh-mail-delivery-buffer.
3858         * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
3860         * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
3861         avoid compiler warning in GNU Emacs.
3863 2003-04-08  Satyaki Das  <satyaki@theforce.stanford.edu>
3865         * mh-mime.el (mh-small-image-p): Make the function slightly more
3866         error-resistant in XEmacs.
3868         * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
3869         the show buffer if needed. This allows us to display the widen
3870         button in the show buffer only when the folder is narrowed.
3872         * mh-customize.el (mh-tool-bar-define): Changed so that a
3873         separate tool-bar-map is used in show-mode when folder is
3874         narrowed to a sequence.
3876 2003-04-08  Satyaki Das  <satyaki@theforce.stanford.edu>
3878         * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
3879         make-symbol since using gensym causes compiler warnings in CVS
3880         Emacs.
3882 2003-04-08  Bill Wohler  <wohler@newt.com>
3884         * mh-comp.el (mh-forward): Function didn't handle a region of
3885         messages. Use new function mh-msg-or-seq-to-msg-list to get a list
3886         of messages in all circumstances. Also, use mh-coalesce-msg-list
3887         on message list before submitting to forw since this should always
3888         be done when calling a program to reduce the chance of exceeding
3889         command-line limits.
3891         * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
3892         change. A nil msg-or-seq should mean no messages, and Satyaki is
3893         going to use gensym instead of make-symbol.
3894         (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
3895         to a list of message numbers.
3897         * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
3898         little.
3900         * mh-funcs.el (mh-print-msg): Can now print regions, message
3901         lists, sequences and, of course, single messages. This version
3902         works a little differently from the old version. Instead of
3903         calling mhl | lpr once on all messages, mhl | lpr is called once
3904         per message in order to put each message's number in the header.
3905         Thanks to Satyaki for some code and ideas.
3907         * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
3908         can now be nil which means the current message. Make local symbols
3909         so that local variables don't step on user's symbols (the msgs
3910         symbol got me).
3912 2003-04-06  Bill Wohler  <wohler@newt.com>
3914         * mh-comp.el (mh-forward):  Updated docstrings to indicate that a
3915         list of messages is acceptable as well.
3917         * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
3918         (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
3920         * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3922         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
3924         * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
3925         (mh-interactive-msg-or-seq): Ditto.
3927 2003-04-06  Satyaki Das  <satyaki@theforce.stanford.edu>
3929         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
3930         mh-refile-a-msg and mh-delete-a-msg with nil as the message
3931         number since that is more efficient.
3933         * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
3934         handle lists of messages numbers as well.
3935         (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
3936         function.
3938         * mh-funcs.el (mh-copy-msg): Same as above.
3940         * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
3941         mh-refile-a-msg avoids needing to re-search-forward to that
3942         message.
3943         (mh-undo): Fix typo in interactive spec.
3944         (mh-notate-user-sequences): Generalize the function to take a
3945         msg-or-seq as argument.
3946         (mh-delete-msg-from-seq): Extend the function so that it is now
3947         able to subtract messages belonging in one sequence from another.
3948         (mh-undo): Unify the region and sequence handling. The message
3949         number branch of the function does extra stuff, so we can't merge
3950         that in.
3952 2003-04-06  Bill Wohler  <wohler@newt.com>
3954         * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
3955         consistent verbiage in docstring for msg-or-seq.
3956         (mh-reply): Don't mention default in opening line in all
3957         docstrings.
3959         * mh-e.el (mh-delete-msg, mh-refile-msg)
3960         (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
3961         Inserted consistent verbiage in docstring for msg-or-seq. In
3962         mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
3964         * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
3965         mh-interactive-msg-or-seq. Inserted consistent verbiage in
3966         docstring for msg-or-seq.
3968         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
3969         consistent verbiage in docstring for msg-or-seq.
3971         * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
3972         line in all docstrings.
3973         (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
3974         consistent verbiage in docstring for msg-or-seq.
3976         * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
3977         Rewritten to use new mh-interactive-msg-or-seq function and
3978         mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
3979         ability to operate on regions.
3981         * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
3982         use new mh-interactive-msg-or-seq function and
3983         mh-iterate-on-msg-or-seq macro thereby gaining the ability to
3984         operate on sequences or regions.
3986         * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
3987         on a message, a region of messages, or a sequence. This macro
3988         should be in all functions that operate on messages to provide a
3989         uniform interface.
3990         (mh-interactive-msg-or-seq): New function used in interactive
3991         calls to obtain a message number, region, or sequence. This
3992         function should be in all functions that operate on messages to
3993         provide a uniform interface.
3995         * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
3996         'defun lisp-indent-hook property instead of 1 to fix indentation
3997         of these macros.
3999 2003-04-05  Peter S Galbraith  <psg@debian.org>
4001         * mh-loaddefs.el: Regenerated.
4002         * mh-funcs.el (mh-ephem-message): autoload.
4004 2003-04-04  Peter S Galbraith  <psg@debian.org>
4006         * mh-e.el (mh-folder-from-address):  Minor Fix.  Wrong ending of
4007         `when' block.
4009 2003-04-04  Satyaki Das  <satyaki@theforce.stanford.edu>
4011         * mh-mime.el (mh-mml-directive-present-p): The regexp has been
4012         modified to recognize directives to encrypt/sign messages.
4014 2003-04-03  Mark D. Baushke  <mdb@gnu.org>
4016         * mh-e.el (mh-folder-from-address): E-mail messages missing the
4017         To: field, but which have a Cc: field should also be handled.
4019 2003-04-03  Bill Wohler  <wohler@newt.com>
4021         * mh-e.el (mh-inc-folder): Modified the prompt text to read
4022         better.
4024         * mh-comp.el (mh-forward): Deleted local variable `compose'.
4025         Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
4026         (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
4027         obsolete. mh-{mmh|mml}-compose-insert-flag.
4028         (mh-letter-mode): Deleted obsolete setting of
4029         mh-{mmh|mml}-compose-insert-flag.
4030         (mh-send-letter): This function now automatically runs the
4031         directive-to-MIME conversion if any directives are detected,
4032         rather than relying on the unreliable
4033         mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
4034         accordingly.
4036         * mh-identity.el (mh-insert-identity): Use
4037         mh-{mmh|mml}-directive-present-p instead of obsolete.
4038         mh-{mmh|mml}-compose-insert-flag.
4040         * mh-loaddefs.el: Regenerated.
4042         * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
4043         (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
4044         (mh-mml-forward-message, mh-mml-attach-file)
4045         (mh-mml-secure-message-sign-pgpmime)
4046         (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
4047         of mh-{mmh|mml}-compose-insert-flag.
4048         (mh-mml-directive-present-p): Checkdoc fix.
4050         * mh-utils.el (mh-mhn-compose-insert-flag,
4051         mh-mml-compose-insert-flag): Deleted. Replaced by
4052         mh-{mhn|mml}-directive-present-p.
4054 2003-04-03  Mark D. Baushke  <mdb@gnu.org>
4056         * mh-e.el (mh-folder-from-address): Fix minor problem with To:
4057         address processing.
4059         * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
4060         a "?+" string.
4062 2003-04-03  Peter S Galbraith  <psg@debian.org>
4064         * mh-e.el (mh-inc-folder): Add second optional argument for the
4065         folder to inc new mail into instead of mh-inbox.
4067 2003-04-03  Peter S Galbraith  <psg@debian.org>
4069         * mh-e.el (mh-folder-from-address): The first match found in
4070         `mh-default-folder-list' is used.
4072         * mh-customize.el (mh-default-folder-list): Tweak docs
4074 2003-04-03  Satyaki Das  <satyaki@theforce.stanford.edu>
4076         * mh-loaddefs.el: Regenerated.
4078         * mh-mime.el (mh-mhn-directive-present-p): New function to test if
4079         a MHN directive is present in the current buffer.
4080         (mh-mml-directive-present-p): New function to test if a MML
4081         directive is present in the current buffer.
4083         * mh-comp.el (mh-letter-mode): Originally this function checked if
4084         a #forw directive was present and set mh-mhn-compose-insert-flag
4085         to t. The modification generalizes this test so that one of the
4086         variables mh-{mml|mhn}-compose-insert-flag will get set if we have
4087         any sort of MHN or MML directive is already present.
4089         * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
4090         warnings in CVS version of GNU Emacs.
4092         * mh-utils.el (tool-bar-map): Same as above.
4094         * mh-e.el (tool-bar-map): same as above.
4096 2003-04-02  Satyaki Das  <satyaki@theforce.stanford.edu>
4098         * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
4099         Change color to match mh-folder-tick-face.
4101         * highlight.xpm: Same as above.
4103 2003-04-02  Peter S Galbraith  <psg@debian.org>
4105         * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
4106         for cases against the recipient instead of the originator.
4108         * mh-customize.el (mh-default-folder-list): Add extra boolean flag
4109         to conditionally check the recipient address instead of the
4110         originator.
4112 2003-04-02  Peter S Galbraith  <psg@debian.org>
4114         * mh-customize.el (mh-folder-tick-face): Change tick highlight
4115         face to a background yellow-green, as suggested by Bill.
4117 2003-04-01  Peter S Galbraith  <psg@debian.org>
4119         * highlight.xpm: New icon for mh-toggle-tick.
4121         * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
4122         for mh-toggle-tick.
4123         (mh-xemacs-toolbar-toggle-tick-icon): New constant.
4125         * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
4127 2003-03-31  Satyaki Das  <satyaki@theforce.stanford.edu>
4129         * mh-loaddefs.el: Regenerated.
4131         * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
4132         (mh-show-sequence-menu): Add new interactive function
4133         mh-show-narrow-to-tick callable from the show buffer and arrange
4134         for a key binding and a menu entry.
4136         * mh-seq.el (mh-narrow-to-tick): New interactive function that
4137         narrows to the tick sequence.
4139         * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
4140         key binding and a menu entry for mh-narrow-to-tick.
4142         * mh-comp.el (mh-letter-mode): Enable undo since we could be
4143         reusing a show buffer where undo is disabled (closes SF #712777).
4145 2003-03-31  Peter S Galbraith  <psg@debian.org>
4147         * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
4149         * mh-utils.el (mh-show-sequence-menu): Add entry for
4150         mh-show-toggle-tick.
4152 2003-03-28  Satyaki Das  <satyaki@theforce.stanford.edu>
4154         * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
4155         "S k" then the highlighting wasn't getting removed. The change
4156         fixes this.
4158 2003-03-27  Satyaki Das  <satyaki@theforce.stanford.edu>
4160         * mh-e.el (mh-notate-user-sequences): Extend it so that only the
4161         messages in a part of the folder are notated.
4162         (mh-delete-msg-from-seq): Extend it so that it will delete all
4163         messages in the marked region.
4164         (mh-delete-a-msg-from-seq): New function that deletes a single
4165         message from a sequence.
4166         (mh-clear-text-properties): If there is a ticked unseen message
4167         and the message is removed from the unseen list with "S d" then
4168         unticking the message doesn't change the highlight. This change
4169         fixes this.
4171 2003-03-27  Peter S Galbraith  <psg@debian.org>
4173         * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
4174         24x24 icons, changing background only.
4176 2003-03-27  Satyaki Das  <satyaki@theforce.stanford.edu>
4178         * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
4179         variable buffer-exists.
4180         (mh-spamassassin-identify-spammers): Remove unused variable user.
4182         * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
4183         compiler warning.
4185 2003-03-26  Satyaki Das  <satyaki@theforce.stanford.edu>
4187         * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
4188         condition when messages from the last source folder had been
4189         removed was incorrect. This caused a folder header to appear
4190         without any messages listed under it. This change fixes this.
4191         (mh-thread-forget-message): Remove the entry from the scan line
4192         table as well. This is needed for proper display of threaded view
4193         of index folders.
4195 2003-03-26  Bill Wohler  <wohler@newt.com>
4197         * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
4198         mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
4199         mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
4200         mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
4201         mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
4202         (closes SF #680731).
4205 2003-03-26  Satyaki Das  <satyaki@theforce.stanford.edu>
4207         * mh-index.el: Fix commentary to mention that mairix is supported
4208         as well.
4210         * mh-loaddefs.el: Regenerated.
4212         * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
4213         Interactive functions callable from the show buffer.
4214         (mh-show-junk-map): Key bindings in show mode.
4216         * mh-e.el (mh-junk-map): Key bindings to call spam program.
4217         (mh-help-messages): Update help text.
4219         * mh-customize.el (mh-junk): New customization group for spam
4220         program interface.
4221         (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
4222         Functions and variables that decide which junk program is used.
4223         (mh-junk-program, mh-junk-mail-folder): User customizable
4224         variables that control the choice of spam program and the action
4225         performed on received spam.
4227         * Makefile (MH-E-SRC): Add mh-junk.el.
4229 2003-03-26  Satyaki Das  <satyaki@theforce.stanford.edu>
4231         * mh-loaddefs.el: Regenerated.
4233         * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
4234         interactive function callable from the show buffer and a key
4235         binding for it.
4237         * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
4238         (mh-put-msg-in-seq): Disable adding messages to tick sequence.
4239         (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
4240         (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
4241         (mh-toggle-tick): New functions to highlight/unhighlight tick
4242         sequence and the interactive function that is used to toggle
4243         tick.
4245         * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
4246         that remembers if we are narrowed to the tick sequence. In that
4247         case the highlighting isn't shown, since it adds no extra info.
4248         (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
4249         (mh-notate-user-sequences): Notate the tick sequence.
4250         (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
4251         (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
4252         (mh-folder-mode-map): Add key binding for "'"
4254         * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
4255         customizable variables that contain the name of the tick sequence
4256         and the face to use to highlight it.
4258 2003-03-25  Satyaki Das  <satyaki@theforce.stanford.edu>
4260         * mh-loaddefs.el: Regenerated.
4262         * mh-seq.el (mh-thread-print-scan-lines): New function which
4263         prints out thread tree. It maintains the original folder info if
4264         the folder was created by index search (closes SF #709672).
4265         (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
4266         factored out function mh-thread-print-scan-lines.
4267         (mh-toggle-threads): Since threading is allowed in index folders
4268         there can be lines in the folder which aren't valid message scan
4269         lines. So it is OK for mh-get-msg-num to fail once in a while.
4271         * mh-index.el (mh-index-update-maps): Make the parsing of messages
4272         that need to annotated with the X-MHE-Checksum header more robust.
4273         If the search yielded no results then an error was being produced.
4274         (mh-index-search): Enable automatic threading of index folders if
4275         mh-show-threads-flag is non-nil (closes SF #709667).
4276         (mh-index-next-folder): Relax error checking since index folder
4277         can be threaded while the source folder info is visible.
4278         (mh-index-group-by-folder): New function that is used in
4279         mh-thread-folder to keep source folder info visible during
4280         threading.
4282 2003-03-25  Bill Wohler  <wohler@newt.com>
4284         * mh-loaddefs.el: Regenerated.
4286         * mh-customize.el (mh-index-new-messages-folders): New variable
4287         that controls which folders "F n (mh-index-new-messages)"
4288         accesses. Was mh-flists-search-folders.
4290         * mh-index.el (mh-flists-search-folders): Still used internally,
4291         but users now use new option mh-index-new-messages-folders.
4292         Removed documentation since to avoid duplication with
4293         mh-index-new-messages-folders.
4294         (mh-flists-recursive-search-flag): Deleted. Use
4295         mh-recursive-folders-flag instead.
4296         (mh-flists-execute): Updated docs to specify which global
4297         variables are used. Use mh-recursive-folders-flag instead of
4298         mh-flists-recursive-search-flag.
4299         (mh-index-new-messages): Edited doc, and refer to new option
4300         mh-index-new-messages-folders. Ditto within code. Don't need to
4301         prepend + to folder name as flists does that for us. Use
4303 2003-03-24  Satyaki Das  <satyaki@theforce.stanford.edu>
4305         * mh-e.el (mh-refile-msg): Add optional argument that controls
4306         whether mh-last-destination-folder is updated or not.
4308 2003-03-22  Satyaki Das  <satyaki@theforce.stanford.edu>
4310         * mh-customize.el (mh-tool-bar-define): Fix a problem in the
4311         XEmacs version which caused the show mode toolbar to have the
4312         buttons in the reverse order. Also the add-hooks are no longer
4313         needed since mh-toolbar-init is called in the appropriate modes.
4315         * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
4316         initialize toolbar.
4318         * mh-utils.el (mh-show-mode): Same as above.
4320         * mh-e.el (mh-folder-mode): Same as above.
4322 2003-03-21  Satyaki Das  <satyaki@theforce.stanford.edu>
4324         * mh-utils.el (mh-exec-cmd-env-daemon): New function which
4325         executes a command asynchronously with its own environment.
4327         * mh-comp.el (mh-redistribute): The function has been modified so
4328         that /bin/sh isn't used to run send. It has also been refactored
4329         so that the same code isn't repeated.
4331 2003-03-21  Bill Wohler  <wohler@newt.com>
4333         * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
4334         for bogofilter.
4336 2003-03-21  Satyaki Das  <satyaki@theforce.stanford.edu>
4338         * mh-loaddefs.el: Regenerated.
4340         * mh-xemacs-toolbar.el: Remove the code since that gets generated
4341         when mh-tool-bar-define is expanded.
4342         (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
4343         actual icons to be used in XEmacs. This is used in
4344         mh-tool-bar-define.
4346         * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
4347         (mh-tool-bar-item-*): All these constants have been removed since
4348         they aren't needed in the new scheme.
4349         (mh-tool-bar-reply-3-buttons-flag): This variable has been
4350         removed.
4351         (mh-tool-bar-search-function): This is now used in XEmacs as well.
4352         (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
4353         (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
4354         (mh-tool-bar-letter-set): These functions aren't defined at the
4355         top level any more.
4356         (mh-tool-bar-reply-generator): A macro to generate the required
4357         functions for the three reply buttons.
4358         (mh-tool-bar-search, mh-tool-bar-customize)
4359         (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
4360         (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
4361         (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
4362         (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
4363         interactive functions that are called when tool bar buttons are
4364         clicked.
4365         (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
4366         Additional customizable variables that are present only for
4367         XEmacs.
4368         (mh-tool-bar-define): A macro that generates the required code
4369         for GNU Emacs and XEmacs tool bar.
4370         (mh-tool-bar-define): Define the MH-E tool bar.
4372 2003-03-17  Satyaki Das  <satyaki@theforce.stanford.edu>
4374         * mh-seq.el (mh-notate-cur): Notate current message only if it
4375         hasn't been marked for deletion or refiling.
4377 2003-03-15  Bill Wohler  <wohler@newt.com>
4379         * mh-customize.el (mh-invisible-header-fields): Added
4380         X-Spam-Checker-Version.
4381         (mh-auto-fields-list): checkdoc fix.
4383 2003-03-12  Satyaki Das  <satyaki@theforce.stanford.edu>
4385         * mh-index.el (mh-index-new-messages): If the destination folder
4386         where the unseen messages are supposed to be copied to was
4387         already present, but MH-E doesn't have it open, then a new folder
4388         was being created. The change fixes this.
4389         (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
4390         checkdoc warnings.
4392         * mh-loaddefs.el: Regenerated.
4394 2003-03-11  Satyaki Das  <satyaki@theforce.stanford.edu>
4396         * mh-index.el (mh-flists-results-folder): Subfolder under
4397         +mhe-index where the results of the flists call is put.
4398         (mh-index-generate-pretty-name): Make sure that normal index
4399         searching will never use the folder reserved for the flists
4400         results.
4401         (mh-index-search): Add an extra parameter that marks all the
4402         messages in the index folder to the unseen sequence.
4403         (mh-index-update-unseen): Function to keep unseen sequence of
4404         index folder synced with the actual folders from where the
4405         messages were copied. This works only if the unseen messages are
4406         displayed with mh-show. Killing the unseen sequence in the index
4407         folder or adding/removing messages to it doesn't change the
4408         unseen sequence in the source folders yet.
4409         (mh-flists-search-folders): Variable that decides the folders on
4410         which flists is run.
4411         (mh-flists-recursive-search-flag): If non-nil, flists is passed
4412         the -recurse option.
4413         (mh-flists-execute): Function which uses /bin/sh to execute
4414         flists and then print out the list of message files that match.
4415         (mh-index-new-messages): New interactive function which searches
4416         for messages in the unseen sequence (closes SF #701756).
4418         * mh-utils.el (mh-show-folder-map): Add binding for
4419         mh-index-new-messages.
4420         (mh-show-msg): Update the unseen sequence in the source folder.
4422         * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
4423         the end of buffer is reached when there isn't a valid scan line
4424         on the current line. This doesn't work in the index folder since
4425         we have lines containing the folder name and empty lines in
4426         between the actual scan lines. The modification removes this
4427         assumption.
4428         (mh-folder-map): Add key binding for "Fn"
4430         * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
4431         not at the beginning of the line, then the first message in the
4432         region would be missed. The fix avoids this.
4434         * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
4435         we don't have the right libraries.
4437 2003-03-10  Satyaki Das  <satyaki@theforce.stanford.edu>
4439         * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
4440         (mh-next-msg): Add optional argument wait-after-complaining-flag.
4441         If non-nil and there are no undeleted messages after (or before)
4442         the current one, then pause for a second after printing out the
4443         message.
4444         (mh-refile-or-write-again): Modify call to mh-next-msg to use the
4445         wait-after-complaining-flag.
4447 2003-03-10  Satyaki Das  <satyaki@theforce.stanford.edu>
4449         * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
4450         a message to go to it prints out a diagnostic, which overwrites
4451         the diagnostic about the folder the message was refiled to. The
4452         change fixes this.
4454 2003-03-09  Satyaki Das  <satyaki@theforce.stanford.edu>
4456         * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
4457         mh-narrowed-to-seq before notating sequences. This is a bit
4458         helpful for mh-tick.el.
4459         (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
4460         be notated -- the original code was doing the right thing only for
4461         the "unseen" sequence.
4463         * mh-index.el (mh-index-choose): Add autoload cookie for
4464         mh-index-choose. This is needed for GNU Emacs 20.5.
4466         * mh-loaddefs.el: Regenerated.
4468 2003-03-09  Bill Wohler  <wohler@newt.com>
4470         * mh-mime.el (mh-display-smileys): This function originally had a
4471         test to see if font-lock-maximum-size was bound, but this was
4472         recently removed. The test was put in for a reason; if
4473         font-lock-maximum-size isn't bound, void-variable errors would
4474         ensue. I put the bound test back in.
4476 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4478         * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
4479         in XEmacs as well.
4481 2003-03-07  Satyaki Das  <satyaki@theforce.stanford.edu>
4483         * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
4484         Emacs, so that we don't get so many compiler warnings. Also
4485         surround calls to set-specifier and toolbar-make-button-list with
4486         mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
4487         this file in the first place.
4489         * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
4490         mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
4491         (mh-xemacs-push-button): Removed.
4493         * mh-mime.el (mh-mime-button-map): Use the generalized
4494         mh-push-button function.
4495         (mh-push-button): Enhance it so that it works on XEmacs too.
4497 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4499         * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
4500         modeline image.
4501         (mh-modeline-glyph): Use it.
4503 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4505         * mh-xemacs-toolbar.el: New file that defines and displays a
4506         toolbar in XEmacs.
4508         * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
4510         * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
4512         * mh-customize.el (mh-toolbar):
4513         (mh-tool-bar-letter-buttons):
4514         (mh-tool-bar-letter-buttons-set):
4515         (mh-tool-bar-folder-buttons):
4516         (mh-tool-bar-folder-buttons-set):
4517         (mh-tool-bar-search-function):
4518         (mh-tool-bar-reply-3-buttons-flag):
4519         (mh-tool-bar-item-inc):
4520         (mh-tool-bar-item-save-mime):
4521         (mh-tool-bar-item-prev-msg):
4522         (mh-tool-bar-item-page-msg):
4523         (mh-tool-bar-item-next-msg):
4524         (mh-tool-bar-item-delete):
4525         (mh-tool-bar-item-refile):
4526         (mh-tool-bar-item-undo):
4527         (mh-tool-bar-item-perform):
4528         (mh-tool-bar-item-toggle-show):
4529         (mh-tool-bar-item-reply-from):
4530         (mh-tool-bar-item-reply-to):
4531         (mh-tool-bar-item-reply-all):
4532         (mh-tool-bar-item-reply):
4533         (mh-tool-bar-item-alias):
4534         (mh-tool-bar-item-compose):
4535         (mh-tool-bar-item-rescan):
4536         (mh-tool-bar-item-repack):
4537         (mh-tool-bar-item-search):
4538         (mh-tool-bar-item-visit):
4539         (mh-tool-bar-item-prefs):
4540         (mh-tool-bar-item-help):
4541         (mh-tool-bar-item-widen):
4542         (mh-tool-bar-item-send):
4543         (mh-tool-bar-item-attach):
4544         (mh-tool-bar-item-spell):
4545         (mh-tool-bar-item-save):
4546         (mh-tool-bar-item-undo-op):
4547         (mh-tool-bar-item-kill):
4548         (mh-tool-bar-item-copy):
4549         (mh-tool-bar-item-paste):
4550         (mh-tool-bar-item-kill-draft):
4551         (mh-tool-bar-item-comp-prefs):
4552         The MH-E toolbar for XEmacs is defined differently from the
4553         GNU/Emacs version, so only define these if we're in GNU/Emacs.
4554         XEmacs doesn't need to see them and it's always good to cut down
4555         on pollution.
4557 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4559         * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
4560         `mh-xemacs-push-button' in XEmacs.
4561         (mh-mime-security-button-map): Ditto.
4563         * mh-xemacs-compat.el: Shush the byte-compiler.
4564         (mh-xemacs-push-button): New function to make MIME buttons work in
4565         XEmacs.
4567 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4569         * mh-mime.el (mh-display-emphasis): Don't test
4570         `font-lock-maximum-size' to see if it is bound, just test for a
4571         non-nil value.  This variable can have a nil value which makes it
4572         bound and dividing nil by 8 throws an error.
4573         This fixes a bug in MH-E under XEmacs when
4574         `font-lock-maximum-size' is nil that prevented article emphasis
4575         and smiley display which in turn was causing the "Flush changes in
4576         article x y/n" errors.
4577         (mh-display-smileys): Ditto.
4579 2003-03-08  Steve Youngs  <youngs@xemacs.org>
4581         * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
4583         * mh-xemacs-compat.el (mh-modeline-glyph): New.  The MH-E modeline
4584         logo for XEmacs.
4586 2003-03-06  Satyaki Das  <satyaki@theforce.stanford.edu>
4588         * mh-utils.el (mh-allow-root-folder-flag): New global variable
4589         that decides if "+" is an acceptable folder name.
4590         (mh-folder-completion-function): Refine the test for existing
4591         folders to take mh-allow-root-folder-flag into account.
4592         (mh-folder-completing-read, mh-prompt-for-folder): Use the
4593         allow-root-folder-flag argument of mh-prompt-for-folder and add a
4594         similar argument to mh-folder-completing-read.
4595         (mh-exec-cmd-error): Make the function nicer by using
4596         process-environment to pass the environment variable assignments.
4598 2003-03-05  Satyaki Das  <satyaki@theforce.stanford.edu>
4600         * mh-mime.el (mh-push-button): Preserve point in the show buffer
4601         if the mouse is used to expand/contract a button.
4603         * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
4604         documentation.
4606         * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
4607         X-Image-URL header field.
4609 2003-03-04  Satyaki Das  <satyaki@theforce.stanford.edu>
4611         * mh-utils.el (mh-face-display-function): Modified to facilitate
4612         display of X-Image-URL images.
4613         (mh-find-path): Initialize X-Image-URL cache directory.
4614         (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
4615         (mh-x-image-scale-and-display, mh-x-image-url-display)
4616         (mh-x-image-display): New functions for X-Image-URL image display
4617         and cache management.
4619         * mh-customize.el (mh-show-use-xface-flag): Add info about
4620         requirements for X-Image-URL display.
4621         (mh-fetch-x-image-url): New customizable variable that controls
4622         fetching of X-Image-URL.
4624 2003-03-04  Satyaki Das  <satyaki@theforce.stanford.edu>
4626         * mh-utils.el (mh-make-local-hook): New macro which works around
4627         API changes in add-hook. Version of GNU Emacs before 21.1 and
4628         XEmacs require a call to make-local-hook and just the LOCAL
4629         argument of add-hook is not sufficient.
4630         (mh-show-mode): Make kill-buffer-hook buffer local.
4632         * mh-e.el (mh-folder-mode): Same as above.
4634         * mh-comp.el (mh-compose-and-send-mail): Same as above.
4636 2003-03-02  Satyaki Das  <satyaki@theforce.stanford.edu>
4638         * mh-mime.el (mh-push-button): Clicking on a MIME button used to
4639         cause the window with the show buffer to be selected. With this
4640         change the selected window doesn't change.
4642 2003-03-01  Satyaki Das  <satyaki@theforce.stanford.edu>
4644         * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
4645         When flists is called manually, or when an unseen message is read,
4646         mh-speed-partial-line was not reinitialized.
4648         * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
4649         the folder currently being visited (effectively doing a rescan)
4650         then mh-previous-window-config is erroneously set. The change
4651         fixes this.
4653         * mh-customize.el (mh-index-show-hook): Remove unused variable.
4655 2003-02-28  Satyaki Das  <satyaki@theforce.stanford.edu>
4657         * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
4658         only after the user has replied to question. This avoids premature
4659         clearing of the folder.
4660         (mh-rescan-folder, mh-visit-folder): Remove calls to
4661         mh-reset-threads-and-narrowing since it is now called in
4662         mh-scan-folder anyway.
4664         * mh-funcs.el (mh-sort-folder): Same as above.
4666 2003-02-26  Satyaki Das  <satyaki@theforce.stanford.edu>
4668         * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
4669         so that it is different from the empty list, which could also
4670         mean that there are no aliases.
4671         (mh-alias-reload-maybe): Change test so that empty alist of
4672         aliases is properly handled (closes SF #693859).
4674 2003-02-25  Satyaki Das  <satyaki@theforce.stanford.edu>
4676         * mh-mime.el (mh-decode-message-header): The message header could
4677         be encoded, for instance the author's name could contain
4678         characters not in ASCII. This function will decode such header
4679         fields.
4680         (mh-mm-inline-message): Use mh-decode-message-header.
4682         * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
4683         (mh-message-number-width): Use mh-scan-prog instead of "scan".
4685         * mh-loaddefs.el: Regenerated.
4687 2003-02-24  Satyaki Das  <satyaki@theforce.stanford.edu>
4689         * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
4690         function will do the right thing even if called from a buffer
4691         other than mh-log-buffer.
4693 2003-02-22  Peter S Galbraith  <psg@debian.org>
4695         * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
4696         This functions needs to strip brackets on standalone addresses as
4697         well.
4699 2003-02-21  Satyaki Das  <satyaki@theforce.stanford.edu>
4701         * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
4702         definition since it isn't used any more.
4704 2003-02-20  Peter S Galbraith  <psg@debian.org>
4706         * mh-alias.el (mh-alias-which-file-has-alias): Bug fix.  Needed to
4707         specify `noerror' on search.
4709         * mh-alias.el (mh-alias-suggest-alias): Add condition for input
4710         string being an email address in brackets.  We need to strip out
4711         the brackets. (closes SF #690216)
4713 2003-02-20  Satyaki Das  <satyaki@theforce.stanford.edu>
4715         * mh-pick.el (mh-search-folder): The function was setting the
4716         global value of the variables mh-current-folder and
4717         mh-previous-window-config. This can lead to problems in code which
4718         assumes that these variables are nil when we aren't in a folder
4719         buffer. So make the variables local before setting them.
4721 2003-02-19  Satyaki Das  <satyaki@theforce.stanford.edu>
4723         * mh-mime.el (mh-mime-display): All the MIME display code has been
4724         wrapped in a condition-case so that if something goes wrong, the
4725         raw message will be displayed.
4727         * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
4728         seems unnecessary.
4730         * mh-e.el (mh-scan-folder): Messages marked for deletion or
4731         refiling weren't getting annotated properly. The change fixes
4732         this.
4733         (mh-process-or-undo-commands): Change prompt to reflect what
4734         really happens in the code.
4736 2003-02-18  Satyaki Das  <satyaki@theforce.stanford.edu>
4738         * mh-comp.el (mh-folder-expand-at-point): The function
4739         mail-abbrev-complete-alias often returns nil. This had the
4740         unfortunate consequence of always causing an error. The change
4741         fixes this.
4743         * mh-alias.el (mh-alias-canonicalize-suggestion): New function
4744         which obviates the our need replace-regexp-in-string.
4745         (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
4746         eliminate calls to replace-regexp-in-string. This avoids problems
4747         in Emacs20.
4749         * mh-utils.el (mh-notate): Handle the case when nil is passed as
4750         notation gracefully.
4751         (mh-speed-flists-active-p): New function that returns non-nil if
4752         flists is being used in the speedbar to update message counts.
4754         * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
4755         impossible to add messages to the unseen sequence. Also adding
4756         messages to the unseen sequence will now update the speedbar
4757         message counts immediately.
4759         * mh-e.el (mh-get-new-mail, mh-process-commands)
4760         (mh-undefine-sequence): Update speedbar message counts, if the
4761         speedbar is active and is displaying message counts.
4762         (mh-delete-msg-from-seq): In addition to updating message counts,
4763         unhighlight the message so that interactively removing messages
4764         from the unseen sequence makes the bold highlight of unseen
4765         messages in the scan buffer go away.
4766         (mh-clear-text-properties): New function that removes all text
4767         properties from the current scan line.
4769 2003-02-15  Satyaki Das  <satyaki@theforce.stanford.edu>
4771         * mh-utils.el (mh-face-display-function): Wrap call of
4772         insert-image in mh-funcall-if-exists. This avoids a compiler
4773         warning in Emacs20.
4775         * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
4776         compiler warning in Emacs20.
4777         (mh-speedbar-change-expand-button-char): Wrap call of
4778         speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
4779         function isn't present in the speedbar that ships with Emacs20, so
4780         calling it there causes an error.
4782         * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
4783         compiler warning in XEmacs. The XEmacs compiler should be improved
4784         so that such spurious warnings from builtin macros are suppressed.
4786         * mh-index.el (mh-index-search): Same as above.
4788         * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
4789         too.
4791         * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
4792         will get it and then MH-E will just use it.
4793         (tool-bar-mode, tool-bar-map): These declarations are needed for
4794         Emacs20 too.
4795         (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
4796         Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
4797         can be used instead.
4799         * mh-alias.el (require): Avoid autoloading functions that may not
4800         be defined.
4801         (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
4802         mh-funcall-if-exists.
4804 2003-02-15  Satyaki Das  <satyaki@theforce.stanford.edu>
4806         * mh-loaddefs.el: Regenerated.
4808         * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
4809         (mh-speed-toggle): Reuse markers instead of creating more of them.
4810         (mh-speed-flists-folder, mh-speed-flists): Add optional folder
4811         argument to mh-speed-flists so that message counts are updated
4812         only for that one folder.
4813         (mh-speed-parse-flists-output): If no change in counts then avoid
4814         consing.
4816         * mh-index.el (mh-index-execute): Rewritten to use a temporary
4817         buffer that is not left behind.
4819         * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
4820         special purpose *Store Output* buffer.
4822 2003-02-14  Satyaki Das  <satyaki@theforce.stanford.edu>
4824         * mh-customize.el (mh-show-xface-face): Make it always be black
4825         foreground on a white background (the reverse of that can make
4826         some X-Face images look creepy).
4828         * mh-utils.el (mh-truncate-log-buffer): Modify the function to
4829         return the current size of mh-log-buffer. Also we are now a bit
4830         more careful in adding separators between consecutive messages.
4831         (mh-exec-cmd): Fix a bug where the the log buffer would be
4832         displayed even if no error happened in the current command but
4833         the log buffer had messages from a previous error.
4835         * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
4836         error messages.
4838         * mh-alias.el (mh-alias-local-users): Add a space between parens.
4840 2003-02-14  Steve Youngs  <youngs@xemacs.org>
4842         * mh-utils.el (mh-face-display-function): Call
4843         `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
4845         * mh-xemacs-compat.el (replace-regexp-in-string): New.
4847 2003-02-13  Satyaki Das  <satyaki@theforce.stanford.edu>
4849         * mh-utils.el (mh-log-buffer-lines): New variable that keeps
4850         track of the number of lines to keep in mh-log-buffer.
4851         (mh-truncate-log-buffer): New function that is used to make sure
4852         that the log buffer doesn't grow to unbounded size.
4853         (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
4854         mh-truncate-log-buffer instead of erase-buffer to keep some
4855         number of previous log messages around (closes SF #685476).
4857 2003-02-13  Satyaki Das  <satyaki@theforce.stanford.edu>
4859         * mh-e.el (tool-bar-mode): Declare it in XEmacs.
4860         (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
4862         * mh-utils.el (mh-funcall-if-exists): New macro that calls a
4863         function only if it exists.
4864         (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
4865         to call the functions find-image and deactivate-mark.
4867         * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
4868         (mh-mm-display-part): Use mh-funcall-if-exists to call the
4869         functions image-size and remove-images.
4871         * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
4872         in XEmacs.
4873         (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
4874         mail-abbrev-complete-alias if it exists.
4876         * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
4877         future extensibility.
4879 2003-02-13  Satyaki Das  <satyaki@theforce.stanford.edu>
4881         * mh-utils.el (mh-logo-display): The function find-image is
4882         present only in GNU Emacs.
4883         (mh-defun-show-buffer): The function deactivate-mark is present
4884         only in GNU Emacs.
4885         (default-enable-multibyte-characters): Declare it in XEmacs to
4886         avoid compiler warning.
4887         (mh-face-display-function): Avoid inserting space if there isn't
4888         any Face or X-Face header field to display.
4890         * mh-seq.el (mh-thread-last-ancestor): Move declaration of
4891         variable before its first use to silence XEmacs warning.
4893         * mh-mime.el (default-enable-multibyte-characters, dots, type):
4894         Declare these in XEmacs to remove compiler warnings in XEmacs.
4895         (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
4896         GNU Emacs.
4897         (mh-small-image-p): Call image-size only in GNU Emacs.
4899         * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
4900         was missing.
4901         (mh-swish++-regexp-builder): Remove the unused binding meta.
4903         * mh-e.el (mh-folder-size): Pass on an extra value to remove
4904         XEmacs warning.
4905         (mh-folder-mode): Surround calls to hl-line-mode and
4906         tool-bar-mode with mh-do-in-gnu-emacs since these functions
4907         aren't present in XEmacs.
4909         * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
4910         (mh-tool-bar-folder-set): These functions call tool-bar-*
4911         functions which are present only in GNU Emacs. So surround them
4912         with mh-do-in-gnu-emacs.
4914         * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
4915         call these functions in GNU Emacs.
4916         (mail-abbrevs): Declare it in XEmacs.
4918         * mh-alias.el (mh-read-address): Call completing-read-multiple
4919         only in GNU Emacs.
4920         (mail-abbrevs): Declare it in XEmacs.
4921         (mh-alias-add-alias-to-file): Remove unused code.
4923 2003-02-14  Ville Skyttä  <scop@xemacs.org>
4925         * mh-comp.el: Add autoloaded auto-mode-alist association.
4927 2003-02-13  Satyaki Das  <satyaki@theforce.stanford.edu>
4929         * mh-utils.el (mh-face-display-function): Make the XEmacs part a
4930         little simpler.
4932 2003-02-14  Steve Youngs  <youngs@xemacs.org>
4934         * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
4935         ':inherit' keyword for defface, rewrite with sane defaults.
4937         * mh-utils.el (mh-face-display-function): Fix bug that was
4938         corrupting xface images when displayed with XEmacs' internal
4939         xface image support.  Also make XEmacs honour 'mh-show-xface-face'
4940         when using internal xface image support.
4942 2003-02-12  Peter S Galbraith  <psg@debian.org>
4944         * mh-comp.el (mh-modify-header-field): New function. To header
4945         FIELD add VALUE.  If OVERWRITE-FLAG is non-nil then the old value,
4946         if present, is discarded.  This is more flexible than before.
4947         (mh-insert-auto-fields): Use it.  This and the new function are a
4948         courtesy of Satyaki.  Thanks!
4950         * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
4951         Bill.
4953 2003-02-12  Satyaki Das  <satyaki@theforce.stanford.edu>
4955         * mh-comp.el (mh-folder-expand-at-point): Tweak the error
4956         message. Completion in the Fcc header field is only supported in
4957         GNU Emacs 21.
4959 2003-02-12  Peter S Galbraith  <psg@debian.org>
4961         * mh-customize.el (mh-auto-fields-list): Reorder after
4962         `mh-identity-list' since it needs it to be defined.  Move to
4963         mh-identity customization group.
4965 2003-02-11  Peter S Galbraith  <psg@debian.org>
4967         * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
4968         Obsolete.
4969         (mh-insert-mail-followup-to-list): Removed.  Obsolete.  Use
4970         `mh-auto-fields-list' instead, which is a more general solution.
4971         (mh-auto-fields-list): New defcustom.  Alist of addresses for
4972         which header lines are automatically inserted.  Replaces
4973         `mh-insert-mail-followup-to-list'.
4975         * mh-comp.el (mh-insert-mail-followup-to): Removed.  Obsolete.
4976         (mh-insert-auto-fields): New function. Insert custom fields if To
4977         or Cc match `mh-auto-fields-list', replacing
4978         mh-insert-mail-followup-to with a more general solution.
4979         (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
4980         mh-insert-mail-followup-to.  Also don't call mh-insert-identity to
4981         insert default setting if mh-insert-auto-fields inserted an
4982         identity.
4984 2003-02-11  Satyaki Das  <satyaki@theforce.stanford.edu>
4986         * mh-utils.el (mh-show-xface-function): Try to load the external
4987         x-face library only if XEmacs doesn't have xface support.
4988         (mh-face-display-function): Renamed. Also handle various
4989         permutations of x-face and xface support in XEmacs better.
4991         * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
4992         major version is greater than or equal to 21 supports display of
4993         X-Face and Face header fields.
4995 2003-02-11  Satyaki Das  <satyaki@theforce.stanford.edu>
4997         * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
4998         execute code only in GNU Emacs and XEmacs respectively.
4999         (mh-emacs21-face-display-function): Refactor to make it slightly
5000         nicer. Get rid of compiler warnings in GNU Emacs by using the
5001         above macros. Also check for presence of xface feature (in XEmacs
5002         specific code) before trying to display X-Face header field image.
5004 2003-02-11  Steve Youngs  <youngs@xemacs.org>
5006         * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
5007         can't find the external x-face pkg still enable X-Face images if
5008         feature 'xface is present.
5009         Update the doc string.
5011         * mh-utils.el (mh-emacs21-face-display-function): Make it work in
5012         XEmacs.
5013         (mh-show-xface-function): If using XEmacs without xface support,
5014         use x-face.el pkg.  If using XEmacs with xface support, or Emacs
5015         21, use mh-emacs21-face-display-function.
5017 2003-02-11  Mark D. Baushke  <mdb@gnu.org>
5019         * mh-customize.el (mh-invisible-header-fields): Add
5020         "X-Notes-Item:" which is generated by Lotus Notes Domino. See
5021         URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
5022         /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
5023         ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
5024         users may disable (restore the default) generation of these headers.
5026 2003-02-10  Satyaki Das  <satyaki@theforce.stanford.edu>
5028         * mh-comp.el (mh-folder-expand-at-point): Add function doc string
5029         and produce a nicer error message for Emacs versions that lack
5030         mail-abbrev-complete-alias.
5032         * mh-utils.el (mh-handle-process-error): Check doc fix.
5034         * mh-e.el (mh-folder-from-address): Same as above.
5036 2003-02-10  Peter S Galbraith  <psg@debian.org>
5038         * mh-comp.el: require mailabbrev, except in XEmacs.
5039         (mh-mail-abbrev-make-syntax-table): New defmacro to call
5040         mail-abbrev-make-syntax-table introduced in Emacs21.
5041         (mh-folder-expand-at-point): Handle nested folders.
5042         All of the above was written by Satyaki.  I just applied the patch
5043         and tested.
5045 2003-02-09  Satyaki Das  <satyaki@theforce.stanford.edu>
5047         * mh-comp.el: Fixes to keep the byte compiler happy.
5049         * mh-customize.el (mh-invisible-header-fields): Modified to
5050         remove space after ":" in header field names.
5052 2003-02-09  Peter S Galbraith  <psg@mixed.dyndns.org>
5054         * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
5055         (mh-folder-expand-at-point): Do completion at point for folder
5056         name.  Like `mh-alias-letter-expand-alias' for aliases, it doesn't
5057         work on XEmacs because it relies on `mail-abbrev-complete-alias'
5058         to do completion.  Maybe Steve could update XEmacs' mailabbrev.el?
5060 2003-02-09  Peter S Galbraith  <psg@debian.org>
5062         * mh-customize.el (mh-invisible-header-fields): Remove trailing
5063         space in "X-Face: " and "Face: " entries since those line often
5064         break there.
5066 2003-02-08  Satyaki Das  <satyaki@theforce.stanford.edu>
5068         * mh-utils.el (mh-emacs21-face-display-function): Use
5069         mh-show-xface-face to colorize X-Face image.
5071         * mh-customize.el (mh-invisible-header-fields): Add extra headers
5072         to ignore.
5073         (mh-show-xface-face): Allow customization of the X-Face colors.
5075 2003-02-07  Satyaki Das  <satyaki@theforce.stanford.edu>
5077         * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
5078         the path of the uncompface executable so that we don't need to
5079         search for it every time.
5080         (mh-emacs21-face-display-function): If more than one X-Face (or
5081         Face) header field was present then the fields would get
5082         concatenated, leading to garbled output. The change only displays
5083         the first image.
5085         * mh-customize.el (mh-x-face-file): Change documentation since it
5086         can now be used to insert a Face header field.
5088         * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
5089         of Face header field.
5091 2003-02-06  Bill Wohler  <wohler@newt.com>
5093         * mh-utils.el (mh-emacs21-face-display-function): Updated
5094         docstring. It is a common mistake to refer to a header field as a
5095         header. The term header refers to the entire header while the term
5096         header field refers to a single field.
5098         * mh-customize.el (mh-show-use-xface-flag): Ditto.
5100 2003-02-06  Satyaki Das  <satyaki@theforce.stanford.edu>
5102         * mh-utils.el (mh-show-xface-function): Modified to use
5103         mh-emacs21-face-display-function if we are running GNU Emacs 21.
5104         (mh-face-to-png): New function to convert a Face header to a png
5105         image.
5106         (mh-uncompface): New function which converts an X-Face header to
5107         a pbm image.
5108         (mh-icontopbm): New function that does the job of icontopbm.
5109         (mh-emacs21-face-display-function): New function that displays
5110         Face/X-Face image in GNU Emacs 21.
5111         (mh-show-xface): Modified to test if we are running in X.
5112         Otherwise face display is suppressed.
5114         * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
5115         MH-E supports face display natively on Emacs 21. Also remove the
5116         check for window-system since it doesn't belong in a customizable
5117         variable.
5119 2003-02-06  Satyaki Das  <satyaki@theforce.stanford.edu>
5121         * mh-utils.el (sendmail): Require it so that XEmacs can find
5122         rfc822-goto-eoh.
5123         (mh-mail-header-end): A substitute for mail-header-end that
5124         doesn't widen the buffer. This is essential to avoid problems when
5125         dealing with nested messages.
5126         (mh-in-header-p, mh-letter-header-font-lock)
5127         (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
5128         (mh-show-unquote-From): Use mh-mail-header-end instead of
5129         mail-header-end.
5131         * mh-mime.el (mh-decode-message-body): same as above (closes SF
5132         #681518).
5134         * mh-comp.el (mh-yank-cur-msg): same as above.
5136 2003-02-05  Satyaki Das  <satyaki@theforce.stanford.edu>
5138         * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
5139         headers are cleaned. This means that any surviving X-Face header
5140         can be removed unconditionally in mh-clean-msg-header.
5141         (mh-clean-msg-header): Since the function is now called with a
5142         read-only buffer, make the buffer temporarily writable.
5144         * mh-mime.el (mh-mm-inline-message): Do X-Face display before
5145         invisible headers are removed.
5147         * mh-customize.el (mh-invisible-headers): Simplified since the
5148         X-Face header isn't treated specially any more.
5149         (mh-invisible-header-fields): Add Face: and X-Face: to list of
5150         invisible headers.
5152         * mh-mime.el (mh-mime-display): If body is empty the headers would
5153         be treated like the body. The change fixes this (closes SF #681162).
5154         (mh-mime-display): This change really fixes the above problem.
5156 2003-02-04  Satyaki Das  <satyaki@theforce.stanford.edu>
5158         * mh-utils.el (mh-current-folder-name): Global variable that
5159         keeps track of current folder.
5160         (mh-normalize-folder-name): Substitute @ with
5161         mh-current-folder-name (closes SF #666774).
5162         (mh-prompt-for-folder): Bind mh-current-folder-name. Also
5163         invalidate cache if we are visiting a folder that wasn't found in
5164         the sub-folder cache. This is an indication that folders may have
5165         been created outside of MH-E and so the cache may be stale.
5167 2003-02-03  Satyaki Das  <satyaki@theforce.stanford.edu>
5169         * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
5170         (mh-display-msg): Remove the use of the above function.
5171         (mh-normalize-folder-name): Leading "/" characters were being
5172         lost. The change fixes this (closes SF #676890).
5174         * mh-mime.el (mh-decode-message-body): New function, factored out
5175         from mh-mime-display and enhanced, to decode message based on
5176         charset and content-transfer-encoding. This eliminates the need
5177         for the external mimencode (closes SF #674857).
5178         (mh-mime-display): Use mh-decode-message-body.
5180         * mh-e.el (mh-header-display): Don't need the binding since the
5181         variable isn't present any more.
5182         (mh-inc-folder): Avoid calling mh-show if point is not on a valid
5183         scan line (closes SF #678115).
5185         * mh-customize.el
5186         (mh-decode-content-transfer-encoded-message-flag): Removed.
5188 2003-02-03  Bill Wohler  <wohler@newt.com>
5190         * import-emacs: MH-E now has its own directory in Emacs.
5192         * mh-e.el: (mh-version): Set to 7.2+cvs.
5194 2003-02-03  Bill Wohler  <wohler@newt.com>
5196         Released MH-E version 7.2.
5198         * MH-E-NEWS, README: Updated for release 7.2.
5200         * mh-e.el (Version, mh-version): Updated for release 7.2.
5202 2003-02-03  Bill Wohler  <wohler@newt.com>
5204         * Makefile (dist): mkdir needs to happen *before* files are
5205         copied.
5207         * MH-E-NEWS: Fixed some awkward verbiage.
5209 2003-02-02  Bill Wohler  <wohler@newt.com>
5211         * mh-customize.el (mh-invisible-headers): Surround regexp-opt
5212         expression in parens to avoid problems viewing certain messages.
5214 2003-01-30  Satyaki Das  <satyaki@theforce.stanford.edu>
5216         * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
5217         The original was inadvertently searching for flists in the user's
5218         path.
5220 2003-01-27  Bill Wohler  <wohler@newt.com>
5222         * mh-customize.el (mh-default-folder-must-exist-flag): Changed
5223         default to t according to the principle of least surprise.
5225 2003-01-26  Bill Wohler  <wohler@newt.com>
5227         * mh-utils.el: Checkdoc fixes.
5229         * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
5231         * mh-loaddefs.el: Regenerated (lm-verify fixes).
5233         * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
5235         * mh-alias.el: lm-verify fix.
5237         * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
5238         lisp/mh-e directory.
5239         (MH-E-ETC-ETC): Removed ChangeLog.
5240         (dist): Moved creation of mail directory next to copy of files
5241         into mail directory.
5242         (install-emacs): Copy $(MH-E-SRC) into new directory
5243         $(EMACS_HOME/lisp/mh-e.
5244         (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
5245         include MH-E-LOADDEFS there too.
5246         (mh-loaddefs.el): Added lines so that lm-verify passes.
5247         (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
5249 2003-01-26  Jeffrey C Honig  <jch@honig.net>
5251         * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
5252         Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
5254 2003-01-25  Jeffrey C Honig  <jch@honig.net>
5256         * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
5257         (mh-process-daemon): Use mh-log-buffer for the output of commands
5258         from mh-exec-cmd.
5260         * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
5261         loose the -temp from their buffer names as they are interesting to
5262         the user.
5264         * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
5265         it is intended to be interesting to the user.
5267         * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
5268         is intended to be interesting to the user.
5270         * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
5271         mh-recipients-buffer constant.  Add a kill buffer hook to delete
5272         the recipients buffer when a draft buffer is killed.
5274 2003-01-25  Satyaki Das  <satyaki@theforce.stanford.edu>
5276         * mh-customize.el (mh-customize): New interactive argument
5277         deletes other windows.
5278         (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5279         (mh-tool-bar-folder-set): Modified so that clicking the customize
5280         and help buttons deletes the other windows in the frame.
5282         * mh-mime.el (mh-mm-inline-message): Remove unused code.
5284         * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
5285         the wrong notation was being used.
5286         (mh-toggle-threads): The function had a bug if you did the
5287         following starting from an unthreaded wide folder:
5288           (1) Create a sequence with S p
5289           (2) Narrow to new sequence with S n
5290           (3) Thread narrowed folder with T t
5291           (4) Kill sequence with S k
5292           (5) Unthread narrowed folder with T t
5293         At this point we would have an empty folder. The change fixes
5294         this.
5295         (mh-toggle-threads): Fix documentation.
5297         * mh-customize.el (mh-invisible-header-fields): Add
5298         X-MHE-Checksum to invisible headers.
5300         * mh-comp.el (mh-insert-x-mailer): Slightly more informative
5301         X-Mailer header.
5303 2003-01-24  Satyaki Das  <satyaki@theforce.stanford.edu>
5305         * mh-e.el (mh-header-display): Modified so that quoted-printable
5306         or base64 encoded messages are left untouched.
5308         * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
5309         the Content-Transfer-Encoding header so that the MIME decoding
5310         routines of Gnus doesn't get confused.
5311         (mh-display-msg): Use insert-file-contents-literally so that
5312         display will work for non-ascii.
5314         * mh-mime.el (mh-mime-display): Use charset info to decode
5315         message file (closes SF #655123).
5317 2003-01-24  Bill Wohler  <wohler@newt.com>
5319         * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
5320         error message and added parens around error function.
5322 2003-01-24  Satyaki Das  <satyaki@theforce.stanford.edu>
5324         * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
5325         (mh-decode-content-transfer-encoded-message-flag): This replaces
5326         mh-decode-quoted-printable-flag.
5328         * mh-utils.el (mh-decode-content-transfer-encoded-message): New
5329         function which handles messages that are encoded as base64 or
5330         quoted-printable (closes SF #674190).
5331         (mh-decode-quoted-printable): Removed.
5332         (mh-display-msg): Use mh-decode-content-transfer-encoded-message
5333         instead of mh-decode-quoted-printable.
5335 2003-01-23  Satyaki Das  <satyaki@theforce.stanford.edu>
5337         * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
5338         that would occasionally cause angles ('<' and '>') to appear at
5339         root level.
5341 2003-01-21  Satyaki Das  <satyaki@theforce.stanford.edu>
5343         * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
5344         mode too.
5346         * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
5347         that a '>' is displayed in text mode.
5349 2003-01-20  Satyaki Das  <satyaki@theforce.stanford.edu>
5351         * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
5352         so that a space is always maintained in the beginning of the scan
5353         line.
5355         * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
5356         faster by cutting down on the use of mh-goto-msg.
5357         (mh-toggle-threads): Add call to mh-notate-cur, since inserting
5358         the folder names in a search results folder screws up the
5359         location of the overlay arrow.
5361         * mh-index.el (mh-index-delete-folder-headers): Position the
5362         point on a message line if possible.
5364         * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
5365         function faster.
5367         * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
5369         * mh-loaddefs.el: Regenerated.
5371         * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
5372         suppresses the annotation of the sequence since it is
5373         inefficient.
5375         * mh-seq.el (mh-delete-seq): Speed up the part of the function
5376         that removes the sequence notation.
5377         (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
5378         mh-iterate-on-messages-in-region to make the function fasters when
5379         operating on regions. The key idea is to loop over the folder
5380         buffer exactly once and do all annotations. The existing algo
5381         would walk over the buffer multiple times thereby slowing things
5382         down.
5383         (mh-iterate-on-messages-in-region): Added an extra parameter which
5384         is bound to the message index as the loop is executed.
5385         (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
5386         the new mh-iterate-on-messages-in-region macro.
5388         * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
5389         as above.
5390         (mh-notate-user-sequences): Change algorithm to make notating of
5391         user sequences fast.
5393 2003-01-19  Satyaki Das  <satyaki@theforce.stanford.edu>
5395         * mh-logo.xpm: New image file that contains the MH-E logo.
5396         Change foreground color to the blue in the MH-E logo.
5398         * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
5400         * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
5401         keep space in the beginning for the logo.
5402         (mh-logo-cache): New variable that caches the logo image file
5403         location.
5404         (mh-logo-display): Display the MH-E logo on the mode line.
5405         (mh-display-msg): Display logo in mh-show-mode.
5407         * mh-e.el (mh-make-folder-mode-line): Display logo in
5408         mh-folder-mode.
5410         * mh-comp.el (mh-compose-and-send-mail): Display logo in
5411         mh-letter-mode.
5413         * mh-loaddefs.el: Regenerated.
5415         * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
5416         iterate on all messages in a region.
5417         (mh-region-to-msg-list): Simplified since it uses
5418         mh-iterate-on-messages-in-region now.
5420         * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
5421         to pass the region that is to be deleted when appropriate.
5422         (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
5423         regions directly without creating the list of messages to be
5424         deleted/refiled.
5425         (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
5426         parameter in these functions can now be nil. If so, the current
5427         message is deleted, refiled or undone respectively. Avoids the
5428         use of mh-goto-msg in this case and speeds up operations on
5429         regions quite a bit.
5431 2003-01-19  Peter S Galbraith  <psg@debian.org>
5433         * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
5434         it would always prompt using "To: " instead of using the command
5435         argument (closes SF #670913).
5437 2003-01-19  Satyaki Das  <satyaki@theforce.stanford.edu>
5439         * mh-utils.el (mh-folder-completion-function): If there is a
5440         +foo/bar folder and the user types foo//bar then the completion
5441         function would say a match happened without showing the
5442         normalized folder name. This change fixes that.
5444 2003-01-18  Satyaki Das  <satyaki@theforce.stanford.edu>
5446         * mh-e.el (mh-rmail): Modified so that new and unseen messages
5447         are shown (closes SF #667542).
5449 2003-01-17  Satyaki Das  <satyaki@theforce.stanford.edu>
5451         * mh-index.el (mh-index-generate-pretty-name): Generate nicer
5452         names. In particular all '-' characters are removed.
5454 2003-01-16  Satyaki Das  <satyaki@theforce.stanford.edu>
5456         * mh-customize.el (mh-index-program): Documentation fix.
5458         * mh-loaddefs.el: Regenerated.
5460         * mh-customize.el (mh-index-program): Add choices for mairix and
5461         pick.
5463         * mh-index.el (mh-indexer-choices): Add search interfaces for
5464         mairix and pick.
5465         (mh-index-search): Add links for mairix and pick.
5466         (mh-index-pick-folder, mh-pick-binary): Variables needed to
5467         implement pick support.
5468         (mh-pick-execute-search, mh-pick-next-result): New functions to
5469         implement pick support.
5470         (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
5471         variables for mairix support.
5472         (mh-mairix-execute-search, mh-mairix-next-result)
5473         (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
5474         functions for mairix.
5476         * mh-funcs.el (mh-kill-folder): Move message to the end.
5478         * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
5479         overlay-arrow-string local variables so that the arrow will
5480         remain even if some other folder is visited.
5481         (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
5482         required any more since overlay-arrow-position is local.
5483         (mh-goto-cur-msg): Remove overlay arrow if current message
5484         doesn't exist.
5486         * mh-seq.el (mh-notate-cur): Don't need to set
5487         overlay-arrow-string any more since it is local and has been set
5488         at initialization.
5490 2003-01-15  Satyaki Das  <satyaki@theforce.stanford.edu>
5492         * mh-speed.el (mh-speed-current-folder): Keep track of current
5493         folder when flists is called.
5494         (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
5495         ambiguity when folders are present with + at the end of the name.
5496         Unfortunately it can't always be avoided.
5498         * mh-e.el (mh-folder-size): Remove the unnecessary error check.
5499         (mh-parse-flist-output-line): Add extra argument which
5500         occasionally avoid problems with folder names that end with '+'.
5502         * mh-utils.el (mh-sub-folders-actual): Fix the folder name
5503         parsing so that it doesn't get confused by trailing '+' chars in
5504         the folder name.
5506 2003-01-14  Satyaki Das  <satyaki@theforce.stanford.edu>
5508         * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
5509         now handle ".." and "." correctly during folder name completion.
5510         (mh-normalize-folder-name): Avoid error in boundary condition
5511         where the folder string is empty.
5513 2003-01-14  Mark D. Baushke  <mdb@gnu.org>
5515         * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
5516         the `mh-read-msg-range' function as the optional
5517         always-prompt-flag.
5519 2003-01-14  Satyaki Das  <satyaki@theforce.stanford.edu>
5521         * mh-utils.el (mh-normalize-folder-name): New function that
5522         normalizes folder names.
5523         (mh-sub-folders): Use mh-normalize-folder-name. Also the function
5524         has been modified so that a trailing slash is only added if the
5525         folder potentially has subfolders.
5526         (mh-sub-folders-actual): Simplified since the folder has already
5527         been normalized in mh-sub-folders.
5528         (mh-remove-from-sub-folders-cache): Modified so that the cached
5529         results of two of the folders ancestors are invalidated.
5530         (mh-folder-completion-map): Ugly hack to make the error go away
5531         when minibuffer-complete-word is called.
5532         (mh-folder-completion-function): The completion function will now
5533         be more selective in adding '/' at the end of completed folder
5534         names.
5535         (mh-folder-completing-read): The folder name is normalized before
5536         return. The minibuffer-local-completion-map is shadowed to avoid
5537         error with SPC (bound to minibuffer-complete-word). We really
5538         need a better solution.
5540 2003-01-13  Bill Wohler  <wohler@newt.com>
5542         * mh-seq.el: Edited comment and docstring text to conform with RFC
5543         2822 terminology. Message-ID is the header field. It contains a
5544         message identifier.
5546 2003-01-13  Satyaki Das  <satyaki@theforce.stanford.edu>
5548         * mh-utils.el (mh-sub-folders): Add an argument that returns
5549         sub-folders with a / character appended at the end.
5550         (mh-folder-completion-function): Modify the function so that one
5551         tab is now sufficient to complete the folder name and add a
5552         trailing /.
5553         (mh-folder-completing-read): Remove the trailing / that the
5554         completion function now adds to the folder name. Also multiple /
5555         characters in the folder input are removed. So if the user inputs
5556         +foo///bar//baz///// then that will be converted to +foo/bar/baz.
5557         This will improve the performance of caching.
5559         * mh-seq.el (mh-notate-cur): Check that a valid current message
5560         exists before trying to notate (closes SF #667331).
5561         (mh-message-id-regexp): New variable to store regexp to recognize
5562         message-ids.
5563         (mh-thread-generate): Use mh-message-id-regexp to filter out non
5564         message-id's from the References: header.
5566 2003-01-12  Satyaki Das  <satyaki@theforce.stanford.edu>
5568         * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
5569         aren't on a graphic display.
5571 2003-01-11  Satyaki Das  <satyaki@theforce.stanford.edu>
5573         * mh-seq.el (mh-notate-cur): New function to notate the current
5574         message. The marker in the fringe is updated too.
5575         (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
5576         the specialized function mh-notate-cur instead of mh-notate-seq.
5578         * mh-e.el (mh-arrow-marker): New buffer local variable to store
5579         the position where the marker in the fringe is going to be
5580         displayed (closes SF #664824).
5581         (mh-folder-mode): Create a marker for the fringe.
5582         (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
5583         specialized function mh-notate-cur instead of mh-notate-seq or
5584         mh-notate.
5585         (mh-remove-cur-notation, mh-remove-all-notation): Reset the
5586         overlay-arrow-position if needed.
5588         * mh-loaddefs.el: Regenerated.
5590 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
5592         * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
5593         creating nested folders doesn't produce inconsistent results.
5594         (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
5596         * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
5597         called on a folder holding index search results. Also the now
5598         removed mh-folder-list-change-hook is called no more.
5600         * mh-customize.el (mh-auto-folder-collect-flag)
5601         (mh-folder-list-change-hook): Removed.
5603         * mh-loaddefs.el: Regenerated.
5605 2003-01-10  Bill Wohler  <wohler@newt.com>
5607         * mh-customize.el (mh-default-folder-must-exist-flag): New
5608         variable to suppress suggested folder if the folder doesn't
5609         already exist (closes SF #657096).
5610         (mh-default-folder-list): New variable that
5611         holds mapping between an address and the desired folder for
5612         filing (closes SF #657096).
5613         (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
5614         docstring, refer to documentation for mh-prompt-for-refile-folder
5615         and mh-folder-from-address.
5616         (mh-highlight-citation-p, mh-compose-insertion,
5617         (mh-insert-mail-followup-to-list, mh-index-program,
5618         (mh-identity-default): Fixed case of tags.
5620         * mh-e.el (mh-folder-from-address): Use new variable
5621         mh-default-folder-must-exist-flag to return nil if this variable
5622         is t and the folder doesn't already exist. In addition, can now
5623         look up a default folder in the new variable
5624         mh-default-folder-list (closes SF #657096).
5625         (mh-prompt-for-refile-folder): In docstring, refer to
5626         documentation in mh-folder-from-address.
5628         * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
5629         the FileRules filename in the sample config file. Otherwise, the
5630         users don't see the backslash at all, and no files are indexed!
5631         (closes SF #665888).
5633 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
5635         * mh-seq.el (mh-thread-folder): Get headers for exactly the
5636         messages that are present. If only messages 1-10 and 3800-3900
5637         are being shown then we will now scan exactly those messages and
5638         not the full range from 1-3900 as was being done earlier.
5639         (mh-toggle-threads): When converting from threaded to normal view
5640         only the messages present in the buffer are scanned. Earlier all
5641         messages from the minimum to the maximum would be scanned (closes
5642         SF #626117).
5644         * mh-pick.el (mh-search-folder): Fix typo.
5645         (mh-pick-do-search): Fix bug from cut and paste. Also set window
5646         config properly.
5648         * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
5649         it to accept + as a folder name. This allows the user to search
5650         all folders when "Fs" is used.
5652         * mh-pick.el (mh-search-folder): Fix interactive spec of function.
5653         (mh-pick-do-search): Rewritten to call pick in one go. This will
5654         make adding pick as a default index search program easier. Also
5655         pick now accepts the same query syntax as the index search
5656         programs (closes SF #664816).
5657         (mh-next-pick-field): Removed.
5658         (mh-pick-parse-search-buffer): New function to parse the search
5659         buffer.
5660         (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
5661         to produce a pick query from the parsed representation.
5663         * mh-index.el (mh-index-do-search): Refactor the search pattern
5664         parser into a new function and use that instead.
5666         * mh-loaddefs.el: Regenerated.
5668 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
5670         * mh-loaddefs.el: Regenerated.
5672         * mh-utils.el (mh-remove-from-sub-folders-cache)
5673         (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
5674         mh-remove-from-sub-folders-cache.
5675         (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
5677         * mh-pick.el (mh-searching-function): New buffer local variable
5678         that keeps track of the default searching function to be used.
5679         (mh-pick-mode): Make mh-searching-function buffer local.
5680         (mh-search-folder): Set mh-searching-function to use pick.
5681         (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
5682         (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
5683         mh-do-pick-search to mh-pick-do-search. But keep
5684         mh-do-pick-search as a deprecated function.
5685         (mh-do-search): New interactive function that performs the
5686         default search.
5687         (mh-pick-mode-map): Update keymap.
5689         * mh-index.el (mh-index-search): Set mh-searching-function to do
5690         index search.
5691         (mh-index-new-folder): Replace mh-update-sub-folders-cache with
5692         mh-remover-from-sub-folders-cache.
5694         * mh-funcs.el (mh-kill-folder): Same as above.
5696         * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
5697         Checkdoc fixes.
5699         * mh-customize.el: Fixes to make byte compiler in CVS Emacs
5700         perfectly happy.
5702 2003-01-09  Bill Wohler  <wohler@newt.com>
5704         * mh-e.el (mh-folder-from-address): New function that proposes the
5705         name of a folder with an alias for the address in the current message.
5706         (mh-prompt-for-refile-folder): Use it (closes SF #657096).
5708         * mh-customize.el (mh-default-folder-prefix): New variable used by
5709         mh-folder-from-address.
5710         (mh-invisible-header-fields): Edited docstring.
5712         * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
5713         cookie (used by mh-folder-from-address in mh-e.el). Edited text in
5714         comment.
5716         * mh-utils.el: Provided naming conventions for buffer and buffer
5717         variable names.
5718         (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
5719         (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
5720         (mh-info-buffer): Renamed from mh-temp-info-buffer.
5721         (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
5722         buffer which is expected to be used for the output of MH commands.
5723         Perhaps we always create this buffer at initialization and append
5724         to it rather than erase it each time?
5726         * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
5727         temporary and working buffers. As long as the buffer naming
5728         conventions are followed, new buffers will be automatically
5729         killed.
5730         (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
5732         * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
5733         mh-info-buffer.
5735 2003-01-09  Satyaki Das  <satyaki@theforce.stanford.edu>
5737         * mh-e.el (mh-folder-size): If the user doesn't have a
5738         Unseen-Sequence definition in .mh_profile then an error was
5739         produced. This change fixes that.
5741         * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
5742         with a temporary buffer which is cleaned up when the function
5743         exits.
5745         * mh-e.el (mh-prompt-for-refile-folder): New function which
5746         refactors out the intelligent folder guessing code from
5747         mh-refile-msg.
5748         (mh-refile-msg): Use mh-prompt-for-refile-folder.
5750         * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
5751         do the same intelligent destination folder guessing as
5752         mh-refile-msg (closes SF #664829).
5754         * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
5755         (mh-folder-list-temp, mh-folder-list-partial-line)
5756         (mh-set-folder-list): Removed.
5757         (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
5758         Moved over from mh-speed.el to implement hierarchical completion.
5759         (mh-update-sub-folders-cache): Utility function called when
5760         new folders are created or folders are removed.
5761         (mh-folder-completion-function): New function is the folder name
5762         completion function used in completing-read.
5763         (mh-folder-completing-read): A thin wrapper function that is used
5764         instead of completing-read directly. In the future we might want
5765         to allow the user a customizable variable which will turn off
5766         folders based completion.
5767         (mh-prompt-for-folder): Use mh-folder-completing-read to read in
5768         the folder name with hierachical completion (closes SF #664821).
5770         * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
5771         (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
5772         mh-sub-folders-cache and mh-sub-folders-actual respectively.
5773         (mh-speed-invalidate-map, mh-speed-invalidate-map)
5774         (mh-speed-add-folder): Use the new names.
5776         * mh-funcs.el (mh-kill-folder): Remove code that used to update
5777         mh-folder-list which is no longer present. Instead
5778         mh-update-sub-folders-cache is called.
5780         * mh-index.el (mh-index-new-folder): Same as above.
5782 2003-01-08  Satyaki Das  <satyaki@theforce.stanford.edu>
5784         * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
5785         controls what is done with the process output.
5787         * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
5788         restore window configuration. Also the call to mh-exec-cmd-daemon
5789         only displays output if an error happened (closes SF #664828).
5790         (mh-rmf-daemon): Check rmf output and display it only if
5791         something went wrong.
5792         (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
5794         * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
5795         argument to mh-exec-cmd-daemon so that the functions will behave
5796         as before.
5798         * mh-pick.el (mh-search-folder): The current window config is
5799         stored.
5800         (mh-make-pick-template): Make the message headers read-only.
5801         (mh-pick-mode-help-messages): Update help message.
5802         (mh-do-pick-search): Fix problem when buffer isn't showing any
5803         messages.
5804         (mh-next-pick-field): Use buffer-substring-no-properties is
5805         better.
5806         (mh-pick-mode-map): Add key bindings (partially addresses
5807         SF #664816)
5809         * mh-index.el (mh-indexer-choices): Add a new field for each
5810         index program choice. If it is non-nil then it is the name of a
5811         function that given a lisp expression to search for generates a
5812         pattern that is acceptable to the search program.
5813         (mh-index-regexp-builder): New variable that stores the function
5814         to be used to convert from the lisp expression syntax to
5815         something that the search program understands.
5816         (mh-index-generate-pretty-name): Generalized so that it can take
5817         a list of strings as input.
5818         (mh-index-search): Modified so that if the configured program has
5819         a corresponding regexp-builder then a search buffer like pick
5820         search is produced. Otherwise the previous behavior is maintained.
5821         (mh-index-do-search): New interactive function that takes the
5822         contents of the search buffer, generates an appropriate query and
5823         produces the search results buffer by calling mh-index-search.
5824         (mh-replace-string, mh-index-parse-search-regexp)
5825         (mh-index-add-implicit-ops, mh-index-evaluate): New functions
5826         which parses the infix search expression that the user enters. A
5827         parse tree from which queries for different search programs can
5828         be produced is produced.
5829         (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
5830         internal form of the query and produces input suitable for
5831         swish++.
5833         * mh-loaddefs.el: Regenerated.
5835 2003-01-08  Bill Wohler  <wohler@newt.com>
5837         * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
5838         Useful to see if an Emacs developer has changed MH-E.
5840         * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
5842         * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
5843         buffer that contains version info.
5845         * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
5846         mh-temp-buffer since version information was getting clobbered by
5847         the aliasing code before it could be seen (closes SF #664467).
5848         (mh-quit): Delete mh-temp-info-buffer.
5850         * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
5851         version info instead of mh-temp-buffer. You kind of need this
5852         patch to send mail.
5854 2003-01-07  Bill Wohler  <wohler@newt.com>
5856         * mh-e.el (Version, mh-version): Set to 7.1+cvs.
5858 2003-01-07  Bill Wohler  <wohler@newt.com>
5860         Released MH-E version 7.1.
5862         * MH-E-NEWS, README: Updated for release 7.1.
5864         * mh-e.el (Version, mh-version): Updated for release 7.1.
5866 2003-01-07  Bill Wohler  <wohler@newt.com>
5868         * mh-customize.el (mh-auto-folder-collect-flag,
5869         mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
5871         * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
5873         * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
5874         checkdoc warnings.
5876 2003-01-07  Satyaki Das  <satyaki@theforce.stanford.edu>
5878         * mh-utils.el (mh-search-from-end): New function that is used to
5879         replace our usage of the CL function search.
5880         (font-lock): The library is loaded to avoid compilation warning
5881         in CVS Emacs.
5883         * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
5884         (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
5885         mh-search-from-end instead of search.
5887         * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
5888         remove*.
5889         (mh-thread-process-in-reply-to): Use mh-search-from-end instead
5890         of search.
5892         * mh-index.el (mh-md5-parser): Fix name of function.
5893         (mh-index-update-single-msg, mh-index-update-maps): Avoid using
5894         destructuring-bind since Emacs-20.7 can't handle this particular
5895         usage.
5896         (mh-namazu-next-result): Use mh-search-from-end instead of
5897         search.
5899         * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
5900         emacs which doesn't have the variable defined causes a compiler
5901         warning.
5902         (mh-refile-a-msg): Rewritten to avoid using pushnew.
5903         (mh-undo-msg): Use loop instead of remove-if.
5905         * mh-comp.el (mh-show-buffer-message-number): Use
5906         mh-search-from-end instead of search.
5908 2003-01-01  Satyaki Das  <satyaki@theforce.stanford.edu>
5910         * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
5911         all messages are displayed. Documentation modified so that this is
5912         explicitly stated.
5913         (mh-visit-folder): Really fix it this time.
5915 2003-01-01  Mark D Baushke  <mdb@gnu.org>
5917         * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
5918         mh-autoload comment or mh-customize may have problems finding the
5919         function.
5921         * mh-loaddefs.el: Regenerated.
5923 2002-12-28  Satyaki Das  <satyaki@theforce.stanford.edu>
5925         * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
5927 2002-12-28  Bill Wohler  <wohler@newt.com>
5929         * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
5930         variable in docstring, explain how to expand directives, and
5931         don't mention mh-mhn-compose-insertion which isn't used directly
5932         any more.
5933         (mh-send-letter): Mention that X-Mailer and X-Face are inserted
5934         automatically so that a user isn't tempted to do so himself in
5935         mh-before-send-letter-hook.
5936         (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
5937         now that we have both a function and a variable. Clarified
5938         language a bit.
5940 2002-12-26  Satyaki Das  <satyaki@theforce.stanford.edu>
5942         * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
5943         the emacs is not XEmacs.
5945         * mh-index.el (mh-index-new-folder): The folder created should
5946         always be added to mh-folder-list. Otherwise folder name
5947         completion doesn't find the new folder created.
5949 2002-12-24  Satyaki Das  <satyaki@theforce.stanford.edu>
5951         * mh-customize.el (mh-clean-message-header-flag)
5952         (mh-visible-headers, mh-invisible-headers)
5953         (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
5955         * mh-loaddefs.el: Regenerated.
5957         * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
5958         Handle nil value of mh-large-folder properly.
5960         * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5961         (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
5962         (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
5963         fixes.
5964         (mh-large-folder): Updated to allow for infinity. If
5965         mh-large-folder is nil then all folders are deemed small.
5967 2002-12-23  Satyaki Das  <satyaki@theforce.stanford.edu>
5969         * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
5970         threading was suppressed because the number of messages exceed
5971         mh-large-folder.
5973 2002-12-23  Peter S Galbraith  <psg@debian.org>
5975         * mh-utils.el (mh-invisible-headers): Deleted.  Moved to
5976         mh-customize.el
5978         * mh-customize.el (mh-invisible-header-fields): New
5979         defcustom. Simple user interface to change mh-invisible-headers.
5980         (mh-invisible-header-fields-set): New function called when
5981         mh-invisible-header-fields is set.
5982         (mh-invisible-headers): New function.  Does the actual work of
5983         building the variable mh-invisible-headers from
5984         mh-invisible-header-fields.
5985         (mh-invisible-headers): defvar moved from mh-utils.el
5987 2002-12-22  Satyaki Das  <satyaki@theforce.stanford.edu>
5989         * mh-speed.el (mh-speed-folder-size): Removed. Something very
5990         similar appears as mh-folder-size.
5991         (mh-speed-view): Simplified since the range selection logic has
5992         been moved to mh-read-msg-range.
5993         (mh-speed-parse-flists-output-line): Moved to mh-e.el as
5994         mh-parse-flist-output-line.
5996         * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
5998         * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
5999         (mh-parse-flist-output-line): Moved from mh-speed.el where this
6000         function was called mh-speed-parse-flists-output-line.
6001         (mh-folder-size): Renamed from mh-speed-folder-size. The function
6002         has been made more general and can be called from any buffer and
6003         not just the speedbar buffer.
6004         (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
6005         #655891).
6006         (mh-read-msg-range): Rewritten.
6008 2002-12-21  Satyaki Das  <satyaki@theforce.stanford.edu>
6010         * mh-seq.el (mh-delete-subject-or-thread): New interactive
6011         function that intelligently deletes messages based on threading,
6012         if the folder is threaded, or on subject if folder isn't threaded.
6014         * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
6015         function, callable from the show buffer, to intelligently delete
6016         messages based on threading info or subject.
6017         (mh-show-mode-map): Change binding of "k" to call
6018         mh-show-delete-subject-or-thread.
6020         * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
6021         mh-delete-subject-or-thread.
6023         * mh-comp.el (mh-letter-mode-map): Add key binding for
6024         mh-insert-identity.
6026         * mh-loaddefs.el: Regenerated.
6028 2002-12-21  Peter S Galbraith  <psg@debian.org>
6030         * mh-customize.el (mh-tool-bar-letter-set): Bug fix.  The
6031         `tool-bar-add-item-from-menu' items were broken.  I can't use my
6032         constants there.
6034 2002-12-21  Peter S Galbraith  <psg@debian.org>
6036         * mh-alias.el (mh-alias-insert-file): Bug fix.  I never checked
6037         that an AliasFile entry existed in .mh_profile.
6039 2002-12-21  Peter S Galbraith  <psg@debian.org>
6041         * mh-customize.el (mh-alias-insertion-location): New defustom.
6042         Specifies where new aliases are entered in alias files.
6044         * mh-alias.el (mh-alias-add-alias-to-file): Use it.
6046 2002-12-21  Peter S Galbraith  <psg@debian.org>
6048         * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
6049         exactly, prompt to [i]nsert before old value or [a]ppend after it.
6050         (mh-alias-insert-file): Make sure we don't edit the passwd file.
6051         Add optional argument for alias; If ALIAS is specified and it
6052         already exists, try to return the file that contains it.
6053         (mh-alias-which-file-has-alias): New function. Return the name of
6054         writable file which defines ALIAS from list FILE-LIST.
6055         (mh-alias-add-alias): Remove prompts for case of alias already
6056         defined; done in mh-alias-add-alias-to-file.
6058 2002-12-21  Satyaki Das  <satyaki@theforce.stanford.edu>
6060         * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
6061         folder names that have spaces in them. The original function would
6062         truncate the folder name at the first space.
6063         (mh-speed-flists): Add -sequence option to flists. This guards
6064         against the user specifying something other than the unseen
6065         sequence in his .mh_profile.
6066         (mh-speed-parse-flists-output-line): New function that parses a
6067         single line in the output of flists to find the folder name and
6068         the counts of unseesn and total messages.
6069         (mh-speed-parse-flists-output): Fix parsing bug which truncates
6070         the folder names at the first space.
6072         * mh-index.el (mh-index-generate-pretty-name): New function which
6073         generates a nicer name for the search results. It trims white
6074         space at the beginning and end and replaces white space with
6075         underscores within the search regexp.
6076         (mh-index-search): Use mh-index-generate-pretty-name.
6078         * mh-loaddefs.el: Regenerated.
6080 2002-12-20  Satyaki Das  <satyaki@theforce.stanford.edu>
6082         * mh-index.el (mh-index-new-folder): Add new folder to
6083         mh-folder-list to enable name completion.
6084         (mh-glimpse-execute-search, mh-swish-execute-search)
6085         (mh-swish++-execute-search): Fix documentation.
6087         * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
6088         folder could get 'scan'ed when generating the threaded view.
6090         * mh-index.el (mh-index-search): If optional prefix arg is given
6091         then the search in the current index buffer is redone.
6092         (mh-glimpse-execute-search, mh-swish-execute-search)
6093         (mh-namazu-execute-search): Documentation fixes.
6095         * mh-e.el (mh-index-previous-search): New buffer local variable
6096         stores parameters of search that created the buffer.
6097         (mh-folder-mode): Make mh-index-previous-search buffer local.
6098         (mh-visit-folder): Tweak the function so that only a single window
6099         with the folder buffer is shown if mh-showing-mode is nil.
6101         * mh-loaddefs.el: Regenerated.
6103 2002-12-19  Peter S Galbraith  <psg@debian.org>
6105         * mh-alias.el (mh-alias-add-alias): Bug fix.
6107 2002-12-19  Peter S Galbraith  <psg@debian.org>
6109         * mh-alias.el (mh-alias-add-alias): New interactive command. Add
6110         ALIAS for ADDRESS in personal alias file.
6111         (mh-alias-grab-from-field): New interactive command. Add ALIAS for
6112         ADDRESS in personal alias file.
6113         (mh-alias-add-address-under-point): New interactive
6114         command. Insert an alias for email address under point.
6115         (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
6116         (mh-alias-insert-file): New function. Return the alias file to
6117         write a new entry in.
6118         (mh-alias-address-to-alias): New function. Return the ADDRESS
6119         alias if defined, or nil."
6120         (mh-alias-from-has-no-alias-p): New function. Return t is From has
6121         no current alias set.  Used as tool-bar button enable function.
6122         (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
6123         in alias FILE without alias check or prompts.
6125         * alias.xpm, alias.pbm: New tool-bar icon for
6126         mh-alias-grab-from-field.
6128         * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
6129         Return t if the message under point in folder-mode is in the show
6130         buffer.
6132         * mh-utils.el (mh-goto-address-find-address-at-point): New
6133         function copied from goto-addr.el, which we don't want to
6134         force-load on users.  Find e-mail address around or before point.
6135         (mh-address-mail-regexp): New defvar.  A regular expression
6136         probably matching an e-mail address.
6138         * mh-customize.el (mh-alias-insert-file): New defcustom.
6139         Filename to use to store new MH-E aliases.
6140         (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
6142         * mh-comp.el (mh-extract-from-header-value): New function.
6143         Extract From: string from header.
6145 2002-12-19  Satyaki Das  <satyaki@theforce.stanford.edu>
6147         * mh-index.el (mh-index-update-single-msg): New defvar controls
6148         max number of command line args.
6149         (mh-index-execute): New function which is to be used
6150         instead of xargs so that we don't give the shell too many command
6151         line args.
6152         (mh-index-update-maps): Use mh-index-execute instead of xargs.
6153         (mh-index-search): Remove unused code. Also the first message in
6154         folder buffer is made current.
6156 2002-12-18  Peter S Galbraith  <psg@debian.org>
6158         * mh-loaddefs.el: Regenerated.
6160         * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
6162         * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
6164         * mh-utils.el (mh-get-msg-num): autoloaded.
6165         (mh-show-tool-bar-map): Moved to mh-customize.el
6167         * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
6168         tool-bar setup and customization.
6169         (mh-tool-bar-folder-buttons-set): New function to setup the
6170         tool-bar after customization.
6171         (mh-tool-bar-folder-buttons): New defcustom to specify which icons
6172         appears in the tool-bar.
6173         (mh-tool-bar-letter-buttons-set): New function to setup the
6174         tool-bar after customization.
6175         (mh-tool-bar-letter-buttons): New defcustom to specify which icons
6176         appears in the tool-bar.
6177         (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
6178         (mh-tool-bar-letter-set): New function to setup
6179         mh-letter-tool-bar-map.
6181 2002-12-18  Satyaki Das  <satyaki@theforce.stanford.edu>
6183         * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
6184         and backtab to call mh-index-next-folder and
6185         mh-index-previous-folder as appropriate.
6187         * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
6188         New interactive functions which jumps to search results of next
6189         and previous folders respectively.
6191         * mh-loadddefs.el: Regenerated.
6193         * mh-index.el (mh-index-delete-folder-headers): Arrange for
6194         mh-goto-cur-msg to just go to the current message.
6196         * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
6197         buffer anyway, we don't need to delete the folder headers. Also
6198         index-data is non-nil only when the buffer folder doesn't exist.
6199         So we need to call mh-make-folder.
6200         (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
6201         not being made buffer local!
6203 2002-12-17  Satyaki Das  <satyaki@theforce.stanford.edu>
6205         * mh-e.el (mh-visit-folder): Fix bug.
6207         * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
6208         (mh-index-folder-first, mh-index-folder-last)
6209         (mh-index-original-msg-list): Convenience macros aren't needed
6210         anymore since the data structure has been changed.
6211         (mh-index-update-single-msg): New function to update maps that
6212         relate MD5 checksums to actual messages and vice-versa for a
6213         single message.
6214         (mh-index-update-maps): Do the above for all messages. If some
6215         messages don't have MD5 checksums, they are annotated with the
6216         result of md5sum.
6217         (mh-index-search): Updated for the new version of mh-index-data.
6218         (mh-msg-exists-p): New function to test a message exists.
6219         (mh-index-insert-folder-headers): Updated for new mh-index-data.
6220         (mh-index-delete-folder-headers): New function used to eliminate
6221         original folder names from the buffer and make it look like a
6222         plain folder buffer. This is used from mh-process-commands.
6223         (mh-index-visit-folder): Use new version of mh-index-data.
6224         (mh-index-match-checksum): New function which checks if the
6225         X-MHE-Checksum header of a message matches.
6226         (mh-index-execute-commands): New function that rmm's the original
6227         messages. Then after mh-execute-commands executes it will seem
6228         that the original messages were executed upon. This completes the
6229         fix of SF #623321.
6230         (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
6231         (mh-checksum-cmd, mh-checksum-parser): New globals to allow
6232         different checksum programs to be used.
6233         (mh-checksum-choose): New functions to find a checksum program.
6234         (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
6235         parse the output of md5, md5sum and openssl.
6236         (mh-index-update-maps): Use checksum parsing function.
6237         (mh-index-search): Set checksum choice. Add a call to recenter,
6238         otherwise the window point in the index buffer doesn't get set
6239         properly.
6241         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
6242         functions in folders created by index search.
6244         * mh-e.el (mh-index-msg-checksum-map)
6245         (mh-index-checksum-origin-map): New buffer local variables that
6246         keep track of message checksums (used to implement
6247         refiling/deletion for folders created by index folders).
6248         (mh-last-msg): Make the function behave like mh-first-msg.
6249         (mh-visit-folder): Add new optional argument which initializes
6250         folders created by mh-index-search.
6251         (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
6252         mh-index-checksum-origin-map buffer local.
6253         (mh-process-commands): Call mh-index-execute-commands when called
6254         from an index search buffer. This will reflect the changes being
6255         made in the search folder to the original folders.
6257         * mh-loaddefs.el: Regenerated.
6259 2002-12-16  Satyaki Das  <satyaki@theforce.stanford.edu>
6261         * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
6262         caused the folder buffer to be marked as modified after rescanning
6263         an index folder.
6265 2002-12-15  Satyaki Das  <satyaki@theforce.stanford.edu>
6267         * mh-e.el (mh-visit-folder): The function should insert folder
6268         names if it is visiting a folder created by index search.
6270         * mh-index.el (mh-index-insert-folder-headers): The function now
6271         maintains the old value of buffer-modified-p and temporarily makes
6272         the buffer writable.
6274         * mh-utils.el (mh-show-index-visit-folder): New interactive
6275         function callable from show buffer that displays search results
6276         from one folder.
6277         (mh-show-mode-map): Key binding for "v".
6279         * mh-speed.el: Fix credits.
6280         (mh-index-folder-speedbar-buttons)
6281         (mh-index-show-speedbar-buttons)
6282         (mh-index-folder-speedbar-key-map)
6283         (mh-index-show-speedbar-key-map)
6284         (mh-index-folder-speedbar-menu-items)
6285         (mh-index-show-speedbar-menu-items): Removed since the modes
6286         mh-index-folder-mode and mh-index-show-mode no longer exist.
6287         (mh-speed-extract-folder-name): Remove the bits about
6288         mh-index-folder-mode and mh-index-show-mode.
6290         * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
6291         index search results.
6292         (mh-region-to-msg-list): Skip over non-scan lines.
6293         (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
6294         non-scan lines when populating mh-thread-scan-line-map.
6295         (mh-thread-folder, mh-toggle-threads): Move the check for buffer
6296         modification from mh-thread-folder to mh-toggle-threads.
6297         (mh-toggle-threads): When returning to unthreaded view insert the
6298         folder names if called from a index folder.
6300         * mh-index.el: Fix credits and update commentary.
6301         (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
6302         (mh-index-ma-x-msg-index, mh-index-other-buffer)
6303         (mh-index-matches, mh-index-previous-window-configuration)
6304         (mh-index-current-msg, mh-index-folder-mode-keymap)
6305         (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
6306         eliminated variables.
6307         (mh-index-folder): New variable sets the MH folder under which the
6308         index searches are stored.
6309         (mh-index-folder-first, mh-index-folder-last)
6310         (mh-index-original-msg-list): Convenience macros used to pull data
6311         elements out of a list. If needed setf can be used to change them
6312         as well.
6313         (mh-index-search): Rewritten to create real folders where all the
6314         normal folder operation. This partially fixes SF #623321 (refiles
6315         and deletes doesn't work on original messages).
6316         (mh-index-find-max-width, mh-index-search-again)
6317         (mh-index-insert-scan, mh-index-callback, mh-index-search)
6318         (mh-index-notate, mh-index-show, mh-index-header-display)
6319         (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
6320         Functions, macros and modes removed.
6321         (mh-folder-exists-p): New function to check if a folder exists.
6322         (mh-index-new-folder): Generate a new folder name from a given
6323         base string that mimics the way emacs generates buffer names.
6324         (mh-index-insert-folder-headers): Insert folder names among the
6325         search results.
6326         (mh-index-visit-folder): New interactive function to show the
6327         search results of one individual folder.
6328         (mh-swish++-execute-search): Update documentation.
6330         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
6331         functions if index search results are being viewed.
6333         * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
6334         folder.
6335         (mh-index-data): New buffer local variable that will be used to
6336         store info about index search results.
6337         (mh-rescan-folder): Implement rescanning for index search results.
6338         (mh-folder-mode): Make mh-index-data buffer local.
6339         (mh-remove-all-notation): Modified to take into account not all
6340         lines in the folder buffer are normal scan lines.
6341         (mh-folder-mode-map): Add key binding for "v" to jump to original
6342         folder narrowed to search results.
6344         * mh-customize.el (mh-index-folder-face): Make it bold so that it
6345         will look like before.
6347         * mh-loaddefs.el: Regenerated.
6349 2002-12-12  Satyaki Das  <satyaki@theforce.stanford.edu>
6351         * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
6352         a list of messages in addition to a sequence.
6353         (mh-region-to-sequence, mh-region-to-msg-list): The function
6354         mh-region-to-msg-list replaces mh-region-to-sequence. The new
6355         function avoids creating a dummy sequence in MH-E.
6356         (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
6357         to use mh-region-to-msg-list.
6359         * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
6361         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
6362         mh-region-to-msg-list.
6364         * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
6365         The buffer-local variable mail-header-separator is no longer
6366         bound. This fixes a bug where the default value of
6367         mail-header-separator gets used if mh-forward is called in a fresh
6368         emacs session.
6369         (mh-annotate-msg): Update this so that it will handle message
6370         lists too.
6371         (mh-insert-letter): Make the test stronger. Since %d is being used
6372         the argument better be an integer.
6374         * mh-loaddefs.el: Regenerated.
6376 2002-12-11  Satyaki Das  <satyaki@theforce.stanford.edu>
6378         * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
6379         If mark is active and transient-mark-mode is enabled then all the
6380         messages in the region are copied.
6382         * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
6383         messages in sequence nicely. The prompt for the folder is removed
6384         (the current folder is always used) and the output is made nicer
6385         by not overflowing the screen width.
6387         * mh-loaddefs.el: Regenerated.
6389 2002-12-09  Satyaki Das  <satyaki@theforce.stanford.edu>
6391         * mh-comp.el (mh-letter-complete): Checkdoc fix.
6393         * mh-seq.el (mh-thread-current-indentation-level): New function
6394         which returns the thread indentation level of current message.
6395         (mh-thread-next-sibling, mh-thread-previous-sibling): New
6396         interactive functions to jump to the next and previous siblings in
6397         thread tree respectively.
6398         (mh-thread-immediate-ancestor): New function to jump to ancestor
6399         of current message in thread tree.
6400         (mh-thread-ancestor): New interactive function to jump to
6401         immediate ancestor or to root message of current thread depending
6402         on optional argument.
6404         * mh-utils.el (mh-show-thread-ancestor)
6405         (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
6406         Interactive functions callable from the show buffer.
6407         (mh-show-thread-map): Bindings for Tu, Tp and Tn.
6409         * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
6411         * mh-loaddefs.el: Regenerated.
6413 2002-12-09  Satyaki Das  <satyaki@theforce.stanford.edu>
6415         * mh-seq.el (mh-region-to-sequence): Change name of region
6416         sequence created to 'mhe-region. This avoids any chance of
6417         collision with actual MH sequences.
6418         (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
6419         name of region sequence used to 'mhe-region. Also delete the
6420         'mhe-region sequence when done.
6422         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
6424         * mh-comp.el (mh-forward): Same as above.
6426         * mh-loaddefs.el: Regenerated.
6428 2002-12-08  Bill Wohler  <wohler@newt.com>
6430         * mh-alias.el: Edited documentation. Broke up file into 2
6431         sections: Alias Loading and Alias Expansion. Made terminology
6432         consistent (replaced expand, substitute, and translate with
6433         expand).
6434         (mh-alias-reload): Brought message in line with coding conventions
6435         and made more concise too.
6436         (mh-alias-translate): Renamed to mh-alias-expand.
6437         (mh-alias-substitute-aliases-flag): Renamed to
6438         mh-alias-expand-aliases-flag.
6439         (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
6440         Now just returns an alist of local users rather than have
6441         side-effects.
6442         (mh-alias-reload): Set timestamp at beginning of function to catch
6443         edge case when alias added just after ali runs. Changed logic to
6444         reflect return value of mh-alias-local-users.
6446         * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
6447         mh-alias-expand-aliases-flag.
6448         (mh-alias-local-users): Fixed documentation.
6450         * mh-loaddefs.el: Regenerated
6452 2002-12-08  Satyaki Das  <satyaki@theforce.stanford.edu>
6454         * mh-e.el (require): Load Gnus at compile time so that the
6455         constant gnus-version is defined when MH-E is being compiled.
6456         (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
6457         Use the constant gnus-version instead of the function gnus-version
6458         to find out about gnus version information.
6459         (gnus-version): Remove the autoload since it is not needed any
6460         more.
6462 2002-12-08  Bill Wohler  <wohler@newt.com>
6464         * mh-e.el (mh-version): Moved compilation information in front of
6465         Emacs information. The idea is that you start at MH-E and move
6466         outwards. Show N/A if Gnus not compiled (be explicit). Matched
6467         coding style with other output statements. (Aside: not that
6468         efficiency matters here, but fewer calls to format have to be
6469         faster, right? ;-). Matched output style of old output to new
6470         statement--liked Satyaki's indentation better ;-).
6472 2002-12-08  Satyaki Das  <satyaki@theforce.stanford.edu>
6474         * mh-e.el (gnus-version): Autoload the function for use in
6475         mh-version.
6476         (mh-macro-expansion-time-gnus-version): New macro that finds the
6477         Gnus version at macro expansion time.
6478         (mh-run-time-gnus-version): New function to find the Gnus version
6479         at run time.
6480         (mh-version): Add information about Gnus versions available at
6481         compile time and run time.
6483 2002-12-07  Peter S Galbraith  <psg@debian.org>
6485         * mh-alias.el (mh-alias-ali): Add optional argument.  if USER is
6486         t, then assume ALIAS is an address and call ali with option -user.
6488         * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
6489         files from `mh-alias-system-aliases' to output list obtained from
6490         mhparam output user list only.
6491         (mh-alias-tstamp): Use it.
6493 2002-12-05  Satyaki Das  <satyaki@theforce.stanford.edu>
6495         * mh-mime.el (mh-inline-vcard-p): A new function which decides if
6496         a vcard should be displayed inline.
6497         (mh-mime-display-single): Use mh-inline-vcard-p to display
6498         attached vcard as a signature if no other signature is present
6499         (this partially addresses SF #649216).
6501 2002-12-05  Peter S Galbraith  <psg@debian.org>
6503         * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
6504         getting run if variable `mh-mml-compose-insert-flag' is set.
6505         (mh-get-header-field): use buffer-substring-no-properties instead
6506         of buffer-substring.
6508 2002-12-04  Peter S Galbraith  <psg@debian.org>
6510         * mh-loaddefs.el: Regenerated.
6512         * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
6514 2002-12-04  Peter S Galbraith  <psg@debian.org>
6516         * mh-loaddefs.el: Regenerated.
6518         * mh-comp.el (mh-letter-complete): New command to do alias or word
6519         completion in letter-mode.
6520         (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
6522         * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
6523         Replaced by mh-letter-complete command.
6524         (mh-alias-reload-maybe): New function to rebuild alias table if
6525         out of date.
6526         (mh-alias-letter-expand-alias): No longer interactive.  Use
6527         mh-letter-complete instead.
6529 2002-12-04  Peter S Galbraith  <psg@debian.org>
6531         * mh-customize.el (mh-letter-complete-function): New defcustom.
6532         Function to call when completing outside of fields specified to
6533         aliases.
6535         * mh-alias.el (mh-alias-filenames):
6536         s/mh-mhparam-component/mh-profile-component/
6537         (mh-profile-component): Move to mh-utils.el and make interactive.
6538         (mh-read-address): Make it autoloaded.
6540         * mh-loaddefs.el: Regenerated.
6542         * mh-comp.el (mh-read-address): Removed.  Replaced by mh-alias
6543         version.
6545         * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
6547 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
6549         * mh-seq.el (mh-msg-is-in-seq): Formatting change.
6551         * mh-index.el (mh-index-insert-scan): Remove unused variable.
6553 2002-12-04  Bill Wohler  <wohler@newt.com>
6555         * mh-loaddefs.el: Regenerated.
6557         * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
6558         this was causing a cycle.
6559         (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
6560         (emacs): Reintroduced autoloads.
6561         (autoloads): We're baaa-aack!
6562         (dist, install-emacs): Use MH-E-LOADDEFS.
6564         * mh-comp.el (mh-customize): Moved to mh-customize.el.
6566         * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
6567         more sense, doesn't it?
6569         * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
6570         mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
6571         interactive functions.
6573 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
6575         * Makefile (world): Remove target.
6576         (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
6577         regenerate mh-loaddefs.el.
6579         * mh-make.el: Removed.
6581 2002-12-04  Mark D. Baushke  <mdb@gnu.org>
6583         * mh-e.el (recursive-load-depth-limit): Only modify the limit
6584         if it is an integer.
6586 2002-12-04  Peter S Galbraith  <psg@debian.org>
6588         * mh-utils.el (mh-header-field-beginning): New function. Move to
6589         the beginning of the current header field.
6591 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
6593         * mh-make.el (mh-files): Read in the MH-E filenames from the
6594         environment variable where the Makefile puts it.
6595         (mh-generate-autoloads, step2): Simplified since we now have the
6596         complete file names.
6598         * Makefile (world): Pass the MH-E files into the script, so that
6599         the filenames don't need to be repeated in the script.
6601 2002-12-04  Bill Wohler  <wohler@newt.com>
6603         * mh-loaddefs.el: New file. Check in automatically generated file
6604         and include in package for the benefit of those who don't want to
6605         or can't compile.
6607         * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
6608         in and will be packaged.
6609         (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
6610         sufficient to build it.
6611         (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
6612         emacs so that Emacs is only invoked once to compile files. This
6613         speeds things up by a factor of 3. It would be nice to only pass
6614         those files that have been modified, but Emacs 21.4 will have
6615         batch-byte-compile-if-not-done which we might be able to copy into
6616         mh-make.el (or my proposed mh-e-dev.el which would be more
6617         general-purpose).
6618         (.SUFFIXES): Removed. Now that compile works directly on the
6619         sources, the implicit rule is obsolete.
6620         (autoloads): Deleted. See emacs change above.
6622 2002-12-03  Bill Wohler  <wohler@newt.com>
6624         * Makefile (MH-E-SRC, emacs):
6626 2002-12-03  Satyaki Das  <satyaki@theforce.stanford.edu>
6628         * mh-make.el (mh-emacs): Make failing condition more strict.
6629         (mh-loaddefs-end): Remove redundant statement.
6631         * Makefile (world): A little typo. The bug didn't seem to make any
6632         difference though.
6634         * mh-make.el: New script that compiles MH-E.
6635         (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
6636         file in between. Only save at the end.
6637         (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
6638         (mh-generate-autoloads): Replace the separate functions in Emacs
6639         and XEmacs with one that works in both variants. This simplifies
6640         the script a lot.
6641         (mh-generate-autoloads): doc fix.
6643         * Makefile (world): New target which works for both GNU Emacs and
6644         XEmacs.
6646 2002-12-03  Peter S Galbraith  <psg@debian.org>
6648         * mh-alias.el (mh-mhparam-component): Don't raise error if call to
6649         mhparam fails.
6651         * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
6652         not already available.
6654 2002-12-03  Bill Wohler  <wohler@newt.com>
6656         * mh-customize.el (mh-show-threads-flag): Alphabetized.
6658 2002-12-03  Jeffrey C Honig  <jch@honig.net>
6660         * Makefile: Moved .PHONY rule after all rule for compatibility
6661         with BSD/OS's old pmake.
6663 2002-12-03  Mark D Baushke  <mdb@gnu.org>
6665         * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
6666         (mh-add-cur-notation): Remove unnecessary function.
6668 2002-12-03  Peter S Galbraith  <psg@debian.org>
6670         * mh-identity.el (mh-identity-make-menu): Check if
6671         'mh-letter-mode-map' is bound, since this code also gets run when
6672         mh-customize.el is loaded at startup.
6674 2002-12-03  Satyaki Das  <satyaki@theforce.stanford.edu>
6676         * mh-customize.el (mh-show-threads-flag): New customizable
6677         variable which controls if new folders start of in threaded mode
6678         (closes SF #646794).
6680         * mh-e.el (mh-rescan-folder): Fix the function so that threading
6681         is preserved across rescans.
6682         (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
6683         already threaded or if mh-show-threads-flag is non-nil and the
6684         number of scan lines is fewer than mh-large-folders (closes SF
6685         #646794).
6687 2002-12-02  Mark D Baushke  <mdb@gnu.org>
6689         * mh-e.el (mh-add-cur-notation): New function to mark the
6690         current message with the mh-note-cur character.
6691         (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
6692         mh-remove-cur-notation if there was no new mail (closes SF #647681).
6694         * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
6695         value (closes SF #643701).
6697 2002-12-02  Peter S Galbraith  <psg@debian.org>
6699         * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
6700         (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
6701         (mh-alias-passwd-alist): New variable, holding aliases extracted
6702         from the passwd file.
6703         (mh-alias-tstamp): New variable storing the timestamp for alias
6704         list generation.
6705         (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
6706         Complete rewrite.
6707         (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
6708         (mh-alias-translate): New function.  Return translation for alias,
6709         checking if in blind or passwd list.
6710         (mh-alias-letter-expand-alias): Rewrite using
6711         mail-abbrev-complete-alias from mailabbrev.el
6712         (mh-alias-expand-alias-map): New variable.
6713         (mh-alias-ali): New function. Return formatted string of
6714         translated ALIAS from ali.
6715         (mh-mhparam-component): New function. Return COMPONENT value from
6716         mhparam, or nil if unset.
6717         (mh-alias-filenames): New function. Provide list of alias
6718         filenames from mhparam, or nil if none are set.
6720         * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
6721         Obsoleted.
6722         (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
6724 2002-12-02  Bill Wohler  <wohler@newt.com>
6726         * Makefile (mh-loaddefs.el): Suppress creation of backup file.
6728 2002-12-02  Mark D. Baushke  <mdb@gnu.org>
6730         * Makefile (mh-loaddefs.el): Simplify rule.
6732         * Makefile (clean): Remove mh-loaddefs.el* for good measure.
6733         ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
6734         (autoloads, mh-loaddefs.el): Revamp rules.
6735         (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
6737         * mh-e.el (recursive-load-depth-limit): Do not try to
6738         bump the value unless the variable exists.
6740         * mh-e.el (recursive-load-depth-limit): Bump value of
6741         recursive-load-depth-limit to 50 to allow emacs 21.1 which
6742         normally has a default value of 10 to be able to compile MH-E.
6744 2002-12-02  Satyaki Das  <satyaki@theforce.stanford.edu>
6746         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
6747         so that threading is preserved (needed for SF #646794).
6749         * mh-identity.el (mh-identity-signature-start)
6750         (mh-identity-signature-end): Checkdoc fixes.
6752         * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
6753         fixes.
6755 2002-12-01  Satyaki Das  <satyaki@theforce.stanford.edu>
6757         * mh-identity.el (compile): Make mh-identity.el compile without
6758         warnings.
6760         * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
6761         interactive functions that go to next and previous unread
6762         messages (closes SF #630328).
6763         (mh-folder-mode-map): Add key bindings for M-n and M-p to
6764         mh-folder-mode-map.
6766         * mh-utils.el (mh-show-next-unread-msg)
6767         (mh-show-previous-unread-msg): New interactive functions that go
6768         to the next and previous unread messages respectively. These are
6769         callable from the show buffer.
6770         (mh-show-mode-map): Add key bindings for M-n and M-p to
6771         mh-show-mode-map.
6773 2002-12-01  Bill Wohler  <wohler@newt.com>
6775         * mh-mime.el (mh-defun-compat): Make it indent like a defun.
6777         * mh-index.el (mh-defun-index): Make it indent like a defun.
6779         * mh-customize.el: New file (closes SF #643722).
6781         * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
6783         * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
6784         mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
6785         mh-customize.el (closes SF #643722).
6787         * mh-utils.el (mh-xemacs-flag): Moved here from below since
6788         needed by mh-customize.el.
6789         (mh-customize): Required. mh-invisible-headers)
6790         (mh-bury-show-buffer-flag, mhl-formfile):
6791         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6792         (closes SF #643722) .
6794         * mh-identity.el (mh-comp-loaded): New variable in a desparate
6795         attempt to prevent an infinite loop.
6796         (eval-when-compile): Was able to remove these defvars as they are
6797         now predefined in mh-loaddefs and mh-customize.
6798         (mh-identity-list-set): Added ;;;###mh-autoload cookie.
6799         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6800         (closes SF #643722).
6802         * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
6803         is in mh-customize which is required by mh-utils which is required
6804         by mh-e.
6805         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6806         (closes SF #643722).
6808 2002-11-30  Satyaki Das  <satyaki@theforce.stanford.edu>
6810         * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
6811         SF #630493).
6812         (mh-help-messages): Update help message for prefix map.
6813         (mh-help-messages): Doc fix.
6814         (mh-help-messages): Really fix it.
6816         * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
6817         interactive functions corresponding to mh-thread-delete and
6818         mh-thread-refile callable from the show buffer.
6819         (mh-show-thread-map): Add key bindings for "Td" "To".
6821         * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
6822         (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
6823         mh-autoload cookies.
6824         (mh-thread-find-children): New function which finds the region
6825         containing all children of a message.
6826         (mh-thread-delete): New interactive function that marks for
6827         deletion the current message and its children.
6828         (mh-thread-refile): New interactive function that marks for
6829         refiling the current message and its children.
6831 2002-11-30  Bill Wohler  <wohler@newt.com>
6833         * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
6834         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6835         Added ;;;###mh-autoload tag to selected functions so that
6836         autoloads for those functions can be automatically created in
6837         mh-loaddefs.el (closes half of SF #643722).
6839         * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
6840         Added ;;;###mh-autoload tag to selected functions so that
6841         autoloads for those functions can be automatically created in
6842         mh-loaddefs.el (closes half of SF #643722)..
6844         * mh-utils.el (mh-loaddefs): Added require.
6845         (mh-buffer-data): Moved here from mh-mime.el as it is used in
6846         mh-display-msg.
6847         (mh-set-cmd-note): Moved to mh-e.el.
6848         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6849         Added ;;;###mh-autoload tag to selected functions so that
6850         autoloads for those functions can be automatically created in
6851         mh-loaddefs.el (closes half of SF #643722)..
6853         * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
6854         uses mh-scan-format-file which is defined here.
6855         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6856         Added ;;;###mh-autoload tag to selected functions so that
6857         autoloads for those functions can be automatically created in
6858         mh-loaddefs.el (closes half of SF #643722)..
6860         * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
6861         provided via mh-e.el.
6862         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6863         Added ;;;###mh-autoload tag to selected functions so that
6864         autoloads for those functions can be automatically created in
6865         mh-loaddefs.el (closes half of SF #643722)..
6867         * Makefile (emacs): Add dependency on autoloads.
6868         (clean): Remove mh-loaddefs.el too.
6869         (autoloads): New target. Builds mh-loaddefs.el.
6870         (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
6871         (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
6872         (autoloads-gen): Runs batch-update-autoloads to populate
6873         mh-loaddefs.el (closes half of SF #643722)..
6874         (auto-autoloads.elc): Renamed from autoloads to be explicit about
6875         file that's created.
6876         (custom-load.elc): Ditto.
6878 2002-11-30  Satyaki Das  <satyaki@theforce.stanford.edu>
6880         * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
6881         track of oldest ancestor of last message. If due to narrowing the
6882         common ancestor of two messages is lost then one of them is
6883         promoted to be the parent of the other. This variable helps in
6884         this process.
6885         (mh-thread-generate-scan-lines): Group messages which belong to
6886         the same thread tree, even if a common ancestor is no longer
6887         present.
6888         (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
6889         mh-thread-last-ancestor to nil when calling
6890         mh-thread-generate-scan-lines.
6892         * mh-mime.el (font-lock): Font-lock required at compile time to
6893         avoid warning about font-lock-maximum-size
6894         (mh-display-smileys, mh-display-emphasis): Show graphical smileys
6895         and emphasis only if message isn't too large.
6897         * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
6898         been threaded or narrowed confuses MH-E. Even though the folder is
6899         displayed as not threaded and not narrowed, MH-E still believes
6900         the folder is in the previous state. This can cause problems when
6901         trying to narrow/thread the folder. The change fixes this.
6903         * mh-mime.el (mh-mime-display-alternative): The setting of
6904         mh-display-buttons-for-inline-parts-flag was not being used when
6905         displaying one of the alternatives. This change fixes that.
6907         * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
6908         substring.
6909         (mh-filter-out-non-text): When filtering out MIME buttons from
6910         yanked text, the last line of the MIME part was getting lost. The
6911         fix avoids that and removes only the last new line instead.
6913 2002-11-29  Peter S Galbraith  <psg@debian.org>
6915         * Makefile (MH-E-SRC): Add mh-alias.
6917         * mh-alias.el: Assign copyright to FSF instead of myself.
6918         (mh-read-address): Add support for emacs-21's
6919         completing-read-multiple to prompt for multiple entries.
6920         (mh-alias-PC-complete-address): Deleted.
6921         (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
6922         (mh-alias-letter-mode-expand-alias-hook): Simplify.
6923         (mh-alias-hostname): Deleted.
6924         (mh-alias-substitute-aliases-flag): Change default to nil.
6925         (mh-alias-display-blind-name-on-completion-flag) Change default to
6926         nil.
6927         (mh-alias-alist): Now holds alias values.
6928         (mh-alias-lowercase-alist): Deleted.
6929         (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
6930         (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
6931         new mh-alias-alist instead of old mh-alias-lowercase-alist.
6933         * mh-alias.el: Moved from contrib/ directory.  Now part of MH-E!
6935         * Makefile (MH-E-SRC): Add mh-identity.
6937         * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
6938         (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
6939         Moved to mh-comp.el.
6941         * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
6942         (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
6943         (mh-identity-menu): Added from mh-identity.el
6945 2002-11-29  Bill Wohler  <wohler@newt.com>
6947         * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
6948         mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
6949         Ran indent-region, reformatted long lines, ran untabify.
6950         (indent-tabs-mode): Set file local variable to nil.
6952 2002-11-29  Bill Wohler  <wohler@newt.com>
6954         Released MH-E version 7.0.
6956         * mh-e.el (Version, mh-version): Updated for release 7.0.
6958         * mh-comp.el (subseq, search): Require cl instead of autoloading
6959         these due to compilation warnings in CVS Emacs.
6961 2002-11-23  Bill Wohler  <wohler@newt.com>
6963         * MH-E-NEWS: Emphasize the renaming of the variables at the top of
6964         the notes.
6966 2002-11-22  Satyaki Das  <satyaki@theforce.stanford.edu>
6968         * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
6969         is not needed and the binding is more useful to toggle display of
6970         MIME parts.
6972         * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
6973         and "o" from MIME buttons.
6974         (mh-insert-mime-button): Change comment to reflect change in
6975         button key map.
6977 2002-11-21  Bill Wohler  <wohler@newt.com>
6979         Released MH-E version 6.1.91.
6981         * mh-e.el (Version, mh-version): Updated for release 6.1.91.
6983         * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
6985 2002-11-21  Mark D. Baushke  <mdb@gnu.org>
6987         * mh-comp.el (mh-letter-insert-signature-hook): This should be in
6988         customize-group mh-compose.
6990 2002-11-21  Satyaki Das  <satyaki@theforce.stanford.edu>
6992         * mh-utils.el (load): Load mm-view.el here so that
6993         mm-inline-text-html would be defined if available.
6994         (mh-mm-inline-media-tests): If mm-inline-text-html is available
6995         then use it, otherwise fall back on using mm-inline-text (closes
6996         SF #641482).
6998         * mh-mime.el (load): Remove the load of mm-view here since it
6999         happens in mh-utils.el now.
7001 2002-11-15  Bill Wohler  <wohler@newt.com>
7003         Released MH-E version 6.1.90.
7005         * README (Compile): New section. Users must now compile MH-E due
7006         to the vagaries of the various versions of gnus.
7008         * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
7009         reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
7010         (MH-E-ETC-ETC): Added Makefile and README.
7011         (dist): Depend on all, so clean happens. Don't add .elc files to
7012         tarball as they are built upon installation now.
7014 2002-11-15  Satyaki Das  <satyaki@theforce.stanford.edu>
7016         * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
7017         If called in threaded mode, cur was always getting set to the last
7018         message in the folder.
7020 2002-11-14  Bill Wohler  <wohler@newt.com>
7022         * mh-e.el (Version, mh-version): Updated for release 6.1.90.
7024         * MH-E-NEWS, README: Updated for release 7.0.
7026         * mh-utils.el (mh-index-search): Added full docstring which new
7027         users will need before they run a search!
7028         (mh-swish++-execute-search, mh-swish-execute-search,
7029         mh-namazu-execute-search mh-glimpse-execute-search): Added
7030         autoloads with full docstrings for the same reason!
7032         * mh-e.el (mh-limit-map): Removed / / alias for
7033         mh-narrow-to-subject.
7035         * mh-utils.el (mh-show-thread-map): Removed / / alias for
7036         mh-show-narrow-to-subject.
7038         * mh-seq.el (mh-delete-subject): Checkdoc fix.
7040         * mh-e.el (mh-help-messages): Added / prefix character to help
7041         string. Tweaked / helpstring a little.
7043 2002-11-14  Mark D. Baushke  <mdb@gnu.org>
7045         * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
7046         width for cosmetic reasons.
7048 2002-11-14  Peter S Galbraith  <psg@debian.org>
7050         * mh-identity.el (mh-insert-identity): Fix a few things undone by
7051         Jeff's patch.
7052         (mml-insert-tag): Add autoload.
7054 2002-11-13  Mark D. Baushke  <mdb@gnu.org>
7056         * mh-identity.el (mh-insert-identity):  A value of either nil or
7057         "" should cause the field to be removed.
7058         (mh-identity-list): Update the docstring.
7060 2002-11-13  Peter S Galbraith  <psg@debian.org>
7062         * mh-e.el (mh-limit-map): New key map for limits (subject for now).
7063         * mh-utils.el (mh-show-limit-map): Same.
7065         * mh-seq.el (mh-delete-subject): Renamed from
7066         mh-delete-subject-sequence.
7067         (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
7068         (mh-next-unseen-subject-sequence): Removed. :-(
7069         * mh-e.el: Use 'em
7070         * mh-seq.el: Use 'em.
7072 2002-11-13  Mark D. Baushke  <mdb@gnu.org>
7074         * mh-e.el (mh-alt-show): New defalias for mh-show.
7075         (mh-alt-refile-msg): New defalias for mh-refile-msg.
7076         (mh-alt-send): New defalias for mh-send.
7077         (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
7078         mh-alt-send for the alias bindings.
7079         (mh-alt-visit-folder): New defalias for mh-visit-folder.
7080         (mh-folder-map): Use it.
7081         (mh-folder-message-menu): Revert previous change.
7083 2002-11-13  Peter S Galbraith  <psg@debian.org>
7085         * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
7086         menu for mh-refile-msg.
7088 2002-11-13  Satyaki Das  <satyaki@theforce.stanford.edu>
7090         * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
7091         scan lines of duplicate messages were too long. The change fixes
7092         that.
7094 2002-11-13  Bill Wohler  <wohler@newt.com>
7096         * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
7097         docstring.
7099         * mh-speed.el (mh-speed-run-flists-flag): While documenting this
7100         variable in the release notes, I was unsure what would happen if
7101         set to nil. So, I clarified the docstring and indicated
7102         implications of setting this variable to nil, and offered manual
7103         workaround.
7105 2002-11-13  Satyaki Das  <satyaki@theforce.stanford.edu>
7107         * mh-index.el (mh-index-quit): Fix documentation and run
7108         mh-before-quit-hook and mh-quit-hook.
7110 2002-11-13  Bill Wohler  <wohler@newt.com>
7112         * mh-utils.el (with-mh-folder-updating): Renamed local variable
7113         mh-save-modification-flag to save-modification-flag.
7115 2002-11-12  Bill Wohler  <wohler@newt.com>
7117         * mh-index.el (mh-index-keymap): Renamed to
7118         mh-index-folder-mode-keymap to be a closer to the usual keymap
7119         naming convention. Since we want our own keymap and not inherit
7120         the one in mh-folder-mode, we need to use a suffix other than
7121         -map.
7123         * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
7124         s/Seq/Sequence.
7125         (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
7126         item.
7127         (mh-folder-folder-menu): Aligned symbols.
7129         * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
7131         * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
7132         s/Seq/Sequence.
7133         (mh-show-message-menu): s/Msg/Message. Removed redundant refile
7134         item.
7135         (mh-show-folder-menu): Aligned symbols.
7137 2002-11-12  Satyaki Das  <satyaki@theforce.stanford.edu>
7139         * mh-index.el (mh-index-matches, mh-index-current-match): Remove
7140         these variables since they were only used for glimpse and grep.
7141         Now the functionality of all the indexing programs will be
7142         uniform.
7143         (mh-index-search, mh-index-insert-scan, mh-defun-index)
7144         (mh-index-show): Simplify functions since matches are no longer
7145         shown.
7146         (mh-index-parse-match): Remove function.
7148         * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
7149         (mh-scan-date-width, mh-scan-date-flag-width)
7150         (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
7151         variables to keep track of the widths of the different fields in
7152         the scan lines.
7153         (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
7154         (mh-scan-field-subject-start-offset): Offsets that are computed
7155         from the scan line widths.
7157         * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
7158         (mh-thread-parse-scan-line): Use new variables that remember the
7159         various offsets in place of integer constants.
7160         (mh-thread-generate-scan-lines): Space shouldn't be added here!
7162 2002-11-12  Bill Wohler  <wohler@newt.com>
7164         * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
7165         first column is column number 0 and changed "sixth column" to
7166         "fifth column" accordingly.
7168         * mh-index.el (mh-index-folder-mode): Clarified method of replying
7169         in mode documentation.
7170         (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
7172         * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
7173         variable mh-cmd-note in docstrings.
7175         * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
7176         Reworded docstring so it doesn't mention internal variable
7177         mh-cmd-note. Added information about using fixed-width message
7178         numbers.
7179         (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
7180         that it is updated dynamically only if mh-scan-format-file is t.
7181         (mh-set-cmd-note): Grammer fix in docstring.
7182         (mh-cmd-note): Noted that the first column is column number 0.
7184         * mh-e.el (mh-scan-format-file): Added information about
7185         mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
7187         * mh-index.el (mh-index-keymap): Added bindings for i
7188         (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
7189         appear to be supported and are found in the toolbar.
7190         (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
7191         (mh-visit-folder) alias, and v (mh-visit-folder).
7192         (mh-index-folder-mode-help-messages): Changes for above.
7193         (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
7194         menus. I decided to delete the unavailable items since greying out
7195         implies that the user can do something to access them. In this
7196         case, that's not the case. Well, that's not entirely true--the
7197         user could write code for those functions ;-).
7198         (mh-index-folder-mode): Use new menus.
7200         * mh-utils.el (mh-prompt-for-folder): Added optional argument
7201         default-string which can be used in case the string for default
7202         isn't intuitive enough.
7204         * mh-index.el (mh-index-search): Made default prompt more
7205         intuitive (I hope!).
7207 2002-11-11  Peter S Galbraith  <psg@debian.org>
7209         * mh-identity.el (mh-header-field-delete): Remove save-excursion.
7210         Strange that this worked for me before... Thanks to Jeff for the
7211         patch.
7212         (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
7213         adds a nicer-looking MIME header for signatures inserted after
7214         MIME insertions.
7216 2002-11-11  Satyaki Das  <satyaki@theforce.stanford.edu>
7218         * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
7219         so that it can take a string containing the scan-line as argument
7220         in addition to using the line at point.
7221         (mh-thread-add-spaces): New function to pad each scan line to the
7222         appropriate length. This is called when mh-cmd-note is increased.
7224         * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
7225         folder by using mh-thread-add-spaces to pad the pre-existing lines
7226         in mh-thread-scan-line-map appropriately.
7227         (mh-thread-add-spaces): Autoload from mh-seq.
7229 2002-11-11  Mark D. Baushke  <mdb@gnu.org>
7231         * mh-index.el: Fix checkdoc nit.
7233         * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
7234         from mh-display-buttons-for-inline-parts.
7235         (mh-mime-display-single): Use it.
7236         This addresses part of SF #627015.
7238         * mh-e.el (mh-print-background-flag): Renamed from
7239         mh-print-background.
7240         * mh-funcs.el (mh-print-msg): Use it.
7241         This addresses part of SF #627015.
7243         * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
7244         mh-delete-yanked-msg-window.
7245         (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
7246         This addresses part of SF #627015.
7248         * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
7249         from mh-update-sequences-after-mh-show.
7250         (mh-show-msg): Use it.
7251         This addresses part of SF #627015.
7253         * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
7254         mh-decode-quoted-printable
7255         (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
7256         Use it.
7257         This addresses part of SF #627015.
7259         * mh-utils.el (mh-recursive-folders-flag): Renamed from
7260         mh-recursive-folders.
7261         (mh-make-folder-list-background): Use it.
7262         * mh-funcs.el (mh-list-folders): Ditto.
7263         This addresses part of SF #627015.
7265         * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
7266         mh-auto-folder-collect.
7267         (mh-find-path): Use it.
7268         This addresses part of SF #627015.
7270         * mh-utils.el (mh-decode-mime-flag): Renamed from
7271         mh-decode-mime.
7272         * mh-utils.el (mh-show-mode, mh-show-xface)
7273         (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
7274         * mh-mime.el (mh-graphical-smileys-flag)
7275         (mh-graphical-emphasis-flag): Ditto.
7276         * mh-index.el (mh-index-search, mh-index-show): Ditto.
7277         * mh-e.el (mh-header-display): Ditto.
7278         This addresses part of SF #627015.
7280         * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
7281         to get back to the current message.
7283 2002-11-10  Satyaki Das  <satyaki@theforce.stanford.edu>
7285         * mh-index.el (mh-index-keymap, mh-index-page-msg)
7286         (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
7287         mh-index-page-msg.
7288         (mh-index-keymap, mh-index-previous-page): Replace
7289         mh-index-scroll-down with mh-index-previous-page.
7291 2002-11-09  Satyaki Das  <satyaki@theforce.stanford.edu>
7293         * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
7294         loaded. This fixes the infinite load loop. I am not sure what the
7295         actual problem is. Also removed the nop requires/autoloads.
7296         (mh-defun-index): Use the right argument for mh-recenter.
7297         Otherwise it misbehaves for the default value of
7298         mh-summary-height.
7300         * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
7301         used on first line of index folder buffer.
7303 2002-11-09  Peter S Galbraith  <psg@debian.org>
7305         * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
7306         mh-index-mode.
7307         (mh-index-folder-mode): Use it.
7308         (mh-index-keymap): Added mouse-2 binding, like in regular
7309         folder-mode.
7311 2002-11-08  Satyaki Das  <satyaki@theforce.stanford.edu>
7313         * mh-index.el (mh-index-folder-mode): Fix doc string for major
7314         mode. It was pointing to the wrong keymap.
7315         (mh-index-show-mode): Fix doc string for mode. Also add mh-help
7316         support.
7318         * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
7319         mh-mark-active-p instead. This does the right thing for different
7320         variants of Emacs.
7321         (mh-yank-cur-msg): Add a space between sexprs.
7323         * mh-utils.el (mh-mark-active-p): New macro which papers over
7324         diffences between GNU Emacs and XEmacs. The variables mark-active
7325         and transient-mark-mode are used in GNU Emacs while zmacs-regions
7326         and region-active-p are used in XEmacs.
7328         * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
7329         mh-mark-active-p as above.
7331         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
7332         mh-mark-active-p as above.
7334 2002-11-06  Peter S Galbraith  <psg@debian.org>
7336         * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs.  It didn't work
7337         with a selected region, and left the inserted text selected (in
7338         reverse video).  I didn't use SF patch #402315 to implement this.
7340 2002-11-05  Peter S Galbraith  <psg@debian.org>
7342         * mh-utils.el (mh-show-tool-bar-map): Change call to
7343         mh-tool-bar-search-command such that user can customize it for the
7344         current session.
7346         * mh-e.el (mh-folder-tool-bar-map): Same.
7348 2002-11-05  Bill Wohler  <wohler@newt.com>
7350         * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
7351         mh-tool-bar-search-command.
7353         * mh-index.el (mh-index-search): Backed out previous change to
7354         prompt. There ain't no folder named "all."
7356         * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
7357         and mh-index-search to the docstring so that user can easily click
7358         on them for more information.
7360         * mh-pick.el (mh-search-folder): Mention that this function uses
7361         the MH pick command to give the user more information when
7362         choosing between mh-search-folder and mh-index-folder.
7364         * mh-index.el (mh-index-search): Edited the docstring. Direct the
7365          user to mh-index-program if necessary.
7366          (mh-index-program): Edited this docstring too. Viewing the help
7367          in a *Help* buffer really exposes grammatical flaws.
7369 2002-11-05  Peter S Galbraith  <psg@debian.org>
7371         * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
7372         what search function to use in tool-bar.
7373         (mh-show-tool-bar-map): Use it.
7375         * mh-e.el (mh-folder-tool-bar-map): Use it.
7377 2002-11-05  Bill Wohler  <wohler@newt.com>
7379         * mh-index.el (mh-index-search): Changed default prompt from "+"
7380         to "all". mh-prompt-for-folder doesn't seem to mind.
7382         * mh-e.el (mh-folder-folder-menu): Added menu entry for
7383         mh-index-search.
7385         * mh-utils.el (mh-show-folder-menu): Added menu entry for
7386         mh-index-search.
7388         * mh-index.el: Added commentary on supported search engines and
7389         for getting started (initializing database).
7391 2002-11-04  Satyaki Das  <satyaki@theforce.stanford.edu>
7393         * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
7394         binding of "i" to "Fi".
7395         (mh-index-folder-mode-help-messages): Change help message to
7396         reflect above change.
7398 2002-11-04  Bill Wohler  <wohler@newt.com>
7400         * mh-index.el (mh-index-program, mh-indexer): Swapped names since
7401         the former seems like a better user variable name. If you've
7402         customized mh-indexer, be sure to toss it out and customize
7403         mh-index-program.
7405 2002-11-04  Satyaki Das  <satyaki@theforce.stanford.edu>
7407         * mh-index.el (mh-indexer-choices): Not having the quotes in the
7408         binary names is a bit nicer since that maintains uniformity with
7409         the other names.
7410         (mh-index-choose): Use symbol-value instead of eval. Eval should
7411         be avoided except when it can't be :-).
7413 2002-11-04  Bill Wohler  <wohler@newt.com>
7415         * mh-index.el (mh-index-program): New variable to hold the name of
7416         the indexer that was found; use this instead of clobbering
7417         user-customizable variable mh-indexer.
7418         (mh-index-search): Use it. Added comments to keep others from
7419         doing what I had done (fortunately, I caught myself before
7420         checking it in ;-).
7421         (mh-index-choose): Set mh-index-program instead of mh-indexer.
7422         Update docstring to describe side-effects.
7424         * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
7425         are good that if someone has both swish++ and swish, they want to
7426         use the much faster, much smaller swish, so move it up in the
7427         list.
7428         (mh-indexer-choices): Ditto for rationale for moving swish++ up in
7429         priority over swish. Also, use -binary symbols instead of
7430         hard-coding binary names. This allows package installers to
7431         customize the location of the binaries in site-lisp and still have
7432         the auto-detection code work. It also allows one to have alternate
7433         binary names (see mh-swish++-binary).
7434         (mh-index-search): Ditto (moving swish++ up).
7435         (mh-swish++-binary): Look for search++, then search. The rationale
7436         is that a package maintainer may rename search to search++ if
7437         search is already in use (e.g., Debian) so try it first.
7438         (mh-swish++-execute-search): Replaced Satyaki's path with dummy
7439         path in docstring. Also removed RecurseSubdirs since this is the
7440         default. Added comment that index might be named index++ on some
7441         systems (e.g., Debian).
7442         (mh-index-choose): Updated to work with new mh-indexer-choices.
7444 2002-11-04  Peter S Galbraith  <psg@debian.org>
7446         * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
7447         here, since that adds the menu to the Customize buffer in XEmacs.
7449 2002-11-04  Peter S Galbraith  <psg@debian.org>
7451         * mh-comp.el (mh-mhn-compose-insert-flag)
7452         (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
7454         * mh-mime.el (mh-mhn-compose-insert-flag)
7455         (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
7456         Fixes mh-letter-menu for XEmacs.
7458 2002-11-04  Eric Ding  <eding@rational.com>
7460         * mh-comp.el (mh-rejected-letter-start): add another string
7462 2002-11-04  Eric Ding  <ericding@alum.mit.edu>
7464         * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
7465         regexps as args, only regular strings
7467 2002-11-04  Peter S Galbraith  <psg@debian.org>
7469         * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
7470         pre-existing M-F-T field.  If a nmh replgroupcomps propagates a
7471         M-F-T field in a message reply, then we have to have it alone.
7473 2002-11-02  Bill Wohler  <wohler@newt.com>
7475         * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7476         mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
7477         mh-xemacs-compat.el: Added Local Variables section. Defined
7478         sentence-end-double-space to be nil so that those who might not
7479         buy my setting of this variable can at least run checkdoc without
7480         a whole lot of noise.
7482 2002-11-02  Peter S Galbraith  <psg@debian.org>
7484         * mh-identity.el: New file.  Multiple Identify support for MH-E.
7485         Used to easily set different fields such as From and Organization,
7486         as well as diffrent signature files.  This file won't be included
7487         with V7.0.
7489 2002-11-02  Bill Wohler  <wohler@newt.com>
7491         * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
7492         from Gnus 5.10 to make it explicit which code has been
7493         commandeered.
7494         (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
7495         code from Gnus 5.10.
7497 2002-11-02  Peter S Galbraith  <psg@debian.org>
7499         * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
7500         mention related variables mh-reply-show-message-flag and
7501         mh-delete-yanked-msg-window.
7502         (mh-reply): Change the "Reply to whom" prompt.
7504 2002-11-01  Bill Wohler  <wohler@newt.com>
7506         * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
7507         (mh-folder-list-change-hook): Converted this from defvar in other
7508         files to defcustom here. It is called, not documented as
7509         obsolete, and might as well be documented.
7510         (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
7511         mh-process-commands, mh-update-unseen): Added missing
7512         documentation about hook, or made verbiage about hook consistent
7513         throughout, even if the function isn't interactive.
7515         * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
7516         and made it a defcustom.
7517         (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
7518         but this is the place where it is called).
7519         (mh-show-hook): Moved here from mh-e.el since it's called here.
7520         (mh-show-mode): Call mh-show-mode-hook.
7521         (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
7522         mh-prompt-for-folder, mh-set-folder-list): Added missing
7523         documentation about hook, or made verbiage about hook consistent
7524         throughout, even if the function isn't interactive.
7526         * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
7527         throughout.
7528         (mh-insert-prefix-string): Made docstring more descriptive of what
7529         is going on.
7531         * mh-funcs.el (mh-kill-folder): Added missing documentation about
7532         hook.
7534         * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
7535         (mh-index-show): Made verbiage about hook consistent throughout.
7537         * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
7538         (mh-edit-mhn): Added missing documentation about hook.
7540         * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
7541         throughout. Call the damn hook.
7543 2002-11-01  Satyaki Das  <satyaki@theforce.stanford.edu>
7545         * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
7546         it will look right in info.
7548         * mh-index.el (mh-index-search): Change argument name from
7549         new-buffer-p to new-buffer-flag.
7550         (mh-index-search-again, mh-index-search): New index-buffers were
7551         being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
7552         is fixed.
7553         (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
7554         show buffers (after the first one) was broken.
7555         (mh-index-quit): Bury show buffer instead of killing it. Killing
7556         it, without killing the corresponding folder buffer, can cause
7557         confusion with two folder buffers trying to display in the same
7558         show buffer.
7560         * mh-seq.el (mh-thread-prune-containers): Rewritten without
7561         recursion. Also removed the top-level-p argument since it isn't
7562         required anymore.
7563         (mh-thread-sort-containers): New function factored out from
7564         previous definition of mh-thread-prune-containers. It sorts
7565         message containers in ascending order wrt their message indices.
7566         (mh-thread-generate): Use new mh-thread-prune-containers.
7568         * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
7569         at the wrong place!
7571 2002-10-31  Bill Wohler  <wohler@newt.com>
7573         * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
7574         mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
7575         mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
7577 2002-10-31  Satyaki Das  <satyaki@theforce.stanford.edu>
7579         * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
7580         sequence notation and leave notation for other things alone. This
7581         ensures that threading doesn't lose notations for replied-to
7582         messages.
7584         * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
7585         instead do it in mh-get-new-mail. This way the widening happens
7586         only if new mail is incorporated.
7587         (mh-generate-new-cmd-note): The function now returns the point
7588         from which the new messages start. This will allow threading to do
7589         the right thing.
7590         (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
7591         adaptive scan mode leaves two messages marked as current in
7592         certain cases. Fix indentation of if statement. If there are
7593         messages to be incorporated, the folder is widened. If mh-cmd-note
7594         changes set start-of-inc correctly.
7595         (mh-remove-all-notation): Change this function to only remove user
7596         sequence notation and leave notation for replied-to messages and
7597         similar notation alone. This means operations like narrowing to
7598         subject sequence and widening don't lose notations.
7600 2002-10-31  Bill Wohler  <wohler@newt.com>
7602         * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
7603         docstring and other minor edits. Checkdoc removed trailing spaces.
7604         (mh-insert-signature): Checkdoc flagged docstring. Reverted to
7605         previous value. Added specific name of hook that is run.
7606         (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
7607         trailing spaces.
7609 2002-10-31  Jeffrey C Honig  <jch@honig.net>
7611         * mh-e.el (mh-show-mode-hook): Remove the unused
7612         mh-show-mode-hook, mh-show-hook is the one that is used.
7614         * mh-utils.el (mh-show-mode): Change the documentation to refer to
7615         mh-show-hook instead of the unused mh-show-mode-hook.
7617 2002-10-31  Peter S Galbraith  <psg@debian.org>
7619         * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
7620         and include example in doc string.
7622 2002-10-31  Satyaki Das  <satyaki@theforce.stanford.edu>
7624         * mh-index.el (mh-indexer): Add customization choice for swish++.
7625         (mh-indexer-choices): Add swish++ choice.
7626         (mh-index-search): Change doc to reflect addition of swish++ option.
7627         (mh-swish++-binary, mh-swish++-directory): New variables for
7628         swish++ interface.
7629         (mh-swish++-execute-search): New function to execute swish++
7630         search.
7631         (mh-swish++-next-result): Function aliased to mh-swish-next-result
7632         since the result format of swish++ is the same as that of swish-e.
7633         (mh-index-search): Always overwrite window-configuration with new
7634         value. This is needed since we don't kill the index-buffer when
7635         quitting which means the window configuration wasn't getting set
7636         properly.
7637         (mh-index-search-again): If index buffer is reused, reset the old
7638         window config to its original value.
7640 2002-10-30  Bill Wohler  <wohler@newt.com>
7642         * Makefile (emacs, xemacs): New targets.
7643         (all): Use these targets instead of calling specific targets.
7644         (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
7645         target and moved pieces into their own sections.
7648 2002-10-30  Peter S Galbraith  <psg@debian.org>
7650         * mh-utils.el (mh-show-font-lock-keywords): Wrap an
7651         'eval-and-compile around its defvar, otherwise byte-compilation
7652         fails on `mh-show-font-lock-keywords-with-cite'.
7654 2002-10-29  Jeffrey C Honig  <jch@honig.net>
7656         * mh-comp.el (mh-letter-insert-signature-hook)
7657         (mh-insert-signature): Add a hook to be called before inserting
7658         the signature.  Do not attempt to insert the signature if
7659         mh-insert-signature-file-name is nil.
7661 2002-10-29  Peter S Galbraith  <psg@debian.org>
7663         * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
7664         (Closes SF #629233: inc in narrowed folder suboptimal)
7666         * mh-comp.el (mh-insert-letter): Stop using mhl to include a
7667         message before it mangles the header, and supercite fails
7668         (Closes SF #629153: mh-insert-letter uses mhl?).
7669         (mh-insert-prefix-string): Leave point at beginning instead of
7670         end, since that's what sc-cite-original does.
7671         (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
7673 2002-10-30  Steve Youngs  <youngs@xemacs.org>
7675         * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
7676         when in XEmacs so we don't do font-locking unconditionally.
7678         * mh-utils.el (mh-show-mode): Ditto.
7680 2002-10-29  Peter S Galbraith  <psg@debian.org>
7682         * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
7683         (mh-folder-to-face, mh-folder-body-face): Define faces instead of
7684         copying them from font-lock faces.  This mh-e will look the same
7685         in XEmacs as it does in Emacs.
7686         * mh-utils.el (mh-show-cc-face, mh-show-date-face)
7687         (mh-show-header-face): Ditto.
7689 2002-10-29  Jeffrey C Honig  <jch@honig.net>
7691         * mh-comp.el (mh-send-letter): I meant to use
7692         mh-goto-header-field, not mh-get-header-field.  The former returns
7693         nil if the header is not found and doesn't need a conditional.
7695 2002-10-29  Peter S Galbraith  <psg@debian.org>
7697         * mh-comp.el (mh-forward): Bug fix.  Change 'kill-line for a
7698         'delete-region, because I don't want that text yanked with C-y.
7700         * mh-seq.el (mh-put-msg-in-seq): Add support for selected
7701         region (Closes SF feature request #630324).
7703 2002-10-28  Satyaki Das  <satyaki@theforce.stanford.edu>
7705         * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
7706         general so that a subject of the form "Re[218]: howdy" would be
7707         properly pruned.
7709         * mh-mime.el (mh-mime-save-part): Copy function definition of
7710         mm-save-part from cvs gnus since that function is buggy in gnus
7711         that comes with emacs21.2.
7713 2002-10-28  Peter S Galbraith  <psg@debian.org>
7715         * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
7716         optional bracketed number after "Re", such as in "Re[2]:"
7717         (Patch by Satyaki; I checked it and applied).
7718         (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
7719         * mh-seq.el (mh-subject-to-sequence): Ditto.
7721         * mh-e.el (mh-folder-sequence-menu):  Remove "Toggle Subject
7722         Thread" from menu.   mh-toggle-threads is in the Folder menu.
7724         * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
7726         * mh-utils.el (mh-show-update-sequences): Added to
7727         mh-defun-show-buffer builds; needed for menu.
7728         (mh-show-sequence-menu, mh-show-message-menu)
7729         (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
7730         the menus used in mh-folder-mode.
7731         (mh-show-mode): easy-menu-add the 3 menus.
7733 2002-10-28  Satyaki Das  <satyaki@theforce.stanford.edu>
7735         * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
7736         go to the right message. In a threaded folder message 2 may be
7737         present after 26 and the previous regexp would go to 26 when we
7738         really wanted to go to 2!
7740         * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
7741         mh-narrow-to-seq.
7743 2002-10-28  Bill Wohler  <wohler@newt.com>
7745         * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
7746         (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
7747         of mh-show-mime-save-parts.
7749 2002-10-28  Peter S Galbraith  <psg@debian.org>
7751         * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
7752         bug fix.
7753         * mh-utils.el (mh-show-tool-bar-map): Same.
7754         * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
7756 2002-10-27  Satyaki Das  <satyaki@theforce.stanford.edu>
7758         * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
7759         its behavior like that of mh-narrow-to-seq.
7761 2002-10-27  Bill Wohler  <wohler@newt.com>
7763         * mh-mime.el (mh-mime-save-parts): Renamed from
7764         mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
7765         bug whereby mh-mime-save-parts-directory was not getting
7766         initialized properly from a string-valued
7767         mh-mime-save-parts-default-directory.
7768         (mh-mime-save-parts-default-directory): Ditto. Check your
7769         customizations!
7770         (mh-mime-save-parts-directory): Ditto.
7772         * mh-utils.el (mh-show-mime-save-parts): Renamed from
7773         mh-store-mime-parts.
7774         (mh-show-mime-map): Added keybinding "K a" for
7775         mh-show-mime-save-parts.
7777         * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
7778         (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
7779         (mh-help-messages): Added help for "K a".
7781 2002-10-27  Peter S Galbraith  <psg@debian.org>
7783         * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
7784         the first to the second (and recode a bit).
7785         (mh-insert-mail-followup-to): Use it.
7787 2002-10-27  Bill Wohler  <wohler@newt.com>
7789         * mh-utils.el (mh-invisible-headers): Backed out change. Removed
7790         Mail-Followup-To due to objections from Peter and Mark.
7792 2002-10-27  Satyaki Das  <satyaki@theforce.stanford.edu>
7794         * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
7795         whether the message being queried about has been marked to be
7796         deleted or refiled.
7798         * mh-mime.el (mh-insert-mime-security-button): Make
7799         pressed-details a local.
7801 2002-10-27  Steve Youngs  <youngs@xemacs.org>
7803         * .cvsignore: New file.
7805 2002-10-26  Steve Youngs  <youngs@xemacs.org>
7807         * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
7808         variable 'dest', it isn't used anywhere.
7810         * mh-pick.el (mh-do-pick-search): Don't bind local variable
7811         'finding-messages', it isn't used anywhere.
7813         * mh-utils.el: Byte-compiler warning suppression.
7814         (mh-gnus-article-highlight-citation): Rather than redefining
7815         'gnus-cite-face-list', just re-order it.
7816         (mh-show-mode): Force turning on font-lock in XEmacs.
7818         * mh-seq.el: Byte-compiler warning suppression.
7820         * mh-index.el: Byte-compiler warning suppression.
7822         * mh-comp.el: Byte-compiler warning suppression.
7824         * mh-xemacs-compat.el: Add defaliases for 'timerp' &
7825         'cancel-timer' to the equivalent 'itimer' functions.
7826         (rfc822): Require it for 'rfc822-goto-eoh'.
7827         Byte-compiler warning suppression.
7829         * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
7830         (mh-toggle-threads): Remove duplicate autoload.
7831         Byte-compiler warning suppression.
7832         (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
7833         in XEmacs when font-lock is on.
7834         (mh-folder-unseen-seq-name): Ditto.
7836 2002-10-27  Mark D. Baushke  <mdb@gnu.org>
7838         * Makefile: Reorganize to allow for building also compiling for
7839         XEmacs too. Sanitize so that it will work using least-common
7840         denominator versions of 'make'. Tested using GNU make, Solaris make,
7841         and Berkely make.
7842         (all): Use recursive invokation based on the emacs or xemacs
7843         executable passed on the 'make EMACS=xemacs' command line.
7844         (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
7845         to compile things properly.
7846         (AUTO_PRELOADS): Magic XEmacs glue.
7847         (clean): Ditto.
7848         (autoloads): Ditto.
7849         (custom-loads): Ditto.
7851 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
7853         * mh-e.el (mh-last-msg): Add call to mh-recenter.
7855 2002-10-26  Peter S Galbraith  <psg@debia.org>
7857         * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
7858         `mh-re-search-to-cc' in favour of more generalized new function
7859         `mh-search-addr-regexp'.
7860         (mh-insert-mail-followup-to): Use it.
7862 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
7864         * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
7865         folder is already threaded. This is more efficient and also avoids
7866         problems when the folder is widened.
7867         (mh-thread-inc): Don't try to restore the point to original
7868         location since mh-inc-folder from where this is called changes
7869         point location after calling this function.
7871         * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
7872         test was wrong.
7874 2002-10-26  Peter S Galbraith  <psg@debian.org>
7876         * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
7878 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
7880         * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
7881         of dest. The problem was pointed out by Steve as well.
7883         * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
7884         pointed out by Steve.
7886 2002-10-26  Bill Wohler  <wohler@newt.com>
7888         * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
7890 2002-10-26  Peter S Galbraith  <psg@debian.org>
7892         * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
7893         defcustom.
7895 2002-10-25  Satyaki Das  <satyaki@theforce.stanford.edu>
7897         * mh-e.el (mh-remove-all-notation): New function that removes all
7898         notation.
7900         * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
7901         remove all notation. This avoids stale notation hanging around.
7902         Also changes in show buffer and position in folder buffer are
7903         avoided if possible.
7904         (mh-widen): When widening the scan-lines are notated based on the
7905         current state of the folder. This means any changes made when the
7906         folder was narrowed are shown consistently.
7907         (mh-notate-deleted-and-refiled): Update the documentation.
7908         (mh-thread-parse-scan-line): For some reason the ASCII value of
7909         the space character was being used here. This is fixed.
7910         (mh-thread-inc, mh-toggle-threads): Avoid change of point in
7911         folder and message being displayed in shown buffer.
7913         * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
7914         blank lines when point is towards the end of the folder buffer.
7916 2002-10-25  Peter S Galbraith  <psg@debian.org>
7918         * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
7919         defcustom to append a Mail-Followup-To field to the header.  The
7920         insertion is done if the To: or Cc: fields matches an entry in
7921         `mh-insert-mail-followup-to-list'."
7922         (mh-insert-mail-followup-to-list): New defvar. List of addresses
7923         for which a Mail-Followup-To field is inserted.
7924         (mh-re-search-to-cc): New function. Search for REGEXP in To: and
7925         Cc: fields.
7926         (mh-insert-mail-followup-to): New function. Insert
7927         Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
7928         (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
7929         mh-insert-mail-followup-to-flag is true.
7931 2002-10-25  Mark D. Baushke  <mdb@gnu.org>
7933         * mh-utils.el (mh-show-maximum-size): New variable to control
7934         the display of large messages.
7935         (mh-display-msg): Use it (Closes SF #488696).
7937         * mh-seq.el (mh-toggle-threads): Checkdoc fix.
7939         * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
7941         * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
7942         mh-insert-x-mailer-p. Update docstring.
7943         (mh-send-letter): Use it.
7944         (mh-reply-show-message-flag): Renamed from
7945         mh-reply-show-message-p. Update docstring.
7946         (mh-reply): Use it.
7947         This addresses part of SF #627015.
7949         * mh-e.el (mh-recenter-summary-flag): Renamed from
7950         mh-recenter-summary-p. Update docstring.
7951         (mh-set-scan-mode): Use it.
7952         This addresses part of SF #627015.
7954 2002-10-25  Satyaki Das  <satyaki@theforce.stanford.edu>
7956         * mh-e.el (mh-reset-threads-and-narrowing): New function which
7957         resets all thread and narrowing state to completely unthreaded and
7958         widened state. As a side effect, the folder buffer is erased.
7959         (mh-rescan-folder): Reset threads and narrowing state.
7961         * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
7963         * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
7964         threading is over so that if user aborts threading, it doesn't
7965         leave mh-e in an inconsistent state.
7966         (mh-toggle-threads): Use mh-scan-folder to populate the folder
7967         buffer instead of mh-rescan-folder which resets threading and
7968         narrowing state.
7970 2002-10-24  Bill Wohler  <wohler@newt.com>
7972         * mh-e is completely checkdoc clean now.
7974         * mh-utils.el (mh-clean-message-header-flag): Renamed from
7975         mh-clean-message-header.
7976         (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
7977         (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
7978         This addresses part of SF #627015.
7980         * mh-mime.el (mh-clean-message-header-flag): Renamed from
7981         mh-clean-message-header.
7982         Checkdoc fixes. This addresses part of SF #627015.
7984         * mh-index.el (mh-clean-message-header-flag): Renamed from
7985         mh-clean-message-header. This addresses part of SF #627015.
7987         * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
7988         mh-do-not-confirm. This addresses part of SF #627015.
7990         * mh-e.el (mh-do-not-confirm-flag): Renamed from
7991         mh-do-not-confirm.
7992         (mh-clean-message-header-flag): Renamed from
7993         mh-clean-message-header.
7994         This addresses part of SF #627015.
7996         * mh-comp.el: checkdoc fixes.
7998 2002-10-24  Satyaki Das  <satyaki@theforce.stanford.edu>
8000         * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
8001         fresh instead of yanking from buffer. This is needed to get
8002         correct threading in copied sequence.
8003         (mh-thread-inc, mh-thread-update-scan-line-map)
8004         (mh-thread-parse-scan-line): Eliminate the use, and hence the
8005         definition of, the kludgy mh-thread-update-scan-line-map. Instead
8006         the functions mh-notate-deleted-and-refiled and
8007         mh-notate-user-sequences are used to get the message marks right.
8008         (mh-thread-generate-scan-lines): Updated to allow the thread tree
8009         to be used in a narrowed folder buffer.
8010         (mh-thread-folder, mh-toggle-threads): Remove
8011         mh-folder-threaded-view-flag.
8012         (mh-thread-old-scan-line-map): New buffer-local variable that
8013         remembers the original scan-line map so that the sequence thread,
8014         narrow, widen will work.
8015         (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
8016         narrowing and restore it when widening.
8018         * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
8019         (mh-regenerate-headers, mh-get-new-mail)
8020         (mh-make-folder-mode-line, mh-process-commands)
8021         (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
8022         Instead (memq 'unthread mh-view-ops) is used to test if the folder
8023         is threaded.
8025         * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
8026         since we want to do emphasis on the whole of the region and not
8027         just after the first blank line.
8028         (mh-mm-display-part): When displaying a text part show smilies and
8029         emphasis.
8031         * mh-index.el (mh-index-insert-scan): Attempt to keep number of
8032         args to scan small if there are lots of adjacent matches.
8033         (mh-index-quit): Bury index-buffer on quit instead of killing it.
8034         This behavior is more like that of mh-quit.
8036         * mh-seq.el (mh-widen): If folder was threaded after narrowing
8037         then make mh-widen undo the threading instead of erroring out.
8039 2002-10-24  Peter S Galbraith  <psg@debian.org>
8041         * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
8042         Satyaki) to properly unthread a narrowed-to-sequence.
8044         * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
8045         breakage from partial switch to mh-container-real-child-flag and
8046         to dupl-flag.
8048         * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
8049           (eq t mh-yank-from-start-of-msg) when that's what we want.
8051 2002-10-24  Mark D. Baushke  <mdb@gnu.org>
8053         * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
8054         subject-pruned-flag.
8055         (mh-thread-inc): Renamed old-buffer-modified-p as
8056         old-buffer-modified-flag.
8057         (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
8058         This addresses part of SF #627015.
8060         * mh-index.el (mh-index-advance):  Renamed backward-p
8061         local variable as backward-flag.
8062         (mh-index-next-button): Renamed backward-p
8063         argument as backward-flag.
8064         (mh-index-show): Renamed display-headers-p argument as
8065         display-headers-flag.
8066         This addresses part of SF #627015.
8068         * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
8069         (mh-folder-mime-action): Renamed include-security-p
8070         argument as include-security-flag.
8071         (mh-goto-next-button, mh-next-button): Renamed backward-p
8072         argument as backward-flag.
8073         (mh-get-new-mail): Renamed new-mail-p local variable as
8074         new-mail-flag.
8075         (mh-goto-cur-msg): Renamed minimal-changes-p argument as
8076         minimal-changes-flag.
8077         (redraw-needed-flag): Renamed redraw-needed-p local variable as
8078         redraw-needed-flag.
8079         (mh-seq-containing-msg): Renamed include-internal-p argument as
8080         include-internal-flag.
8081         (mh-page-msg): Use mh-page-to-next-msg-flag.
8082         This addresses part of SF #627015.
8084         * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
8085         mh-mhn-compose-insert-p. Make it buffer-local.
8086         (mh-mhn-compose-type, mh-mhn-compose-external-type,
8087         mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
8088         (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
8089         mh-mime-display-part, mh-mime-display-single): Use
8090         mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
8091         (mh-mime-display-single): Renamed small-image-p local
8092         variable as small-image-flag.
8093         (mh-mime-inline-part): Renamed local variable inserted-p as
8094         inserted-flag.
8095         (mh-mime-inline-part): Renamed local variable displayed-p as
8096         displayed-flag.
8097         This addresses part of SF #627015.
8099         * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
8100         mh-mhn-compose-insert-flag.
8101         (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
8102         renamed from mh-nmh-p.
8103         (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
8104         (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
8105         mh-gnus-pgp-support-p.
8106         (mh-mml-secure-message-sign-pgpmime): Use
8107         mh-gnus-pgp-support-flag.
8108         This addresses part of SF #627015.
8110         * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
8111         mh-page-to-next-msg-p.
8112         (mh-show-msg): Use mh-page-to-next-msg-flag.
8113         (mh-gnus-pgp-support-flag): Renamed from
8114         mh-gnus-pgp-support-p.
8115         (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
8116         (with-mh-folder-updating): Renamed argument
8117         save-modification-flag-p as mh-save-modification-flag.
8118         (mh-prompt-for-folder): Renamed new-file-p local
8119         variable as new-file-flag.
8120         This addresses part of SF #627015.
8122 2002-10-24  Mark D Baushke  <mdb@gnu.org>
8124         * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
8125         in last commit to be mh-mml-compose-insert-flag.
8126         (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
8128 2002-10-24  Jeffrey C Honig  <jch@honig.net>
8130         * mh-comp.el (mh-forward): Add support for transient-mark mode.
8131         When using nmh, always specify -mime so as to preserve the
8132         original message(s).  If mh-compose-insertion is 'gnus, convert
8133         the mhbuild format forwarding directives into MML.
8135 2002-10-24  Eric Ding  <ericding@alum.mit.edu>
8137         * mh-comp.el (mh-send-letter): Fix for earlier change that added
8138         "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
8139         at least no longer triggered for every outgoing message!
8141 2002-10-24  Peter S Galbraith  <psg@debian.org>
8143         * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
8144         (see text below).
8146         * mh-comp.el (mh-yank-cur-msg): Fix for supercite.  Someone played
8147         with the point and mark setting prior to the call to
8148         'mh-insert-prefix-string and that broke supercite.  I put comments
8149         to make it obvious to future coders why those settings exists.
8150         Note that supercite is still broken when a region is selected in
8151         the show buffer.  Presumably it's been like that for a long time.
8152         We need to insert the header as well as the selected region oin
8153         that case.  I'll submit an SF bug.
8155 2002-10-24  Jeffrey C Honig  <jch@honig.net>
8157         * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
8158         flag to reply when 'autosupercite or 'autoattrib are specified to
8159         prevent duplicate cites of the body of a message.
8161 2002-10-23  Satyaki Das  <satyaki@theforce.stanford.edu>
8163         * mh-utils.el (font-lock-default-fontify-region): Add autoload to
8164         avoid compiler warning.
8166 2002-10-23  Peter S Galbraith  <psg@debian.org>
8168         * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
8169         own 'mh-fill-paragraph-function instead of simply
8170         'mail-mode-fill-paragraph (because it doesn't handle a non-nil
8171         fill-prefix correctly).
8172         (mh-fill-paragraph-function): New function for mh-letter-mode
8173         fill-paragraph-function in order to handle non-nil fill-prefix.
8174         Call sendmail's mail-mode-fill-paragraph if in the mail header,
8175         else call default fill-paragraph with fill-prefix set to nil.
8176         (Closes SF #489927)
8178         * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
8179         used in show-mode.  The reason is that gnus uses static text
8180         properties which are not appropriate for a buffer that will be
8181         edited.  So the choice here is either fontify the citations and
8182         header or the header only.
8184         * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
8185         in mh-show-mode to the header.  Used when mh-highlight-citation-p
8186         is set to gnus, leaving the body to be dealt with by gnus
8187         highlighting.  This fixes gnus text emphasis in mh-show-mode.
8188         (mh-show-mode): In font-lock-defaults, set
8189         font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
8191 2002-10-23  Bill Wohler  <wohler@newt.com>
8193         * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
8194         be Disposition, not Content-Type. The Content-Type has been
8195         determined automatically.
8197 2002-10-23  Mark D. Baushke  <mdb@gnu.org>
8199         * MH-E-NEWS:
8200         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8201         s/mh-show-use-xface/mh-show-use-xface-flag/
8202         s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8203         This addresses part of SF #627015.
8205         * mh-comp.el:
8206         s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8207         s/mh-xemacs-p/mh-xemacs-flag/
8208         (mh-letter-menu): Use mh-mml-compose-insert-flag.
8209         (mh-insert-x-mailer): Use mh-xemacs-flag.
8210         (mh-mml-compose-insert-flag): Renamed from
8211         mh-mml-compose-insert-p.
8212         (mh-send-letter): Use mh-mml-compose-insert-flag.
8213         This addresses part of SF #627015.
8215         * mh-e.el:
8216         s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8217         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8218         s/mh-xemacs-p/mh-xemacs-flag/
8219         (mh-folder-threaded-view-flag): Renamed from
8220         mh-folder-threaded-view-p. Make it buffer local.
8221         (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
8222         (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
8223         (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
8224         mh-adaptive-cmd-note-flag.
8225         (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
8226         mh-make-folder-mode-line, mh-process-commands,
8227         mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
8228         This addresses part of SF #627015.
8230         * mh-index.el:
8231         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8232         (mh-index-search): Use mh-adaptive-cmd-note-flag.
8233         This addresses part of SF #627015.
8235         * mh-mime.el:
8236         s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8237         s/mh-xemacs-p/mh-xemacs-flag/
8238         (mh-mml-compose-insert-flag): Renamed from
8239         mh-mml-compose-insert-p. Make it buffer local.
8240         (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
8241         mh-mml-secure-message-encrypt-pgpmime): Use it.
8242         (gnus-local-map-property): Use mh-xemacs-flag.
8243         This addresses part of SF #627015.
8245         * mh-seq.el:
8246         s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8247         (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
8248         mh-folder-threaded-view-flag.
8249         This addresses part of SF #627015.
8251         * mh-speed.el:
8252         s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
8253         s/mh-speed-refresh-p/mh-speed-refresh-flag/
8254         (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
8255         (mh-folder-speedbar-buttons): Use it.
8256         (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
8257         (mh-speed-update-current-folder, mh-speed-invalidate-map,
8258         mh-speed-add-folder): Use it.
8259         This addresses part of SF #627015.
8261         * mh-utils.el:
8262         s/mh-xemacs-p/mh-xemacs-flag/
8263         s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8264         s/mh-show-use-xface/mh-show-use-xface-flag/
8265         (mh-xemacs-flag): Renamed from mh-xemacs-p.
8266         (mh-show-xface-function): Use it.
8267         (mh-tool-bar-reply-3-buttons-flag): Renamed from
8268         mh-tool-bar-reply-3-buttons.
8269         (mh-show-tool-bar-map): Use it.
8270         (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
8271         (mh-cmd-note): Use it in description.
8272         (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
8273         mh-xemacs-flag.
8274         (mh-show-xface): Use mh-show-use-xface-flag.
8275         This addresses part of SF #627015.
8277 2002-10-23  Bill Wohler  <wohler@newt.com>
8279         * Makefile (all): Rather than have to run "make clean all" all the
8280         time, make the default target do a clean so all you have to say is
8281         "make".
8283         * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
8284         prefix.
8286 2002-10-22  Satyaki Das  <satyaki@theforce.stanford.edu>
8288         * mh-index.el (mh-indexer-choices, mh-swish-binary): The
8289         executable swish-e can be used to search (just like swish-search).
8290         However the Makefile in swish-e-2.2.2 doesn't install
8291         swish-search. So it is preferable to use swish-e.
8293 2002-10-22  Bill Wohler  <wohler@newt.com>
8295         * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
8296         For example, you now have "C-c C-m C-i" in addition to "C-c C-m
8297         i".
8299 2002-10-22  Mark D. Baushke  <mdb@gnu.org>
8301         * mh-mime.el (mh-graphical-smileys-flag): Renamed from
8302          mh-graphical-smileys-p.
8303          (mh-display-smileys): Use it.
8304          (mh-graphical-emphasis-flag): Renamed from
8305          mh-graphical-emphasis-p.
8306          (mh-display-emphasis): Use it. This addresses part of SF #627015.
8308 2002-10-22  Satyaki Das  <satyaki@theforce.stanford.edu>
8310         * mh-mime.el (mh-insert-mime-security-button): A message is
8311         produced if PGP decryption/verification fails. This addresses
8312         SF# 627025.
8314 2002-10-21  Bill Wohler  <wohler@newt.com>
8316         * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
8317         The info node (elisp) Coding Conventions says: "An error message
8318         should start with a capital letter but should not end with a
8319         period."
8321         * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
8322         defcustom to mh-utils because I got an error about a nil value for
8323         mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
8325         * mh-comp.el, mh-funcs,el, mh-mime.el, mh-pick.el: Moved (provide)
8326         to the end of the file to be consistent with most other files (see
8327         additional rationale in mh-e.el description below).
8329         * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
8330         here too (because the remove-if generated a warning in CVS Emacs).
8331         Moved (provide) to the end of the file to be consistent with most
8332         other files. My guess is that this is good to keep a feature from
8333         being "provided" if the file craps out while being loaded.
8335 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
8337         * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
8338         compiler warnings.
8339         (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
8340         warning.
8342         * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
8343         occurred.
8344         (mh-valid-view-change-operation-p): New function that checks if
8345         the widening or unthreading that we are about to perform is
8346         allowed.
8347         (mh-widen): Check if widening is applicable.
8348         (mh-thread-inc, mh-thread-folder): Use delete-region instead of
8349         erase-buffer. This means if the buffer is narrowed then the hidden
8350         parts aren't removed. This allows widening of the folder later on.
8351         (mh-toggle-threads): Maintain mh-view-ops.
8353         * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
8354         that keeps track of the sequence in which threading and narrowing
8355         of the folder buffer has been carried out. This is needed so that
8356         narrowing followed by threading (or vice versa) behaves in a
8357         reasonable manner.
8358         (mh-regenerate-headers): Use delete-region instead of
8359         erase-buffer.
8360         (mh-make-folder-mode-line): Change mh-first-msg-num and
8361         mh-last-msg-num conservatively. This might show a larger range in
8362         the mode-line but allows the unthreading to not miss messages
8363         present initially.
8365 2002-10-21  Bill Wohler  <wohler@newt.com>
8367         * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
8368         docstring, as well as the source of the strings,
8369         gnus-emphasis-alist.
8370         (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
8371         to t.
8373 2002-10-21  Peter S Galbraith  <psg@debian.org>
8375         * mh-utils.el (mh-show-mode): Invoke new toolbar.
8376         (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
8377         mh-letter-mode.
8379 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
8381         * mh-utils.el (mh-display-msg): Call the smiley display function
8382         after the call to mh-show-mode. This is needed since mh-show-mode
8383         kills all buffer-local variables and resets the variable that
8384         controls display of graphical smileys.
8386 2002-10-21  Bill Wohler  <wohler@newt.com>
8388         * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
8390         * mh-comp.el (mh-mml-to-mime autoload): Ditto.
8392 2002-10-21  Mark D Baushke  <mdb@gnu.org>
8394         * mh-mime.el (smiley-region): Use load for a non-fatal dependency
8395         on the smiley library.
8397 2002-10-21  Jeffrey C Honig  <jch@honig.net>
8399         * mh-comp.el (mh-forward): Search for a blank line as well as
8400         mail-header-separator.
8401         (mh-letter-mode): Search for a blank line as well as
8402         mail-header-separator.
8403         (mh-send-letter): The default BCC encapsulation will make a MIME
8404         message unreadable.  If we are running nmh and the letter contains
8405         a Bcc: and a Content-Type: field, add the -mime switch to to the
8406         arguments to send.
8408 2002-10-21  Peter S Galbraith  <psg@debian.org>
8410         * mh-utils.el: Add a mh-defun-show-buffer call to define
8411         mh-show-pack-folder.
8413 2002-10-21  Peter S Galbraith  <psg@debian.org>
8415         * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
8417         * mh-e.el (mh-help-messages): Update help message for changed
8418         keybindings.
8420 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
8422         * mh-speed.el (mh-speed-invalidate-map): Invalidate
8423         mh-speed-folders-cache before it is used by mh-speed-folders. Also
8424         fix indentation of if statement.
8425         (mh-speed-folder-size): The folder name should be extracted from
8426         the speedbar buffer and not from the temp buffer has was happening
8427         before.
8428         (mh-speed-folder-size): Harden the function some more. It
8429         shouldn't produce errors any more unless flist really didn't work.
8431 2002-10-21  Bill Wohler  <wohler@newt.com>
8433         * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
8434         in there is because I was trying to use mh-put-msg-in-seq and
8435         mh-msg-is-in-seq non-interactively and found that although the
8436         docstring says it uses the current message by default, I got
8437         errors if I passed in nil for the message. Is this expected, or is
8438         this a bug? I suppose the fix would be to make the arguments
8439         optional, right? This would cause the arguments in
8440         mh-put-msg-in-seq to be reversed, however. Might be a backwards
8441         compatibility problem.
8443         * mh-speed.el (mh-speed-view): Convert default size to string
8444         before passing it to read-string. This was done because XEmacs
8445         can't handle a numeric value for the default.
8447 2002-10-20  Satyaki Das  <satyaki@theforce.stanford.edu>
8449         * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
8450         (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
8451         (mh-show-digest-map, mh-show-mime-map): Interactive functions
8452         callable in show buffer are now prefixed with mh-show.
8454         * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
8455         changes to mh-refile-list and the removal of the 'deleted
8456         sequence.
8457         (mh-toggle-threads): Changing from threaded to normal view doesn't
8458         try to push out message refiles and deletions to MH.
8460         * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
8461         argument to both functions that prevents them from carrying out
8462         pending refiles and deletes.
8463         (mh-undo): Remove dead code.
8464         (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
8465         The same information is present in mh-delete-list any way.
8466         (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
8467         semantics of mh-refile-list to make it self-contained. This
8468         variable now contains a list of lists. The first element of each
8469         sublist is the destination folder name. The remaining elements are
8470         the messages that are to be refiled to the destination folder.
8471         (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
8472         instead of mh-thread-folder.
8474 2002-10-20  Peter S Galbraith  <psg@debian.org>
8476         * mh-mime.el (mh-store-mime-parts): Bug fix?  Make this command
8477         work when in the show buffer, and not just in the folder buffer
8478         pointing to a message.
8480 2002-10-20  Peter S Galbraith  <psg@debian.org>
8482         * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
8483         mh-narrow-to-subject-thread.
8484         (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
8485         (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
8486         (mh-next-unseen-subject-sequence): Renamed from
8487         mh-next-unseen-subject-thread.
8488         (mh-toggle-subject-thread): Removed.  :-(
8490         * mh-e.el: s/subject-thread/subject-sequence/
8491         (mh-thread-map): Bind mh-widen to "w".
8493         * mh-utils.el: s/subject-thread/subject-sequence/
8494         (mh-show-thread-map): Bind mh-widen to "w".
8496 2002-10-20  Satyaki Das  <satyaki@theforce.stanford.edu>
8498         * mh-seq.el (mh-thread-folder): This function is no longer
8499         interactive. The mh-toggle-threads is the interactive function
8500         that gets called by the user. Also the already computed values in
8501         mh-first-msg-num and mh-last-msg-num are used instead of
8502         recomputing the first and last message indices in the current
8503         folder.
8504         (mh-toggle-threads): New interactive function that toggles
8505         threaded view of the folder.
8507         * mh-utils.el (mh-letter-toggle-threads): New interactive function
8508         which toggles thread view from show buffer. This function replaces
8509         mh-letter-thread-folder.
8510         (mh-show-folder-map): Use mh-letter-toggle-threads instead of
8511         mh-letter-thread-folder.
8513         * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
8514         mh-thread-folder.
8516 2002-10-20  Bill Wohler  <wohler@newt.com>
8518         * mh-e.el (mh-scan-folder): Formatting only.
8519         (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
8520         where there isn't a current message. Since I've started using the
8521         speedbar to read my mh-e mail, I've had to use M-< every time to
8522         go to the beginning of the new messages. Very annoying! Thus, if
8523         there isn't a current message, the cursor is left alone, which
8524         sounds like the right thing to do anyway.
8526 2002-10-19  Peter S Galbraith  <psg@debian.org>
8528         * mh-seq.el (mh-subject-thread-to-sequence): Bug fix.  After
8529         making the 'subject sequence real, I now have to delete it globally.
8531         * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
8532         scan exactly mh-widen (removed moving to current message).
8534         * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
8535         sequence a real one, exported to MH.  This means you can, for
8536         example, mh-forward it.  But it also shows up with a mark in the
8537         scan output.  (Closes SF #489445).
8539 2002-10-19  Bill Wohler  <wohler@newt.com>
8541         * mh-speed.el (mh-speed-view): If there weren't any unseen
8542         messages, and you specified a string (a sequence like "last") when
8543         prompted for the number of messages to display, you got an error.
8544         This has been fixed.
8546 2002-10-19  Mark D Baushke  <mdb@gnu.org>
8548         * mh-e.el (mh-last-destination-folder): Destination of last refile
8549         command.
8550         (mh-last-destination-write): Destination of last write command.
8551         (mh-refile-msg): Use 'mh-last-destination-folder and update both it
8552         and 'mh-last-destination.
8553         (mh-write-msg-to-file): Use 'mh-last-destination-write and update
8554         both it and 'mh-last-destination (Closes SF #580772).
8556 2002-10-19  Bill Wohler  <wohler@newt.com>
8558         * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
8559         'attribution.
8560         (mh-letter-mode-map): Removed commented-out keybindings as well as
8561         alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
8563         * mh-utils.el: Removed autoload of help. It no longer appears to
8564         be necessary in cvs Emacs (21.4).
8566 2002-10-18  Bill Wohler  <wohler@newt.com>
8568         * mh-e.el (mh-execute-commands): Doc fix.
8569         (mh-compat-write-file-hook): Renamed to
8570         mh-write-file-functions-compat.
8571         (mh-folder-mode): Add mh-write-file-functions-compat instead of
8572         mh-compat-write-file-hook
8574 2002-10-18  Peter S Galbraith  <psg@debian.org>
8576         * mh-utils.el (mh-invisible-headers-show-xface): Killed this
8577         variable.
8578         (mh-invisible-headers): Use 'mh-show-use-xface instead of
8579         'mh-invisible-headers-show-xface to determine whether to render
8580         the X-Face header line visible or not.
8582 2002-10-18  Satyaki Das  <satyaki@theforce.stanford.edu>
8584         * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
8585         macro mh-compat-write-file-hook to use write-file-functions for
8586         Emacs 21.4 and local-write-file-hooks for older versions.
8588 2002-10-18  Mark D Baushke  <mdb@gnu.org>
8590         * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
8592 2002-10-18  Peter S Galbraith  <psg@debian.org>
8594         * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
8595         a malformed composition if the description string is empty, so
8596         test for that and call mml-attach-file without that argument if
8597         it's an empty string (closes SF #625168).
8599 2002-10-17  Satyaki Das  <satyaki@theforce.stanford.edu>
8601         * mh-index.el (mh-index-keymap): Removed extra binding of " ".
8602         (mh-index-folder-mode-help-messages): Made the cheat sheet entry
8603         of quit like the others.
8604         (mh-index-search): If space was pressed in the index buffer before
8605         a search result has been shown with ".", the old show buffer would
8606         be scrolled. This is confusing since the index and show buffer
8607         contents are contradictory. Killing the show buffer here avoids
8608         this problem.
8609         (mh-index-configure-windows): Refine the window configuration
8610         logic. Avoid the two window view unless there is a message being
8611         displayed in the show buffer.
8612         (mh-index-scroll-up): Rewrite this function. The old version had a
8613         bizarre problem where the show buffer wouldn't be scrolled if the
8614         speedbar was present.
8615         (mh-index-scroll-down): Rewritten because of similar reason as
8616         above.
8618 2002-10-17  Peter S Galbraith  <psg@debian.org>
8620         * mh-comp.el (mh-reply): Add an undo boundary in the undo list
8621         before calling 'mh-yank-cur-msg (closes SF #623693).
8623 2002-10-17  Satyaki Das  <satyaki@theforce.stanford.edu>
8625         * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
8626         write-file-hooks. This is required for XEmacs and also the right
8627         thing according to GNU Emacs21 documentation.
8629 2002-10-16  Satyaki Das  <satyaki@theforce.stanford.edu>
8631         * mh-seq.el (mh-thread-generate): Get threading to work correctly
8632         on partial folders. The fix here disregards messages that aren't
8633         already present in the buffer.
8634         (mh-thread-folder): When querying scan about thread info try to
8635         avoid asking about messages that aren't present in the folder
8636         buffer. A more efficient fix would be to ask scan about just the
8637         messages that are present instead of a range of messages. However
8638         that runs the risk of sending long command lines to scan. Another
8639         change was to populate the mh-scan-line-map early so that the
8640         change in mh-thread-generate would work.
8641         (mh-thread-generate-scan-lines): In case duplicates are present
8642         make one of them the pseudo parent of the rest. This makes it look
8643         prettier if there are multiple duplicates at top level.
8645         * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
8646         reused then reinsert message file. This should fix SF #624283.
8648         * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
8649         always called when we want to remove the displayed MIME part.
8651 2002-10-16  Bill Wohler  <wohler@newt.com>
8653         * mh-speed.el (mh-speed-folder-size): checkdoc fix.
8654         (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
8655         to view number of messages in folder rather than mh-large-folder.
8656         Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
8657         former was generating errors.
8659 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
8661         * mh-speed.el (mh-large-folder): New customizable variable to
8662         control mh-e's perception of large folders.
8663         (mh-speed-folder-size): New function which computes the size of
8664         folder on current line.
8665         (mh-speed-view): Modified to handle large folders. If the folder
8666         being clicked has unseen messages then only those messages are
8667         shown. Otherwise if number of messages in folder is larger than
8668         mh-large-folders then the user is asked for the number of messages
8669         to be shown. If the folder satisfies neither of the above cases
8670         then it is displayed in its entirety
8672 2002-10-15  Bill Wohler  <wohler@newt.com>
8674         * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
8675         Noticed that there were two key bindings for SPACE...
8677         * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
8678         dup SPACE binding).
8680         Completed help in other modes:
8682         * mh-utils.el (mh-xemacs-p): Fixed doc.
8683         (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
8684         (mh-show-thread-map, mh-show-extract-map): Added binding for
8685         mh-help.
8687         * mh-pick.el (mh-search-folder): Added startup help message.
8688         (mh-pick-mode-help-messages): New variable that contains help
8689         messages for pick buffer.
8690         (mh-pick-mode): Set local buffer variable mh-help-messages to
8691         mh-pick-mode-help-messages.
8693         * mh-index.el (mh-index-keymap): Added binding for mh-help
8694         (mh-index-folder-mode-help-messages): New variable that contains
8695         help messages for MH Index buffer.
8696         (mh-index-folder-mode): Set local buffer variable mh-help-messages
8697         to mh-index-mode-help-messages.
8699         * mh-funcs.el (mh-help, mh-prefix-help): Call
8700         substitute-command-keys on the help messages.
8702         * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
8703         (mh-help): This autoload doc is now used for more than just the
8704         MH-Folder, so drop that specific text.
8706         * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
8707         (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
8708         to display a help message at startup.
8709         (mh-letter-mode): Set local buffer variable mh-help-messages to
8710         mh-letter-mode-help-messages.
8711         (mh-letter-mode-help-messages): New variable with help messages
8712         for the MH-Letter buffer.
8713         (mh-letter-mode-message): New function that displays a startup
8714         help message.
8715         (mh-letter-mode-map): Added binding for mh-help. Sorted.
8717 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
8719         * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
8720         (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
8721         (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
8722         speedbar.
8723         (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
8724         (mh-speed-add-buttons): Use the new faces.
8725         (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
8726         to bold face and back to normal face.
8727         (mh-speed-set-face): Removed.
8728         (mh-speed-highlight): Modified to allow it to be used instead of
8729         mh-speed-set-face. Also changes were made to fontify folders with
8730         unread messages.
8731         (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
8732         (mh-speed-invalidate-map): Use mh-speed-highlight instead of
8733         mh-speed-set-face.
8735 2002-10-15  Bill Wohler  <wohler@newt.com>
8737         * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
8738         the cl package has been restructured in 21.4 in such a way that
8739         the use of eval-when-compile no longer suppresses warnings when
8740         compiling so that (require 'cl) must be called directly (maybe
8741         this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
8742         needed. Now compiles clean under 21.4.
8744         * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
8745         deprecated in Emacs 21.4, so use add-hook write-file-functions (or
8746         write-file-hook for older versions) with the LOCAL argument
8747         instead. Now compiles clean under 21.4.
8749         * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
8750         the included text to make it easy to jump or delete to the other
8751         end of the included text.
8753 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
8755         * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
8756         of set-mark and other related functions.
8758 2002-10-14  Bill Wohler  <wohler@newt.com>
8760         * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
8761         isn't ignored if there is a region. It is still used for the
8762         attribution.
8763         (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
8764         entire message. Move the cursor to the end of the snarfed message
8765         if there is a region. In this case, push a mark so user can pop to
8766         the beginning of the snarfed fragment.
8767         (mh-insert-prefix-string): This calls set-mark which I find
8768         suspect since I found that my last user mark was deleted after
8769         yanking a message. Added a comment to this effect. Will probably
8770         add a bug report...
8772         * README (Installed, Supported versions): To appear in GNU Emacs
8773         21.3; supported on Emacs 21, 20.7 and XEmacs 21.
8775         * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
8776         (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
8777         (mh-ephem-message): Use "%s" in message.
8779         * mh-funcs.el (mh-concat-list): New function to concatenate a list
8780         of strings into a single string. I would have thought elisp
8781         already contained a function like this, but I couldn't find it.
8782         (mh-ephem-message): New function to display a message in the
8783         minibuffer ephemerally. minibuffer-message seemed like the right
8784         function, but it writes to the current buffer oddly enough.
8785         (mh-help, mh-prefix-help): New functions to display command
8786         cheat sheets in the minibuffer (closes SF #493740). It would be
8787         nice to refactor these two into a single function if possible.
8789         * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
8790         (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
8791         and `mh-prefix-help' (closes SF #493740).
8792         (mh-help-messages): New variable to hold various help messages.
8793         (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
8795 2002-10-13  Bill Wohler  <wohler@newt.com>
8797         * mh-index.el (mh-glimpse-directory, mh-swish-directory,
8798         mh-namazu-directory): New variables that hold the name of the
8799         configuration and indexing directory. All are now hidden `.'
8800         directories.
8802         * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
8803         mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
8804         docstrings, reworded some docstrings to conform to Emacs
8805         documentation conventions, and eliminated all checkdoc warnings
8806         (except for -flag, which we'll fix after 6.2 is released).
8808 2002-10-13  Satyaki Das  <satyaki@theforce.stanford.edu>
8810         * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
8811         where the lack of a trailing "/" caused the function to wrongly
8812         filter out correct hits. This should fix SF #622679.
8814 2002-10-12  Steve Youngs  <youngs@xemacs.org>
8816         * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
8817         'defvaralias' and don't use 'running-xemacs'.
8819 2002-10-11  Bill Wohler  <wohler@newt.com>
8821         * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
8822         converting comments to docstrings and rewording some docstrings to
8823         conform to Emacs documentation conventions.
8825 2002-10-11  Steve Youngs  <youngs@xemacs.org>
8827         * mh-utils.el (mh-xemacs-p): New.
8828         (mh-show-use-xface): Use it.
8829         (mh-show-xface-function): Ditto.
8831         * mh-e.el (toplevel): Ditto.
8832         (mh-remove-xemacs-horizontal-scrollbar): Ditto.
8833         (mh-folder-mode-map): Ditto.
8835         * mh-comp.el (mh-insert-x-mailer): Ditto.
8837         * mh-mime.el (gnus-local-map-property): Ditto.
8838         (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
8839         (mh-prompt-for-folder): Autoloading this not needed because
8840         mh-utils is now required at toplevel.
8841         (mh-show-xface): Ditto.
8842         (mh-show-addr): Ditto.
8844 2002-10-11  Bill Wohler  <wohler@newt.com>
8846         * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
8847         would be useful.
8849         * mh-utils.el (mh-invisible-headers): Added various spam header
8850         fields.
8851         (mh-path-search): Removed argument `func-p' and related code. It
8852         was not documented and no one used it.
8853         (Docstrings): Converted comments to docstrings, reworded some
8854         docstrings to conform to Emacs documentation conventions, and
8855         basically eliminated all checkdoc warnings (except for -flag
8856         warnings).
8858 2002-10-11  Satyaki Das  <satyaki@theforce.stanford.edu>
8860         * mh-seq.el (mh-thread-generate): Kill dead code.
8862 2002-10-10  Satyaki Das  <satyaki@theforce.stanford.edu>
8864         * mh-seq.el (mh-region-to-sequence): Don't include point-max in
8865         region (closes SF #621632).
8867         * mh-utils.el (mh-defun-show-buffer): Fix call of
8868         frame-first-window to work with XEmacs. Also avoid warning about
8869         cur-buffe-name in XEmacs.
8870         (mh-modify, mh-goto-msg): Remove dead code.
8872         * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
8873         code.
8875         * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
8876         mh-thread-generate, mh-thread-folder): Remove dead code.
8878         * mh-mime.el (mh-mm-inline-message): Remove dead code.
8880         * mh-index.el (mh-index-search): Remove dead code.
8882         * mh-comp.el (mh-open-line): Remove dead code.
8884         * mh-e.el (mh-folder-mode): Use the macro
8885         mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
8886         Emacs.
8887         (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
8888         compiler-warnings.
8890 2002-10-10  Mark D Baushke  <mdb@gnu.org>
8892         * Makefile (EMACS_OPTIONS): New macro for command-line compile
8893         options.
8894         (EMACS): Allow the user to specify which emacs command to use for
8895         the compile.
8896         (COMPILE_COMMAND): Combine the compile command with its options.
8897         (.el.elc): Use the new $(COMPILE_COMMAND).
8899 2002-10-10  Mark D Baushke  <mdb@gnu.org>
8901         * mh-speed.el (mh-speed-select-attached-frame): Define a new
8902         compatibility macro for getting to the attached-frame.
8903         (mh-speed-update-current-folder): Use it.
8905 2002-10-10  Mark D Baushke  <mdb@gnu.org>
8907         * mh-speed.el (mh-speed-update-current-folder): Use
8908         'dframe-select-attached-frame if we are in a newer speedbar
8909         version that no longer supports the 'speedbar-attached-frame
8910         variable.
8912 2002-10-10  Steve Youngs  <youngs@xemacs.org>
8914         * mh-speed.el (mh-speed-update-current-folder): Use
8915         'dframe-select-attached-frame' if we're in XEmacs.
8917         * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
8918         the MH-Folder buffer if we're in XEmacs.
8920 2002-10-09  Satyaki Das  <satyaki@theforce.stanford.edu>
8922         * mh-utils.el (mh-show-xface-function): New global that stores
8923         what function needs to be called to display X-Face.
8924         (mh-show-xface): Rewritten to avoid compiler warning.
8926 2002-10-09  Peter S Galbraith  <psg@debian.org>
8928         * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
8929         Simplify code for all emacsen to avoid byte-compilation warnings.
8931 2002-10-09  Satyaki Das  <satyaki@theforce.stanford.edu>
8933         * mh-mime.el (mh-mm-display-part): If a sub-part of the current
8934         part is an inline image then clicking the button keeps the image
8935         around. The change fixes this bug.
8937 2002-10-09  Peter S Galbraith  <psg@debian.org>
8939         * mh-utils.el (mh-exec-cmd-output): Use new function
8940         'mh-exchange-point-and-mark-preserving-active-mark instead of
8941         'exchange-point-and-mark.  Fixes a bug in emacs20 and XEmacs21.
8942         (mh-exchange-point-and-mark-preserving-active-mark): New function.
8943         Does like 'exchange-point-and-mark but doesn't activate the mark.
8945         * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
8946         Compositions" menu entries when edits have really occurred.
8947         Works with "forw: -mime" mh_profile entry, so this fixes a bug.
8949         * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
8950         line-beginning-position and line-end-position instead of
8951         point-at-bol and point-at-eol XEmacs functions.
8952         * mh-xemacs-compat.el: Added line-end-position and
8953         line-beginning-position compatibility aliases.
8955 2002-10-08  Mark D. Baushke  <mdb@gnu.org>
8957         * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
8958         %number(msg).
8959         (mh-scan-msg-format-string): Format to be used with the current
8960         maximum width of message number for the folder in the
8961         `mh-upate-scan-format' function.
8962         (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
8963         flexibility. The message number is no longer anchored to the
8964         beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
8965         strings. The `mh-update-scan-format' allows for using zero-filled
8966         message numbers.
8968 2002-10-08  Peter S Galbraith  <psg@debian.org>
8970         * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
8972 2002-10-07  Satyaki Das  <satyaki@theforce.stanford.edu>
8974         * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
8975         executables.
8977         * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
8978         executables right.
8979         (mh-speed-folders-actual): Same as above.
8981 2002-10-05  Steve Youngs  <youngs@xemacs.org>
8983         * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
8984         a const.
8986         * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
8987         defsubst using 'buffer-substring-no-properties' so we don't grab
8988         any extents.
8989         (rfc822-goto-eoh): Removed.  This exists in the XEmacs mail-lib
8990         package.
8991         (mail-header-end): Ditto.
8992         (mail-mode-fill-paragraph): Ditto.
8994 2002-10-05  Satyaki Das  <satyaki@theforce.stanford.edu>
8996         * mh-speed.el (mh-speed-invalidate-map): When called interactively
8997         the function will clear mh-speed-folders-cache.
8999 2002-10-02  Satyaki Das  <satyaki@theforce.stanford.edu>
9001         * mh-mime.el (mh-insert-mime-button): Rewrite without using
9002         replace-match.
9004 2002-10-01  Satyaki Das  <satyaki@theforce.stanford.edu>
9006         * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
9007         avoid compiler warning.
9009 2002-10-01  Bill Wohler  <wohler@newt.com>
9011         * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
9012         shouldn't get installed in Emacs.
9013         (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
9014         MH-E-IMG2 into Emacs' lisp/mail.
9016 2002-10-01  Peter S Galbraith  <psg@debian.org>
9018         * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
9019         Non-nil means use three buttons for reply commands in tool-bar.
9020         If you have room on your tool-bar because you are using a large
9021         font, you may set this variable to expand the single reply
9022         button into three buttons that won't lead to minibuffer prompt
9023         about who to reply to.
9024         (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
9025         decide how many buttons to use for replying.
9027         * mh-mime.el (mh-file-mime-type-substitutions)
9028         (mh-file-mime-type-substitute):  Fix typos and doc strings.
9030 2002-09-30  Peter S Galbraith  <psg@debian.org>
9032         * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
9033         by file command through mh-file-mime-type-substitute (see below).
9034         (mh-file-mime-type-substitute): Possibly change Content-Type
9035         string using mh-file-mime-type-substitutions variable.  This is
9036         mostly because all MS-Office file are seen as application/msword
9037         by the file command.
9038         (mh-file-mime-type-substitutions): New variable.  Defines
9039         substitutions to make for Content-Type returned from file command.
9041 2002-09-27  Bill Wohler  <wohler@newt.com>
9043         * README: Moved Id to end of file since it broke outline mode at
9044         the beginning.
9046         * import-emacs (release): Renamed "mainline" tag to
9047         "emacs-mainline" to correspond with existing CVS tag.
9048         (EMACS_HOME): Fixed typo in docstring.
9050         * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
9051         NIL and T in docstring.
9052         (mh-update-scan-format): Fixed typo.
9054         * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
9055         Emacs. The only new thing appears to be to downcase NIL and T in
9056         the documentation.
9058 2002-09-26  Satyaki Das  <satyaki@theforce.stanford.edu>
9060         * mh-seq.el (mh-thread-generate): The threading code will now be
9061         more resistant to corruption of messages. Before the change any
9062         corruption of message x would cause all messages with indices
9063         higher than x to be neglected when threading!
9065 2002-09-23  Peter S Galbraith  <psg@debian.org>
9067         * mh-mime.el (mh-store-mime-parts): Don't store value into
9068         user-customizable variable mh-store-mime-parts-default-directory
9069         and use  mh-store-mime-parts-directory instead.
9071 2002-09-20  Satyaki Das  <satyaki@theforce.stanford.edu>
9073         * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
9074         make the subject pruning behave the way it is specified in the
9075         imap-thread RFC.
9077         * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
9078         are not going to use the first element. This avoids a compilation
9079         warning with cvs emacs.
9081 2002-09-19  Satyaki Das  <satyaki@theforce.stanford.edu>
9083         * mh-utils.el (mh-display-msg): Put the call to
9084         set-buffer-modified after mh-show-mode. This is needed for CVS
9085         emacs since calling mh-show-mode marks the buffer as modified if
9086         font-lock is on.
9088 2002-09-17  Peter S Galbraith  <psg@debian.org>
9090         * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
9091         mh-store-mime-parts-directory
9092         (mh-store-mime-parts-directory): Renamed from
9093         mh-store-mime-parts-directory-default.
9095 2002-09-16  Peter S Galbraith  <psg@debian.org>
9097         * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
9099 2002-09-08  Satyaki Das  <satyaki@theforce.stanford.edu>
9101         * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
9102         compiler warning.
9104 2002-09-03  Peter S Galbraith  <psg@debian.org>
9106         * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
9107         Default directory to use for mh-store-mime-parts.
9108         (mh-store-mime-parts): New Command.  Store the MIME parts of the
9109          current message.
9110         (mh-store-mime-parts-directory-default): New internal working
9111         variable.  Default to use for mh-store-mime-parts-directory, set
9112         from last use.
9114         * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
9115         toolbar.
9118 2002-08-22  Satyaki Das  <satyaki@theforce.stanford.edu>
9120         * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
9121         complete scan lines are printed for all messages (not just the
9122         ones at the top of a thread).
9124         * mh-index.el (mh-index-insert-scan): Replace use of kill-line
9125         since that pollutes the kill-ring.
9127         * mh-comp.el (autoloads): Add autoloads for search and subseq to
9128         get rid of compiler warnings.
9130 2002-08-19  Peter S Galbraith  <psg@debian.org>
9132         * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
9133         reply-all.xpm, reply-all.bpm:  New icons for various reply methods.
9134         * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
9135         that won't prompt for "from", "to" and "all".
9136         * mh-comp.el (mh-reply): Put variable reply-to in the interactive
9137         list since it's specified on the command line for the new toolbar.
9139         * mh-comp.el (mail-citation-hook): Tweak docs concerning
9140         historical usage for supercite.
9141         (mh-yank-from-start-of-msg): Add settings 'supercite and
9142         'autosupercite.  Rename 'automatic to 'autoattrib.
9143         (mh-insert-prefix-string): Invoke sc-cite-original if
9144         mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
9146 2002-08-17  Satyaki Das  <satyaki@theforce.stanford.edu>
9148         * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
9149         during compilation.
9151 2002-08-17  Peter S Galbraith  <psg@debian.org>
9153         * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
9154         Do as for `attribution' automatically when show buffer matches the
9155         message being replied-to.
9156         (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
9157         is set to 'automatic and show buffer matches message number being
9158         replied-to.
9159         (mh-show-buffer-message-number): New helper function to get the
9160         message number of the current show-buffer.
9161         (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
9162         (mh-yank-cur-msg): Bug fix.  It would bail on error if
9163         mh-show-buffer didn't exists.
9165 2002-08-16  Peter S Galbraith  <psg@debian.org>
9167         * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
9168         was used even when XEmacs was used.  Fixed so X-Mailer header is
9169         more exact about what we are using.
9171 2002-08-15  Peter S Galbraith  <psg@debian.org>
9173         * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
9174         so X-Mailer header is more exact about what we are using.
9176         * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
9177         mh-mml-attach-file):
9178         "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
9179         that "require" in emacs 20.3 doesn't handle 3 arguments.  We
9180         use "load" at the top of file elsewhere anyway to handle such a
9181         case of non-essential loading, so switch to that here.
9183 2002-08-06  Satyaki Das  <satyaki@theforce.stanford.edu>
9185         * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
9187         * mh-speed.el (mh-speed-add-folder): New function to make the
9188         speedbar aware of new folders when they are created by mh-e.
9190         * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
9191         tell speedbar that new folder is being created. Also use folder
9192         instead of mkdir to create new folders.
9194 2002-08-01  Peter S Galbraith  <psg@debian.org>
9196         * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
9197         limit of search for quoted-printable.  If we're using mm-decode
9198         for MIME decoding, it's possible that `mimedecode' could mess our
9199         message, so we only run a full search for quoted-printable parts
9200         when not using gnus' mm-decode.  When using mm-decode, mimedecode
9201         can still help by handling the case of the whole message being
9202         quoted-printable as opposed to only a part.
9204 2002-07-31  Peter S Galbraith  <psg@debian.org>
9206         * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
9207         the pulldown menu were broken in XEmacs21 from this variable being
9208         undefined.
9210 2002-07-28  Mark D. Baushke  <mdb@gnu.org>
9212         * mh-utils.el (mh-show-mode): Use the default paragraph-start
9213         rather than the inherited text-mode value.
9215 2002-07-28  Satyaki Das  <satyaki@theforce.stanford.edu>
9217         * mh-seq.el (mh-thread-duplicates): New hash table to track
9218         duplicate messages.
9219         (mh-thread-get-message): Remove debug code.
9220         (mh-thread-canonicalize-id): Modified to handle messages without
9221         message-id header. Such messages are given distinct copies of the
9222         empty string as message-id.
9223         (mh-thread-generate): The function was inadvertently rebuilding
9224         the thread tree when message refiles and message deletes are
9225         processed. The change here fixes that. Also code has been added to
9226         keep track of duplicate message-id's.
9227         (mh-thread-generate-scan-lines): Modified to print scan lines for
9228         duplicate messages (that is messages with the same message-id).
9229         (mh-thread-forget-message): Modified to maintain
9230         mh-thread-duplicates.
9232 2002-07-22  Satyaki Das  <satyaki@theforce.stanford.edu>
9234         * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
9235         instead of kill-region. Otherwise the kill ring gets polluted.
9237 2002-07-16  Satyaki Das  <satyaki@theforce.stanford.edu>
9239         * mh-seq.el (mh-thread-update-scan-line-map): New function to
9240         refresh the stale scan lines.
9241         (mh-thread-inc): Update old scan lines when mh-thread-inc is
9242         called. Otherwise notations for deleted and refiled messages get
9243         lost and the folder display gets out of sync with real mh-e state.
9245         * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
9246         code when text part is displayed. Otherwise buttonized text parts
9247         aren't correctly fontified when they are displayed.
9249 2002-07-15  Mark D. Baushke  <mdb@gnu.org>
9251         * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
9252         on the mm-decode library.
9253         * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
9254         Non-fatal depencencies on the mm-decode, mm-uu and mm-view
9255         libraries.
9257 2002-07-15  Satyaki Das <satyaki@theforce.stanford.edu>
9259         * mh-utils.el (mh-require, mh-autoload): Remove these macros.
9260         (mh-decode-mime): Initialized to t iff the mm-decode library is
9261         present in the load-path.
9262         * mh-mime.el (mh-require): Don't use it anymore.
9264 2002-07-15  Mark D Baushke  <mdb@gnu.org>
9266         * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
9267         with Xemacs as replace-match appears not to have identical
9268         functionality with FSF emacs.
9269         (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
9270         into the mh-update-scan-format function.
9272 2002-07-12  Satyaki Das  <satyaki@theforce.stanford.edu>
9274         * mh-seq.el: Add message threading code.
9276         * mh-utils.el (mh-letter-thread-folder): New interactive function
9277         that allows switching to threaded view from show buffer.
9278         (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
9279         (mh-goto-msg): Replace the function to not assume that messages
9280         are sorted in the folder buffer.
9282         * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
9283         in the folder buffer that records whether threaded view is being
9284         used currently.
9285         (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
9286         working for threaded view as well.
9287         (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
9288         (mh-get-new-mail, mh-process-commands): Do incremental threading
9289         if folder is in threaded view.
9290         (mh-delete-scan-msgs): Update thread tables if folder is in
9291         threaded view.
9292         (mh-folder-map): Add "F t" as key binding for mh-thread-folder
9294         * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
9295         has a meaningful value in the folder buffer.
9297 2002-07-11  Peter S Galbraith  <psg@debian.org>
9299         * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
9300         actually exists (otherwise a back-traceable error occurred).
9302         * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
9303         mh-lib and mh-lib-progs are not all already set.  This allows the
9304         user to set them using a simple setq prior to loading mh-e.  This
9305         is useful for implementation of mh-e on win32.  Note that many
9306         commands still call mh-find-path which also parses the mh_profile
9307         file (that may still fail on win32), so this is still done often.
9308         But it lets us change the mh_profile file and have mh-e see the
9309         changed file without exiting emacs and starting over so I left
9310         that in.
9312 2002-07-04  Satyaki Das  <satyaki@theforce.stanford.edu>
9314         * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
9315         caused it to lose track of point when called from show buffer.
9317 2002-07-04  Mark D. Baushke  <mdb@gnu.org>
9319         * Makefile: Add more information and common methods to allow both
9320         GNU make and Berkeley make to properly build everything.
9322 2002-07-04  Satyaki Das  <satyaki@theforce.stanford.edu>
9324         * mh-mime.el (mh-push-button): Bug fix for mime display with
9325         mouse. Select show window before executing the mime display
9326         functions.
9328 2002-07-01  Mark D. Baushke  <mdb@gnu.org>
9330         * Makefile: Use a conditional variable assignment operator rather
9331         than ifndef to let Makefile be used by both GNU make and Berkeley
9332         make (or similar versions of make). This does not help Solaris
9333         /usr/ccs/bin/make, but Solaris make has problems with the ifndef
9334         syntax too.
9336 2002-07-01  Satyaki Das  <satyaki@theforce.stanford.edu>
9338         * mh-index.el (mh-index-search): Check for mh-decode-mime before
9339         adding mh-mime-cleanup to kill-buffer-hook.
9341         * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
9343 2002-06-30  Mark D Baushke  <mdb@gnu.org>
9345         * mh-utils.el (mh-update-scan-format): Add documentation string.
9346         (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
9347         (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
9348         update of mh-cmd-note is wrong. Do not assume that
9349         mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
9350         with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
9351         is now where the updated mh-cmd-note value is put into the scan
9352         format.
9354         * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
9355         (mh-scan-format): Use mh-update-scan-format to get updated copies
9356         of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
9357         (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
9358         mh-scan-format-file is equal to t.
9359         (mh-scan-format-nmh): No longer buffer local.
9360         (mh-scan-format-mh): No longer buffer local.
9362 2002-06-30  Satyaki Das  <satyaki@theforce.stanford.edu>
9364         * mh-index.el (mh-index-max-msg-index): New variable to keep track
9365         of max message index among search results. If mh-adaptive-cmd-note
9366         is non-nil this is used to compute the width of the index field.
9367         (mh-index-search): Keep track of max index seen while parsing the
9368         search results and set it if mh-adaptive-cmd-note is non-nil.
9369         (mh-index-find-max-width): New function to find the required width
9370         of the message index field.
9371         (mh-defun-index): Binding buffer local variables is bad, so don't
9372         do that.
9373         (mh-index-show): New argument display-headers-p decides whether
9374         the message is displayed in raw form or not.
9375         (mh-index-header-display): New interactive function bound to ","
9376         which shows the message in raw form.
9377         (mh-index-keymap): Add appropriate bindings for backtab and ",".
9378         (read-from-string): Add ignore-errors around it so that the code
9379         doesn't die when it gets unexpected input.
9381 2002-06-29  Satyaki Das  <satyaki@theforce.stanford.edu>
9383         * mh-index.el (mh-count-windows): This function works around the
9384         lack of the window-list builtin function in emacs20.
9386 2002-06-29  Mark D Baushke  <mdb@gnu.org>
9388         * mh-utils.el (mh-message-number-width): New function to scan
9389         the last message of a folder and return its width.
9390         (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
9391         mh-set-cmd-note should be called with the message width for the
9392         folder.
9393         (mh-cmd-note): Update documentation.
9394         (mh-update-scan-format): Helper function for updating the
9395         mh-scan-format-nmh and mh-scan-format-mh variables.
9396         (mh-scan-msg-overflow-regexp): New variable to help find problem
9397         messages after an inc.
9398         (mh-scan-msg-format-regexp): New variable to find the old message
9399         width in one of the mh-scan-format-nmh or mh-scan-format-mh
9400         variables.
9401         (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
9402         (mh-set-cmd-note): New function to replace update mh-cmd-note
9403         value.
9405         * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
9406         non-nil, use mh-set-cmd-note on empty folder buffers.
9407         (mh-make-folder): Ditto.
9408         (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
9409         to fit when mh-get-new-mail gets message number truncation.
9410         (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
9411         mh-adaptive-cmd-note is Non-nil.
9413 2002-06-29  Satyaki Das  <satyaki@theforce.stanford.edu>
9415         * mh-speed.el (mh-speed-view): The display gets confused if the
9416         cursor is in the show buffer when mh-speed-view is called. This is
9417         a fix for that.
9419 2002-06-27  Satyaki Das  <satyaki@theforce.stanford.edu>
9421         * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
9422         reverse-p. If there are no more undeleted messages the the point
9423         remains at its original position and a message is produced (closes
9424         SF #494304).
9425         (mh-previous-undeleted-msg): Change similar to
9426         mh-next-undeleted-msg.
9427         (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
9428         change.
9429         (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
9431         * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
9432         mh-letter-prev-button.
9434         * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
9435         mm-uu-dissect doesn't cause error.
9437 2002-06-27  Mark D Baushke  <mdb@gnu.org>
9439         * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
9440         variable should be made via the new mh-set-default-cmd-note
9441         function.
9442         (mh-set-default-cmd-note): New function to setq-default the
9443         mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
9444         related values.
9446         * mh-e.el (mh-scan-format-mh): Make buffer-local.
9447         (mh-scan-format-nmh): Ditto.
9448         (mh-scan-good-msg-regexp): Use a more general regular expression
9449         so that the width of message numbers, mh-cmd-note, may vary.
9450         (mh-scan-deleted-msg-regexp): Ditto.
9451         (mh-scan-refiled-msg-regexp): Ditto.
9452         (mh-scan-cur-msg-number-regexp): Ditto.
9453         (mh-scan-cur-msg-regexp): Ditto.
9454         (mh-scan-subject-regexp): Ditto.
9456 2002-06-26  Satyaki Das  <satyaki@theforce.stanford.edu>
9458         * mh-speed.el: Speedbar support code.
9460         * Makefile: Add mh-speed.el to MH-E-SRC.
9462         * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
9463         speedbar is being used.
9465         * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
9466         being used.
9468         * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
9469         functions so that speedbar can find them.
9471 2002-06-25  Satyaki Das  <satyaki@theforce.stanford.edu>
9473         * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
9474         grep to be used to search mail.
9475         (mh-index-font-lock-keywords): Modified to avoid bug when using
9476         lazy font-lock.
9478         * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
9479         undeleted (or unrefiled) message exists in the current movement
9480         direction then try to find an undeleted (or unrefiled) message in
9481         the opposite direction instead.
9482         (mh-next-undeleted-msg): Added a new optional argument. If non-nil
9483         search for undeleted message backwards if none exists in the
9484         forward direction.
9485         (mh-previous-undeleted-msg): Added an optional argument. If
9486         non-nil search for undeleted message in the forward direction if
9487         none exists in the backward direction.
9488         (mh-next-msg): Optional argument to change direction if undeleted
9489         messages are not found in the current direction.
9491         * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
9492         the index field size to 4.
9494         * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
9495         to do xface display and goto-addr interface to allow reuse by the
9496         mime display code.
9497         (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
9498         mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
9499         (mh-modify): Use mh-letter-mode instead of mh-show-mode when
9500         editing messages.
9502         * mh-mime.el (mh-mm-inline-message): Arrange for xface and
9503         highlighting to work in forwarded messages.
9505 2002-06-23  Peter S Galbraith  <psg@debian.org>
9507         * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
9508         to add an attribution line in mh-yank-cur-msg.
9509         (mh-extract-from-attribution-verb): Verb to use for attribution
9510         when a message is yanked by mh-yank-cur-msg.  Provides a method
9511         for setting a different language.
9512         (mh-yank-cur-msg): Add support for 'attribution' option.
9513         (mh-extract-from-attribution): Function to get the attribution
9514         line, or the sender from the From: line in the current show buffer.
9516 2002-06-20  Satyaki Das  <satyaki@theforce.stanford.edu>
9518         * mh-index.el (mh-index-show): mh-display-msg was not being called
9519         in the show buffer. This causes weird results on some mime messages.
9521         * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
9522         pgp messages if gnus hasn't been used yet.
9524         * mh-comp.el (mh-letter-mode-map): Typo fix.
9526 2002-06-19  Satyaki Das  <satyaki@theforce.stanford.edu>
9528         * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
9529         (compiler-warnings): Add autoloads to remove compiler warnings.
9531         * mh-index.el (autoload-fixes): Fix autoload forms.
9533 2002-06-18  Satyaki Das  <satyaki@theforce.stanford.edu>
9535         * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
9536         to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
9537         (compiler-warnings): Add defvar to remove compiler-warning.
9539 2002-06-18  Peter S Galbraith  <psg@debian.org>
9541         * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
9542         mh-gnus-pgp-support-p.
9544         * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
9545         (mh-compose-forward): cut&paste typo: s/messages/message/.
9546         (mml-minibuffer-read-file): autoload added.
9547         (mml-minibuffer-read-description): autoload added.
9548         (mml-insert-empty-tag): autoload added.
9549         (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
9550         (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
9552 2002-06-17  Peter S Galbraith  <psg@debian.org>
9554         * mh-utils.el (mh-show-use-xface): Check for availability of
9555         `uncompface' executable on system.
9557         * mh-mime.el (mh-compose-forward): New front end for both
9558         mh-mml-forward-message and mh-mhn-compose-forw.
9559         (mh-compose-insertion): New front end for both mh-mml-attach-file
9560         and mh-mhn-compose-insertion.
9561         (mh-mml-to-mime): New function. Compose mime message from mml
9562         directives.
9563         (mh-mml-forward-message): New function. Forward a message as
9564         attachment.
9565         (mh-mml-attach-file): New function.  Attach a file to the outgoing
9566         MIME message.
9567         (mh-mml-compose-insert-p): New variable. Buffer-local variable to
9568         know whether MIME insertion was done.  Triggers an automatic call
9569         to `mh-mml-to-mime' in `mh-send-letter'.
9570         (mh-mml-secure-message-sign-pgpmime): New function.
9571         Front end to mml-secure-message-sign-pgpmime.
9572         (mh-mml-secure-message-encrypt-pgpmime):  New function.
9573         Front end to mml-secure-message-encrypt-pgpmime.
9575         * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
9576         if mh-mml-compose-insert-p is set.
9577         (mh-letter-mode-map): Add keys for new mh-mime functions above.
9578         * mh-comp.el:  Added autoloads for new mh-mime functions above.
9580 2002-06-17  Peter S Galbraith  <psg@debian.org>
9582         * mh-utils.el (mh-show-use-xface): new defcustom to determine
9583         whether to call external package x-face to display the x-face.
9584         (mh-invisible-headers-show-xface): variable now defaults to value
9585         of mh-show-use-xface.
9586         (mh-show-mode): When mh-show-use-xface is t, invoke
9587         external package x-face to display the x-face.
9589 2002-06-15  Satyaki Das  <satyaki@theforce.stanford.edu>
9591         * mh-e.el (mh-prev-button): New interactive function which moves
9592         point to the previous mime button in the show buffer.
9593         (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
9595         * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
9596         mh-letter-prev-button (which is analogous to mh-prev-button).
9597         (mh-gnus-pgp-support-p): New global variable to replace the
9598         variable mh-recent-gnus-p. The name better describes what it is
9599         used for.
9601         * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
9602         mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
9604 2002-06-12  Satyaki Das  <satyaki@theforce.stanford.edu>
9606         * mh-mime.el (mh-display-buttons-for-inline-parts): New
9607         customizable variable. When non-nil inline parts have are
9608         displayed with a button (that is initially expanded).
9609         (mh-maybe-insert-newline): The function has been removed.
9610         (mh-mime-display-single): Add code to display buttons for inline
9611         parts. Reduce the insertion of extra newlines between inline parts
9612         and also for pgp signature parts.
9613         (mh-mm-display-part): The function has been rewritten and cleaned
9614         up. There was a bug which could change the show buffer if the user
9615         pressed C-g while a mime part was being displayed has been fixed.
9616         (mh-press-button, mh-push-button): Use unwind-protect to make sure
9617         that set-buffer-modified-p is always called after mime display.
9618         (mh-mime-inline-part): The behavior of the function has been
9619         changed so that it toggles the display of the raw bytes.
9620         (mh-mime-display-security): Remove the display of too many
9621         newlines.
9622         (documentation): Remove most check-doc warnings.
9624         * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
9625         added around mime buttons have changed.
9627 2002-06-10  Satyaki Das  <satyaki@theforce.stanford.edu>
9629         * mh-index.el (mh-index-last-search, mh-index-search): The default
9630         prompt in mh-index-search has been removed since currently there
9631         is no good way of reading "+" with mh-prompt-for-folder.
9632         (mh-index-folder-mode, mh-index-show-mode): New major modes
9633         derived from mh-folder-mode and mh-show-mode respectively. They
9634         use a restricted keymap compared to the parent modes.
9635         (mh-index-folder-face): New customizable face to display folder
9636         names in the index buffer.
9637         (documentation): Change two spaces after period back to one.
9639 2002-06-08  Satyaki Das  <satyaki@theforce.stanford.edu>
9641         * mh-e.el (mh-folder-toggle-mime-part): New interactive function
9642         to control mime display from folder buffer.
9643         (mh-folder-inline-mime-part): New interactive function to inline
9644         raw mime part from folder buffer.
9645         (mh-folder-save-mime-part): New interactive function to save mime
9646         part from folder buffer.
9647         (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
9648         "K \t" to mh-folder-mode-map.
9649         (mh-goto-next-button): Modified to allow searching for next button
9650         that satisfies some condition.
9651         (mh-folder-mime-action): Support function for
9652         mh-folder-save-mime-part, mh-folder-inline-mime-part and
9653         mh-folder-toggle-mime-part.
9655         * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
9656         bindings for "K v", "K o", "K i" and "K \t".
9658         * mh-index.el (documentation): Fix docs according to checkdoc
9659         format.
9661 2002-06-07  Satyaki Das  <satyaki@theforce.stanford.edu>
9663         * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
9664         instead add defvar for view-exit-action.
9666 2002-06-06  Satyaki Das  <satyaki@theforce.stanford.edu>
9668         * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
9669         the call to mark returns error. So avoid using mark.
9671         * mh-index.el: Support for new interactive function
9672         mh-index-search.
9674         * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
9675         mh-next-button so that the code may be reused by mh-index.el.
9676         (mh-folder-map): Add key "F i" to call mh-index-search.
9678         * mh-utils.el (mh-recent-gnus-p): Fix documentation.
9679         (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
9680         maps a MH folder name to the buffer displaying it. In normal
9681         operation the two names are identical but they are different in a
9682         folder buffer generated by index search. Minor modification to
9683         mh-display-msg to use mh-msg-folder to enable mh-index-search to
9684         reuse code.
9685         (mh-show-mode-map): Add key "F i" to call mh-index-search.
9687         * Makefile: Add mh-index.el
9689 2002-06-05  Peter S Galbraith  <psg@debian.org>
9691         * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
9693 2002-05-31  Satyaki Das  <satyaki@theforce.stanford.edu>
9695         * mh-utils.el (mh-decode-quoted-printable): Only decode if the
9696         whole message is encoded. So restrict the search for the
9697         content-transfer-encoding header to the headers of the message
9698         itself.
9700         * mh-mime.el (mh-mime-display-alternative): Make sure that point
9701         is moved after mm-display-part is called.
9703 2002-05-29  Satyaki Das  <satyaki@theforce.stanford.edu>
9705         * mh-mime.el (mh-mime-display-single): Fix the logic that
9706         determines when an attachment is buttonized. For inline parts that
9707         can't be displayed a button is now created.
9709 2002-05-29  Satyaki Das  <satyaki@theforce.stanford.edu>
9711         * mh-e.el (mh-regenerate-headers): Fix an error in which the
9712         mh-mode-line-annotation was not being set properly.
9714         * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
9715         mh-autoload are used to make sure that emacs20 doesn't croak when
9716         it tries to load non-existent mm-* files.
9717         (mh-decode-mime): Make it default to nil for Emacs major version
9718         below 21.
9720 2002-05-28  Satyaki Das  <satyaki@theforce.stanford.edu>
9722         * mh-e.el (mh-regenerate-headers): Generalize the function to
9723         handle multiple ranges.
9725 2002-05-25  Satyaki Das  <satyaki@theforce.stanford.edu>
9727         * compilation: Reduce use of eval-when-compile so that load-path
9728         is not changed if lisp files are loaded without compilation. Small
9729         changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
9730         mh-seq.el, mh-utils.el
9732         * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
9733         function to advance point to next MIME button. It is bound to TAB.
9735         * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
9736         interactive function mh-letter-next-button has been added to
9737         advance point to the next MIME button. It is bound to TAB.
9739         * mh-mime.el (comments): Added some comments.
9741 2002-05-24  Satyaki Das  <satyaki@theforce.stanford.edu>
9743         * mh-mime.el (compilation): Replace (eval-when-compile ...) by
9744         (eval-when (compile) ...) to remove a bug when mh-e is loaded
9745         without compilation.
9747 2002-05-23  Satyaki Das  <satyaki@theforce.stanford.edu>
9749         * mh-comp.el (compilation): Some code was rearranged to avoid
9750         compiler warnings.
9752         * mh-e.el (compilation): Code rearrangement and extra autoloads to
9753         remove compiler warnings
9754         (mh-quit): Add call to mh-destroy-postponed-handles to remove
9755         handles that are associated with external viewers. Also fixed a
9756         bug that I accidentally introduced by adding an extra line when
9757         cut and pasting my changes.
9759         * mh-func.el (compilation): Code rearrangement to remove compiler
9760         warnings.
9762         * mh-mime.el (compilation): Code rearrangement to remove compiler
9763         warnings.
9764         (mh-defun-compat): New macro to define to useful functions that
9765         aren't present present in old Gnus.
9766         (mh-destroy-postponed-handles): New function to cleanup handles
9767         that are associated with external viewers.
9768         (mh-handle-set-external-undisplayer): New function to replace
9769         mm-handle-set-external-undisplayer. It associates handles for
9770         external viewers with the folder buffer. These are released when
9771         the user quits the folder.
9772         (mh-mime-display, mh-press-button, mh-push-button): Hook in
9773         mh-handle-set-external-undisplayer.
9774         (mh-maybe-insert-newline): New function to avoid inserting too
9775         many newlines between mime parts.
9776         (mh-mm-display-part): Workaround for Gnus bug which causes new
9777         lines to be inserted when images are shown inline.
9778         (mh-mime-display-security): Cut down on newlines inserted.
9780         * mh-pick.el (compilation): Code rearrangement to remove compiler
9781         warnings.
9783         * mh-seq.el (compilation): Code rearrangement to remove compiler
9784         warnings.
9785         (comments): Remove @SD from comments.
9787         * mh-utils.el (compilation): Slight code rearrangement.
9788         (mh-defun-show-buffer): Fix documentation so that the first line
9789         is not too long as was the case earlier. Use
9790         mh-previous-window-config to remember where the cursor should
9791         return functions like mh-reply.
9792         (mh-display-msg): Initialize handles data-structure for the folder
9793         buffer so that postponed handles can be added to it.
9794         (mh-add-msgs-to-seq): Always keep messages in the sequences
9795         sorted. This removes some unexpected behavior when working with
9796         sequences that go out of sync with the corresponding MH sequences.
9797         (mh-canonicalize-sequence): New function to sort and remove
9798         duplicates from mh-e sequence.
9800 2002-05-21  Satyaki Das  <satyaki@theforce.stanford.edu>
9802         * mh-utils.el (require): Load mm-decode.el here so that
9803         mm-inline-media-tests is properly initialized.
9805         * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
9806         mime parts when yanking the message. This also fixes the problem
9807         of regions not being respected during the yank.
9809 2002-05-20  Satyaki Das  <satyaki@theforce.stanford.edu>
9811         * mh-utils.el (compiler-warnings): Some code was rearranged to
9812         remove all compiler warnings.
9813         (mh-decode-mime): New defcustom to control whether
9814         mime attachments are shown using Gnus.
9815         (mh-globals-hash): New global variable which maps a given buffer
9816         to the corresponding mime data structures.
9817         (mh-recent-gnus-p): New global variable which checks if Gnus is
9818         recent enough so that PGP/GPG encrypted messages can be handled.
9819         (mh-mm-inline-media-tests): Tests to determine whether a mime part
9820         can be shown inline.
9821         (mh-gnus-article-highlight-citation): Shadow the Gnus function,
9822         gnus-article-add-button before gnus-article-highlight-citation is
9823         called. This prevents the insertion of useless buttons in the
9824         message.
9825         (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
9826         kill-buffer-hook to call mh-mime-cleanup.
9827         (mh-modify): Only the edit buffer is shown.
9828         (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
9829         mh-display-emphasis when mh-decode-mime is non-nil.
9831         * mh-mime.el (mh-buffer-data): New structure to keep track of
9832         per-buffer mime information.
9833         (compiler-warnings): Some code was rearranged to get rid of all
9834         compiler warnings.
9835         (mh-graphical-smileys-p): New defcustom which controls whether
9836         graphical smileys are shown.
9837         (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
9838         (mh-max-inline-image-width, mh-max-inline-image-height): New
9839         defcustoms for inlining image.
9840         (gnus-local-map-property, mm-merge-handles): Copy utility
9841         functions for use with version of Gnus that ships with Emacs21.1.
9842         (mh-mime-cleanup): New function to free mime data-structures.
9843         (mh-add-missing-mime-version-header): New function to add missing
9844         Mime-Version header if a Content-Type header exists.
9845         (mh-display-smileys): New function to show graphical smileys.
9846         (mh-display-emphasis): New function to show graphical emphasis.
9847         (new-globals): New variables mh-mime-button-* and
9848         mh-mime-security-* were added to control mime buttons.
9849         (mh-mime-display): New function to display mime messages. The
9850         functions mh-mime-display-part, mh-mime-display-alternative,
9851         mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
9852         mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
9853         mh-press-button, mh-push-button, mh-mime-save-part,
9854         mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
9855         mh-mime-display-security, mh-mime-security-show-details,
9856         mh-mime-security-press-button and mh-insert-mime-security-button
9857         were added to support mh-mime-display.
9859         * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
9860         mh-show-msg is called, so that mime isn't decoded when headers are
9861         displayed.
9862         (mh-quit): The show buffer is killed instead of invalidating and
9863         burying it.
9865         * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
9866         the yanked message.
9867         (mh-filter-out-non-text): New function to filter out attachments
9868         from message being yanked.
9870 2002-05-20  Bill Wohler <Bill.Wohler@openwave.com>
9872         * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
9873         docstring was not entirely on first line so was truncated in
9874         customize and help buffers. Reworded so first sentence could fit
9875         within 80 columns per checkdoc recommendation.
9876         (mh-defun-show-buffer): Reworded per checkdoc recommendations.
9877         Removed @SD while I was in there.
9879 2002-05-18  Satyaki Das  <satyaki@theforce.stanford.edu>
9881         * mh-seq.el (mh-narrow-to-seq): This function now removes the
9882         current message notation in the folder. Otherwise, two current
9883         message notations may be present after mh-widen is called. Also
9884         mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
9885         the latter has a bug.
9886         (mh-copy-seq-to-point): This function has a tricky problem. It
9887         calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
9888         assumes that the folder is sorted (since it uses binary
9889         search). The assumption isn't true, so it may not copy all the
9890         messages. Since this function is not used any more it has been
9891         removed.
9892         (mh-copy-seq-to-eob): This function is a specialized (and
9893         hopefully correct) replacement for mh-copy-seq-to-point.
9895 2002-05-17  Satyaki Das  <satyaki@theforce.stanford.edu>
9897         * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
9898         problem caused by low value of recursive-load-depth-limit in
9899         Emacs21.1 and CVS version of Gnus.
9900         (mh-show-mode-map): New keymap variable to facilitate use of
9901         summary commands from the show buffer.
9902         (mh-show-folder-buffer): New local variable which keeps track of
9903         the folder-buffer corresponding to the message being shown.
9904         (mh-defun-show-buffer): New macro to convert interactive functions
9905         callable in the summary buffer to interactive functions callable
9906         in the show buffer.
9907         (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
9908         keymap (closes SF #527946).
9909         (mh-modify): New interactive function to edit a message in-place.
9911         * mh-e.el (mh-goto-cur-msg): Add an optional argument,
9912         minimal-changes-p. If non-nil, the function will just change
9913         the point to current message and do not change folder display.
9914         (mh-folder-mode-map): Make "M" call mh-modify.
9916 2002-05-07  Peter S Galbraith  <psg@debian.org>
9918         * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
9919         variable. If non-nil, the X-Face header line will be excluded from
9920         the variable `mh-invisible-headers'.  Set this when using a
9921         package such as x-face-el to display X-Face icons in mh-show-mode.
9922         This variable's setting will eventually be set automatically when
9923         mh-e does its own X-Face decoding (or this variable will be replaced
9924         by one telling mh-e to decode the X-Face).  We may not ship the
9925         next release with this variable.
9927 2002-05-07  Peter S Galbraith  <psg@debian.org>
9929         * mh-comp.el (mh-x-face-file): New defcustom variable. File name
9930         containing the encoded X-Face string to insert in outgoing mail.
9931         (mh-insert-x-face): New function.  Appends an X-Face field to the
9932         header, but only if it doesn't already exist and if 'mh-x-face-file'
9933         is non-nil and points to an existing file.
9934         (mh-send-letter): Invoke mh-insert-x-face.
9936 2002-04-29  Mike Kupfer  <m.kupfer@acm.org>
9938         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
9939         whether XEmacs region is actually active (needed at least for 21.1).
9940         [Patch committed by psg]
9942 2002-04-29  Mike Kupfer  <m.kupfer@acm.org>
9944         * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
9945         from completing-read as XEmacs-21.1 doesn't have it (21.4 does
9946         however) and using the argument adds no functionality.
9947         [Patch committed by psg]
9949 2002-04-11  Peter S Galbraith  <psg@debian.org>
9951         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
9952         XEmacs to act on selected region when active.
9954 2002-04-10  Peter S Galbraith  <psg@debian.org>
9956         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
9957         check to see if mark-active is bound, because Mandrake Linux include
9958         XEmacs initialization code that binds transient-mark-mode.  This
9959         fix gets around a problem in Mandrake only.  It wasn't a problem
9960         on XEmacs generally.  Fixes SF #541915.
9962 2002-04-08  Bill Wohler  <wohler@newt.com>
9964         Released mh-e version 6.1.
9966         * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
9967         Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
9968         to increase robustness.
9969         (mh-folder-unseen-seq-list): Use `expand-file-name' as
9970         `mh-expand-file-name' isn't needed and the former saves function
9971         call.
9972         (Version, mh-version): Updated for release 6.1.
9974 2002-04-08  Peter S Galbraith  <psg@debian.org>
9976         * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
9977         call to mark command.  Fixes a bug in which unseen messages
9978         weren't highlighted if "mark" wasn't in the path.
9980 2002-04-07  Bill Wohler  <wohler@newt.com>
9982         * MH-E-NEWS: Updated for release 6.1.
9984         * README: Updated for release 6.1. Updated verbiage about reading
9985         MH-E-NEWS.
9987         * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9988         mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
9989         modified this year.
9991         * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
9993         * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9994         mh-utils.el: Fixed all checkdoc errors, except for no
9995         documentation, and documentation in comments. Also removed the-
9996         prefix from certain local variables.
9998         * mh-e.el: Fixed all checkdoc errors, except for no documentation,
9999         and documentation in comments. Also removed the- prefix from
10000         certain local variables.
10001         (mh-folder-unseen-seq-name): Refactored to make default sequence
10002         name more explicit and to handle undefined Unseen-Sequence MH
10003         profile entry better.
10005 2002-04-02  Peter S Galbraith  <psg@debian.org>
10007         * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
10008         set it's value, and this happens also on byte-compilation (where
10009         it can fail if the user's MH environment is not setup correctly).
10010         I now set the value of mh-folder-unseen-seq-name at runtime when I
10011         first need it.  This should fix Debian bugs
10012         http://bugs.debian.org/140232 and http://bugs.debian.org/140817
10014 2002-03-25  Peter S Galbraith  <psg@debian.org>
10016         * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
10017         be at the bottom of the dependency tree.
10018         * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
10019         and use it as path to mhparam command in call-process.
10021 2002-01-23  Peter S Galbraith  <psg@debian.org>
10023         * mh-e.el (mh-folder-font-lock-keywords): Add call to
10024         mh-folder-font-lock-unseen to fontify unseen messages in bold.
10025         (mh-folder-unseen-seq-name): Provide name of unseen sequence from
10026         mhparam.  Used as default for variable of same name.
10027         (mh-folder-unseen-seq-list): Returns a list of unseen messages
10028         numbers for current folder.
10029         (mh-folder-unseen-seq-cache): Cache variable to hold list of
10030         unseen message numbers while font-lock iterates.  This variable is
10031         buffer-local.
10032         (mh-folder-font-lock-unseen): Returns unseen message lines to
10033         font-lock one by one.
10035 2002-01-15  Peter S Galbraith  <psg@debian.org>
10037         * mh-comp.el (mh-insert-prefix-string): Wrap a
10038         "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
10039         Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
10040         Indeed, this is how it appears in XEmacs-21's mh-comp.el.
10042 2001-12-16  Jeffrey C Honig  <jch@honig.net>
10044         * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
10045         to before the assignment to `draft' as the later changes buffers
10046         and invalidates `mh-seq-list' (which is used in a function called
10047         by (mh-seq-to-msgs)).  Resolves SF #489448.
10049         * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
10050         `mh-temp-sequences-buffer'.
10052         * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
10053         'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
10054         quitting.
10056         * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
10057         (a defcustom initialized to "*Folders*") for folder listing.  Put
10058         into view mode and set it up to kill the buffer when exiting view
10059         mode.
10061         * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
10062         (a defcustom initialized to "*Sequences") for sequences listing.
10063         Put into view mode and set it up to kill the buffer when exiting
10064         view mode.
10066 2001-12-16  Bill Wohler  <wohler@newt.com>
10068         Released mh-e version 6.0.
10070         * MH-E-NEWS: Be a little more specific about incompatible changes.
10071         Added info about outdated manual.
10072         Removed variables in mh-scan regexp table that did not exist in
10073         5.0.2.
10074         Added helpful documentation about finding relevant variables
10075         containing regexps to mh-scan-format-file's description.
10077         * mh-e.el (mh-scan-format-file): Added information about getting a
10078         list of regexp variables that you'll need to change if you
10079         customize your scan's output.
10080         (mh-folder-mode): Added documentation about `mh-scan-format-file'
10081         for those users who modify their scan formats.
10083         * README: New file. Describes packages and provides simple
10084         installation instructions.
10086         * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
10087         -rf (closes SF #488661).
10089 2001-12-14  Bill Wohler  <wohler@newt.com>
10091         Released mh-e version 5.0.93.
10093         * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
10094         (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
10095         all.
10096         (MH-E-IMG2): New variable to hold images in mail sub-directory.
10097         (dist): Updated target to make mail sub-directory and copy
10098         MH-E-IMG2 images there.
10100         * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
10102         * mh-e.el: Reorganized variables having to do with the scan line.
10103         Moved some random variables that were interspersed out of the
10104         middle. Moved `mh-scan-format-file' first and let the variables
10105         flow from there.
10107         As the number of variables increases, it is becoming important to
10108         organize the mh-e namespace. Several variables having to do with
10109         the format of scan lines were renamed, as follows:
10110         (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
10111         (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
10112         (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
10113         (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
10114         (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
10115         (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
10116         (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
10117         (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
10118         (mh-folder-scan-font-lock-face): Renamed to
10119         mh-folder-scan-format-face.
10120         (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
10122 2001-12-13  Bill Wohler  <wohler@newt.com>
10124         * mh-utils.el (mh-msg-number-regexp): Renamed to
10125         mh-scan-msg-number-regexp.
10126         (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
10128         * Corrected typos, quoted variables in doc strings, and made minor
10129         wording changes in docs.
10131 2001-12-13  Peter S Galbraith  <psg@debian.org>
10133         * mh-xemacs-compat.el: defalias 'match-string-no-properties to
10134         'match-string for XEmacs.  I've seen a better function for this
10135         that actually removes text properties, but this will do for now.
10137         * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
10138         bound in XEmacs.
10140         * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
10141         New file.
10142         * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
10144 2001-12-12  Peter S Galbraith  <psg@debian.org>
10146         * mh-comp.el (mh-send-letter): function local-variable-p needs two
10147         arguments in XEmacs.
10148         (mh-send-letter): sendmail-coding-system not bound in XEmacs.
10149         (mh-send-letter): default-buffer-file-coding-system not bound in
10150         Xemacs.
10152         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
10153         transient-mark-mode not bound in XEmacs.  The feature of
10154         operations made on all messages in the selected range when
10155         transient-mark-mode is on doesn't work in XEmacs.
10157         * mh-e.el, mh-utils: Conditionalize calls to
10158         'add-to-list 'facemenu-unlisted-faces for XEmacs.
10160 2001-12-11  Jeffrey C Honig  <jch@honig.net>
10162         * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
10163         specify the scan format string or file to use.  Define formats for
10164         MH and nmh that are compatible with the standard format, but
10165         provide hints for font-lock.  Define (mh-scan-format) for use by
10166         (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
10167         necessary to inform the scan program which scan format string or
10168         file to use.
10170 2001-12-07  Peter S Galbraith  <psg@debian.org>
10172         * mh-e.el (scan.font-lock): New format file documented in comments.
10173         (mh-scan.font-lock-regexp): Adapted to new format.
10174         (mh-folder-font-lock-keywords): Use new format.
10176         * mh-e.el (page-down.xpm): Icon renamed from nextpage.
10178         * mh-utils.el (mh-decode-quoted-printable): Bug fix.  Better check
10179         on what actually is a quoted-printable attachment.
10181 2001-12-06  Eric Ding  <ericding@alum.mit.edu>
10183         * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
10184         require mailcap.el here rather than using autoload at top of
10185         mh-mime.
10186         (mh-file-mime-type): get rid of unused variables (why were they
10187         there to begin with?)
10189 2001-12-06  Peter S Galbraith  <psg@debian.org>
10191         * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
10192         mh-cur-scan-msg-regexp splits into these two variables.
10193         The whole-line fontification is disabled, but easily restored by a
10194         user (although it could be a defcustom with choices DISABLED or
10195         the correct regexp?)
10196         (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
10197         to this.
10198         (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
10199         this.
10201         * cabinet.xpm: Revert to rescan icon name.
10202         * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
10204         * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
10205         that current message line highlight doesn't mess up other highlights.
10207 2001-12-05  Eric Ding  <ericding@alum.mit.edu>
10209         * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
10210         cyan on dark backgrounds; through a series of changes, it had
10211         become the same color as mh-show-subject-face!
10213 2001-12-05  Bill Wohler  <Bill.Wohler@openwave.com>
10215         * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
10216         a couple of small doc string tweaks while I was in there. Peter,
10217         if you don't agree, let me know and I'll back them out. I thought
10218         the "mh-e" in the text was redundant since the variables start
10219         with "mh"; I was also thinking ahead to how the documentation may
10220         read.
10222 2001-12-05  Peter S Galbraith  <psg@debian.org>
10224         * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
10225         (mh-folder-current-msg-face): New face with only a background
10226         settings, used in font-lock for the current message.
10227         (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
10228         mh-cur-scan-msg-regexp.
10230         * mh-utils.el (mh-show-from-face): Use red3 instead of red for
10231         light backgrounds.  It's not as bright on the eyes.
10232         (mh-show-subject-face): copy from mh-folder-subject-face instead.
10233         Makes the look consistent with folder-mode.
10235         * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
10236         need it to copy to mh-show-subject-face.
10238 2001-12-05  Bill Wohler  <wohler@newt.com>
10240         * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
10241         from "a" to "E". Better mnemonic, nicer to folks used to using a
10242         for `mh-reply'.
10244 2001-12-04  Bill Wohler  <wohler@newt.com>
10246         * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
10248 2001-12-04  Peter S Galbraith  <psg@debian.org>
10250         * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
10251         colours for folder-mode.  Still themed, but fewer and darker
10252         colours (Blame Eric this time!).  I'll get to underlining tomorrow
10253         night.
10255         * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
10256         don't have the word mail in them.  Also generated a pbm format of
10257         each icon for users without XPM support conpiled into Emacs.
10259 2001-12-04  Eric Ding  <ericding@alum.mit.edu>
10261         * mh-utils.el (mh-show-font-lock-keywords): Use
10262         mh-header-subject-font-lock instead of regexp for subject headers,
10263         which may go multiple lines.
10264         (mh-header-subject-font-lock): New function.
10265         Fix typos (hightlight -> highlight).
10267 2001-12-04  Eric Ding  <ericding@alum.mit.edu>
10269         * mh-e.el: changes to face colors on dark backgrounds.
10270         (mh-folder-followup-face): change to LightGoldenRod.
10271         (mh-folder-date-face): change to snow3.
10272         (mh-folder-msg-number-face): change to snow4.
10274 2001-12-04  Bill Wohler  <wohler@newt.com>
10276         Released mh-e version 5.0.92.
10278         * mh-utils.el (gnus-cite-face-list)
10279         (mh-gnus-article-highlight-citation): Don't autoload. Revert to
10280         requiring in `mh-gnus-article-highlight-citation' as before. With
10281         the autoloads, if you ran mh-e before gnus, you'd get an undefined
10282         gnus variable when viewing an article in gnus. Go figure.
10284 2001-12-03  Bill Wohler  <wohler@newt.com>
10286         Released mh-e version 5.0.91.
10288         * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
10289         that workaround has been implemented.
10291         * Makefile (MH-E-OBJ): New variable to hold .elc files.
10292         (all): Just compile.
10293         (clean): New target that blows away MH-E-OBJ.
10294         (dist): Added $(MH-E-OBJ) to tarball.
10297         Attempt to quiet compilation errors to a dull roar.
10299         * mh-e.el: Require easymenu, added autoload of info.
10300         (mh-smail, mh-smail-other-window): Comment says these were needed
10301         by Emacs 18. Out!
10303         * mh-utils.el: Don't require sendmail, but require mh-e.
10304         Moved autoloads to top of file, and autoload gnus-cite and
10305         sendmail too.
10307         * mh-pick.el: Require easymenu. Remove cond on
10308         `easy-menu-define'--it exists.
10310         * mh-mime.el: Autoload mailcap.
10312         * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
10313         file.
10316         * Makefile: (EMACS): New constant to hold emacs calling sequence.
10317         (install): Renamed to install-emacs.
10318         (compile): New target to compile all files.
10319         (dist): Make dependent on compile.
10320         (import): Renamed to import-emacs.
10321         (%.elc): New implicit rule to compile elisp files.
10323         * mh-e.el (mh-thread-map): Added "Td" for
10324         mh-delete-subject-thread.
10326 2001-12-03  Peter S Galbraith  <psg@debian.org>
10328         * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
10330         * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
10331         (mh-folder-followup-face): Change to IndianRed.
10332         (mh-folder-deleted-face): Use sedate face instead of bright one.
10334 2001-12-03  Bill Wohler  <wohler@newt.com>
10336         * mh-utils.el (mh-invisible-headers): Increase size of
10337         `max-specpdl-size' locally to work around insufficient default.
10338         (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
10340 2001-12-03  Jeffrey C Honig  <jch@honig.net>
10342         * mh-utils.el (mh-find-progs): Searches should not stop if the
10343         strings are not found, there is error detection at the end of the
10344         routine (closes SF #488231).
10346 2001-12-02  Bill Wohler  <wohler@newt.com>
10348         * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
10350         * Makefile (MH-E-IMG): New variable that contains images used by
10351         mh-e. Add these files to release.
10353         * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
10355         * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
10356         Is the hook called when you type `d' or when you type `x'?
10357         (mh-unseen-updated-hook): Reworded to be consistent with
10358         `mh-folder-updated-hook.'
10360         * mh-utils.el (mh-recenter): Accepted Gerd's change which is
10361         evaluated at compile time.
10363 2001-12-02  Bill Wohler  <wohler@newt.com>
10365         * mh-e.el Major, major keymap changes. The specific changes are
10366         listed below, but view the sources, or use "C-h m" in MH Folder
10367         mode for the complete list.
10369         Use of sub-keymaps inspired by gnus. The changes tripped me up at
10370         first too, but after about 5 minutes of shock (which is to be
10371         expected, I've been using the old keybindings for 16 years), I
10372         honestly found the new bindings to be nice indeed. It will also
10373         provide flexibility to allow for future functionality. I hate to
10374         do this on the eve of the beta release, but you asked for it! It's
10375         likely I'll have to pull an Eric and back this change out, but if
10376         we can live with pink subjects, this can't be so bad ;-).
10377         Question: will the users revolt? If they do, I suppose we can
10378         release 6.0.1 the next day ;-).
10379         (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
10380         New keymaps which start with F, S, X, and D, respectively. The
10381         mhstore commands can go in the mh-extract-map eventually.
10382         (mh-thread-map): Renamed from mh-folder-thread-map.
10384         Keymap changes and rationale. The sub-keymaps allowed some
10385         consistency (e.g., esp. with l(ist) and k(ill).
10387         e               Deleted. Already have x. Now used by mh-edit-again.
10388         a               Deleted. Already have r. Now used by mh-extract-rej..
10389         j               Deleted. Already have g.
10391         M-a -> e        Better mnemonic. Matches rmail. Frees movement cmd.
10392         M-e -> a        Try `a'gain!
10394         M-f -> Fv       Frees movement command
10395         M-f -> Ff       Alias (keep?)
10396         M-f -> Fo       Alias (keep?)
10397         M-k -> Fk       No reason but to keep with folder commands
10398         M-l -> Fl       No reason but to keep with folder commands
10399         M-p -> Fp       No reason but to keep with folder commands
10400         M-r -> Fr       Frees movement command
10401         M-s -> Fs       No reason but to keep with folder commands
10402         M-u -> Fu       No reason but to keep with folder commands
10404         M-% -> Sd       Better mnemonic
10405         M-# -> Sk       Better mnemonic
10406         M-q -> Sl       Better mnemonic
10407         C-xn -> Sn      Frees up standard key binding
10408         % -> Sp         Better mnemonic for putting a message in a sequence
10409         ? -> Ss         Shows sequences that message is in
10410         C-xw -> Sw      Frees up standard key binding
10412         M-n -> Xs       Better mnemonic (shar)
10413         M-n -> Xu       Better mnemonic (uuencode)
10415         M-SPC -> DSPC   Frees mark command
10416         M-\177 -> D\177 No reason but to keep with digest commands
10417         M-b -> Db       Frees movement command
10419 2001-12-01  Bill Wohler  <wohler@newt.com>
10421         * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
10422         (mh-folder-thread-map): New map, created by gnus-define-keys.
10423         Reached when typing T in mh-folder-mode-map. Moved threading
10424         functions to this new keymap so we can use dired again.
10425         (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
10426         the new threading functions, no changes to the UI were made at
10427         this point--saving that for the next check-in.
10429         * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
10430         requires gnus-util.
10432         * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
10433         requires gnus-util.
10435 2001-12-01  Jeffrey C Honig  <jch@honig.net>
10437         * mh-e.el: Update the documentation for the regexps used by
10438         `mh-folder-font-lock-keywords' to specify how many parethesized
10439         expressions they are expected to have and what those expressions
10440         are expected to match.
10442 2001-12-01  Bill Wohler  <wohler@newt.com>
10444         * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
10445         \\{mh-folder-mode-map} suffices. Removed variable documentation
10446         also as this is already out of date and a maintenance hassle.
10447         Reference new mh customization group instead.
10449         * mh-comp.el (mh-letter-mode): Ditto. Also added new information
10450         about MIME directives getting processed automatically if inserted
10451         via mh-e commands.
10453         * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
10454         the other modes.
10456         * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
10457         Comment in this function said that `b' shouldn't be used for
10458         burst-digest, as it is used for `back' in info, less, and rn. But
10459         what does `back' mean in MH Folder? I suppose if you visit a
10460         folder, you would go `back' to the original folder. Hmmm, I guess
10461         we'll leave the `b' binding alone for now.
10463         * mh-utils.el: Moved some of the variable comments to the first
10464         column so they wouldn't wrap in such an ugly fashion.
10465         (mh-showing-mode): Renamed variable and function from mh-showing
10466         to conform with minor mode conventions. Added optional arg to
10467         function so it would behave like a normal minor mode: no or nil
10468         arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
10469         out that desktop-create-buffer would barf when recreating mh-e
10470         buffers because it was calling mh-show with an arg.
10471         (mh-show-mode): Use define-derived-mode to simplify definition a
10472         *lot*.
10473         (mh-set-mode-name): Deprecated by use of define-derived-mode.
10474         Removed.
10476         * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
10477         definition a *lot*.
10479         * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
10480         this message will appear in a future version of Emacs.
10481         (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
10482         real minor mode.
10483         (mh-folder-mode): Use define-derived-mode to simplify definition a
10484         *lot*.
10486         * import-emacs (release): Change `(none)' to `mainline' so import
10487         doesn't choke after running `cvs up -A' on Emacs.
10488         (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
10489         (cvs update): Whoops! Forgot the second join (-jemacs).
10490         make import works fine again.
10492 2001-11-30  Peter S Galbraith  <psg@debian.org>
10494         * mh-e.el (mh-folder-font-lock-keywords): Change order of
10495         font-lock patterns such that subject body text doesn't get date
10496         fontification.
10498         * mh-e.el (mh-scan-subject-regexp): Bug fix.  Remove a dot.
10499         scan.font-lock users have to setq it separately.
10501 2001-11-30  Eric Ding  <ericding@alum.mit.edu>
10503         * mh-utils.el (mh-clean-msg-header): Go back to using
10504         mh-delete-line.  Using invisible text property is nicer in some
10505         ways, but winds up with somewhat mysterious behavior should user
10506         kill/yank stuff from the header (i.e., text gets yanked invisibly
10507         and won't be seen by user until file is reloaded).
10509 2001-11-29  Bill Wohler  <wohler@newt.com>
10511         * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
10512         right direction.
10514 2001-11-29  Jeffrey C Honig  <jch@honig.net>
10516         * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
10517         the current message if there are no messages in the folder.
10519 2001-11-29  Peter S Galbraith  <psg@debian.org>
10521         * mh-e.el (mh-folder-font-lock-subject): New fontifier function
10522         for subject lines in folder-mode
10523         (mh-scan-followup-regexp): Deleted obsolete regexp.  Use
10524         mh-scan-subject-regexp instead.
10525         (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
10526         instead of obsolete mh-scan-followup-regexp variable.
10527         (mh-folder-date-face, mh-folder-msg-number-face):
10528         (mh-folder-subject-face, mh-folder-followup-face):
10529         Now defined as proper faces instead of copied from font-lock
10530         faces.
10532         * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
10533         valid media types used in MIME attachment compositions.
10534         (mh-file-mime-type): Use mh-media-type-regexp instead of
10535         hard-wiring its value.
10537         * mh-utils.el (mh-show-unquote-From): New function to unquote
10538         "^>From" in mh-show-mode (not saved to disk).
10539         (mh-show-mode): Call mh-show-unquote-From.
10541 2001-11-29  Eric Ding  <ericding@alum.mit.edu>
10543         * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
10544         rather than mh-delete-line.
10545         (mh-make-line-invisible): New function to make line(s) invisible
10546         rather than deleting line(s).  Optional argument specifies number
10547         of lines to delete.
10548         (mh-show-msg): screen-height has been deprecated; use no more.
10549         (mh-notate): screen-width has been deprecated; use no more.
10551 2001-11-29  Jeffrey C Honig  <jch@honig.net>
10553         * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
10554         the existence of mhparam.  The location of mhparam is used to find
10555         `mh-progs'.  It uses the libdir and etcdir to find the
10556         `mh-lib-progs' and `mh-lib' directories.  If etcdir doesn't return
10557         anything we assume `mh-lib-progs' is the same as `mh-lib' and that
10558         we are using MH instead of nmh.
10560 2001-11-29  Peter S Galbraith  <psg@debian.org>
10562         * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
10563         second paren expression is the user match.
10564         (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
10565         expression to match user name, after Jeffrey's change to the regexps.
10567 2001-11-29  Bill Wohler  <Bill.Wohler@openwave.com>
10569         * mh-utils.el (mh-clean-message-header): Default is now t.
10570         (mh-invisible-headers): Padded out to contain all the headers that
10571         the mh-e developers don't like to see (closes SF #415759).
10573 2001-11-28  Bill Wohler  <Bill.Wohler@openwave.com>
10575         * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
10576         this allows mh-extract-rejected-mail to strip the start of the
10577         MDN, there is still a closing MIME marker at the end. This should
10578         be cleaned up eventually.
10580 2001-11-28  Peter S Galbraith  <psg@debian.org>
10582         * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
10583         folder-mode when narrowed to sequence.
10584         * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
10585         mh-folder-seq-tool-bar-map.
10586         (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
10587         * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
10589         * mh-mime.el (mh-file-mime-type): Much better check on validity of
10590         'file' output.
10592         * mh-e.el (mh-scan-subject-regexp): New regexp variable for
10593         subject string in folder mode.  Used to extract subject sequence,
10594         and will be used for font-lock soon.
10595         * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
10596         using mh-scan-subject-regexp, allows users with non-standard
10597         scan format to use subject sequences.
10599         * mh-comp.el (mh-letter-fill-column): Fill column to use in
10600         mh-letter-mode.  (Yes, I'm doing this in spite of what Bill said;
10601         Someone can always undo it later)
10602         (mh-letter-mode): setq fill-column to mh-letter-fill-column.
10604 2001-11-28  Bill Wohler  <wohler@newt.com>
10606         * mh-e.el (mh-page-msg): The first time the end of page is hit,
10607         set mh-page-to-next-msg-p to t. The second time the end of page is
10608         hit, go to the next message.
10610         * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
10611         nil.
10613 2001-11-27  Bill Wohler  <wohler@newt.com>
10615         * mh-mime.el (mh-mime-content-types): Updated list of types to
10616         contain types used by mh-e developers, but not including types not
10617         listed in
10618         http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
10620 2001-11-27  Peter S Galbraith  <psg@debian.org>
10622         * mh-seq.el (mh-subject-thread-to-sequence) New function placing
10623         all messages with similar subject line into a sequence named
10624         'subject.
10625         (mh-narrow-to-subject-thread): New command to narrow to all
10626         messages with similar subject line into a sequence named 'subject.
10627         (mh-toggle-subject-thread): New command to toggle between a new
10628         'subject sequence or the wide view of a folder.
10629         (mh-delete-subject-thread): New command to delete all following
10630         messages with similar subject lines (leaving preceeding ones
10631         untouched).
10632         (mh-next-unseen-subject-thread): New command to create and move to
10633         a new subject thread created from the next unseen message as a
10634         starting point.
10635         * mh-e.el (mh-folder-message-menu): New menu entries for subject
10636         threads.
10637         (mh-folder-mode-map): New keybindings for subject threads.
10638         (mh-lessp): New function to sort messages.
10640         * mh-utils.el (mh-show-font-lock-keywords): and various
10641         faces... scoped within eval-after-load "font-lock" to avoid
10642         requiring font-lock to use its faces.
10643         * mh-e.el (mh-folder-font-lock-keywords): Same.
10645 2001-11-27  Jeffrey C Honig  <jch@honig.net>
10647         * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
10648         " *mh-temp".
10650         * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
10652 2001-11-26  Eric Ding  <ericding@alum.mit.edu>
10654         * mh-utils.el: revert to using external mimedecode to decode
10655         MIME quoted-printable parts
10657 2001-11-26  Jeffrey C Honig  <jch@honig.net>
10659         * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
10660         * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
10662 2001-11-26  Peter S Galbraith  <psg@debian.org>
10664         * mh-mime.el (mh-file-mime-type): Make sure output from file
10665         command is known to mailcap file, otherwise prompt the user.
10666         (mh-mime-content-types): Add "image/png" type.
10668         * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
10669         mh-folder-*-face faces.
10670         * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
10671         mh-show-*-face faces.
10673         * mh-utils.el (mh-letter-header-font-lock): Bug fix.  Fix infinite
10674         loop in emacs20 font-locking.
10675         (mh-header-field-font-lock): Preventive fix with similar change.
10677         * mh-comp.el (mh-reply-show-message-p): Typo.  diplayed -> displayed.
10678         * MH-E-NEWS: Same.
10680         * mh-e.el (mh-folder-tool-bar-map): Bug fix.  I had
10681         mh-repack-folder instead of mh-pack-folder.
10683 2001-11-26  Bill Wohler  <wohler@phone.com>
10685         * mh-e.el:
10686         Updated header for consistency and to conform with (elisp)Library
10687         Headers.
10688         (mh-do-not-confirm): Updated documentation string to reflect
10689         reality (e.g., is no longer used by mh-kill-folder and is used by
10690         more functions than just mh-undo-folder).
10691         (mh-page-msg): Now shows the next undeleted message if looking at the
10692         bottom of the current message.
10693         (mh-process-or-undo-commands): Fixed indentation.
10695         * mh-mime.el:
10696         (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
10697         cannot be determined with file command, use mailcap-mime-types (if
10698         available) to provide list for completing read.
10700         * MH-E-NEWS: First draft of mh-e 5.1 release notes.
10702 2001-11-26  Eric Ding  <ericding@alum.mit.edu>
10704         * mh-utils.el (mh-decode-quoted-printable): Implement
10705         quoted-printable decoding in elisp (starting with code copied
10706         from FLIM).
10707         (mh-decode-quoted-printable-region): Move (require 'hexl) outside
10708         while loop.
10709         (mh-decode-quoted-printable): give user a choice between using
10710         internal code or external program to decode quoted-printable
10711         content.  Resurrect code that calls external mimedecode program.
10713 2001-11-25  Peter S Galbraith  <psg@debian.org>
10715         * mh-utils.el (mh-highlight-citation-p): New variable to determine
10716         whether to hightlight citations in message body with gnus,
10717         font-lock or not at all.
10718         (mh-show-font-lock-keywords): removed citations from keywords.
10719         (mh-show-font-lock-keywords-with-cite): New variable, equivalent
10720         to prior mh-show-font-lock-keywords.
10721         (mh-gnus-article-highlight-citation): hook into gnus for
10722         multi-level citation highlighting.
10723         (mh-show-mode): Use either mh-show-font-lock-keywords or
10724         mh-show-font-lock-keywords-with-cite, depending on value of
10725         mh-highlight-citation-p, and possibly call
10726         mh-gnus-article-highlight-citation.
10727         * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
10729 2001-11-25  Jeffrey C Honig  <jch@honig.net>
10731         * mh-comp.el (mh-redistribute): Added mh-redist-background
10732         variable to cause mh-redistribute to run the redist command in the
10733         background.  This causes the transaction log to be visible, like
10734         with send.
10736 2001-11-25  Peter S Galbraith  <psg@debian.org>
10738         * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
10739         new message if already showing messages.
10741 2001-11-22  Peter S Galbraith  <psg@debian.org>
10743         * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
10744         specified, otherwise mh-refile-msg may try to create a folder with
10745         empty name, and this creates problems;  even mh-undo can't handle
10746         it (Closes SF #476824).
10748         * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
10749         require 'info.  Also tweaked help texts.
10750         (mh-letter-menu): Use headline capitalization (Closes SF #483203).
10751         * mh-e.el (mh-folder-tool-bar-map): Same as above.
10752         (mh-folder-folder-menu, mh-folder-message-menu):
10753         (mh-folder-sequence-menu): Same as above.
10754         * mh-pick.el (mh-pick-menu): Same as above.
10756 2001-11-21  Peter S Galbraith  <psg@debian.org>
10758         * mh-comp.el (mh-reply-show-message-p): The setting of this
10759         variable determines whether the MH show-buffer is diplayed with
10760         the current message when using mh-reply without a prefix argument.
10761         Set it to nil if you already include the message automatically in
10762         your draft using "repl: -filter repl.filter" in your ~/.mh_profile
10763         file.
10764         (mh-reply): Don't show message in other window if
10765         mh-reply-show-message-p is nil.
10767         * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
10768         mh-execute-commands.
10770         * mh-utils.el (mh-show-mouse): New function to click on a message
10771         in folder-mode and show that message.
10772         * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
10774         * mh-e.el (mh-page-msg): Show buffer first if not displayed,
10775         instead of simply complaining there's no other window.
10777         * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
10778         (mh-folder-mode): Setup tool-bar.
10780         * mh-mime.el (mh-have-file-command): try to non-fatally load
10781         executable.el because emacs20 doesn't autoload it.
10782         * mh-utils.el (load "executable" t t): Idem.
10784         * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
10785         after-change-functions to nil, working around a strange font-lock
10786         bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
10787         was used.
10789         * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
10790         mh-utils.el because it is needed in reading mail too.
10791         (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
10792         because they are needed by mh-show-mode's font-lock code.
10793         Unfortunately, this splits the field related code into two files.
10794         Perhaps it should all go into mh-utils?
10796 2001-11-20  Eric Ding  <ericding@alum.mit.edu>
10798         * mh-utils.el (mh-show-from-face): Fix typo in defface
10800 2001-11-20  Bill Wohler  <wohler@newt.com>
10802         * mh-utils.el (mh-mail-header-separator): Set to -------- as
10803         defined by MH (components, and replcomps files). This variable
10804         cannot be a regexp since it is used as an argument to insert and
10805         is passed through regexp-quote before being used. The previous
10806         value broke a lot of code, including mailcrypt.
10808         * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
10809         header field from mh-send-letter.
10810         (mh-edit-again, mh-extract-rejected-mail): Call
10811         mh-insert-header-separator to ensure that there is a separator.
10812         Packages such as mailcrypt depend on it.
10813         (mh-insert-header-separator): New function to insert
10814         mh-mail-header-separator if it doesn't exist.
10816 2001-11-20  Peter S Galbraith  <psg@debian.org>
10818         * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
10819         * mh-e.el (mh-folder-mode):  Same.
10820         * mh-utils.el (mh-show-mode):  Same.
10822         * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
10823         with mh-good-msg-regexp.
10825         * mh-utils.el (mh-mail-header-separator): Bug fix.  Moved from
10826         mh-comp.el to mh-utils.el (which mh-comp.el loads).
10828         * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
10829         suggested by Bill).
10830         * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
10832         * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
10833         to customizing mh-compose group.
10835         * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
10836         font-lock-support-mode to nil.
10837         (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
10838         bug fix. Don't return match beyond font-lock search limit.
10840         * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
10841         not a bound variable.
10843 2001-11-19  Peter S Galbraith  <psg@debian.org>
10845         * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
10846         to 'Draft Editing' info node.
10848         * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
10849         for font-lock.
10850         (mh-header-to-font-lock, mh-header-cc-font-lock)
10851         (mh-header-field-font-lock): New helper function returning whole
10852         header field arguments to font-lock.
10853         (mh-show-font-lock-keywords): Heavily modified using the above.
10855         * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
10856         number in scan lines.
10857         (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
10858         (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
10859         scan lines for messages we sent.
10860         (mh-scan-followup-regexp): Regexp matching a followup subject
10861         line, starting with Re:
10862         (mh-scan-body-regexp):
10863         Regexp matching the message body beginning displayed in scan lines.
10864         (mh-scan.font-lock-regexp): Regexp matching output of the the
10865         optional scan.font-lock format file.
10866         (mh-folder-font-lock-keywords): New font-lock for folder-mode that
10867         uses the above regexps.
10869 2001-11-19  chad  <y@mit.edu>
10871         * mh-comp.el (mh-letter-tool-bar-map): made both references to
10872         mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
10873         just one.
10875 2001-11-19  Bill Wohler  <wohler@newt.com>
10877         * mh-comp.el (mh-position-on-field): Move to the end of the header
10878         if the field is not present. This function was documented to do
10879         this, but wasn't doing so.
10880         (mh-insert-x-mailer): Simplified by using existing
10881         mh-goto-header-field and mh-insert-fields functions. Now that
10882         mh-insert-fields is used to insert X-Mailer header field, no
10883         longer need to include X-Mailer in mh-x-mailer-string.
10885 2001-11-18  Peter S Galbraith  <psg@debian.org>
10887         * mh-comp.el (mh-letter-tool-bar-map): New version of
10888         mh-letter-mode tool-bar.  Changed order of buttons; made customize
10889         and info buttons specific to mh-e.
10891         * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
10892         uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
10893         mh-cur-scan-msg-regexp, so will better adapt to non-default scan
10894         formats.  Also, lines marked for refiling are now fontified.
10896 2001-11-18  Bill Wohler  <wohler@newt.com>
10898         * mh-utils.el (mh-show-mode): Added local variable
10899         mail-header-separator which is initialized to
10900         mh-mail-header-separator.
10902         * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
10903         Needed when running mh-edit-again, since by then the separator is
10904         gone. Added documentation saying one should use
10905         mail-header-separator and initialize it from
10906         mh-mail-header-separator.
10907         (mh-forward): Initialize mail-header-separator since
10908         mh-letter-mode hasn't kicked in yet (which does initialize
10909         mail-header-separator).
10910         (mh-letter-mode): Initialize mail-header-separator from
10911         mh-mail-header-separator, not hard-coded string.
10913         * mh-comp.el (mh-insert-x-mailer-p): New variable to control
10914         whether X-Mailer string is inserted. Default: t.
10915         (mh-x-mailer-string): New variable that caches actual X-Mailer
10916         string.
10917         (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
10918         is t.
10919         (mh-insert-x-mailer): New function that inserts X-Mailer header
10920         field.
10922 2001-11-17  Peter S Galbraith  <psg@debian.org>
10924         * mh-utils.el (mh-letter-header-font-lock): New function to return
10925         the entire mail header to font-lock for sedate font-locking.
10926         (mh-show-font-lock-keywords): Modified to fontify whole lines and use
10927         mh-letter-header-font-lock above to fontify whole header.
10929 2001-11-17  Bill Wohler  <wohler@newt.com>
10931         * mh-comp.el (mail-header-separator): Added ^ and $ to make more
10932         specific.
10933         (mh-forward, mh-letter-mode): Replaced hard-coded string with
10934         mail-header-separator.
10936 2001-11-16  Bill Wohler  <wohler@newt.com>
10938         * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
10939         (mh-version): The variable: Set to a number instead of Id since
10940         the Id didn't have the mh-e version number, and both Emacs and
10941         gnus do it this way too.
10942         (mh-version): The function: Fixed for nmh. Now displays mh-e
10943         version correctly. Cleaned up output and display mh-progs, etc.
10944         (Closes SF #405620.)
10946 2001-11-15  Peter S Galbraith  <psg@debian.org>
10948         * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
10949         mh-letter-mode in emacs21.  Uses icons from gnus/message.el.
10950         * mh-comp.el (mh-letter-mode): Add buffer-local binding of
10951         tool-bar-map to mh-letter-tool-bar-map.
10953 2001-11-15  Peter S Galbraith  <psg@debian.org>
10955         * mh-mime.el (mh-have-file-command): Add check for existence of
10956         executable-find command, which Jeffrey didn't exist in emacs-20.4.
10957         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
10958         as above.
10959         * mh-mime.el (mh-file-mime-type): Bug Fix.  Some versions of
10960         'file' output a string like "file: Using regular magic file..."
10961         to stderr, so discard stderr when using call-process with 'file'.
10963 2001-11-14  Peter S Galbraith  <psg@debian.org>
10965         * mh-mime.el (mh-have-file-command): Check if 'file' command on
10966         system accepts arguments -i -b before accepting it for our use.
10968 2001-11-14  Peter S Galbraith  <psg@debian.org>
10970         * mh-utils.el (mh-find-progs): Use expand-file-name instead of
10971         concatenating together strings into a path.
10973 2001-11-14  Peter S Galbraith  <psg@debian.org>
10975         * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
10976         menu only when mh-narrowed-to-seq is t.
10978 2001-11-14  Peter S Galbraith  <psg@debian.org>
10980         * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
10981         of more complicated and error-prone call-process to which command.
10982         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
10983         change as above.
10985 2001-11-14  Jeffrey C Honig  <jch@honig.net>
10987         * mh-e.el (mh-make-folder-mode-line): Bug fix.  Properly deal with
10988         folders that do not have any lines in them.  Print "no msgs"
10989         instead of "0 msgs".  Do not try to print a range when there are
10990         no messages.
10991         * mh-e.el (mh-regenerate-headers): Bug fix.  Catch and remove the
10992         "scan: band message list" message.
10994 2001-11-13  Jeffrey C Honig  <jch@honig.net>
10996         * mh-utils.el (mh-find-progs): Bug fix.  Add "mh/etc" to the
10997         subdirectories to search for "components".  On BSD/OS, nmh is in
10998         "/usr/contrib/mh/*".
11000 2001-11-13  Peter S Galbraith  <psg@debian.org>
11002         * mh-comp.el (mh-letter-mode): Bug fix.  Load mh-mime before
11003         setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
11004         message containing a MIME composition) such that the variable is
11005         properly declared as buffer-local.
11007 2001-11-12  Bill Wohler  <wohler@newt.com>
11009         * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
11010         directory, not mh-lib (closes SF #481128).
11012 2001-11-12  Peter S Galbraith  <psg@debian.org>
11014         * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
11015         In a sequence with pending deletes and refiles, running mh-widen
11016         would wipe out their notations, even though the sequences are still
11017         defined.  Fixed by calling a new function,
11018         mh-notate-deleted-and-refiled.  Also changed the coping of
11019         mh-goto-msg-num since it didn't work consistently.
11020         * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
11021         to fix above mh-widen bug.  It's a first cut, we may want to clear
11022         all notations first, and notate the current-message sequence and
11023         user sequences.  Time will tell.
11025 2001-11-12  Peter S Galbraith  <psg@debian.org>
11027         * mh-seq.el (mh-widen): Make it attempt to stay on the same
11028         message number (closes SF bug #480922).
11030 2001-11-11  Bill Wohler  <wohler@newt.com>
11032         * import-emacs: New shell script to import Emacs changes to mh-e.
11034         * Makefile (import): New target to import Emacs changes.
11036 2001-11-09  Peter S Galbraith  <psg@debian.org>
11038         * mh-mime.el (mh-file-mime-type): Bug fix.  Change regexp to
11039         extract mime type from 'file -i' command output.
11041 2001-11-08  Peter S Galbraith  <psg@debian.org>
11043         * mh-utils.el (mh-update-sequences-after-mh-show):
11044         New customizable variable telling whether to run
11045         mh-update-sequences in mh-show-mode.  Default is t.
11046         * mh-utils.el (mh-show-msg): Run mh-update-sequences when
11047         mh-update-sequences-after-mh-show is set.
11049 2001-11-08  Peter S Galbraith  <psg@debian.org>
11051         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
11052         New variable telling whether command 'mimedecode' is on system.
11053         (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
11054         * mh-utils.el (mh-decode-quoted-printable):
11055         New customizable variable telling whether to run mimedecode on
11056         MIME message containing quoted-printable parts.  mimedecode will
11057         only alter quoted-printable parts , leaving others intact, and the
11058         resulting message is still fully MIME.
11059         * mh-utils.el (mh-decode-quoted-printable): New function to run
11060         mimedecode on the current buffer.
11061         * mh-utils.el (mh-display-msg): Conditionnaly call
11062         mh-decode-quoted-printable function if mh-decode-quoted-printable
11063         variable is set, to view messages containing quoted-printable
11064         characters into 8-bit.
11066 2001-11-08  Peter S Galbraith  <psg@debian.org>
11068         * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
11069         looking at a "forw: -mime" message containing a MIME composition.
11070         * mh-mime.el (mh-file-mime-type): Bug fix.  Failed on files like
11071         "~/.mh_profile" because of shell construct.  Wrapped filename with
11072         expand-file-name.
11073         * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
11074         mh-letter-mode-map for mh-open-line.
11076 2001-11-07  Peter S Galbraith  <psg@debian.org>
11078         * mh-comp.el (mh-open-line): New user function to split open a line
11079         when editing a reply with included text.
11080         * mh-comp.el (mh-current-fill-prefix): New function used by
11081         mh-open-line to get the fill-prefix on the current line.
11082         * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
11084 2001-11-06  Peter S Galbraith  <psg@debian.org>
11086         * mh-seq.el (mh-region-to-sequence): New function, creating a
11087         sequence named 'region containing the message list in the selected
11088         region.
11089         * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
11090         mark is active and in transient-mark-mode.
11091         * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
11092         mark is active and in transient-mark-mode.
11093         * mh-e.el (mh-undo): Undo message marks for refile or deletion if
11094         region if mark is active and in transient-mark-mode.
11096 2001-11-06  Peter S Galbraith  <psg@debian.org>
11098         * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
11099         Copy its settings for paragraph-start, paragraph-separate,
11100         fill-paragraph-function, adaptive-fill-regexp and
11101         adaptive-fill-first-line-regexp.  This make M-q (fill-paragraph)
11102         work correctly!
11104 2001-11-05  Peter S Galbraith  <psg@debian.org>
11106         * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
11107         and always prompt the user for such a drastic step.  Also change
11108         the prompt a bit to clarify it.
11110 2001-11-04  Peter S Galbraith  <psg@debian.org>
11112         * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
11113         to tell when a MIME insertion was done in a letter.
11114         * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
11115         * mh-mime.el (mh-mhn-compose-external-type):
11116         Set mh-mhn-compose-insert-p.
11117         * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
11118         * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
11119         * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
11120         mh-mhn-compose-insert-p is set.
11122 2001-11-03  Peter S Galbraith  <psg@debian.org>
11124         * mh-mime.el (mh-have-file-command): new function testing whether
11125         file command is on the system.
11126         * mh-mime.el (mh-file-mime-type): new function returning MIME type
11127         from file command.
11128         * mh-mime.el (mh-mhn-compose-insertion): Make use of
11129         mh-file-mime-type function instead of prompting.
11131 2001-10-30  Peter S Galbraith  <psg@debian.org>
11133         * mh-utils.el (mh-show-use-goto-addr): defcustom this new
11134         variable, determining whether to call goto-addr in mh-show-mode.
11135         * mh-utils.el (mh-show-mode): Call goto-address when
11136         mh-show-use-goto-addr is t.
11138 2001-10-25  Peter S Galbraith  <psg@debian.org>
11140         * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
11141         (list 4) to match elisp doc on what C-u prefix argument actually is.
11143 2001-10-23  Peter S Galbraith  <psg@debian.org>
11145         * mh-utils.el (mh-summary-height): In my quest to make mh-e more
11146         useful out-of-the-box for new users, set mh-summary-height to a
11147         minimum of 4 and a maximum of 10 depending on frame height.  I
11148         typically have 70 lines in my Emacs frame, so having a default of
11149         4 was silly for my case.
11150         * mh-e.el (mh-update-sequences): Check for nil value of
11151         mh-current-folder, which happens if mh-summary-height < 4
11152         although I haven't tracked doen why that happens.
11154 2001-10-22  Peter S Galbraith  <psg@debian.org>
11156         * mh-comp.el (mh-insert-fields): Test for nil value when inserting
11157         field.
11159 2001-10-20  Peter S Galbraith  <psg@debian.org>
11161         * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
11162         * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
11163         * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
11164         * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
11165         * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
11167 2001-10-19  Peter S Galbraith  <psg@debian.org>
11169         * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
11170         * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
11171         is in use rather than MH) was set assuming that the string "nmh"
11172         will be in mh-lib-progs or mh-lib.  This failed on Debian systems.
11173         Better to check for the existence of mhbuild in directory mh-progs.
11174         (closes SF bug #441776)
11176 2001-10-18  Peter S Galbraith  <psg@debian.org>
11178         * mh-e.el: Add menubar entry from contrib/mh-menubar.el
11179         * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
11180         * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
11182 2001-07-30  Peter S Galbraith  <psg@debian.org>
11184         * mh-e.el: Change font-lock patterns for folders.
11185         Fontify scan.font-lock patterns (which will be documented)
11186         and fontify subject lines prefixed with "Re:" differently.
11187         * mh-comp.el (mh-letter-mode): Add font-lock support as in
11188         mh-show-mode.
11190 2001-04-14  chad brown  <y@mit.edu>
11192         Rearrange the font-lock keywords a bit.
11194 2001-04-12  chad brown  <y@mit.edu>
11196         Preliminary (somewhat boring) font-lock support for mh-e.  More
11197         interesting font-lock support probably wants to have better
11198         support for multiple format files
11200 2001-02-24  chad brown  <y@mit.edu>
11202         Add default nmh paths to mh-find-prog in mh-utils.el.
11203         change to mh-kill-folder in mh-funcs.el to make it more general.
11205 2001-02-19  Bill Wohler  <wohler@newt.com>
11207         * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
11208         EMACS_HOME already exists to give developer a chance to set
11209         environment variable.
11210         (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
11211         $(EMACS_HOME)/src.
11212         (dist): Leave release in current directory.
11215   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
11217   Copying and distribution of this file, with or without modification,
11218   are permitted in any medium without royalty provided the copyright
11219   notice and this notice are preserved.
11221 ;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51