1 2003-04-24 Bill Wohler <wohler@newt.com>
3 * Released MH-E version 7.3.
5 * MH-E-NEWS, README: Updated for release 7.3.
7 * mh-e.el (Version, mh-version): Updated for release 7.3.
9 2003-04-24 Satyaki Das <satyakid@stanford.edu>
11 * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
12 time, since the mh-do-in-xemacs macro is used.
14 * mh-inc.el (cl): Require cl at compile time since we are using
15 the loop and setf macros.
17 2003-04-24 Satyaki Das <satyakid@stanford.edu>
19 * mh-unit.el (mh-files): Fix the list of files to check.
21 2003-04-24 Bill Wohler <wohler@newt.com>
23 * ChangeLog: Appended copyright to end of file.
25 * Makefile: Added copyright and license.
27 * README: Added copyright.
29 * import-emacs: Changed copyright from Newt Software to Bill
30 Wohler and use license from mh-e.el, except that this file is
31 a part of MH-E, not GNU Emacs.
33 * mh-alias.el: Updated copyright so that it doesn't wrap upon
34 advice from Richard Stallman who said to use two-digit years when
35 they are surrounded by 4-digit years that are in the same century
36 and to break up copyrights on multiple lines.
40 * mh-identity.el: Ditto.
44 * mh-xemacs-compat.el: Ditto.
46 * mh-unit.el: New file. Unit tests for MH-E. This version merely
47 runs checkdoc and lm-verify which is useful before releasing the
48 software. It can and should be expanded to do real unit tests.
50 2003-04-22 Mark D Baushke <mdb@gnu.org>
52 * mh-alias.el: Update Copyright.
54 * mh-customize.el: Ditto.
57 * mh-identity.el: Ditto.
64 * mh-xemacs-compat.el: Ditto.
66 2003-04-22 Satyaki Das <satyaki@theforce.stanford.edu>
68 * mh-utils.el (mh-normalize-folder-name): Make the completion
69 code work properly with XEmacs. This change is neeeded since
70 split-string behaves differently in XEmacs than it does in GNU
72 (mh-exec-cmd-error): Add a comment, so that we change it later on.
74 2003-04-18 Steve Youngs <youngs@xemacs.org>
76 * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
77 not 'mh-xemacs-toolbar'.
79 * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
80 now called 'mh-xemacs-icons' and it is required from
83 * mh-customize.el: Require 'mh-xemacs-icons' instead of
86 2003-04-17 Peter S Galbraith <psg@debian.org>
88 * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
91 * mh-xemacs-toolbar.el: Deleted.
93 * Makefile: Incorporate the file renaming.
95 2003-04-15 Bill Wohler <wohler@newt.com>
97 * mh-comp.el (mh-forward): Pass a list of messages into
98 mh-compose-and-send-mail instead of msg-or-seq.
99 (mh-annotate-msg): The previous version called
100 mh-iterate-on-msg-or-seq in the letter buffer. The new version
101 simply adds the ability to operate on message lists. Thanks to
102 Satyaki for the fix and suggestion for passing a list from
105 2003-04-14 Bill Wohler <wohler@newt.com>
107 * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
108 mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
109 which in turn passed the msg-or-seq to mh-annotate-msg. In
110 particular, forwarding a region failed. Note that the msgs
111 argument in much of mh-comp.el should really be converted to
112 msg-or-seq accordingly. But not now, unless something is broken as
113 was the case here. We can revamp after the release.
115 2003-04-13 Bill Wohler <wohler@newt.com>
117 * mh-funcs.el (mh-kill-folder): Added space after prompt to give
118 the (yes or no) bit a little elbow room.
120 * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
121 Reinstated Steve's copyright.
123 2003-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
125 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
126 indentation hooks for the macros.
128 2003-04-11 Bill Wohler <wohler@newt.com>
130 * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
131 mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
132 Merged in changes from CVS GNU Emacs. These included the removal
133 of trailing whitespace.
135 * mh-customize.el: The "anti-entropy" check-in. Moved groups
136 around slightly to reflect commentary. Moved defcustoms around
137 to preserve alphabetization. Big diff, little content.
138 (mh-xemacs-use-toolbar-flag): Doc fix.
139 (mh-xemacs-toolbar-position): Fixed typo in docstring.
140 (mh-default-folder-list): Updated docstring to reflect new Check
141 Recipient tag. Also, set type of Address to regexp.
142 (mh-x-mailer-string): Moved to mh-comp.el where it is used.
144 * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
145 Not quite sure how it got to mh-customize.el in the first place.
147 * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
150 * mh-utils.el (mh-show-folder-menu): Ditto.
152 * mh-inc.el: Added Change Log comment (lm-verify fix).
154 * mh-index.el (mh-index-search): Added documentation about prefix
155 argument for users, in addition to documentation for programmers.
157 * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
158 fixes germaine to the change whereby we now check for MIME
159 directives before sending.
161 * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
162 (lm-verify fix). Added standard MH-E local variables. Removed
165 2003-04-11 Satyaki Das <satyaki@theforce.stanford.edu>
167 * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
169 2003-04-10 Satyaki Das <satyaki@theforce.stanford.edu>
171 * mh-index.el (mh-index-visit-folder): Prompt before reusing
172 existing folder buffer.
174 * mh-xemacs-toolbar.el (require): Require mh-utils at compile
175 time to avoid compilation error when doing "make bootstrap" in
178 * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
179 time warning is avoided when doing "make bootstrap" in CVS Emacs.
181 2003-04-10 Peter S Galbraith <psg@debian.org>
183 * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
184 of a defmacro, applying Satyaki's patch.
185 (mh-inc-spool-def-key): same.
186 (mh-inc-spool-make): same.
188 * mh-utils.el: define-key "I" in mh-show-mode-map for
191 * mh-comp.el (mh-modify-header-field): Remove debug message.
193 2003-04-10 Peter S Galbraith <psg@debian.org>
195 * mh-inc.el (mh-inc-spool-map-help): Default to nil.
196 (mh-inc-spool-map): Make "?" key display message when
197 `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
198 containing the message).
200 * mh-e.el: require mh-inc.el
201 * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
202 (mh-help-messages): Add help string for "I" key.
204 2003-04-09 Peter S Galbraith <psg@debian.org>
206 * mh-inc.el: New file. New feature to `inc' mail from various
207 spool files into different folders.
209 * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
211 * Makefile (MH-E-IMG): Add highlight icon.
212 (MH-E-SRC): Add mh-inc.el file.
214 * mh-customize.el (mh-inc-spool-list): New variable for new
215 feature to `inc' mail from various spool files into different
218 2003-04-09 Satyaki Das <satyaki@theforce.stanford.edu>
220 * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
221 mh-mail-delivery-buffer.
223 * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
225 * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
226 avoid compiler warning in GNU Emacs.
228 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
230 * mh-mime.el (mh-small-image-p): Make the function slightly more
231 error-resistant in XEmacs.
233 * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
234 the show buffer if needed. This allows us to display the widen
235 button in the show buffer only when the folder is narrowed.
237 * mh-customize.el (mh-tool-bar-define): Changed so that a
238 separate tool-bar-map is used in show-mode when folder is
239 narrowed to a sequence.
241 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
243 * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
244 make-symbol since using gensym causes compiler warnings in CVS
247 2003-04-08 Bill Wohler <wohler@newt.com>
249 * mh-comp.el (mh-forward): Function didn't handle a region of
250 messages. Use new function mh-msg-or-seq-to-msg-list to get a list
251 of messages in all circumstances. Also, use mh-coalesce-msg-list
252 on message list before submitting to forw since this should always
253 be done when calling a program to reduce the chance of exceeding
256 * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
257 change. A nil msg-or-seq should mean no messages, and Satyaki is
258 going to use gensym instead of make-symbol.
259 (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
260 to a list of message numbers.
262 * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
265 * mh-funcs.el (mh-print-msg): Can now print regions, message
266 lists, sequences and, of course, single messages. This version
267 works a little differently from the old version. Instead of
268 calling mhl | lpr once on all messages, mhl | lpr is called once
269 per message in order to put each message's number in the header.
270 Thanks to Satyaki for some code and ideas.
272 * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
273 can now be nil which means the current message. Make local symbols
274 so that local variables don't step on user's symbols (the msgs
277 2003-04-06 Bill Wohler <wohler@newt.com>
279 * mh-comp.el (mh-forward): Updated docstrings to indicate that a
280 list of messages is acceptable as well.
282 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
283 (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
285 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
287 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
289 * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
290 (mh-interactive-msg-or-seq): Ditto.
292 2003-04-06 Satyaki Das <satyaki@theforce.stanford.edu>
294 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
295 mh-refile-a-msg and mh-delete-a-msg with nil as the message
296 number since that is more efficient.
298 * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
299 handle lists of messages numbers as well.
300 (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
303 * mh-funcs.el (mh-copy-msg): Same as above.
305 * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
306 mh-refile-a-msg avoids needing to re-search-forward to that
308 (mh-undo): Fix typo in interactive spec.
309 (mh-notate-user-sequences): Generalize the function to take a
310 msg-or-seq as argument.
311 (mh-delete-msg-from-seq): Extend the function so that it is now
312 able to subtract messages belonging in one sequence from another.
313 (mh-undo): Unify the region and sequence handling. The message
314 number branch of the function does extra stuff, so we can't merge
317 2003-04-06 Bill Wohler <wohler@newt.com>
319 * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
320 consistent verbiage in docstring for msg-or-seq.
321 (mh-reply): Don't mention default in opening line in all
324 * mh-e.el (mh-delete-msg, mh-refile-msg)
325 (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
326 Inserted consistent verbiage in docstring for msg-or-seq. In
327 mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
329 * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
330 mh-interactive-msg-or-seq. Inserted consistent verbiage in
331 docstring for msg-or-seq.
333 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
334 consistent verbiage in docstring for msg-or-seq.
336 * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
337 line in all docstrings.
338 (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
339 consistent verbiage in docstring for msg-or-seq.
341 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
342 Rewritten to use new mh-interactive-msg-or-seq function and
343 mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
344 ability to operate on regions.
346 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
347 use new mh-interactive-msg-or-seq function and
348 mh-iterate-on-msg-or-seq macro thereby gaining the ability to
349 operate on sequences or regions.
351 * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
352 on a message, a region of messages, or a sequence. This macro
353 should be in all functions that operate on messages to provide a
355 (mh-interactive-msg-or-seq): New function used in interactive
356 calls to obtain a message number, region, or sequence. This
357 function should be in all functions that operate on messages to
358 provide a uniform interface.
360 * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
361 'defun lisp-indent-hook property instead of 1 to fix indentation
364 2003-04-05 Peter S Galbraith <psg@debian.org>
366 * mh-loaddefs.el: Regenerated.
367 * mh-funcs.el (mh-ephem-message): autoload.
369 2003-04-04 Peter S Galbraith <psg@debian.org>
371 * mh-e.el (mh-folder-from-address): Minor Fix. Wrong ending of
374 2003-04-04 Satyaki Das <satyaki@theforce.stanford.edu>
376 * mh-mime.el (mh-mml-directive-present-p): The regexp has been
377 modified to recognize directives to encrypt/sign messages.
379 2003-04-03 Mark D. Baushke <mdb@gnu.org>
381 * mh-e.el (mh-folder-from-address): E-mail messages missing the
382 To: field, but which have a Cc: field should also be handled.
384 2003-04-03 Bill Wohler <wohler@newt.com>
386 * mh-e.el (mh-inc-folder): Modified the prompt text to read
389 * mh-comp.el (mh-forward): Deleted local variable `compose'.
390 Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
391 (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
392 obsolete. mh-{mmh|mml}-compose-insert-flag.
393 (mh-letter-mode): Deleted obsolete setting of
394 mh-{mmh|mml}-compose-insert-flag.
395 (mh-send-letter): This function now automatically runs the
396 directive-to-MIME conversion if any directives are detected,
397 rather than relying on the unreliable
398 mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
401 * mh-identity.el (mh-insert-identity): Use
402 mh-{mmh|mml}-directive-present-p instead of obsolete.
403 mh-{mmh|mml}-compose-insert-flag.
405 * mh-loaddefs.el: Regenerated.
407 * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
408 (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
409 (mh-mml-forward-message, mh-mml-attach-file)
410 (mh-mml-secure-message-sign-pgpmime)
411 (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
412 of mh-{mmh|mml}-compose-insert-flag.
413 (mh-mml-directive-present-p): Checkdoc fix.
415 * mh-utils.el (mh-mhn-compose-insert-flag,
416 mh-mml-compose-insert-flag): Deleted. Replaced by
417 mh-{mhn|mml}-directive-present-p.
419 2003-04-03 Mark D. Baushke <mdb@gnu.org>
421 * mh-e.el (mh-folder-from-address): Fix minor problem with To:
424 * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
427 2003-04-03 Peter S Galbraith <psg@debian.org>
429 * mh-e.el (mh-inc-folder): Add second optional argument for the
430 folder to inc new mail into instead of mh-inbox.
432 2003-04-03 Peter S Galbraith <psg@debian.org>
434 * mh-e.el (mh-folder-from-address): The first match found in
435 `mh-default-folder-list' is used.
437 * mh-customize.el (mh-default-folder-list): Tweak docs
439 2003-04-03 Satyaki Das <satyaki@theforce.stanford.edu>
441 * mh-loaddefs.el: Regenerated.
443 * mh-mime.el (mh-mhn-directive-present-p): New function to test if
444 a MHN directive is present in the current buffer.
445 (mh-mml-directive-present-p): New function to test if a MML
446 directive is present in the current buffer.
448 * mh-comp.el (mh-letter-mode): Originally this function checked if
449 a #forw directive was present and set mh-mhn-compose-insert-flag
450 to t. The modification generalizes this test so that one of the
451 variables mh-{mml|mhn}-compose-insert-flag will get set if we have
452 any sort of MHN or MML directive is already present.
454 * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
455 warnings in CVS version of GNU Emacs.
457 * mh-utils.el (tool-bar-map): Same as above.
459 * mh-e.el (tool-bar-map): same as above.
461 2003-04-02 Satyaki Das <satyaki@theforce.stanford.edu>
463 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
464 Change color to match mh-folder-tick-face.
466 * highlight.xpm: Same as above.
468 2003-04-02 Peter S Galbraith <psg@debian.org>
470 * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
471 for cases against the recipient instead of the originator.
473 * mh-customize.el (mh-default-folder-list): Add extra boolean flag
474 to conditionally check the recipient address instead of the
477 2003-04-02 Peter S Galbraith <psg@debian.org>
479 * mh-customize.el (mh-folder-tick-face): Change tick highlight
480 face to a background yellow-green, as suggested by Bill.
482 2003-04-01 Peter S Galbraith <psg@debian.org>
484 * highlight.xpm: New icon for mh-toggle-tick.
486 * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
488 (mh-xemacs-toolbar-toggle-tick-icon): New constant.
490 * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
492 2003-03-31 Satyaki Das <satyaki@theforce.stanford.edu>
494 * mh-loaddefs.el: Regenerated.
496 * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
497 (mh-show-sequence-menu): Add new interactive function
498 mh-show-narrow-to-tick callable from the show buffer and arrange
499 for a key binding and a menu entry.
501 * mh-seq.el (mh-narrow-to-tick): New interactive function that
502 narrows to the tick sequence.
504 * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
505 key binding and a menu entry for mh-narrow-to-tick.
507 * mh-comp.el (mh-letter-mode): Enable undo since we could be
508 reusing a show buffer where undo is disabled (closes SF #712777).
510 2003-03-31 Peter S Galbraith <psg@debian.org>
512 * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
514 * mh-utils.el (mh-show-sequence-menu): Add entry for
517 2003-03-28 Satyaki Das <satyaki@theforce.stanford.edu>
519 * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
520 "S k" then the highlighting wasn't getting removed. The change
523 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
525 * mh-e.el (mh-notate-user-sequences): Extend it so that only the
526 messages in a part of the folder are notated.
527 (mh-delete-msg-from-seq): Extend it so that it will delete all
528 messages in the marked region.
529 (mh-delete-a-msg-from-seq): New function that deletes a single
530 message from a sequence.
531 (mh-clear-text-properties): If there is a ticked unseen message
532 and the message is removed from the unseen list with "S d" then
533 unticking the message doesn't change the highlight. This change
536 2003-03-27 Peter S Galbraith <psg@debian.org>
538 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
539 24x24 icons, changing background only.
541 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
543 * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
544 variable buffer-exists.
545 (mh-spamassassin-identify-spammers): Remove unused variable user.
547 * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
550 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
552 * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
553 condition when messages from the last source folder had been
554 removed was incorrect. This caused a folder header to appear
555 without any messages listed under it. This change fixes this.
556 (mh-thread-forget-message): Remove the entry from the scan line
557 table as well. This is needed for proper display of threaded view
560 2003-03-26 Bill Wohler <wohler@newt.com>
562 * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
563 mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
564 mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
565 mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
566 mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
570 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
572 * mh-index.el: Fix commentary to mention that mairix is supported
575 * mh-loaddefs.el: Regenerated.
577 * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
578 Interactive functions callable from the show buffer.
579 (mh-show-junk-map): Key bindings in show mode.
581 * mh-e.el (mh-junk-map): Key bindings to call spam program.
582 (mh-help-messages): Update help text.
584 * mh-customize.el (mh-junk): New customization group for spam
586 (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
587 Functions and variables that decide which junk program is used.
588 (mh-junk-program, mh-junk-mail-folder): User customizable
589 variables that control the choice of spam program and the action
590 performed on received spam.
592 * Makefile (MH-E-SRC): Add mh-junk.el.
594 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
596 * mh-loaddefs.el: Regenerated.
598 * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
599 interactive function callable from the show buffer and a key
602 * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
603 (mh-put-msg-in-seq): Disable adding messages to tick sequence.
604 (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
605 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
606 (mh-toggle-tick): New functions to highlight/unhighlight tick
607 sequence and the interactive function that is used to toggle
610 * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
611 that remembers if we are narrowed to the tick sequence. In that
612 case the highlighting isn't shown, since it adds no extra info.
613 (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
614 (mh-notate-user-sequences): Notate the tick sequence.
615 (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
616 (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
617 (mh-folder-mode-map): Add key binding for "'"
619 * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
620 customizable variables that contain the name of the tick sequence
621 and the face to use to highlight it.
623 2003-03-25 Satyaki Das <satyaki@theforce.stanford.edu>
625 * mh-loaddefs.el: Regenerated.
627 * mh-seq.el (mh-thread-print-scan-lines): New function which
628 prints out thread tree. It maintains the original folder info if
629 the folder was created by index search (closes SF #709672).
630 (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
631 factored out function mh-thread-print-scan-lines.
632 (mh-toggle-threads): Since threading is allowed in index folders
633 there can be lines in the folder which aren't valid message scan
634 lines. So it is OK for mh-get-msg-num to fail once in a while.
636 * mh-index.el (mh-index-update-maps): Make the parsing of messages
637 that need to annotated with the X-MHE-Checksum header more robust.
638 If the search yielded no results then an error was being produced.
639 (mh-index-search): Enable automatic threading of index folders if
640 mh-show-threads-flag is non-nil (closes SF #709667).
641 (mh-index-next-folder): Relax error checking since index folder
642 can be threaded while the source folder info is visible.
643 (mh-index-group-by-folder): New function that is used in
644 mh-thread-folder to keep source folder info visible during
647 2003-03-25 Bill Wohler <wohler@newt.com>
649 * mh-loaddefs.el: Regenerated.
651 * mh-customize.el (mh-index-new-messages-folders): New variable
652 that controls which folders "F n (mh-index-new-messages)"
653 accesses. Was mh-flists-search-folders.
655 * mh-index.el (mh-flists-search-folders): Still used internally,
656 but users now use new option mh-index-new-messages-folders.
657 Removed documentation since to avoid duplication with
658 mh-index-new-messages-folders.
659 (mh-flists-recursive-search-flag): Deleted. Use
660 mh-recursive-folders-flag instead.
661 (mh-flists-execute): Updated docs to specify which global
662 variables are used. Use mh-recursive-folders-flag instead of
663 mh-flists-recursive-search-flag.
664 (mh-index-new-messages): Edited doc, and refer to new option
665 mh-index-new-messages-folders. Ditto within code. Don't need to
666 prepend + to folder name as flists does that for us. Use
668 2003-03-24 Satyaki Das <satyaki@theforce.stanford.edu>
670 * mh-e.el (mh-refile-msg): Add optional argument that controls
671 whether mh-last-destination-folder is updated or not.
673 2003-03-22 Satyaki Das <satyaki@theforce.stanford.edu>
675 * mh-customize.el (mh-tool-bar-define): Fix a problem in the
676 XEmacs version which caused the show mode toolbar to have the
677 buttons in the reverse order. Also the add-hooks are no longer
678 needed since mh-toolbar-init is called in the appropriate modes.
680 * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
683 * mh-utils.el (mh-show-mode): Same as above.
685 * mh-e.el (mh-folder-mode): Same as above.
687 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
689 * mh-utils.el (mh-exec-cmd-env-daemon): New function which
690 executes a command asynchronously with its own environment.
692 * mh-comp.el (mh-redistribute): The function has been modified so
693 that /bin/sh isn't used to run send. It has also been refactored
694 so that the same code isn't repeated.
696 2003-03-21 Bill Wohler <wohler@newt.com>
698 * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
701 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
703 * mh-loaddefs.el: Regenerated.
705 * mh-xemacs-toolbar.el: Remove the code since that gets generated
706 when mh-tool-bar-define is expanded.
707 (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
708 actual icons to be used in XEmacs. This is used in
711 * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
712 (mh-tool-bar-item-*): All these constants have been removed since
713 they aren't needed in the new scheme.
714 (mh-tool-bar-reply-3-buttons-flag): This variable has been
716 (mh-tool-bar-search-function): This is now used in XEmacs as well.
717 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
718 (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
719 (mh-tool-bar-letter-set): These functions aren't defined at the
721 (mh-tool-bar-reply-generator): A macro to generate the required
722 functions for the three reply buttons.
723 (mh-tool-bar-search, mh-tool-bar-customize)
724 (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
725 (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
726 (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
727 (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
728 interactive functions that are called when tool bar buttons are
730 (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
731 Additional customizable variables that are present only for
733 (mh-tool-bar-define): A macro that generates the required code
734 for GNU Emacs and XEmacs tool bar.
735 (mh-tool-bar-define): Define the MH-E tool bar.
737 2003-03-17 Satyaki Das <satyaki@theforce.stanford.edu>
739 * mh-seq.el (mh-notate-cur): Notate current message only if it
740 hasn't been marked for deletion or refiling.
742 2003-03-15 Bill Wohler <wohler@newt.com>
744 * mh-customize.el (mh-invisible-header-fields): Added
745 X-Spam-Checker-Version.
746 (mh-auto-fields-list): checkdoc fix.
748 2003-03-12 Satyaki Das <satyaki@theforce.stanford.edu>
750 * mh-index.el (mh-index-new-messages): If the destination folder
751 where the unseen messages are supposed to be copied to was
752 already present, but MH-E doesn't have it open, then a new folder
753 was being created. The change fixes this.
754 (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
757 * mh-loaddefs.el: Regenerated.
759 2003-03-11 Satyaki Das <satyaki@theforce.stanford.edu>
761 * mh-index.el (mh-flists-results-folder): Subfolder under
762 +mhe-index where the results of the flists call is put.
763 (mh-index-generate-pretty-name): Make sure that normal index
764 searching will never use the folder reserved for the flists
766 (mh-index-search): Add an extra parameter that marks all the
767 messages in the index folder to the unseen sequence.
768 (mh-index-update-unseen): Function to keep unseen sequence of
769 index folder synced with the actual folders from where the
770 messages were copied. This works only if the unseen messages are
771 displayed with mh-show. Killing the unseen sequence in the index
772 folder or adding/removing messages to it doesn't change the
773 unseen sequence in the source folders yet.
774 (mh-flists-search-folders): Variable that decides the folders on
776 (mh-flists-recursive-search-flag): If non-nil, flists is passed
778 (mh-flists-execute): Function which uses /bin/sh to execute
779 flists and then print out the list of message files that match.
780 (mh-index-new-messages): New interactive function which searches
781 for messages in the unseen sequence (closes SF #701756).
783 * mh-utils.el (mh-show-folder-map): Add binding for
784 mh-index-new-messages.
785 (mh-show-msg): Update the unseen sequence in the source folder.
787 * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
788 the end of buffer is reached when there isn't a valid scan line
789 on the current line. This doesn't work in the index folder since
790 we have lines containing the folder name and empty lines in
791 between the actual scan lines. The modification removes this
793 (mh-folder-map): Add key binding for "Fn"
795 * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
796 not at the beginning of the line, then the first message in the
797 region would be missed. The fix avoids this.
799 * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
800 we don't have the right libraries.
802 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
804 * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
805 (mh-next-msg): Add optional argument wait-after-complaining-flag.
806 If non-nil and there are no undeleted messages after (or before)
807 the current one, then pause for a second after printing out the
809 (mh-refile-or-write-again): Modify call to mh-next-msg to use the
810 wait-after-complaining-flag.
812 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
814 * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
815 a message to go to it prints out a diagnostic, which overwrites
816 the diagnostic about the folder the message was refiled to. The
819 2003-03-09 Satyaki Das <satyaki@theforce.stanford.edu>
821 * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
822 mh-narrowed-to-seq before notating sequences. This is a bit
823 helpful for mh-tick.el.
824 (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
825 be notated -- the original code was doing the right thing only for
826 the "unseen" sequence.
828 * mh-index.el (mh-index-choose): Add autoload cookie for
829 mh-index-choose. This is needed for GNU Emacs 20.5.
831 * mh-loaddefs.el: Regenerated.
833 2003-03-09 Bill Wohler <wohler@newt.com>
835 * mh-mime.el (mh-display-smileys): This function originally had a
836 test to see if font-lock-maximum-size was bound, but this was
837 recently removed. The test was put in for a reason; if
838 font-lock-maximum-size isn't bound, void-variable errors would
839 ensue. I put the bound test back in.
841 2003-03-08 Steve Youngs <youngs@xemacs.org>
843 * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
846 2003-03-07 Satyaki Das <satyaki@theforce.stanford.edu>
848 * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
849 Emacs, so that we don't get so many compiler warnings. Also
850 surround calls to set-specifier and toolbar-make-button-list with
851 mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
852 this file in the first place.
854 * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
855 mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
856 (mh-xemacs-push-button): Removed.
858 * mh-mime.el (mh-mime-button-map): Use the generalized
859 mh-push-button function.
860 (mh-push-button): Enhance it so that it works on XEmacs too.
862 2003-03-08 Steve Youngs <youngs@xemacs.org>
864 * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
866 (mh-modeline-glyph): Use it.
868 2003-03-08 Steve Youngs <youngs@xemacs.org>
870 * mh-xemacs-toolbar.el: New file that defines and displays a
873 * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
875 * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
877 * mh-customize.el (mh-toolbar):
878 (mh-tool-bar-letter-buttons):
879 (mh-tool-bar-letter-buttons-set):
880 (mh-tool-bar-folder-buttons):
881 (mh-tool-bar-folder-buttons-set):
882 (mh-tool-bar-search-function):
883 (mh-tool-bar-reply-3-buttons-flag):
884 (mh-tool-bar-item-inc):
885 (mh-tool-bar-item-save-mime):
886 (mh-tool-bar-item-prev-msg):
887 (mh-tool-bar-item-page-msg):
888 (mh-tool-bar-item-next-msg):
889 (mh-tool-bar-item-delete):
890 (mh-tool-bar-item-refile):
891 (mh-tool-bar-item-undo):
892 (mh-tool-bar-item-perform):
893 (mh-tool-bar-item-toggle-show):
894 (mh-tool-bar-item-reply-from):
895 (mh-tool-bar-item-reply-to):
896 (mh-tool-bar-item-reply-all):
897 (mh-tool-bar-item-reply):
898 (mh-tool-bar-item-alias):
899 (mh-tool-bar-item-compose):
900 (mh-tool-bar-item-rescan):
901 (mh-tool-bar-item-repack):
902 (mh-tool-bar-item-search):
903 (mh-tool-bar-item-visit):
904 (mh-tool-bar-item-prefs):
905 (mh-tool-bar-item-help):
906 (mh-tool-bar-item-widen):
907 (mh-tool-bar-item-send):
908 (mh-tool-bar-item-attach):
909 (mh-tool-bar-item-spell):
910 (mh-tool-bar-item-save):
911 (mh-tool-bar-item-undo-op):
912 (mh-tool-bar-item-kill):
913 (mh-tool-bar-item-copy):
914 (mh-tool-bar-item-paste):
915 (mh-tool-bar-item-kill-draft):
916 (mh-tool-bar-item-comp-prefs):
917 The MH-E toolbar for XEmacs is defined differently from the
918 GNU/Emacs version, so only define these if we're in GNU/Emacs.
919 XEmacs doesn't need to see them and it's always good to cut down
922 2003-03-08 Steve Youngs <youngs@xemacs.org>
924 * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
925 `mh-xemacs-push-button' in XEmacs.
926 (mh-mime-security-button-map): Ditto.
928 * mh-xemacs-compat.el: Shush the byte-compiler.
929 (mh-xemacs-push-button): New function to make MIME buttons work in
932 2003-03-08 Steve Youngs <youngs@xemacs.org>
934 * mh-mime.el (mh-display-emphasis): Don't test
935 `font-lock-maximum-size' to see if it is bound, just test for a
936 non-nil value. This variable can have a nil value which makes it
937 bound and dividing nil by 8 throws an error.
938 This fixes a bug in MH-E under XEmacs when
939 `font-lock-maximum-size' is nil that prevented article emphasis
940 and smiley display which in turn was causing the "Flush changes in
941 article x y/n" errors.
942 (mh-display-smileys): Ditto.
944 2003-03-08 Steve Youngs <youngs@xemacs.org>
946 * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
948 * mh-xemacs-compat.el (mh-modeline-glyph): New. The MH-E modeline
951 2003-03-06 Satyaki Das <satyaki@theforce.stanford.edu>
953 * mh-utils.el (mh-allow-root-folder-flag): New global variable
954 that decides if "+" is an acceptable folder name.
955 (mh-folder-completion-function): Refine the test for existing
956 folders to take mh-allow-root-folder-flag into account.
957 (mh-folder-completing-read, mh-prompt-for-folder): Use the
958 allow-root-folder-flag argument of mh-prompt-for-folder and add a
959 similar argument to mh-folder-completing-read.
960 (mh-exec-cmd-error): Make the function nicer by using
961 process-environment to pass the environment variable assignments.
963 2003-03-05 Satyaki Das <satyaki@theforce.stanford.edu>
965 * mh-mime.el (mh-push-button): Preserve point in the show buffer
966 if the mouse is used to expand/contract a button.
968 * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
971 * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
972 X-Image-URL header field.
974 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
976 * mh-utils.el (mh-face-display-function): Modified to facilitate
977 display of X-Image-URL images.
978 (mh-find-path): Initialize X-Image-URL cache directory.
979 (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
980 (mh-x-image-scale-and-display, mh-x-image-url-display)
981 (mh-x-image-display): New functions for X-Image-URL image display
982 and cache management.
984 * mh-customize.el (mh-show-use-xface-flag): Add info about
985 requirements for X-Image-URL display.
986 (mh-fetch-x-image-url): New customizable variable that controls
987 fetching of X-Image-URL.
989 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
991 * mh-utils.el (mh-make-local-hook): New macro which works around
992 API changes in add-hook. Version of GNU Emacs before 21.1 and
993 XEmacs require a call to make-local-hook and just the LOCAL
994 argument of add-hook is not sufficient.
995 (mh-show-mode): Make kill-buffer-hook buffer local.
997 * mh-e.el (mh-folder-mode): Same as above.
999 * mh-comp.el (mh-compose-and-send-mail): Same as above.
1001 2003-03-02 Satyaki Das <satyaki@theforce.stanford.edu>
1003 * mh-mime.el (mh-push-button): Clicking on a MIME button used to
1004 cause the window with the show buffer to be selected. With this
1005 change the selected window doesn't change.
1007 2003-03-01 Satyaki Das <satyaki@theforce.stanford.edu>
1009 * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
1010 When flists is called manually, or when an unseen message is read,
1011 mh-speed-partial-line was not reinitialized.
1013 * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
1014 the folder currently being visited (effectively doing a rescan)
1015 then mh-previous-window-config is erroneously set. The change
1018 * mh-customize.el (mh-index-show-hook): Remove unused variable.
1020 2003-02-28 Satyaki Das <satyaki@theforce.stanford.edu>
1022 * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
1023 only after the user has replied to question. This avoids premature
1024 clearing of the folder.
1025 (mh-rescan-folder, mh-visit-folder): Remove calls to
1026 mh-reset-threads-and-narrowing since it is now called in
1027 mh-scan-folder anyway.
1029 * mh-funcs.el (mh-sort-folder): Same as above.
1031 2003-02-26 Satyaki Das <satyaki@theforce.stanford.edu>
1033 * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
1034 so that it is different from the empty list, which could also
1035 mean that there are no aliases.
1036 (mh-alias-reload-maybe): Change test so that empty alist of
1037 aliases is properly handled (closes SF #693859).
1039 2003-02-25 Satyaki Das <satyaki@theforce.stanford.edu>
1041 * mh-mime.el (mh-decode-message-header): The message header could
1042 be encoded, for instance the author's name could contain
1043 characters not in ASCII. This function will decode such header
1045 (mh-mm-inline-message): Use mh-decode-message-header.
1047 * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
1048 (mh-message-number-width): Use mh-scan-prog instead of "scan".
1050 * mh-loaddefs.el: Regenerated.
1052 2003-02-24 Satyaki Das <satyaki@theforce.stanford.edu>
1054 * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
1055 function will do the right thing even if called from a buffer
1056 other than mh-log-buffer.
1058 2003-02-22 Peter S Galbraith <psg@debian.org>
1060 * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
1061 This functions needs to strip brackets on standalone addresses as
1064 2003-02-21 Satyaki Das <satyaki@theforce.stanford.edu>
1066 * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
1067 definition since it isn't used any more.
1069 2003-02-20 Peter S Galbraith <psg@debian.org>
1071 * mh-alias.el (mh-alias-which-file-has-alias): Bug fix. Needed to
1072 specify `noerror' on search.
1074 * mh-alias.el (mh-alias-suggest-alias): Add condition for input
1075 string being an email address in brackets. We need to strip out
1076 the brackets. (closes SF #690216)
1078 2003-02-20 Satyaki Das <satyaki@theforce.stanford.edu>
1080 * mh-pick.el (mh-search-folder): The function was setting the
1081 global value of the variables mh-current-folder and
1082 mh-previous-window-config. This can lead to problems in code which
1083 assumes that these variables are nil when we aren't in a folder
1084 buffer. So make the variables local before setting them.
1086 2003-02-19 Satyaki Das <satyaki@theforce.stanford.edu>
1088 * mh-mime.el (mh-mime-display): All the MIME display code has been
1089 wrapped in a condition-case so that if something goes wrong, the
1090 raw message will be displayed.
1092 * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
1095 * mh-e.el (mh-scan-folder): Messages marked for deletion or
1096 refiling weren't getting annotated properly. The change fixes
1098 (mh-process-or-undo-commands): Change prompt to reflect what
1099 really happens in the code.
1101 2003-02-18 Satyaki Das <satyaki@theforce.stanford.edu>
1103 * mh-comp.el (mh-folder-expand-at-point): The function
1104 mail-abbrev-complete-alias often returns nil. This had the
1105 unfortunate consequence of always causing an error. The change
1108 * mh-alias.el (mh-alias-canonicalize-suggestion): New function
1109 which obviates the our need replace-regexp-in-string.
1110 (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
1111 eliminate calls to replace-regexp-in-string. This avoids problems
1114 * mh-utils.el (mh-notate): Handle the case when nil is passed as
1115 notation gracefully.
1116 (mh-speed-flists-active-p): New function that returns non-nil if
1117 flists is being used in the speedbar to update message counts.
1119 * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
1120 impossible to add messages to the unseen sequence. Also adding
1121 messages to the unseen sequence will now update the speedbar
1122 message counts immediately.
1124 * mh-e.el (mh-get-new-mail, mh-process-commands)
1125 (mh-undefine-sequence): Update speedbar message counts, if the
1126 speedbar is active and is displaying message counts.
1127 (mh-delete-msg-from-seq): In addition to updating message counts,
1128 unhighlight the message so that interactively removing messages
1129 from the unseen sequence makes the bold highlight of unseen
1130 messages in the scan buffer go away.
1131 (mh-clear-text-properties): New function that removes all text
1132 properties from the current scan line.
1134 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
1136 * mh-utils.el (mh-face-display-function): Wrap call of
1137 insert-image in mh-funcall-if-exists. This avoids a compiler
1140 * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
1141 compiler warning in Emacs20.
1142 (mh-speedbar-change-expand-button-char): Wrap call of
1143 speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
1144 function isn't present in the speedbar that ships with Emacs20, so
1145 calling it there causes an error.
1147 * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
1148 compiler warning in XEmacs. The XEmacs compiler should be improved
1149 so that such spurious warnings from builtin macros are suppressed.
1151 * mh-index.el (mh-index-search): Same as above.
1153 * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
1156 * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
1157 will get it and then MH-E will just use it.
1158 (tool-bar-mode, tool-bar-map): These declarations are needed for
1160 (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
1161 Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
1162 can be used instead.
1164 * mh-alias.el (require): Avoid autoloading functions that may not
1166 (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
1167 mh-funcall-if-exists.
1169 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
1171 * mh-loaddefs.el: Regenerated.
1173 * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
1174 (mh-speed-toggle): Reuse markers instead of creating more of them.
1175 (mh-speed-flists-folder, mh-speed-flists): Add optional folder
1176 argument to mh-speed-flists so that message counts are updated
1177 only for that one folder.
1178 (mh-speed-parse-flists-output): If no change in counts then avoid
1181 * mh-index.el (mh-index-execute): Rewritten to use a temporary
1182 buffer that is not left behind.
1184 * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
1185 special purpose *Store Output* buffer.
1187 2003-02-14 Satyaki Das <satyaki@theforce.stanford.edu>
1189 * mh-customize.el (mh-show-xface-face): Make it always be black
1190 foreground on a white background (the reverse of that can make
1191 some X-Face images look creepy).
1193 * mh-utils.el (mh-truncate-log-buffer): Modify the function to
1194 return the current size of mh-log-buffer. Also we are now a bit
1195 more careful in adding separators between consecutive messages.
1196 (mh-exec-cmd): Fix a bug where the the log buffer would be
1197 displayed even if no error happened in the current command but
1198 the log buffer had messages from a previous error.
1200 * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
1203 * mh-alias.el (mh-alias-local-users): Add a space between parens.
1205 2003-02-14 Steve Youngs <youngs@xemacs.org>
1207 * mh-utils.el (mh-face-display-function): Call
1208 `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
1210 * mh-xemacs-compat.el (replace-regexp-in-string): New.
1212 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
1214 * mh-utils.el (mh-log-buffer-lines): New variable that keeps
1215 track of the number of lines to keep in mh-log-buffer.
1216 (mh-truncate-log-buffer): New function that is used to make sure
1217 that the log buffer doesn't grow to unbounded size.
1218 (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
1219 mh-truncate-log-buffer instead of erase-buffer to keep some
1220 number of previous log messages around (closes SF #685476).
1222 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
1224 * mh-e.el (tool-bar-mode): Declare it in XEmacs.
1225 (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
1227 * mh-utils.el (mh-funcall-if-exists): New macro that calls a
1228 function only if it exists.
1229 (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
1230 to call the functions find-image and deactivate-mark.
1232 * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
1233 (mh-mm-display-part): Use mh-funcall-if-exists to call the
1234 functions image-size and remove-images.
1236 * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
1238 (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
1239 mail-abbrev-complete-alias if it exists.
1241 * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
1242 future extensibility.
1244 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
1246 * mh-utils.el (mh-logo-display): The function find-image is
1247 present only in GNU Emacs.
1248 (mh-defun-show-buffer): The function deactivate-mark is present
1250 (default-enable-multibyte-characters): Declare it in XEmacs to
1251 avoid compiler warning.
1252 (mh-face-display-function): Avoid inserting space if there isn't
1253 any Face or X-Face header field to display.
1255 * mh-seq.el (mh-thread-last-ancestor): Move declaration of
1256 variable before its first use to silence XEmacs warning.
1258 * mh-mime.el (default-enable-multibyte-characters, dots, type):
1259 Declare these in XEmacs to remove compiler warnings in XEmacs.
1260 (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
1262 (mh-small-image-p): Call image-size only in GNU Emacs.
1264 * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
1266 (mh-swish++-regexp-builder): Remove the unused binding meta.
1268 * mh-e.el (mh-folder-size): Pass on an extra value to remove
1270 (mh-folder-mode): Surround calls to hl-line-mode and
1271 tool-bar-mode with mh-do-in-gnu-emacs since these functions
1272 aren't present in XEmacs.
1274 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
1275 (mh-tool-bar-folder-set): These functions call tool-bar-*
1276 functions which are present only in GNU Emacs. So surround them
1277 with mh-do-in-gnu-emacs.
1279 * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
1280 call these functions in GNU Emacs.
1281 (mail-abbrevs): Declare it in XEmacs.
1283 * mh-alias.el (mh-read-address): Call completing-read-multiple
1285 (mail-abbrevs): Declare it in XEmacs.
1286 (mh-alias-add-alias-to-file): Remove unused code.
1288 2003-02-14 Ville Skyttä <scop@xemacs.org>
1290 * mh-comp.el: Add autoloaded auto-mode-alist association.
1292 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
1294 * mh-utils.el (mh-face-display-function): Make the XEmacs part a
1297 2003-02-14 Steve Youngs <youngs@xemacs.org>
1299 * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
1300 ':inherit' keyword for defface, rewrite with sane defaults.
1302 * mh-utils.el (mh-face-display-function): Fix bug that was
1303 corrupting xface images when displayed with XEmacs' internal
1304 xface image support. Also make XEmacs honour 'mh-show-xface-face'
1305 when using internal xface image support.
1307 2003-02-12 Peter S Galbraith <psg@debian.org>
1309 * mh-comp.el (mh-modify-header-field): New function. To header
1310 FIELD add VALUE. If OVERWRITE-FLAG is non-nil then the old value,
1311 if present, is discarded. This is more flexible than before.
1312 (mh-insert-auto-fields): Use it. This and the new function are a
1313 courtesy of Satyaki. Thanks!
1315 * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
1318 2003-02-12 Satyaki Das <satyaki@theforce.stanford.edu>
1320 * mh-comp.el (mh-folder-expand-at-point): Tweak the error
1321 message. Completion in the Fcc header field is only supported in
1324 2003-02-12 Peter S Galbraith <psg@debian.org>
1326 * mh-customize.el (mh-auto-fields-list): Reorder after
1327 `mh-identity-list' since it needs it to be defined. Move to
1328 mh-identity customization group.
1330 2003-02-11 Peter S Galbraith <psg@debian.org>
1332 * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
1334 (mh-insert-mail-followup-to-list): Removed. Obsolete. Use
1335 `mh-auto-fields-list' instead, which is a more general solution.
1336 (mh-auto-fields-list): New defcustom. Alist of addresses for
1337 which header lines are automatically inserted. Replaces
1338 `mh-insert-mail-followup-to-list'.
1340 * mh-comp.el (mh-insert-mail-followup-to): Removed. Obsolete.
1341 (mh-insert-auto-fields): New function. Insert custom fields if To
1342 or Cc match `mh-auto-fields-list', replacing
1343 mh-insert-mail-followup-to with a more general solution.
1344 (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
1345 mh-insert-mail-followup-to. Also don't call mh-insert-identity to
1346 insert default setting if mh-insert-auto-fields inserted an
1349 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
1351 * mh-utils.el (mh-show-xface-function): Try to load the external
1352 x-face library only if XEmacs doesn't have xface support.
1353 (mh-face-display-function): Renamed. Also handle various
1354 permutations of x-face and xface support in XEmacs better.
1356 * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
1357 major version is greater than or equal to 21 supports display of
1358 X-Face and Face header fields.
1360 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
1362 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
1363 execute code only in GNU Emacs and XEmacs respectively.
1364 (mh-emacs21-face-display-function): Refactor to make it slightly
1365 nicer. Get rid of compiler warnings in GNU Emacs by using the
1366 above macros. Also check for presence of xface feature (in XEmacs
1367 specific code) before trying to display X-Face header field image.
1369 2003-02-11 Steve Youngs <youngs@xemacs.org>
1371 * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
1372 can't find the external x-face pkg still enable X-Face images if
1373 feature 'xface is present.
1374 Update the doc string.
1376 * mh-utils.el (mh-emacs21-face-display-function): Make it work in
1378 (mh-show-xface-function): If using XEmacs without xface support,
1379 use x-face.el pkg. If using XEmacs with xface support, or Emacs
1380 21, use mh-emacs21-face-display-function.
1382 2003-02-11 Mark D. Baushke <mdb@gnu.org>
1384 * mh-customize.el (mh-invisible-header-fields): Add
1385 "X-Notes-Item:" which is generated by Lotus Notes Domino. See
1386 URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
1387 /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
1388 ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
1389 users may disable (restore the default) generation of these headers.
1391 2003-02-10 Satyaki Das <satyaki@theforce.stanford.edu>
1393 * mh-comp.el (mh-folder-expand-at-point): Add function doc string
1394 and produce a nicer error message for Emacs versions that lack
1395 mail-abbrev-complete-alias.
1397 * mh-utils.el (mh-handle-process-error): Check doc fix.
1399 * mh-e.el (mh-folder-from-address): Same as above.
1401 2003-02-10 Peter S Galbraith <psg@debian.org>
1403 * mh-comp.el: require mailabbrev, except in XEmacs.
1404 (mh-mail-abbrev-make-syntax-table): New defmacro to call
1405 mail-abbrev-make-syntax-table introduced in Emacs21.
1406 (mh-folder-expand-at-point): Handle nested folders.
1407 All of the above was written by Satyaki. I just applied the patch
1410 2003-02-09 Satyaki Das <satyaki@theforce.stanford.edu>
1412 * mh-comp.el: Fixes to keep the byte compiler happy.
1414 * mh-customize.el (mh-invisible-header-fields): Modified to
1415 remove space after ":" in header field names.
1417 2003-02-09 Peter S Galbraith <psg@mixed.dyndns.org>
1419 * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
1420 (mh-folder-expand-at-point): Do completion at point for folder
1421 name. Like `mh-alias-letter-expand-alias' for aliases, it doesn't
1422 work on XEmacs because it relies on `mail-abbrev-complete-alias'
1423 to do completion. Maybe Steve could update XEmacs' mailabbrev.el?
1425 2003-02-09 Peter S Galbraith <psg@debian.org>
1427 * mh-customize.el (mh-invisible-header-fields): Remove trailing
1428 space in "X-Face: " and "Face: " entries since those line often
1431 2003-02-08 Satyaki Das <satyaki@theforce.stanford.edu>
1433 * mh-utils.el (mh-emacs21-face-display-function): Use
1434 mh-show-xface-face to colorize X-Face image.
1436 * mh-customize.el (mh-invisible-header-fields): Add extra headers
1438 (mh-show-xface-face): Allow customization of the X-Face colors.
1440 2003-02-07 Satyaki Das <satyaki@theforce.stanford.edu>
1442 * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
1443 the path of the uncompface executable so that we don't need to
1444 search for it every time.
1445 (mh-emacs21-face-display-function): If more than one X-Face (or
1446 Face) header field was present then the fields would get
1447 concatenated, leading to garbled output. The change only displays
1450 * mh-customize.el (mh-x-face-file): Change documentation since it
1451 can now be used to insert a Face header field.
1453 * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
1454 of Face header field.
1456 2003-02-06 Bill Wohler <wohler@newt.com>
1458 * mh-utils.el (mh-emacs21-face-display-function): Updated
1459 docstring. It is a common mistake to refer to a header field as a
1460 header. The term header refers to the entire header while the term
1461 header field refers to a single field.
1463 * mh-customize.el (mh-show-use-xface-flag): Ditto.
1465 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
1467 * mh-utils.el (mh-show-xface-function): Modified to use
1468 mh-emacs21-face-display-function if we are running GNU Emacs 21.
1469 (mh-face-to-png): New function to convert a Face header to a png
1471 (mh-uncompface): New function which converts an X-Face header to
1473 (mh-icontopbm): New function that does the job of icontopbm.
1474 (mh-emacs21-face-display-function): New function that displays
1475 Face/X-Face image in GNU Emacs 21.
1476 (mh-show-xface): Modified to test if we are running in X.
1477 Otherwise face display is suppressed.
1479 * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
1480 MH-E supports face display natively on Emacs 21. Also remove the
1481 check for window-system since it doesn't belong in a customizable
1484 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
1486 * mh-utils.el (sendmail): Require it so that XEmacs can find
1488 (mh-mail-header-end): A substitute for mail-header-end that
1489 doesn't widen the buffer. This is essential to avoid problems when
1490 dealing with nested messages.
1491 (mh-in-header-p, mh-letter-header-font-lock)
1492 (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
1493 (mh-show-unquote-From): Use mh-mail-header-end instead of
1496 * mh-mime.el (mh-decode-message-body): same as above (closes SF
1499 * mh-comp.el (mh-yank-cur-msg): same as above.
1501 2003-02-05 Satyaki Das <satyaki@theforce.stanford.edu>
1503 * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
1504 headers are cleaned. This means that any surviving X-Face header
1505 can be removed unconditionally in mh-clean-msg-header.
1506 (mh-clean-msg-header): Since the function is now called with a
1507 read-only buffer, make the buffer temporarily writable.
1509 * mh-mime.el (mh-mm-inline-message): Do X-Face display before
1510 invisible headers are removed.
1512 * mh-customize.el (mh-invisible-headers): Simplified since the
1513 X-Face header isn't treated specially any more.
1514 (mh-invisible-header-fields): Add Face: and X-Face: to list of
1517 * mh-mime.el (mh-mime-display): If body is empty the headers would
1518 be treated like the body. The change fixes this (closes SF #681162).
1519 (mh-mime-display): This change really fixes the above problem.
1521 2003-02-04 Satyaki Das <satyaki@theforce.stanford.edu>
1523 * mh-utils.el (mh-current-folder-name): Global variable that
1524 keeps track of current folder.
1525 (mh-normalize-folder-name): Substitute @ with
1526 mh-current-folder-name (closes SF #666774).
1527 (mh-prompt-for-folder): Bind mh-current-folder-name. Also
1528 invalidate cache if we are visiting a folder that wasn't found in
1529 the sub-folder cache. This is an indication that folders may have
1530 been created outside of MH-E and so the cache may be stale.
1532 2003-02-03 Satyaki Das <satyaki@theforce.stanford.edu>
1534 * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
1535 (mh-display-msg): Remove the use of the above function.
1536 (mh-normalize-folder-name): Leading "/" characters were being
1537 lost. The change fixes this (closes SF #676890).
1539 * mh-mime.el (mh-decode-message-body): New function, factored out
1540 from mh-mime-display and enhanced, to decode message based on
1541 charset and content-transfer-encoding. This eliminates the need
1542 for the external mimencode (closes SF #674857).
1543 (mh-mime-display): Use mh-decode-message-body.
1545 * mh-e.el (mh-header-display): Don't need the binding since the
1546 variable isn't present any more.
1547 (mh-inc-folder): Avoid calling mh-show if point is not on a valid
1548 scan line (closes SF #678115).
1551 (mh-decode-content-transfer-encoded-message-flag): Removed.
1553 2003-02-03 Bill Wohler <wohler@newt.com>
1555 * import-emacs: MH-E now has its own directory in Emacs.
1557 * mh-e.el: (mh-version): Set to 7.2+cvs.
1559 2003-02-03 Bill Wohler <wohler@newt.com>
1561 * Released MH-E version 7.2.
1563 * MH-E-NEWS, README: Updated for release 7.2.
1565 * mh-e.el (Version, mh-version): Updated for release 7.2.
1567 2003-02-03 Bill Wohler <wohler@newt.com>
1569 * Makefile (dist): mkdir needs to happen *before* files are
1572 * MH-E-NEWS: Fixed some awkward verbiage.
1574 2003-02-02 Bill Wohler <wohler@newt.com>
1576 * mh-customize.el (mh-invisible-headers): Surround regexp-opt
1577 expression in parens to avoid problems viewing certain messages.
1579 2003-01-30 Satyaki Das <satyaki@theforce.stanford.edu>
1581 * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
1582 The original was inadvertently searching for flists in the user's
1585 2003-01-27 Bill Wohler <wohler@newt.com>
1587 * mh-customize.el (mh-default-folder-must-exist-flag): Changed
1588 default to t according to the principle of least surprise.
1590 2003-01-26 Bill Wohler <wohler@newt.com>
1592 * mh-utils.el: Checkdoc fixes.
1594 * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
1596 * mh-loaddefs.el: Regenerated (lm-verify fixes).
1598 * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
1600 * mh-alias.el: lm-verify fix.
1602 * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
1603 lisp/mh-e directory.
1604 (MH-E-ETC-ETC): Removed ChangeLog.
1605 (dist): Moved creation of mail directory next to copy of files
1606 into mail directory.
1607 (install-emacs): Copy $(MH-E-SRC) into new directory
1608 $(EMACS_HOME/lisp/mh-e.
1609 (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
1610 include MH-E-LOADDEFS there too.
1611 (mh-loaddefs.el): Added lines so that lm-verify passes.
1612 (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
1614 2003-01-26 Jeffrey C Honig <jch@honig.net>
1616 * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
1617 Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
1619 2003-01-25 Jeffrey C Honig <jch@honig.net>
1621 * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
1622 (mh-process-daemon): Use mh-log-buffer for the output of commands
1625 * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
1626 loose the -temp from their buffer names as they are interesting to
1629 * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
1630 it is intended to be interesting to the user.
1632 * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
1633 is intended to be interesting to the user.
1635 * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
1636 mh-recipients-buffer constant. Add a kill buffer hook to delete
1637 the recipients buffer when a draft buffer is killed.
1639 2003-01-25 Satyaki Das <satyaki@theforce.stanford.edu>
1641 * mh-customize.el (mh-customize): New interactive argument
1642 deletes other windows.
1643 (mh-tool-bar-show-set, mh-tool-bar-letter-set)
1644 (mh-tool-bar-folder-set): Modified so that clicking the customize
1645 and help buttons deletes the other windows in the frame.
1647 * mh-mime.el (mh-mm-inline-message): Remove unused code.
1649 * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
1650 the wrong notation was being used.
1651 (mh-toggle-threads): The function had a bug if you did the
1652 following starting from an unthreaded wide folder:
1653 (1) Create a sequence with S p
1654 (2) Narrow to new sequence with S n
1655 (3) Thread narrowed folder with T t
1656 (4) Kill sequence with S k
1657 (5) Unthread narrowed folder with T t
1658 At this point we would have an empty folder. The change fixes
1660 (mh-toggle-threads): Fix documentation.
1662 * mh-customize.el (mh-invisible-header-fields): Add
1663 X-MHE-Checksum to invisible headers.
1665 * mh-comp.el (mh-insert-x-mailer): Slightly more informative
1668 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
1670 * mh-e.el (mh-header-display): Modified so that quoted-printable
1671 or base64 encoded messages are left untouched.
1673 * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
1674 the Content-Transfer-Encoding header so that the MIME decoding
1675 routines of Gnus doesn't get confused.
1676 (mh-display-msg): Use insert-file-contents-literally so that
1677 display will work for non-ascii.
1679 * mh-mime.el (mh-mime-display): Use charset info to decode
1680 message file (closes SF #655123).
1682 2003-01-24 Bill Wohler <wohler@newt.com>
1684 * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
1685 error message and added parens around error function.
1687 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
1689 * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
1690 (mh-decode-content-transfer-encoded-message-flag): This replaces
1691 mh-decode-quoted-printable-flag.
1693 * mh-utils.el (mh-decode-content-transfer-encoded-message): New
1694 function which handles messages that are encoded as base64 or
1695 quoted-printable (closes SF #674190).
1696 (mh-decode-quoted-printable): Removed.
1697 (mh-display-msg): Use mh-decode-content-transfer-encoded-message
1698 instead of mh-decode-quoted-printable.
1700 2003-01-23 Satyaki Das <satyaki@theforce.stanford.edu>
1702 * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
1703 that would occasionally cause angles ('<' and '>') to appear at
1706 2003-01-21 Satyaki Das <satyaki@theforce.stanford.edu>
1708 * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
1711 * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
1712 that a '>' is displayed in text mode.
1714 2003-01-20 Satyaki Das <satyaki@theforce.stanford.edu>
1716 * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
1717 so that a space is always maintained in the beginning of the scan
1720 * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
1721 faster by cutting down on the use of mh-goto-msg.
1722 (mh-toggle-threads): Add call to mh-notate-cur, since inserting
1723 the folder names in a search results folder screws up the
1724 location of the overlay arrow.
1726 * mh-index.el (mh-index-delete-folder-headers): Position the
1727 point on a message line if possible.
1729 * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
1732 * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
1734 * mh-loaddefs.el: Regenerated.
1736 * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
1737 suppresses the annotation of the sequence since it is
1740 * mh-seq.el (mh-delete-seq): Speed up the part of the function
1741 that removes the sequence notation.
1742 (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
1743 mh-iterate-on-messages-in-region to make the function fasters when
1744 operating on regions. The key idea is to loop over the folder
1745 buffer exactly once and do all annotations. The existing algo
1746 would walk over the buffer multiple times thereby slowing things
1748 (mh-iterate-on-messages-in-region): Added an extra parameter which
1749 is bound to the message index as the loop is executed.
1750 (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
1751 the new mh-iterate-on-messages-in-region macro.
1753 * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
1755 (mh-notate-user-sequences): Change algorithm to make notating of
1756 user sequences fast.
1758 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
1760 * mh-logo.xpm: New image file that contains the MH-E logo.
1761 Change foreground color to the blue in the MH-E logo.
1763 * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
1765 * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
1766 keep space in the beginning for the logo.
1767 (mh-logo-cache): New variable that caches the logo image file
1769 (mh-logo-display): Display the MH-E logo on the mode line.
1770 (mh-display-msg): Display logo in mh-show-mode.
1772 * mh-e.el (mh-make-folder-mode-line): Display logo in
1775 * mh-comp.el (mh-compose-and-send-mail): Display logo in
1778 * mh-loaddefs.el: Regenerated.
1780 * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
1781 iterate on all messages in a region.
1782 (mh-region-to-msg-list): Simplified since it uses
1783 mh-iterate-on-messages-in-region now.
1785 * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
1786 to pass the region that is to be deleted when appropriate.
1787 (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
1788 regions directly without creating the list of messages to be
1790 (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
1791 parameter in these functions can now be nil. If so, the current
1792 message is deleted, refiled or undone respectively. Avoids the
1793 use of mh-goto-msg in this case and speeds up operations on
1794 regions quite a bit.
1796 2003-01-19 Peter S Galbraith <psg@debian.org>
1798 * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
1799 it would always prompt using "To: " instead of using the command
1800 argument (closes SF #670913).
1802 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
1804 * mh-utils.el (mh-folder-completion-function): If there is a
1805 +foo/bar folder and the user types foo//bar then the completion
1806 function would say a match happened without showing the
1807 normalized folder name. This change fixes that.
1809 2003-01-18 Satyaki Das <satyaki@theforce.stanford.edu>
1811 * mh-e.el (mh-rmail): Modified so that new and unseen messages
1812 are shown (closes SF #667542).
1814 2003-01-17 Satyaki Das <satyaki@theforce.stanford.edu>
1816 * mh-index.el (mh-index-generate-pretty-name): Generate nicer
1817 names. In particular all '-' characters are removed.
1819 2003-01-16 Satyaki Das <satyaki@theforce.stanford.edu>
1821 * mh-customize.el (mh-index-program): Documentation fix.
1823 * mh-loaddefs.el: Regenerated.
1825 * mh-customize.el (mh-index-program): Add choices for mairix and
1828 * mh-index.el (mh-indexer-choices): Add search interfaces for
1830 (mh-index-search): Add links for mairix and pick.
1831 (mh-index-pick-folder, mh-pick-binary): Variables needed to
1832 implement pick support.
1833 (mh-pick-execute-search, mh-pick-next-result): New functions to
1834 implement pick support.
1835 (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
1836 variables for mairix support.
1837 (mh-mairix-execute-search, mh-mairix-next-result)
1838 (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
1839 functions for mairix.
1841 * mh-funcs.el (mh-kill-folder): Move message to the end.
1843 * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
1844 overlay-arrow-string local variables so that the arrow will
1845 remain even if some other folder is visited.
1846 (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
1847 required any more since overlay-arrow-position is local.
1848 (mh-goto-cur-msg): Remove overlay arrow if current message
1851 * mh-seq.el (mh-notate-cur): Don't need to set
1852 overlay-arrow-string any more since it is local and has been set
1855 2003-01-15 Satyaki Das <satyaki@theforce.stanford.edu>
1857 * mh-speed.el (mh-speed-current-folder): Keep track of current
1858 folder when flists is called.
1859 (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
1860 ambiguity when folders are present with + at the end of the name.
1861 Unfortunately it can't always be avoided.
1863 * mh-e.el (mh-folder-size): Remove the unnecessary error check.
1864 (mh-parse-flist-output-line): Add extra argument which
1865 occasionally avoid problems with folder names that end with '+'.
1867 * mh-utils.el (mh-sub-folders-actual): Fix the folder name
1868 parsing so that it doesn't get confused by trailing '+' chars in
1871 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
1873 * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
1874 now handle ".." and "." correctly during folder name completion.
1875 (mh-normalize-folder-name): Avoid error in boundary condition
1876 where the folder string is empty.
1878 2003-01-14 Mark D. Baushke <mdb@gnu.org>
1880 * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
1881 the `mh-read-msg-range' function as the optional
1884 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
1886 * mh-utils.el (mh-normalize-folder-name): New function that
1887 normalizes folder names.
1888 (mh-sub-folders): Use mh-normalize-folder-name. Also the function
1889 has been modified so that a trailing slash is only added if the
1890 folder potentially has subfolders.
1891 (mh-sub-folders-actual): Simplified since the folder has already
1892 been normalized in mh-sub-folders.
1893 (mh-remove-from-sub-folders-cache): Modified so that the cached
1894 results of two of the folders ancestors are invalidated.
1895 (mh-folder-completion-map): Ugly hack to make the error go away
1896 when minibuffer-complete-word is called.
1897 (mh-folder-completion-function): The completion function will now
1898 be more selective in adding '/' at the end of completed folder
1900 (mh-folder-completing-read): The folder name is normalized before
1901 return. The minibuffer-local-completion-map is shadowed to avoid
1902 error with SPC (bound to minibuffer-complete-word). We really
1903 need a better solution.
1905 2003-01-13 Bill Wohler <wohler@newt.com>
1907 * mh-seq.el: Edited comment and docstring text to conform with RFC
1908 2822 terminology. Message-ID is the header field. It contains a
1911 2003-01-13 Satyaki Das <satyaki@theforce.stanford.edu>
1913 * mh-utils.el (mh-sub-folders): Add an argument that returns
1914 sub-folders with a / character appended at the end.
1915 (mh-folder-completion-function): Modify the function so that one
1916 tab is now sufficient to complete the folder name and add a
1918 (mh-folder-completing-read): Remove the trailing / that the
1919 completion function now adds to the folder name. Also multiple /
1920 characters in the folder input are removed. So if the user inputs
1921 +foo///bar//baz///// then that will be converted to +foo/bar/baz.
1922 This will improve the performance of caching.
1924 * mh-seq.el (mh-notate-cur): Check that a valid current message
1925 exists before trying to notate (closes SF #667331).
1926 (mh-message-id-regexp): New variable to store regexp to recognize
1928 (mh-thread-generate): Use mh-message-id-regexp to filter out non
1929 message-id's from the References: header.
1931 2003-01-12 Satyaki Das <satyaki@theforce.stanford.edu>
1933 * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
1934 aren't on a graphic display.
1936 2003-01-11 Satyaki Das <satyaki@theforce.stanford.edu>
1938 * mh-seq.el (mh-notate-cur): New function to notate the current
1939 message. The marker in the fringe is updated too.
1940 (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
1941 the specialized function mh-notate-cur instead of mh-notate-seq.
1943 * mh-e.el (mh-arrow-marker): New buffer local variable to store
1944 the position where the marker in the fringe is going to be
1945 displayed (closes SF #664824).
1946 (mh-folder-mode): Create a marker for the fringe.
1947 (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
1948 specialized function mh-notate-cur instead of mh-notate-seq or
1950 (mh-remove-cur-notation, mh-remove-all-notation): Reset the
1951 overlay-arrow-position if needed.
1953 * mh-loaddefs.el: Regenerated.
1955 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
1957 * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
1958 creating nested folders doesn't produce inconsistent results.
1959 (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
1961 * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
1962 called on a folder holding index search results. Also the now
1963 removed mh-folder-list-change-hook is called no more.
1965 * mh-customize.el (mh-auto-folder-collect-flag)
1966 (mh-folder-list-change-hook): Removed.
1968 * mh-loaddefs.el: Regenerated.
1970 2003-01-10 Bill Wohler <wohler@newt.com>
1972 * mh-customize.el (mh-default-folder-must-exist-flag): New
1973 variable to suppress suggested folder if the folder doesn't
1974 already exist (closes SF #657096).
1975 (mh-default-folder-list): New variable that
1976 holds mapping between an address and the desired folder for
1977 filing (closes SF #657096).
1978 (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
1979 docstring, refer to documentation for mh-prompt-for-refile-folder
1980 and mh-folder-from-address.
1981 (mh-highlight-citation-p, mh-compose-insertion,
1982 (mh-insert-mail-followup-to-list, mh-index-program,
1983 (mh-identity-default): Fixed case of tags.
1985 * mh-e.el (mh-folder-from-address): Use new variable
1986 mh-default-folder-must-exist-flag to return nil if this variable
1987 is t and the folder doesn't already exist. In addition, can now
1988 look up a default folder in the new variable
1989 mh-default-folder-list (closes SF #657096).
1990 (mh-prompt-for-refile-folder): In docstring, refer to
1991 documentation in mh-folder-from-address.
1993 * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
1994 the FileRules filename in the sample config file. Otherwise, the
1995 users don't see the backslash at all, and no files are indexed!
1996 (closes SF #665888).
1998 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
2000 * mh-seq.el (mh-thread-folder): Get headers for exactly the
2001 messages that are present. If only messages 1-10 and 3800-3900
2002 are being shown then we will now scan exactly those messages and
2003 not the full range from 1-3900 as was being done earlier.
2004 (mh-toggle-threads): When converting from threaded to normal view
2005 only the messages present in the buffer are scanned. Earlier all
2006 messages from the minimum to the maximum would be scanned (closes
2009 * mh-pick.el (mh-search-folder): Fix typo.
2010 (mh-pick-do-search): Fix bug from cut and paste. Also set window
2013 * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
2014 it to accept + as a folder name. This allows the user to search
2015 all folders when "Fs" is used.
2017 * mh-pick.el (mh-search-folder): Fix interactive spec of function.
2018 (mh-pick-do-search): Rewritten to call pick in one go. This will
2019 make adding pick as a default index search program easier. Also
2020 pick now accepts the same query syntax as the index search
2021 programs (closes SF #664816).
2022 (mh-next-pick-field): Removed.
2023 (mh-pick-parse-search-buffer): New function to parse the search
2025 (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
2026 to produce a pick query from the parsed representation.
2028 * mh-index.el (mh-index-do-search): Refactor the search pattern
2029 parser into a new function and use that instead.
2031 * mh-loaddefs.el: Regenerated.
2033 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
2035 * mh-loaddefs.el: Regenerated.
2037 * mh-utils.el (mh-remove-from-sub-folders-cache)
2038 (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
2039 mh-remove-from-sub-folders-cache.
2040 (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
2042 * mh-pick.el (mh-searching-function): New buffer local variable
2043 that keeps track of the default searching function to be used.
2044 (mh-pick-mode): Make mh-searching-function buffer local.
2045 (mh-search-folder): Set mh-searching-function to use pick.
2046 (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
2047 (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
2048 mh-do-pick-search to mh-pick-do-search. But keep
2049 mh-do-pick-search as a deprecated function.
2050 (mh-do-search): New interactive function that performs the
2052 (mh-pick-mode-map): Update keymap.
2054 * mh-index.el (mh-index-search): Set mh-searching-function to do
2056 (mh-index-new-folder): Replace mh-update-sub-folders-cache with
2057 mh-remover-from-sub-folders-cache.
2059 * mh-funcs.el (mh-kill-folder): Same as above.
2061 * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
2064 * mh-customize.el: Fixes to make byte compiler in CVS Emacs
2067 2003-01-09 Bill Wohler <wohler@newt.com>
2069 * mh-e.el (mh-folder-from-address): New function that proposes the
2070 name of a folder with an alias for the address in the current message.
2071 (mh-prompt-for-refile-folder): Use it (closes SF #657096).
2073 * mh-customize.el (mh-default-folder-prefix): New variable used by
2074 mh-folder-from-address.
2075 (mh-invisible-header-fields): Edited docstring.
2077 * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
2078 cookie (used by mh-folder-from-address in mh-e.el). Edited text in
2081 * mh-utils.el: Provided naming conventions for buffer and buffer
2083 (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
2084 (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
2085 (mh-info-buffer): Renamed from mh-temp-info-buffer.
2086 (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
2087 buffer which is expected to be used for the output of MH commands.
2088 Perhaps we always create this buffer at initialization and append
2089 to it rather than erase it each time?
2091 * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
2092 temporary and working buffers. As long as the buffer naming
2093 conventions are followed, new buffers will be automatically
2095 (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
2097 * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
2100 2003-01-09 Satyaki Das <satyaki@theforce.stanford.edu>
2102 * mh-e.el (mh-folder-size): If the user doesn't have a
2103 Unseen-Sequence definition in .mh_profile then an error was
2104 produced. This change fixes that.
2106 * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
2107 with a temporary buffer which is cleaned up when the function
2110 * mh-e.el (mh-prompt-for-refile-folder): New function which
2111 refactors out the intelligent folder guessing code from
2113 (mh-refile-msg): Use mh-prompt-for-refile-folder.
2115 * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
2116 do the same intelligent destination folder guessing as
2117 mh-refile-msg (closes SF #664829).
2119 * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
2120 (mh-folder-list-temp, mh-folder-list-partial-line)
2121 (mh-set-folder-list): Removed.
2122 (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
2123 Moved over from mh-speed.el to implement hierarchical completion.
2124 (mh-update-sub-folders-cache): Utility function called when
2125 new folders are created or folders are removed.
2126 (mh-folder-completion-function): New function is the folder name
2127 completion function used in completing-read.
2128 (mh-folder-completing-read): A thin wrapper function that is used
2129 instead of completing-read directly. In the future we might want
2130 to allow the user a customizable variable which will turn off
2131 folders based completion.
2132 (mh-prompt-for-folder): Use mh-folder-completing-read to read in
2133 the folder name with hierachical completion (closes SF #664821).
2135 * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
2136 (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
2137 mh-sub-folders-cache and mh-sub-folders-actual respectively.
2138 (mh-speed-invalidate-map, mh-speed-invalidate-map)
2139 (mh-speed-add-folder): Use the new names.
2141 * mh-funcs.el (mh-kill-folder): Remove code that used to update
2142 mh-folder-list which is no longer present. Instead
2143 mh-update-sub-folders-cache is called.
2145 * mh-index.el (mh-index-new-folder): Same as above.
2147 2003-01-08 Satyaki Das <satyaki@theforce.stanford.edu>
2149 * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
2150 controls what is done with the process output.
2152 * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
2153 restore window configuration. Also the call to mh-exec-cmd-daemon
2154 only displays output if an error happened (closes SF #664828).
2155 (mh-rmf-daemon): Check rmf output and display it only if
2156 something went wrong.
2157 (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
2159 * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
2160 argument to mh-exec-cmd-daemon so that the functions will behave
2163 * mh-pick.el (mh-search-folder): The current window config is
2165 (mh-make-pick-template): Make the message headers read-only.
2166 (mh-pick-mode-help-messages): Update help message.
2167 (mh-do-pick-search): Fix problem when buffer isn't showing any
2169 (mh-next-pick-field): Use buffer-substring-no-properties is
2171 (mh-pick-mode-map): Add key bindings (partially addresses
2174 * mh-index.el (mh-indexer-choices): Add a new field for each
2175 index program choice. If it is non-nil then it is the name of a
2176 function that given a lisp expression to search for generates a
2177 pattern that is acceptable to the search program.
2178 (mh-index-regexp-builder): New variable that stores the function
2179 to be used to convert from the lisp expression syntax to
2180 something that the search program understands.
2181 (mh-index-generate-pretty-name): Generalized so that it can take
2182 a list of strings as input.
2183 (mh-index-search): Modified so that if the configured program has
2184 a corresponding regexp-builder then a search buffer like pick
2185 search is produced. Otherwise the previous behavior is maintained.
2186 (mh-index-do-search): New interactive function that takes the
2187 contents of the search buffer, generates an appropriate query and
2188 produces the search results buffer by calling mh-index-search.
2189 (mh-replace-string, mh-index-parse-search-regexp)
2190 (mh-index-add-implicit-ops, mh-index-evaluate): New functions
2191 which parses the infix search expression that the user enters. A
2192 parse tree from which queries for different search programs can
2193 be produced is produced.
2194 (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
2195 internal form of the query and produces input suitable for
2198 * mh-loaddefs.el: Regenerated.
2200 2003-01-08 Bill Wohler <wohler@newt.com>
2202 * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
2203 Useful to see if an Emacs developer has changed MH-E.
2205 * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
2207 * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
2208 buffer that contains version info.
2210 * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
2211 mh-temp-buffer since version information was getting clobbered by
2212 the aliasing code before it could be seen (closes SF #664467).
2213 (mh-quit): Delete mh-temp-info-buffer.
2215 * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
2216 version info instead of mh-temp-buffer. You kind of need this
2219 2003-01-07 Bill Wohler <wohler@newt.com>
2221 * mh-e.el (Version, mh-version): Set to 7.1+cvs.
2223 2003-01-07 Bill Wohler <wohler@newt.com>
2225 * Released MH-E version 7.1.
2227 * MH-E-NEWS, README: Updated for release 7.1.
2229 * mh-e.el (Version, mh-version): Updated for release 7.1.
2231 2003-01-07 Bill Wohler <wohler@newt.com>
2233 * mh-customize.el (mh-auto-folder-collect-flag,
2234 mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
2236 * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
2238 * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
2241 2003-01-07 Satyaki Das <satyaki@theforce.stanford.edu>
2243 * mh-utils.el (mh-search-from-end): New function that is used to
2244 replace our usage of the CL function search.
2245 (font-lock): The library is loaded to avoid compilation warning
2248 * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
2249 (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
2250 mh-search-from-end instead of search.
2252 * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
2254 (mh-thread-process-in-reply-to): Use mh-search-from-end instead
2257 * mh-index.el (mh-md5-parser): Fix name of function.
2258 (mh-index-update-single-msg, mh-index-update-maps): Avoid using
2259 destructuring-bind since Emacs-20.7 can't handle this particular
2261 (mh-namazu-next-result): Use mh-search-from-end instead of
2264 * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
2265 emacs which doesn't have the variable defined causes a compiler
2267 (mh-refile-a-msg): Rewritten to avoid using pushnew.
2268 (mh-undo-msg): Use loop instead of remove-if.
2270 * mh-comp.el (mh-show-buffer-message-number): Use
2271 mh-search-from-end instead of search.
2273 2003-01-01 Satyaki Das <satyaki@theforce.stanford.edu>
2275 * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
2276 all messages are displayed. Documentation modified so that this is
2278 (mh-visit-folder): Really fix it this time.
2280 2003-01-01 Mark D Baushke <mdb@gnu.org>
2282 * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
2283 mh-autoload comment or mh-customize may have problems finding the
2286 * mh-loaddefs.el: Regenerated.
2288 2002-12-28 Satyaki Das <satyaki@theforce.stanford.edu>
2290 * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
2292 2002-12-28 Bill Wohler <wohler@newt.com>
2294 * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
2295 variable in docstring, explain how to expand directives, and
2296 don't mention mh-mhn-compose-insertion which isn't used directly
2298 (mh-send-letter): Mention that X-Mailer and X-Face are inserted
2299 automatically so that a user isn't tempted to do so himself in
2300 mh-before-send-letter-hook.
2301 (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
2302 now that we have both a function and a variable. Clarified
2305 2002-12-26 Satyaki Das <satyaki@theforce.stanford.edu>
2307 * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
2308 the emacs is not XEmacs.
2310 * mh-index.el (mh-index-new-folder): The folder created should
2311 always be added to mh-folder-list. Otherwise folder name
2312 completion doesn't find the new folder created.
2314 2002-12-24 Satyaki Das <satyaki@theforce.stanford.edu>
2316 * mh-customize.el (mh-clean-message-header-flag)
2317 (mh-visible-headers, mh-invisible-headers)
2318 (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
2320 * mh-loaddefs.el: Regenerated.
2322 * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
2323 Handle nil value of mh-large-folder properly.
2325 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
2326 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
2327 (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
2329 (mh-large-folder): Updated to allow for infinity. If
2330 mh-large-folder is nil then all folders are deemed small.
2332 2002-12-23 Satyaki Das <satyaki@theforce.stanford.edu>
2334 * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
2335 threading was suppressed because the number of messages exceed
2338 2002-12-23 Peter S Galbraith <psg@debian.org>
2340 * mh-utils.el (mh-invisible-headers): Deleted. Moved to
2343 * mh-customize.el (mh-invisible-header-fields): New
2344 defcustom. Simple user interface to change mh-invisible-headers.
2345 (mh-invisible-header-fields-set): New function called when
2346 mh-invisible-header-fields is set.
2347 (mh-invisible-headers): New function. Does the actual work of
2348 building the variable mh-invisible-headers from
2349 mh-invisible-header-fields.
2350 (mh-invisible-headers): defvar moved from mh-utils.el
2352 2002-12-22 Satyaki Das <satyaki@theforce.stanford.edu>
2354 * mh-speed.el (mh-speed-folder-size): Removed. Something very
2355 similar appears as mh-folder-size.
2356 (mh-speed-view): Simplified since the range selection logic has
2357 been moved to mh-read-msg-range.
2358 (mh-speed-parse-flists-output-line): Moved to mh-e.el as
2359 mh-parse-flist-output-line.
2361 * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
2363 * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
2364 (mh-parse-flist-output-line): Moved from mh-speed.el where this
2365 function was called mh-speed-parse-flists-output-line.
2366 (mh-folder-size): Renamed from mh-speed-folder-size. The function
2367 has been made more general and can be called from any buffer and
2368 not just the speedbar buffer.
2369 (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
2371 (mh-read-msg-range): Rewritten.
2373 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
2375 * mh-seq.el (mh-delete-subject-or-thread): New interactive
2376 function that intelligently deletes messages based on threading,
2377 if the folder is threaded, or on subject if folder isn't threaded.
2379 * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
2380 function, callable from the show buffer, to intelligently delete
2381 messages based on threading info or subject.
2382 (mh-show-mode-map): Change binding of "k" to call
2383 mh-show-delete-subject-or-thread.
2385 * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
2386 mh-delete-subject-or-thread.
2388 * mh-comp.el (mh-letter-mode-map): Add key binding for
2391 * mh-loaddefs.el: Regenerated.
2393 2002-12-21 Peter S Galbraith <psg@debian.org>
2395 * mh-customize.el (mh-tool-bar-letter-set): Bug fix. The
2396 `tool-bar-add-item-from-menu' items were broken. I can't use my
2399 2002-12-21 Peter S Galbraith <psg@debian.org>
2401 * mh-alias.el (mh-alias-insert-file): Bug fix. I never checked
2402 that an AliasFile entry existed in .mh_profile.
2404 2002-12-21 Peter S Galbraith <psg@debian.org>
2406 * mh-customize.el (mh-alias-insertion-location): New defustom.
2407 Specifies where new aliases are entered in alias files.
2409 * mh-alias.el (mh-alias-add-alias-to-file): Use it.
2411 2002-12-21 Peter S Galbraith <psg@debian.org>
2413 * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
2414 exactly, prompt to [i]nsert before old value or [a]ppend after it.
2415 (mh-alias-insert-file): Make sure we don't edit the passwd file.
2416 Add optional argument for alias; If ALIAS is specified and it
2417 already exists, try to return the file that contains it.
2418 (mh-alias-which-file-has-alias): New function. Return the name of
2419 writable file which defines ALIAS from list FILE-LIST.
2420 (mh-alias-add-alias): Remove prompts for case of alias already
2421 defined; done in mh-alias-add-alias-to-file.
2423 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
2425 * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
2426 folder names that have spaces in them. The original function would
2427 truncate the folder name at the first space.
2428 (mh-speed-flists): Add -sequence option to flists. This guards
2429 against the user specifying something other than the unseen
2430 sequence in his .mh_profile.
2431 (mh-speed-parse-flists-output-line): New function that parses a
2432 single line in the output of flists to find the folder name and
2433 the counts of unseesn and total messages.
2434 (mh-speed-parse-flists-output): Fix parsing bug which truncates
2435 the folder names at the first space.
2437 * mh-index.el (mh-index-generate-pretty-name): New function which
2438 generates a nicer name for the search results. It trims white
2439 space at the beginning and end and replaces white space with
2440 underscores within the search regexp.
2441 (mh-index-search): Use mh-index-generate-pretty-name.
2443 * mh-loaddefs.el: Regenerated.
2445 2002-12-20 Satyaki Das <satyaki@theforce.stanford.edu>
2447 * mh-index.el (mh-index-new-folder): Add new folder to
2448 mh-folder-list to enable name completion.
2449 (mh-glimpse-execute-search, mh-swish-execute-search)
2450 (mh-swish++-execute-search): Fix documentation.
2452 * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
2453 folder could get 'scan'ed when generating the threaded view.
2455 * mh-index.el (mh-index-search): If optional prefix arg is given
2456 then the search in the current index buffer is redone.
2457 (mh-glimpse-execute-search, mh-swish-execute-search)
2458 (mh-namazu-execute-search): Documentation fixes.
2460 * mh-e.el (mh-index-previous-search): New buffer local variable
2461 stores parameters of search that created the buffer.
2462 (mh-folder-mode): Make mh-index-previous-search buffer local.
2463 (mh-visit-folder): Tweak the function so that only a single window
2464 with the folder buffer is shown if mh-showing-mode is nil.
2466 * mh-loaddefs.el: Regenerated.
2468 2002-12-19 Peter S Galbraith <psg@debian.org>
2470 * mh-alias.el (mh-alias-add-alias): Bug fix.
2472 2002-12-19 Peter S Galbraith <psg@debian.org>
2474 * mh-alias.el (mh-alias-add-alias): New interactive command. Add
2475 ALIAS for ADDRESS in personal alias file.
2476 (mh-alias-grab-from-field): New interactive command. Add ALIAS for
2477 ADDRESS in personal alias file.
2478 (mh-alias-add-address-under-point): New interactive
2479 command. Insert an alias for email address under point.
2480 (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
2481 (mh-alias-insert-file): New function. Return the alias file to
2482 write a new entry in.
2483 (mh-alias-address-to-alias): New function. Return the ADDRESS
2484 alias if defined, or nil."
2485 (mh-alias-from-has-no-alias-p): New function. Return t is From has
2486 no current alias set. Used as tool-bar button enable function.
2487 (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
2488 in alias FILE without alias check or prompts.
2490 * alias.xpm, alias.pbm: New tool-bar icon for
2491 mh-alias-grab-from-field.
2493 * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
2494 Return t if the message under point in folder-mode is in the show
2497 * mh-utils.el (mh-goto-address-find-address-at-point): New
2498 function copied from goto-addr.el, which we don't want to
2499 force-load on users. Find e-mail address around or before point.
2500 (mh-address-mail-regexp): New defvar. A regular expression
2501 probably matching an e-mail address.
2503 * mh-customize.el (mh-alias-insert-file): New defcustom.
2504 Filename to use to store new MH-E aliases.
2505 (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
2507 * mh-comp.el (mh-extract-from-header-value): New function.
2508 Extract From: string from header.
2510 2002-12-19 Satyaki Das <satyaki@theforce.stanford.edu>
2512 * mh-index.el (mh-index-update-single-msg): New defvar controls
2513 max number of command line args.
2514 (mh-index-execute): New function which is to be used
2515 instead of xargs so that we don't give the shell too many command
2517 (mh-index-update-maps): Use mh-index-execute instead of xargs.
2518 (mh-index-search): Remove unused code. Also the first message in
2519 folder buffer is made current.
2521 2002-12-18 Peter S Galbraith <psg@debian.org>
2523 * mh-loaddefs.el: Regenerated.
2525 * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
2527 * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
2529 * mh-utils.el (mh-get-msg-num): autoloaded.
2530 (mh-show-tool-bar-map): Moved to mh-customize.el
2532 * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
2533 tool-bar setup and customization.
2534 (mh-tool-bar-folder-buttons-set): New function to setup the
2535 tool-bar after customization.
2536 (mh-tool-bar-folder-buttons): New defcustom to specify which icons
2537 appears in the tool-bar.
2538 (mh-tool-bar-letter-buttons-set): New function to setup the
2539 tool-bar after customization.
2540 (mh-tool-bar-letter-buttons): New defcustom to specify which icons
2541 appears in the tool-bar.
2542 (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
2543 (mh-tool-bar-letter-set): New function to setup
2544 mh-letter-tool-bar-map.
2546 2002-12-18 Satyaki Das <satyaki@theforce.stanford.edu>
2548 * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
2549 and backtab to call mh-index-next-folder and
2550 mh-index-previous-folder as appropriate.
2552 * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
2553 New interactive functions which jumps to search results of next
2554 and previous folders respectively.
2556 * mh-loadddefs.el: Regenerated.
2558 * mh-index.el (mh-index-delete-folder-headers): Arrange for
2559 mh-goto-cur-msg to just go to the current message.
2561 * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
2562 buffer anyway, we don't need to delete the folder headers. Also
2563 index-data is non-nil only when the buffer folder doesn't exist.
2564 So we need to call mh-make-folder.
2565 (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
2566 not being made buffer local!
2568 2002-12-17 Satyaki Das <satyaki@theforce.stanford.edu>
2570 * mh-e.el (mh-visit-folder): Fix bug.
2572 * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
2573 (mh-index-folder-first, mh-index-folder-last)
2574 (mh-index-original-msg-list): Convenience macros aren't needed
2575 anymore since the data structure has been changed.
2576 (mh-index-update-single-msg): New function to update maps that
2577 relate MD5 checksums to actual messages and vice-versa for a
2579 (mh-index-update-maps): Do the above for all messages. If some
2580 messages don't have MD5 checksums, they are annotated with the
2582 (mh-index-search): Updated for the new version of mh-index-data.
2583 (mh-msg-exists-p): New function to test a message exists.
2584 (mh-index-insert-folder-headers): Updated for new mh-index-data.
2585 (mh-index-delete-folder-headers): New function used to eliminate
2586 original folder names from the buffer and make it look like a
2587 plain folder buffer. This is used from mh-process-commands.
2588 (mh-index-visit-folder): Use new version of mh-index-data.
2589 (mh-index-match-checksum): New function which checks if the
2590 X-MHE-Checksum header of a message matches.
2591 (mh-index-execute-commands): New function that rmm's the original
2592 messages. Then after mh-execute-commands executes it will seem
2593 that the original messages were executed upon. This completes the
2595 (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
2596 (mh-checksum-cmd, mh-checksum-parser): New globals to allow
2597 different checksum programs to be used.
2598 (mh-checksum-choose): New functions to find a checksum program.
2599 (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
2600 parse the output of md5, md5sum and openssl.
2601 (mh-index-update-maps): Use checksum parsing function.
2602 (mh-index-search): Set checksum choice. Add a call to recenter,
2603 otherwise the window point in the index buffer doesn't get set
2606 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
2607 functions in folders created by index search.
2609 * mh-e.el (mh-index-msg-checksum-map)
2610 (mh-index-checksum-origin-map): New buffer local variables that
2611 keep track of message checksums (used to implement
2612 refiling/deletion for folders created by index folders).
2613 (mh-last-msg): Make the function behave like mh-first-msg.
2614 (mh-visit-folder): Add new optional argument which initializes
2615 folders created by mh-index-search.
2616 (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
2617 mh-index-checksum-origin-map buffer local.
2618 (mh-process-commands): Call mh-index-execute-commands when called
2619 from an index search buffer. This will reflect the changes being
2620 made in the search folder to the original folders.
2622 * mh-loaddefs.el: Regenerated.
2624 2002-12-16 Satyaki Das <satyaki@theforce.stanford.edu>
2626 * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
2627 caused the folder buffer to be marked as modified after rescanning
2630 2002-12-15 Satyaki Das <satyaki@theforce.stanford.edu>
2632 * mh-e.el (mh-visit-folder): The function should insert folder
2633 names if it is visiting a folder created by index search.
2635 * mh-index.el (mh-index-insert-folder-headers): The function now
2636 maintains the old value of buffer-modified-p and temporarily makes
2637 the buffer writable.
2639 * mh-utils.el (mh-show-index-visit-folder): New interactive
2640 function callable from show buffer that displays search results
2642 (mh-show-mode-map): Key binding for "v".
2644 * mh-speed.el: Fix credits.
2645 (mh-index-folder-speedbar-buttons)
2646 (mh-index-show-speedbar-buttons)
2647 (mh-index-folder-speedbar-key-map)
2648 (mh-index-show-speedbar-key-map)
2649 (mh-index-folder-speedbar-menu-items)
2650 (mh-index-show-speedbar-menu-items): Removed since the modes
2651 mh-index-folder-mode and mh-index-show-mode no longer exist.
2652 (mh-speed-extract-folder-name): Remove the bits about
2653 mh-index-folder-mode and mh-index-show-mode.
2655 * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
2656 index search results.
2657 (mh-region-to-msg-list): Skip over non-scan lines.
2658 (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
2659 non-scan lines when populating mh-thread-scan-line-map.
2660 (mh-thread-folder, mh-toggle-threads): Move the check for buffer
2661 modification from mh-thread-folder to mh-toggle-threads.
2662 (mh-toggle-threads): When returning to unthreaded view insert the
2663 folder names if called from a index folder.
2665 * mh-index.el: Fix credits and update commentary.
2666 (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
2667 (mh-index-ma-x-msg-index, mh-index-other-buffer)
2668 (mh-index-matches, mh-index-previous-window-configuration)
2669 (mh-index-current-msg, mh-index-folder-mode-keymap)
2670 (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
2671 eliminated variables.
2672 (mh-index-folder): New variable sets the MH folder under which the
2673 index searches are stored.
2674 (mh-index-folder-first, mh-index-folder-last)
2675 (mh-index-original-msg-list): Convenience macros used to pull data
2676 elements out of a list. If needed setf can be used to change them
2678 (mh-index-search): Rewritten to create real folders where all the
2679 normal folder operation. This partially fixes SF #623321 (refiles
2680 and deletes doesn't work on original messages).
2681 (mh-index-find-max-width, mh-index-search-again)
2682 (mh-index-insert-scan, mh-index-callback, mh-index-search)
2683 (mh-index-notate, mh-index-show, mh-index-header-display)
2684 (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
2685 Functions, macros and modes removed.
2686 (mh-folder-exists-p): New function to check if a folder exists.
2687 (mh-index-new-folder): Generate a new folder name from a given
2688 base string that mimics the way emacs generates buffer names.
2689 (mh-index-insert-folder-headers): Insert folder names among the
2691 (mh-index-visit-folder): New interactive function to show the
2692 search results of one individual folder.
2693 (mh-swish++-execute-search): Update documentation.
2695 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
2696 functions if index search results are being viewed.
2698 * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
2700 (mh-index-data): New buffer local variable that will be used to
2701 store info about index search results.
2702 (mh-rescan-folder): Implement rescanning for index search results.
2703 (mh-folder-mode): Make mh-index-data buffer local.
2704 (mh-remove-all-notation): Modified to take into account not all
2705 lines in the folder buffer are normal scan lines.
2706 (mh-folder-mode-map): Add key binding for "v" to jump to original
2707 folder narrowed to search results.
2709 * mh-customize.el (mh-index-folder-face): Make it bold so that it
2710 will look like before.
2712 * mh-loaddefs.el: Regenerated.
2714 2002-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
2716 * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
2717 a list of messages in addition to a sequence.
2718 (mh-region-to-sequence, mh-region-to-msg-list): The function
2719 mh-region-to-msg-list replaces mh-region-to-sequence. The new
2720 function avoids creating a dummy sequence in MH-E.
2721 (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
2722 to use mh-region-to-msg-list.
2724 * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
2726 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
2727 mh-region-to-msg-list.
2729 * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
2730 The buffer-local variable mail-header-separator is no longer
2731 bound. This fixes a bug where the default value of
2732 mail-header-separator gets used if mh-forward is called in a fresh
2734 (mh-annotate-msg): Update this so that it will handle message
2736 (mh-insert-letter): Make the test stronger. Since %d is being used
2737 the argument better be an integer.
2739 * mh-loaddefs.el: Regenerated.
2741 2002-12-11 Satyaki Das <satyaki@theforce.stanford.edu>
2743 * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
2744 If mark is active and transient-mark-mode is enabled then all the
2745 messages in the region are copied.
2747 * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
2748 messages in sequence nicely. The prompt for the folder is removed
2749 (the current folder is always used) and the output is made nicer
2750 by not overflowing the screen width.
2752 * mh-loaddefs.el: Regenerated.
2754 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
2756 * mh-comp.el (mh-letter-complete): Checkdoc fix.
2758 * mh-seq.el (mh-thread-current-indentation-level): New function
2759 which returns the thread indentation level of current message.
2760 (mh-thread-next-sibling, mh-thread-previous-sibling): New
2761 interactive functions to jump to the next and previous siblings in
2762 thread tree respectively.
2763 (mh-thread-immediate-ancestor): New function to jump to ancestor
2764 of current message in thread tree.
2765 (mh-thread-ancestor): New interactive function to jump to
2766 immediate ancestor or to root message of current thread depending
2767 on optional argument.
2769 * mh-utils.el (mh-show-thread-ancestor)
2770 (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
2771 Interactive functions callable from the show buffer.
2772 (mh-show-thread-map): Bindings for Tu, Tp and Tn.
2774 * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
2776 * mh-loaddefs.el: Regenerated.
2778 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
2780 * mh-seq.el (mh-region-to-sequence): Change name of region
2781 sequence created to 'mhe-region. This avoids any chance of
2782 collision with actual MH sequences.
2783 (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
2784 name of region sequence used to 'mhe-region. Also delete the
2785 'mhe-region sequence when done.
2787 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
2789 * mh-comp.el (mh-forward): Same as above.
2791 * mh-loaddefs.el: Regenerated.
2793 2002-12-08 Bill Wohler <wohler@newt.com>
2795 * mh-alias.el: Edited documentation. Broke up file into 2
2796 sections: Alias Loading and Alias Expansion. Made terminology
2797 consistent (replaced expand, substitute, and translate with
2799 (mh-alias-reload): Brought message in line with coding conventions
2800 and made more concise too.
2801 (mh-alias-translate): Renamed to mh-alias-expand.
2802 (mh-alias-substitute-aliases-flag): Renamed to
2803 mh-alias-expand-aliases-flag.
2804 (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
2805 Now just returns an alist of local users rather than have
2807 (mh-alias-reload): Set timestamp at beginning of function to catch
2808 edge case when alias added just after ali runs. Changed logic to
2809 reflect return value of mh-alias-local-users.
2811 * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
2812 mh-alias-expand-aliases-flag.
2813 (mh-alias-local-users): Fixed documentation.
2815 * mh-loaddefs.el: Regenerated
2817 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
2819 * mh-e.el (require): Load Gnus at compile time so that the
2820 constant gnus-version is defined when MH-E is being compiled.
2821 (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
2822 Use the constant gnus-version instead of the function gnus-version
2823 to find out about gnus version information.
2824 (gnus-version): Remove the autoload since it is not needed any
2827 2002-12-08 Bill Wohler <wohler@newt.com>
2829 * mh-e.el (mh-version): Moved compilation information in front of
2830 Emacs information. The idea is that you start at MH-E and move
2831 outwards. Show N/A if Gnus not compiled (be explicit). Matched
2832 coding style with other output statements. (Aside: not that
2833 efficiency matters here, but fewer calls to format have to be
2834 faster, right? ;-). Matched output style of old output to new
2835 statement--liked Satyaki's indentation better ;-).
2837 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
2839 * mh-e.el (gnus-version): Autoload the function for use in
2841 (mh-macro-expansion-time-gnus-version): New macro that finds the
2842 Gnus version at macro expansion time.
2843 (mh-run-time-gnus-version): New function to find the Gnus version
2845 (mh-version): Add information about Gnus versions available at
2846 compile time and run time.
2848 2002-12-07 Peter S Galbraith <psg@debian.org>
2850 * mh-alias.el (mh-alias-ali): Add optional argument. if USER is
2851 t, then assume ALIAS is an address and call ali with option -user.
2853 * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
2854 files from `mh-alias-system-aliases' to output list obtained from
2855 mhparam output user list only.
2856 (mh-alias-tstamp): Use it.
2858 2002-12-05 Satyaki Das <satyaki@theforce.stanford.edu>
2860 * mh-mime.el (mh-inline-vcard-p): A new function which decides if
2861 a vcard should be displayed inline.
2862 (mh-mime-display-single): Use mh-inline-vcard-p to display
2863 attached vcard as a signature if no other signature is present
2864 (this partially addresses SF #649216).
2866 2002-12-05 Peter S Galbraith <psg@debian.org>
2868 * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
2869 getting run if variable `mh-mml-compose-insert-flag' is set.
2870 (mh-get-header-field): use buffer-substring-no-properties instead
2871 of buffer-substring.
2873 2002-12-04 Peter S Galbraith <psg@debian.org>
2875 * mh-loaddefs.el: Regenerated.
2877 * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
2879 2002-12-04 Peter S Galbraith <psg@debian.org>
2881 * mh-loaddefs.el: Regenerated.
2883 * mh-comp.el (mh-letter-complete): New command to do alias or word
2884 completion in letter-mode.
2885 (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
2887 * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
2888 Replaced by mh-letter-complete command.
2889 (mh-alias-reload-maybe): New function to rebuild alias table if
2891 (mh-alias-letter-expand-alias): No longer interactive. Use
2892 mh-letter-complete instead.
2894 2002-12-04 Peter S Galbraith <psg@debian.org>
2896 * mh-customize.el (mh-letter-complete-function): New defcustom.
2897 Function to call when completing outside of fields specified to
2900 * mh-alias.el (mh-alias-filenames):
2901 s/mh-mhparam-component/mh-profile-component/
2902 (mh-profile-component): Move to mh-utils.el and make interactive.
2903 (mh-read-address): Make it autoloaded.
2905 * mh-loaddefs.el: Regenerated.
2907 * mh-comp.el (mh-read-address): Removed. Replaced by mh-alias
2910 * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
2912 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
2914 * mh-seq.el (mh-msg-is-in-seq): Formatting change.
2916 * mh-index.el (mh-index-insert-scan): Remove unused variable.
2918 2002-12-04 Bill Wohler <wohler@newt.com>
2920 * mh-loaddefs.el: Regenerated.
2922 * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
2923 this was causing a cycle.
2924 (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
2925 (emacs): Reintroduced autoloads.
2926 (autoloads): We're baaa-aack!
2927 (dist, install-emacs): Use MH-E-LOADDEFS.
2929 * mh-comp.el (mh-customize): Moved to mh-customize.el.
2931 * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
2932 more sense, doesn't it?
2934 * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
2935 mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
2936 interactive functions.
2938 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
2940 * Makefile (world): Remove target.
2941 (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
2942 regenerate mh-loaddefs.el.
2944 * mh-make.el: Removed.
2946 2002-12-04 Mark D. Baushke <mdb@gnu.org>
2948 * mh-e.el (recursive-load-depth-limit): Only modify the limit
2949 if it is an integer.
2951 2002-12-04 Peter S Galbraith <psg@debian.org>
2953 * mh-utils.el (mh-header-field-beginning): New function. Move to
2954 the beginning of the current header field.
2956 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
2958 * mh-make.el (mh-files): Read in the MH-E filenames from the
2959 environment variable where the Makefile puts it.
2960 (mh-generate-autoloads, step2): Simplified since we now have the
2961 complete file names.
2963 * Makefile (world): Pass the MH-E files into the script, so that
2964 the filenames don't need to be repeated in the script.
2966 2002-12-04 Bill Wohler <wohler@newt.com>
2968 * mh-loaddefs.el: New file. Check in automatically generated file
2969 and include in package for the benefit of those who don't want to
2972 * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
2973 in and will be packaged.
2974 (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
2975 sufficient to build it.
2976 (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
2977 emacs so that Emacs is only invoked once to compile files. This
2978 speeds things up by a factor of 3. It would be nice to only pass
2979 those files that have been modified, but Emacs 21.4 will have
2980 batch-byte-compile-if-not-done which we might be able to copy into
2981 mh-make.el (or my proposed mh-e-dev.el which would be more
2983 (.SUFFIXES): Removed. Now that compile works directly on the
2984 sources, the implicit rule is obsolete.
2985 (autoloads): Deleted. See emacs change above.
2987 2002-12-03 Bill Wohler <wohler@newt.com>
2989 * Makefile (MH-E-SRC, emacs):
2991 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
2993 * mh-make.el (mh-emacs): Make failing condition more strict.
2994 (mh-loaddefs-end): Remove redundant statement.
2996 * Makefile (world): A little typo. The bug didn't seem to make any
2999 * mh-make.el: New script that compiles MH-E.
3000 (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
3001 file in between. Only save at the end.
3002 (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
3003 (mh-generate-autoloads): Replace the separate functions in Emacs
3004 and XEmacs with one that works in both variants. This simplifies
3006 (mh-generate-autoloads): doc fix.
3008 * Makefile (world): New target which works for both GNU Emacs and
3011 2002-12-03 Peter S Galbraith <psg@debian.org>
3013 * mh-alias.el (mh-mhparam-component): Don't raise error if call to
3016 * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
3017 not already available.
3019 2002-12-03 Bill Wohler <wohler@newt.com>
3021 * mh-customize.el (mh-show-threads-flag): Alphabetized.
3023 2002-12-03 Jeffrey C Honig <jch@honig.net>
3025 * Makefile: Moved .PHONY rule after all rule for compatibility
3026 with BSD/OS's old pmake.
3028 2002-12-03 Mark D Baushke <mdb@gnu.org>
3030 * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
3031 (mh-add-cur-notation): Remove unnecessary function.
3033 2002-12-03 Peter S Galbraith <psg@debian.org>
3035 * mh-identity.el (mh-identity-make-menu): Check if
3036 'mh-letter-mode-map' is bound, since this code also gets run when
3037 mh-customize.el is loaded at startup.
3039 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
3041 * mh-customize.el (mh-show-threads-flag): New customizable
3042 variable which controls if new folders start of in threaded mode
3043 (closes SF #646794).
3045 * mh-e.el (mh-rescan-folder): Fix the function so that threading
3046 is preserved across rescans.
3047 (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
3048 already threaded or if mh-show-threads-flag is non-nil and the
3049 number of scan lines is fewer than mh-large-folders (closes SF
3052 2002-12-02 Mark D Baushke <mdb@gnu.org>
3054 * mh-e.el (mh-add-cur-notation): New function to mark the
3055 current message with the mh-note-cur character.
3056 (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
3057 mh-remove-cur-notation if there was no new mail (closes SF #647681).
3059 * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
3060 value (closes SF #643701).
3062 2002-12-02 Peter S Galbraith <psg@debian.org>
3064 * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
3065 (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
3066 (mh-alias-passwd-alist): New variable, holding aliases extracted
3067 from the passwd file.
3068 (mh-alias-tstamp): New variable storing the timestamp for alias
3070 (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
3072 (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
3073 (mh-alias-translate): New function. Return translation for alias,
3074 checking if in blind or passwd list.
3075 (mh-alias-letter-expand-alias): Rewrite using
3076 mail-abbrev-complete-alias from mailabbrev.el
3077 (mh-alias-expand-alias-map): New variable.
3078 (mh-alias-ali): New function. Return formatted string of
3079 translated ALIAS from ali.
3080 (mh-mhparam-component): New function. Return COMPONENT value from
3081 mhparam, or nil if unset.
3082 (mh-alias-filenames): New function. Provide list of alias
3083 filenames from mhparam, or nil if none are set.
3085 * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
3087 (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
3089 2002-12-02 Bill Wohler <wohler@newt.com>
3091 * Makefile (mh-loaddefs.el): Suppress creation of backup file.
3093 2002-12-02 Mark D. Baushke <mdb@gnu.org>
3095 * Makefile (mh-loaddefs.el): Simplify rule.
3097 * Makefile (clean): Remove mh-loaddefs.el* for good measure.
3098 ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
3099 (autoloads, mh-loaddefs.el): Revamp rules.
3100 (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
3102 * mh-e.el (recursive-load-depth-limit): Do not try to
3103 bump the value unless the variable exists.
3105 * mh-e.el (recursive-load-depth-limit): Bump value of
3106 recursive-load-depth-limit to 50 to allow emacs 21.1 which
3107 normally has a default value of 10 to be able to compile MH-E.
3109 2002-12-02 Satyaki Das <satyaki@theforce.stanford.edu>
3111 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
3112 so that threading is preserved (needed for SF #646794).
3114 * mh-identity.el (mh-identity-signature-start)
3115 (mh-identity-signature-end): Checkdoc fixes.
3117 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
3120 2002-12-01 Satyaki Das <satyaki@theforce.stanford.edu>
3122 * mh-identity.el (compile): Make mh-identity.el compile without
3125 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
3126 interactive functions that go to next and previous unread
3127 messages (closes SF #630328).
3128 (mh-folder-mode-map): Add key bindings for M-n and M-p to
3131 * mh-utils.el (mh-show-next-unread-msg)
3132 (mh-show-previous-unread-msg): New interactive functions that go
3133 to the next and previous unread messages respectively. These are
3134 callable from the show buffer.
3135 (mh-show-mode-map): Add key bindings for M-n and M-p to
3138 2002-12-01 Bill Wohler <wohler@newt.com>
3140 * mh-mime.el (mh-defun-compat): Make it indent like a defun.
3142 * mh-index.el (mh-defun-index): Make it indent like a defun.
3144 * mh-customize.el: New file (closes SF #643722).
3146 * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
3148 * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
3149 mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
3150 mh-customize.el (closes SF #643722).
3152 * mh-utils.el (mh-xemacs-flag): Moved here from below since
3153 needed by mh-customize.el.
3154 (mh-customize): Required. mh-invisible-headers)
3155 (mh-bury-show-buffer-flag, mhl-formfile):
3156 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
3157 (closes SF #643722) .
3159 * mh-identity.el (mh-comp-loaded): New variable in a desparate
3160 attempt to prevent an infinite loop.
3161 (eval-when-compile): Was able to remove these defvars as they are
3162 now predefined in mh-loaddefs and mh-customize.
3163 (mh-identity-list-set): Added ;;;###mh-autoload cookie.
3164 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
3165 (closes SF #643722).
3167 * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
3168 is in mh-customize which is required by mh-utils which is required
3170 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
3171 (closes SF #643722).
3173 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
3175 * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
3177 (mh-help-messages): Update help message for prefix map.
3178 (mh-help-messages): Doc fix.
3179 (mh-help-messages): Really fix it.
3181 * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
3182 interactive functions corresponding to mh-thread-delete and
3183 mh-thread-refile callable from the show buffer.
3184 (mh-show-thread-map): Add key bindings for "Td" "To".
3186 * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
3187 (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
3188 mh-autoload cookies.
3189 (mh-thread-find-children): New function which finds the region
3190 containing all children of a message.
3191 (mh-thread-delete): New interactive function that marks for
3192 deletion the current message and its children.
3193 (mh-thread-refile): New interactive function that marks for
3194 refiling the current message and its children.
3196 2002-11-30 Bill Wohler <wohler@newt.com>
3198 * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
3199 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
3200 Added ;;;###mh-autoload tag to selected functions so that
3201 autoloads for those functions can be automatically created in
3202 mh-loaddefs.el (closes half of SF #643722).
3204 * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
3205 Added ;;;###mh-autoload tag to selected functions so that
3206 autoloads for those functions can be automatically created in
3207 mh-loaddefs.el (closes half of SF #643722)..
3209 * mh-utils.el (mh-loaddefs): Added require.
3210 (mh-buffer-data): Moved here from mh-mime.el as it is used in
3212 (mh-set-cmd-note): Moved to mh-e.el.
3213 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
3214 Added ;;;###mh-autoload tag to selected functions so that
3215 autoloads for those functions can be automatically created in
3216 mh-loaddefs.el (closes half of SF #643722)..
3218 * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
3219 uses mh-scan-format-file which is defined here.
3220 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
3221 Added ;;;###mh-autoload tag to selected functions so that
3222 autoloads for those functions can be automatically created in
3223 mh-loaddefs.el (closes half of SF #643722)..
3225 * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
3226 provided via mh-e.el.
3227 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
3228 Added ;;;###mh-autoload tag to selected functions so that
3229 autoloads for those functions can be automatically created in
3230 mh-loaddefs.el (closes half of SF #643722)..
3232 * Makefile (emacs): Add dependency on autoloads.
3233 (clean): Remove mh-loaddefs.el too.
3234 (autoloads): New target. Builds mh-loaddefs.el.
3235 (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
3236 (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
3237 (autoloads-gen): Runs batch-update-autoloads to populate
3238 mh-loaddefs.el (closes half of SF #643722)..
3239 (auto-autoloads.elc): Renamed from autoloads to be explicit about
3240 file that's created.
3241 (custom-load.elc): Ditto.
3243 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
3245 * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
3246 track of oldest ancestor of last message. If due to narrowing the
3247 common ancestor of two messages is lost then one of them is
3248 promoted to be the parent of the other. This variable helps in
3250 (mh-thread-generate-scan-lines): Group messages which belong to
3251 the same thread tree, even if a common ancestor is no longer
3253 (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
3254 mh-thread-last-ancestor to nil when calling
3255 mh-thread-generate-scan-lines.
3257 * mh-mime.el (font-lock): Font-lock required at compile time to
3258 avoid warning about font-lock-maximum-size
3259 (mh-display-smileys, mh-display-emphasis): Show graphical smileys
3260 and emphasis only if message isn't too large.
3262 * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
3263 been threaded or narrowed confuses MH-E. Even though the folder is
3264 displayed as not threaded and not narrowed, MH-E still believes
3265 the folder is in the previous state. This can cause problems when
3266 trying to narrow/thread the folder. The change fixes this.
3268 * mh-mime.el (mh-mime-display-alternative): The setting of
3269 mh-display-buttons-for-inline-parts-flag was not being used when
3270 displaying one of the alternatives. This change fixes that.
3272 * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
3274 (mh-filter-out-non-text): When filtering out MIME buttons from
3275 yanked text, the last line of the MIME part was getting lost. The
3276 fix avoids that and removes only the last new line instead.
3278 2002-11-29 Peter S Galbraith <psg@debian.org>
3280 * Makefile (MH-E-SRC): Add mh-alias.
3282 * mh-alias.el: Assign copyright to FSF instead of myself.
3283 (mh-read-address): Add support for emacs-21's
3284 completing-read-multiple to prompt for multiple entries.
3285 (mh-alias-PC-complete-address): Deleted.
3286 (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
3287 (mh-alias-letter-mode-expand-alias-hook): Simplify.
3288 (mh-alias-hostname): Deleted.
3289 (mh-alias-substitute-aliases-flag): Change default to nil.
3290 (mh-alias-display-blind-name-on-completion-flag) Change default to
3292 (mh-alias-alist): Now holds alias values.
3293 (mh-alias-lowercase-alist): Deleted.
3294 (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
3295 (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
3296 new mh-alias-alist instead of old mh-alias-lowercase-alist.
3298 * mh-alias.el: Moved from contrib/ directory. Now part of MH-E!
3300 * Makefile (MH-E-SRC): Add mh-identity.
3302 * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
3303 (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
3304 Moved to mh-comp.el.
3306 * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
3307 (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
3308 (mh-identity-menu): Added from mh-identity.el
3310 2002-11-29 Bill Wohler <wohler@newt.com>
3312 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
3313 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
3314 Ran indent-region, reformatted long lines, ran untabify.
3315 (indent-tabs-mode): Set file local variable to nil.
3317 2002-11-29 Bill Wohler <wohler@newt.com>
3319 * Released MH-E version 7.0.
3321 * mh-e.el (Version, mh-version): Updated for release 7.0.
3323 * mh-comp.el (subseq, search): Require cl instead of autoloading
3324 these due to compilation warnings in CVS Emacs.
3326 2002-11-23 Bill Wohler <wohler@newt.com>
3328 * MH-E-NEWS: Emphasize the renaming of the variables at the top of
3331 2002-11-22 Satyaki Das <satyaki@theforce.stanford.edu>
3333 * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
3334 is not needed and the binding is more useful to toggle display of
3337 * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
3338 and "o" from MIME buttons.
3339 (mh-insert-mime-button): Change comment to reflect change in
3342 2002-11-21 Bill Wohler <wohler@newt.com>
3344 * Released MH-E version 6.1.91.
3346 * mh-e.el (Version, mh-version): Updated for release 6.1.91.
3348 * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
3350 2002-11-21 Mark D. Baushke <mdb@gnu.org>
3352 * mh-comp.el (mh-letter-insert-signature-hook): This should be in
3353 customize-group mh-compose.
3355 2002-11-21 Satyaki Das <satyaki@theforce.stanford.edu>
3357 * mh-utils.el (load): Load mm-view.el here so that
3358 mm-inline-text-html would be defined if available.
3359 (mh-mm-inline-media-tests): If mm-inline-text-html is available
3360 then use it, otherwise fall back on using mm-inline-text (closes
3363 * mh-mime.el (load): Remove the load of mm-view here since it
3364 happens in mh-utils.el now.
3366 2002-11-15 Bill Wohler <wohler@newt.com>
3368 * Released MH-E version 6.1.90.
3370 * README (Compile): New section. Users must now compile MH-E due
3371 to the vagaries of the various versions of gnus.
3373 * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
3374 reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
3375 (MH-E-ETC-ETC): Added Makefile and README.
3376 (dist): Depend on all, so clean happens. Don't add .elc files to
3377 tarball as they are built upon installation now.
3379 2002-11-15 Satyaki Das <satyaki@theforce.stanford.edu>
3381 * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
3382 If called in threaded mode, cur was always getting set to the last
3383 message in the folder.
3385 2002-11-14 Bill Wohler <wohler@newt.com>
3387 * mh-e.el (Version, mh-version): Updated for release 6.1.90.
3389 * MH-E-NEWS, README: Updated for release 7.0.
3391 * mh-utils.el (mh-index-search): Added full docstring which new
3392 users will need before they run a search!
3393 (mh-swish++-execute-search, mh-swish-execute-search,
3394 mh-namazu-execute-search mh-glimpse-execute-search): Added
3395 autoloads with full docstrings for the same reason!
3397 * mh-e.el (mh-limit-map): Removed / / alias for
3398 mh-narrow-to-subject.
3400 * mh-utils.el (mh-show-thread-map): Removed / / alias for
3401 mh-show-narrow-to-subject.
3403 * mh-seq.el (mh-delete-subject): Checkdoc fix.
3405 * mh-e.el (mh-help-messages): Added / prefix character to help
3406 string. Tweaked / helpstring a little.
3408 2002-11-14 Mark D. Baushke <mdb@gnu.org>
3410 * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
3411 width for cosmetic reasons.
3413 2002-11-14 Peter S Galbraith <psg@debian.org>
3415 * mh-identity.el (mh-insert-identity): Fix a few things undone by
3417 (mml-insert-tag): Add autoload.
3419 2002-11-13 Mark D. Baushke <mdb@gnu.org>
3421 * mh-identity.el (mh-insert-identity): A value of either nil or
3422 "" should cause the field to be removed.
3423 (mh-identity-list): Update the docstring.
3425 2002-11-13 Peter S Galbraith <psg@debian.org>
3427 * mh-e.el (mh-limit-map): New key map for limits (subject for now).
3428 * mh-utils.el (mh-show-limit-map): Same.
3430 * mh-seq.el (mh-delete-subject): Renamed from
3431 mh-delete-subject-sequence.
3432 (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
3433 (mh-next-unseen-subject-sequence): Removed. :-(
3435 * mh-seq.el: Use 'em.
3437 2002-11-13 Mark D. Baushke <mdb@gnu.org>
3439 * mh-e.el (mh-alt-show): New defalias for mh-show.
3440 (mh-alt-refile-msg): New defalias for mh-refile-msg.
3441 (mh-alt-send): New defalias for mh-send.
3442 (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
3443 mh-alt-send for the alias bindings.
3444 (mh-alt-visit-folder): New defalias for mh-visit-folder.
3445 (mh-folder-map): Use it.
3446 (mh-folder-message-menu): Revert previous change.
3448 2002-11-13 Peter S Galbraith <psg@debian.org>
3450 * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
3451 menu for mh-refile-msg.
3453 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
3455 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
3456 scan lines of duplicate messages were too long. The change fixes
3459 2002-11-13 Bill Wohler <wohler@newt.com>
3461 * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
3464 * mh-speed.el (mh-speed-run-flists-flag): While documenting this
3465 variable in the release notes, I was unsure what would happen if
3466 set to nil. So, I clarified the docstring and indicated
3467 implications of setting this variable to nil, and offered manual
3470 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
3472 * mh-index.el (mh-index-quit): Fix documentation and run
3473 mh-before-quit-hook and mh-quit-hook.
3475 2002-11-13 Bill Wohler <wohler@newt.com>
3477 * mh-utils.el (with-mh-folder-updating): Renamed local variable
3478 mh-save-modification-flag to save-modification-flag.
3480 2002-11-12 Bill Wohler <wohler@newt.com>
3482 * mh-index.el (mh-index-keymap): Renamed to
3483 mh-index-folder-mode-keymap to be a closer to the usual keymap
3484 naming convention. Since we want our own keymap and not inherit
3485 the one in mh-folder-mode, we need to use a suffix other than
3488 * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
3490 (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
3492 (mh-folder-folder-menu): Aligned symbols.
3494 * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
3496 * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
3498 (mh-show-message-menu): s/Msg/Message. Removed redundant refile
3500 (mh-show-folder-menu): Aligned symbols.
3502 2002-11-12 Satyaki Das <satyaki@theforce.stanford.edu>
3504 * mh-index.el (mh-index-matches, mh-index-current-match): Remove
3505 these variables since they were only used for glimpse and grep.
3506 Now the functionality of all the indexing programs will be
3508 (mh-index-search, mh-index-insert-scan, mh-defun-index)
3509 (mh-index-show): Simplify functions since matches are no longer
3511 (mh-index-parse-match): Remove function.
3513 * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
3514 (mh-scan-date-width, mh-scan-date-flag-width)
3515 (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
3516 variables to keep track of the widths of the different fields in
3518 (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
3519 (mh-scan-field-subject-start-offset): Offsets that are computed
3520 from the scan line widths.
3522 * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
3523 (mh-thread-parse-scan-line): Use new variables that remember the
3524 various offsets in place of integer constants.
3525 (mh-thread-generate-scan-lines): Space shouldn't be added here!
3527 2002-11-12 Bill Wohler <wohler@newt.com>
3529 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
3530 first column is column number 0 and changed "sixth column" to
3531 "fifth column" accordingly.
3533 * mh-index.el (mh-index-folder-mode): Clarified method of replying
3534 in mode documentation.
3535 (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
3537 * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
3538 variable mh-cmd-note in docstrings.
3540 * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
3541 Reworded docstring so it doesn't mention internal variable
3542 mh-cmd-note. Added information about using fixed-width message
3544 (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
3545 that it is updated dynamically only if mh-scan-format-file is t.
3546 (mh-set-cmd-note): Grammer fix in docstring.
3547 (mh-cmd-note): Noted that the first column is column number 0.
3549 * mh-e.el (mh-scan-format-file): Added information about
3550 mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
3552 * mh-index.el (mh-index-keymap): Added bindings for i
3553 (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
3554 appear to be supported and are found in the toolbar.
3555 (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
3556 (mh-visit-folder) alias, and v (mh-visit-folder).
3557 (mh-index-folder-mode-help-messages): Changes for above.
3558 (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
3559 menus. I decided to delete the unavailable items since greying out
3560 implies that the user can do something to access them. In this
3561 case, that's not the case. Well, that's not entirely true--the
3562 user could write code for those functions ;-).
3563 (mh-index-folder-mode): Use new menus.
3565 * mh-utils.el (mh-prompt-for-folder): Added optional argument
3566 default-string which can be used in case the string for default
3567 isn't intuitive enough.
3569 * mh-index.el (mh-index-search): Made default prompt more
3570 intuitive (I hope!).
3572 2002-11-11 Peter S Galbraith <psg@debian.org>
3574 * mh-identity.el (mh-header-field-delete): Remove save-excursion.
3575 Strange that this worked for me before... Thanks to Jeff for the
3577 (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
3578 adds a nicer-looking MIME header for signatures inserted after
3581 2002-11-11 Satyaki Das <satyaki@theforce.stanford.edu>
3583 * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
3584 so that it can take a string containing the scan-line as argument
3585 in addition to using the line at point.
3586 (mh-thread-add-spaces): New function to pad each scan line to the
3587 appropriate length. This is called when mh-cmd-note is increased.
3589 * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
3590 folder by using mh-thread-add-spaces to pad the pre-existing lines
3591 in mh-thread-scan-line-map appropriately.
3592 (mh-thread-add-spaces): Autoload from mh-seq.
3594 2002-11-11 Mark D. Baushke <mdb@gnu.org>
3596 * mh-index.el: Fix checkdoc nit.
3598 * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
3599 from mh-display-buttons-for-inline-parts.
3600 (mh-mime-display-single): Use it.
3601 This addresses part of SF #627015.
3603 * mh-e.el (mh-print-background-flag): Renamed from
3604 mh-print-background.
3605 * mh-funcs.el (mh-print-msg): Use it.
3606 This addresses part of SF #627015.
3608 * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
3609 mh-delete-yanked-msg-window.
3610 (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
3611 This addresses part of SF #627015.
3613 * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
3614 from mh-update-sequences-after-mh-show.
3615 (mh-show-msg): Use it.
3616 This addresses part of SF #627015.
3618 * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
3619 mh-decode-quoted-printable
3620 (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
3622 This addresses part of SF #627015.
3624 * mh-utils.el (mh-recursive-folders-flag): Renamed from
3625 mh-recursive-folders.
3626 (mh-make-folder-list-background): Use it.
3627 * mh-funcs.el (mh-list-folders): Ditto.
3628 This addresses part of SF #627015.
3630 * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
3631 mh-auto-folder-collect.
3632 (mh-find-path): Use it.
3633 This addresses part of SF #627015.
3635 * mh-utils.el (mh-decode-mime-flag): Renamed from
3637 * mh-utils.el (mh-show-mode, mh-show-xface)
3638 (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
3639 * mh-mime.el (mh-graphical-smileys-flag)
3640 (mh-graphical-emphasis-flag): Ditto.
3641 * mh-index.el (mh-index-search, mh-index-show): Ditto.
3642 * mh-e.el (mh-header-display): Ditto.
3643 This addresses part of SF #627015.
3645 * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
3646 to get back to the current message.
3648 2002-11-10 Satyaki Das <satyaki@theforce.stanford.edu>
3650 * mh-index.el (mh-index-keymap, mh-index-page-msg)
3651 (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
3653 (mh-index-keymap, mh-index-previous-page): Replace
3654 mh-index-scroll-down with mh-index-previous-page.
3656 2002-11-09 Satyaki Das <satyaki@theforce.stanford.edu>
3658 * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
3659 loaded. This fixes the infinite load loop. I am not sure what the
3660 actual problem is. Also removed the nop requires/autoloads.
3661 (mh-defun-index): Use the right argument for mh-recenter.
3662 Otherwise it misbehaves for the default value of
3665 * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
3666 used on first line of index folder buffer.
3668 2002-11-09 Peter S Galbraith <psg@debian.org>
3670 * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
3672 (mh-index-folder-mode): Use it.
3673 (mh-index-keymap): Added mouse-2 binding, like in regular
3676 2002-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
3678 * mh-index.el (mh-index-folder-mode): Fix doc string for major
3679 mode. It was pointing to the wrong keymap.
3680 (mh-index-show-mode): Fix doc string for mode. Also add mh-help
3683 * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
3684 mh-mark-active-p instead. This does the right thing for different
3686 (mh-yank-cur-msg): Add a space between sexprs.
3688 * mh-utils.el (mh-mark-active-p): New macro which papers over
3689 diffences between GNU Emacs and XEmacs. The variables mark-active
3690 and transient-mark-mode are used in GNU Emacs while zmacs-regions
3691 and region-active-p are used in XEmacs.
3693 * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
3694 mh-mark-active-p as above.
3696 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
3697 mh-mark-active-p as above.
3699 2002-11-06 Peter S Galbraith <psg@debian.org>
3701 * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs. It didn't work
3702 with a selected region, and left the inserted text selected (in
3703 reverse video). I didn't use SF patch #402315 to implement this.
3705 2002-11-05 Peter S Galbraith <psg@debian.org>
3707 * mh-utils.el (mh-show-tool-bar-map): Change call to
3708 mh-tool-bar-search-command such that user can customize it for the
3711 * mh-e.el (mh-folder-tool-bar-map): Same.
3713 2002-11-05 Bill Wohler <wohler@newt.com>
3715 * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
3716 mh-tool-bar-search-command.
3718 * mh-index.el (mh-index-search): Backed out previous change to
3719 prompt. There ain't no folder named "all."
3721 * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
3722 and mh-index-search to the docstring so that user can easily click
3723 on them for more information.
3725 * mh-pick.el (mh-search-folder): Mention that this function uses
3726 the MH pick command to give the user more information when
3727 choosing between mh-search-folder and mh-index-folder.
3729 * mh-index.el (mh-index-search): Edited the docstring. Direct the
3730 user to mh-index-program if necessary.
3731 (mh-index-program): Edited this docstring too. Viewing the help
3732 in a *Help* buffer really exposes grammatical flaws.
3734 2002-11-05 Peter S Galbraith <psg@debian.org>
3736 * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
3737 what search function to use in tool-bar.
3738 (mh-show-tool-bar-map): Use it.
3740 * mh-e.el (mh-folder-tool-bar-map): Use it.
3742 2002-11-05 Bill Wohler <wohler@newt.com>
3744 * mh-index.el (mh-index-search): Changed default prompt from "+"
3745 to "all". mh-prompt-for-folder doesn't seem to mind.
3747 * mh-e.el (mh-folder-folder-menu): Added menu entry for
3750 * mh-utils.el (mh-show-folder-menu): Added menu entry for
3753 * mh-index.el: Added commentary on supported search engines and
3754 for getting started (initializing database).
3756 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
3758 * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
3759 binding of "i" to "Fi".
3760 (mh-index-folder-mode-help-messages): Change help message to
3761 reflect above change.
3763 2002-11-04 Bill Wohler <wohler@newt.com>
3765 * mh-index.el (mh-index-program, mh-indexer): Swapped names since
3766 the former seems like a better user variable name. If you've
3767 customized mh-indexer, be sure to toss it out and customize
3770 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
3772 * mh-index.el (mh-indexer-choices): Not having the quotes in the
3773 binary names is a bit nicer since that maintains uniformity with
3775 (mh-index-choose): Use symbol-value instead of eval. Eval should
3776 be avoided except when it can't be :-).
3778 2002-11-04 Bill Wohler <wohler@newt.com>
3780 * mh-index.el (mh-index-program): New variable to hold the name of
3781 the indexer that was found; use this instead of clobbering
3782 user-customizable variable mh-indexer.
3783 (mh-index-search): Use it. Added comments to keep others from
3784 doing what I had done (fortunately, I caught myself before
3786 (mh-index-choose): Set mh-index-program instead of mh-indexer.
3787 Update docstring to describe side-effects.
3789 * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
3790 are good that if someone has both swish++ and swish, they want to
3791 use the much faster, much smaller swish, so move it up in the
3793 (mh-indexer-choices): Ditto for rationale for moving swish++ up in
3794 priority over swish. Also, use -binary symbols instead of
3795 hard-coding binary names. This allows package installers to
3796 customize the location of the binaries in site-lisp and still have
3797 the auto-detection code work. It also allows one to have alternate
3798 binary names (see mh-swish++-binary).
3799 (mh-index-search): Ditto (moving swish++ up).
3800 (mh-swish++-binary): Look for search++, then search. The rationale
3801 is that a package maintainer may rename search to search++ if
3802 search is already in use (e.g., Debian) so try it first.
3803 (mh-swish++-execute-search): Replaced Satyaki's path with dummy
3804 path in docstring. Also removed RecurseSubdirs since this is the
3805 default. Added comment that index might be named index++ on some
3806 systems (e.g., Debian).
3807 (mh-index-choose): Updated to work with new mh-indexer-choices.
3809 2002-11-04 Peter S Galbraith <psg@debian.org>
3811 * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
3812 here, since that adds the menu to the Customize buffer in XEmacs.
3814 2002-11-04 Peter S Galbraith <psg@debian.org>
3816 * mh-comp.el (mh-mhn-compose-insert-flag)
3817 (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
3819 * mh-mime.el (mh-mhn-compose-insert-flag)
3820 (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
3821 Fixes mh-letter-menu for XEmacs.
3823 2002-11-04 Eric Ding <eding@rational.com>
3825 * mh-comp.el (mh-rejected-letter-start): add another string
3827 2002-11-04 Eric Ding <ericding@alum.mit.edu>
3829 * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
3830 regexps as args, only regular strings
3832 2002-11-04 Peter S Galbraith <psg@debian.org>
3834 * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
3835 pre-existing M-F-T field. If a nmh replgroupcomps propagates a
3836 M-F-T field in a message reply, then we have to have it alone.
3838 2002-11-02 Bill Wohler <wohler@newt.com>
3840 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
3841 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
3842 mh-xemacs-compat.el: Added Local Variables section. Defined
3843 sentence-end-double-space to be nil so that those who might not
3844 buy my setting of this variable can at least run checkdoc without
3845 a whole lot of noise.
3847 2002-11-02 Peter S Galbraith <psg@debian.org>
3849 * mh-identity.el: New file. Multiple Identify support for MH-E.
3850 Used to easily set different fields such as From and Organization,
3851 as well as diffrent signature files. This file won't be included
3854 2002-11-02 Bill Wohler <wohler@newt.com>
3856 * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
3857 from Gnus 5.10 to make it explicit which code has been
3859 (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
3860 code from Gnus 5.10.
3862 2002-11-02 Peter S Galbraith <psg@debian.org>
3864 * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
3865 mention related variables mh-reply-show-message-flag and
3866 mh-delete-yanked-msg-window.
3867 (mh-reply): Change the "Reply to whom" prompt.
3869 2002-11-01 Bill Wohler <wohler@newt.com>
3871 * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
3872 (mh-folder-list-change-hook): Converted this from defvar in other
3873 files to defcustom here. It is called, not documented as
3874 obsolete, and might as well be documented.
3875 (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
3876 mh-process-commands, mh-update-unseen): Added missing
3877 documentation about hook, or made verbiage about hook consistent
3878 throughout, even if the function isn't interactive.
3880 * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
3881 and made it a defcustom.
3882 (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
3883 but this is the place where it is called).
3884 (mh-show-hook): Moved here from mh-e.el since it's called here.
3885 (mh-show-mode): Call mh-show-mode-hook.
3886 (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
3887 mh-prompt-for-folder, mh-set-folder-list): Added missing
3888 documentation about hook, or made verbiage about hook consistent
3889 throughout, even if the function isn't interactive.
3891 * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
3893 (mh-insert-prefix-string): Made docstring more descriptive of what
3896 * mh-funcs.el (mh-kill-folder): Added missing documentation about
3899 * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
3900 (mh-index-show): Made verbiage about hook consistent throughout.
3902 * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
3903 (mh-edit-mhn): Added missing documentation about hook.
3905 * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
3906 throughout. Call the damn hook.
3908 2002-11-01 Satyaki Das <satyaki@theforce.stanford.edu>
3910 * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
3911 it will look right in info.
3913 * mh-index.el (mh-index-search): Change argument name from
3914 new-buffer-p to new-buffer-flag.
3915 (mh-index-search-again, mh-index-search): New index-buffers were
3916 being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
3918 (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
3919 show buffers (after the first one) was broken.
3920 (mh-index-quit): Bury show buffer instead of killing it. Killing
3921 it, without killing the corresponding folder buffer, can cause
3922 confusion with two folder buffers trying to display in the same
3925 * mh-seq.el (mh-thread-prune-containers): Rewritten without
3926 recursion. Also removed the top-level-p argument since it isn't
3928 (mh-thread-sort-containers): New function factored out from
3929 previous definition of mh-thread-prune-containers. It sorts
3930 message containers in ascending order wrt their message indices.
3931 (mh-thread-generate): Use new mh-thread-prune-containers.
3933 * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
3936 2002-10-31 Bill Wohler <wohler@newt.com>
3938 * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
3939 mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
3940 mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
3942 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
3944 * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
3945 sequence notation and leave notation for other things alone. This
3946 ensures that threading doesn't lose notations for replied-to
3949 * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
3950 instead do it in mh-get-new-mail. This way the widening happens
3951 only if new mail is incorporated.
3952 (mh-generate-new-cmd-note): The function now returns the point
3953 from which the new messages start. This will allow threading to do
3955 (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
3956 adaptive scan mode leaves two messages marked as current in
3957 certain cases. Fix indentation of if statement. If there are
3958 messages to be incorporated, the folder is widened. If mh-cmd-note
3959 changes set start-of-inc correctly.
3960 (mh-remove-all-notation): Change this function to only remove user
3961 sequence notation and leave notation for replied-to messages and
3962 similar notation alone. This means operations like narrowing to
3963 subject sequence and widening don't lose notations.
3965 2002-10-31 Bill Wohler <wohler@newt.com>
3967 * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
3968 docstring and other minor edits. Checkdoc removed trailing spaces.
3969 (mh-insert-signature): Checkdoc flagged docstring. Reverted to
3970 previous value. Added specific name of hook that is run.
3971 (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
3974 2002-10-31 Jeffrey C Honig <jch@honig.net>
3976 * mh-e.el (mh-show-mode-hook): Remove the unused
3977 mh-show-mode-hook, mh-show-hook is the one that is used.
3979 * mh-utils.el (mh-show-mode): Change the documentation to refer to
3980 mh-show-hook instead of the unused mh-show-mode-hook.
3982 2002-10-31 Peter S Galbraith <psg@debian.org>
3984 * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
3985 and include example in doc string.
3987 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
3989 * mh-index.el (mh-indexer): Add customization choice for swish++.
3990 (mh-indexer-choices): Add swish++ choice.
3991 (mh-index-search): Change doc to reflect addition of swish++ option.
3992 (mh-swish++-binary, mh-swish++-directory): New variables for
3994 (mh-swish++-execute-search): New function to execute swish++
3996 (mh-swish++-next-result): Function aliased to mh-swish-next-result
3997 since the result format of swish++ is the same as that of swish-e.
3998 (mh-index-search): Always overwrite window-configuration with new
3999 value. This is needed since we don't kill the index-buffer when
4000 quitting which means the window configuration wasn't getting set
4002 (mh-index-search-again): If index buffer is reused, reset the old
4003 window config to its original value.
4005 2002-10-30 Bill Wohler <wohler@newt.com>
4007 * Makefile (emacs, xemacs): New targets.
4008 (all): Use these targets instead of calling specific targets.
4009 (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
4010 target and moved pieces into their own sections.
4013 2002-10-30 Peter S Galbraith <psg@debian.org>
4015 * mh-utils.el (mh-show-font-lock-keywords): Wrap an
4016 'eval-and-compile around its defvar, otherwise byte-compilation
4017 fails on `mh-show-font-lock-keywords-with-cite'.
4019 2002-10-29 Jeffrey C Honig <jch@honig.net>
4021 * mh-comp.el (mh-letter-insert-signature-hook)
4022 (mh-insert-signature): Add a hook to be called before inserting
4023 the signature. Do not attempt to insert the signature if
4024 mh-insert-signature-file-name is nil.
4026 2002-10-29 Peter S Galbraith <psg@debian.org>
4028 * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
4029 (Closes SF #629233: inc in narrowed folder suboptimal)
4031 * mh-comp.el (mh-insert-letter): Stop using mhl to include a
4032 message before it mangles the header, and supercite fails
4033 (Closes SF #629153: mh-insert-letter uses mhl?).
4034 (mh-insert-prefix-string): Leave point at beginning instead of
4035 end, since that's what sc-cite-original does.
4036 (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
4038 2002-10-30 Steve Youngs <youngs@xemacs.org>
4040 * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
4041 when in XEmacs so we don't do font-locking unconditionally.
4043 * mh-utils.el (mh-show-mode): Ditto.
4045 2002-10-29 Peter S Galbraith <psg@debian.org>
4047 * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
4048 (mh-folder-to-face, mh-folder-body-face): Define faces instead of
4049 copying them from font-lock faces. This mh-e will look the same
4050 in XEmacs as it does in Emacs.
4051 * mh-utils.el (mh-show-cc-face, mh-show-date-face)
4052 (mh-show-header-face): Ditto.
4054 2002-10-29 Jeffrey C Honig <jch@honig.net>
4056 * mh-comp.el (mh-send-letter): I meant to use
4057 mh-goto-header-field, not mh-get-header-field. The former returns
4058 nil if the header is not found and doesn't need a conditional.
4060 2002-10-29 Peter S Galbraith <psg@debian.org>
4062 * mh-comp.el (mh-forward): Bug fix. Change 'kill-line for a
4063 'delete-region, because I don't want that text yanked with C-y.
4065 * mh-seq.el (mh-put-msg-in-seq): Add support for selected
4066 region (Closes SF feature request #630324).
4068 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
4070 * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
4071 general so that a subject of the form "Re[218]: howdy" would be
4074 * mh-mime.el (mh-mime-save-part): Copy function definition of
4075 mm-save-part from cvs gnus since that function is buggy in gnus
4076 that comes with emacs21.2.
4078 2002-10-28 Peter S Galbraith <psg@debian.org>
4080 * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
4081 optional bracketed number after "Re", such as in "Re[2]:"
4082 (Patch by Satyaki; I checked it and applied).
4083 (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
4084 * mh-seq.el (mh-subject-to-sequence): Ditto.
4086 * mh-e.el (mh-folder-sequence-menu): Remove "Toggle Subject
4087 Thread" from menu. mh-toggle-threads is in the Folder menu.
4089 * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
4091 * mh-utils.el (mh-show-update-sequences): Added to
4092 mh-defun-show-buffer builds; needed for menu.
4093 (mh-show-sequence-menu, mh-show-message-menu)
4094 (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
4095 the menus used in mh-folder-mode.
4096 (mh-show-mode): easy-menu-add the 3 menus.
4098 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
4100 * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
4101 go to the right message. In a threaded folder message 2 may be
4102 present after 26 and the previous regexp would go to 26 when we
4103 really wanted to go to 2!
4105 * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
4108 2002-10-28 Bill Wohler <wohler@newt.com>
4110 * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
4111 (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
4112 of mh-show-mime-save-parts.
4114 2002-10-28 Peter S Galbraith <psg@debian.org>
4116 * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
4118 * mh-utils.el (mh-show-tool-bar-map): Same.
4119 * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
4121 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
4123 * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
4124 its behavior like that of mh-narrow-to-seq.
4126 2002-10-27 Bill Wohler <wohler@newt.com>
4128 * mh-mime.el (mh-mime-save-parts): Renamed from
4129 mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
4130 bug whereby mh-mime-save-parts-directory was not getting
4131 initialized properly from a string-valued
4132 mh-mime-save-parts-default-directory.
4133 (mh-mime-save-parts-default-directory): Ditto. Check your
4135 (mh-mime-save-parts-directory): Ditto.
4137 * mh-utils.el (mh-show-mime-save-parts): Renamed from
4138 mh-store-mime-parts.
4139 (mh-show-mime-map): Added keybinding "K a" for
4140 mh-show-mime-save-parts.
4142 * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
4143 (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
4144 (mh-help-messages): Added help for "K a".
4146 2002-10-27 Peter S Galbraith <psg@debian.org>
4148 * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
4149 the first to the second (and recode a bit).
4150 (mh-insert-mail-followup-to): Use it.
4152 2002-10-27 Bill Wohler <wohler@newt.com>
4154 * mh-utils.el (mh-invisible-headers): Backed out change. Removed
4155 Mail-Followup-To due to objections from Peter and Mark.
4157 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
4159 * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
4160 whether the message being queried about has been marked to be
4163 * mh-mime.el (mh-insert-mime-security-button): Make
4164 pressed-details a local.
4166 2002-10-27 Steve Youngs <youngs@xemacs.org>
4168 * .cvsignore: New file.
4170 2002-10-26 Steve Youngs <youngs@xemacs.org>
4172 * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
4173 variable 'dest', it isn't used anywhere.
4175 * mh-pick.el (mh-do-pick-search): Don't bind local variable
4176 'finding-messages', it isn't used anywhere.
4178 * mh-utils.el: Byte-compiler warning suppression.
4179 (mh-gnus-article-highlight-citation): Rather than redefining
4180 'gnus-cite-face-list', just re-order it.
4181 (mh-show-mode): Force turning on font-lock in XEmacs.
4183 * mh-seq.el: Byte-compiler warning suppression.
4185 * mh-index.el: Byte-compiler warning suppression.
4187 * mh-comp.el: Byte-compiler warning suppression.
4189 * mh-xemacs-compat.el: Add defaliases for 'timerp' &
4190 'cancel-timer' to the equivalent 'itimer' functions.
4191 (rfc822): Require it for 'rfc822-goto-eoh'.
4192 Byte-compiler warning suppression.
4194 * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
4195 (mh-toggle-threads): Remove duplicate autoload.
4196 Byte-compiler warning suppression.
4197 (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
4198 in XEmacs when font-lock is on.
4199 (mh-folder-unseen-seq-name): Ditto.
4201 2002-10-27 Mark D. Baushke <mdb@gnu.org>
4203 * Makefile: Reorganize to allow for building also compiling for
4204 XEmacs too. Sanitize so that it will work using least-common
4205 denominator versions of 'make'. Tested using GNU make, Solaris make,
4207 (all): Use recursive invokation based on the emacs or xemacs
4208 executable passed on the 'make EMACS=xemacs' command line.
4209 (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
4210 to compile things properly.
4211 (AUTO_PRELOADS): Magic XEmacs glue.
4214 (custom-loads): Ditto.
4216 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
4218 * mh-e.el (mh-last-msg): Add call to mh-recenter.
4220 2002-10-26 Peter S Galbraith <psg@debia.org>
4222 * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
4223 `mh-re-search-to-cc' in favour of more generalized new function
4224 `mh-search-addr-regexp'.
4225 (mh-insert-mail-followup-to): Use it.
4227 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
4229 * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
4230 folder is already threaded. This is more efficient and also avoids
4231 problems when the folder is widened.
4232 (mh-thread-inc): Don't try to restore the point to original
4233 location since mh-inc-folder from where this is called changes
4234 point location after calling this function.
4236 * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
4239 2002-10-26 Peter S Galbraith <psg@debian.org>
4241 * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
4243 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
4245 * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
4246 of dest. The problem was pointed out by Steve as well.
4248 * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
4249 pointed out by Steve.
4251 2002-10-26 Bill Wohler <wohler@newt.com>
4253 * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
4255 2002-10-26 Peter S Galbraith <psg@debian.org>
4257 * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
4260 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
4262 * mh-e.el (mh-remove-all-notation): New function that removes all
4265 * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
4266 remove all notation. This avoids stale notation hanging around.
4267 Also changes in show buffer and position in folder buffer are
4268 avoided if possible.
4269 (mh-widen): When widening the scan-lines are notated based on the
4270 current state of the folder. This means any changes made when the
4271 folder was narrowed are shown consistently.
4272 (mh-notate-deleted-and-refiled): Update the documentation.
4273 (mh-thread-parse-scan-line): For some reason the ASCII value of
4274 the space character was being used here. This is fixed.
4275 (mh-thread-inc, mh-toggle-threads): Avoid change of point in
4276 folder and message being displayed in shown buffer.
4278 * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
4279 blank lines when point is towards the end of the folder buffer.
4281 2002-10-25 Peter S Galbraith <psg@debian.org>
4283 * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
4284 defcustom to append a Mail-Followup-To field to the header. The
4285 insertion is done if the To: or Cc: fields matches an entry in
4286 `mh-insert-mail-followup-to-list'."
4287 (mh-insert-mail-followup-to-list): New defvar. List of addresses
4288 for which a Mail-Followup-To field is inserted.
4289 (mh-re-search-to-cc): New function. Search for REGEXP in To: and
4291 (mh-insert-mail-followup-to): New function. Insert
4292 Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
4293 (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
4294 mh-insert-mail-followup-to-flag is true.
4296 2002-10-25 Mark D. Baushke <mdb@gnu.org>
4298 * mh-utils.el (mh-show-maximum-size): New variable to control
4299 the display of large messages.
4300 (mh-display-msg): Use it (Closes SF #488696).
4302 * mh-seq.el (mh-toggle-threads): Checkdoc fix.
4304 * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
4306 * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
4307 mh-insert-x-mailer-p. Update docstring.
4308 (mh-send-letter): Use it.
4309 (mh-reply-show-message-flag): Renamed from
4310 mh-reply-show-message-p. Update docstring.
4312 This addresses part of SF #627015.
4314 * mh-e.el (mh-recenter-summary-flag): Renamed from
4315 mh-recenter-summary-p. Update docstring.
4316 (mh-set-scan-mode): Use it.
4317 This addresses part of SF #627015.
4319 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
4321 * mh-e.el (mh-reset-threads-and-narrowing): New function which
4322 resets all thread and narrowing state to completely unthreaded and
4323 widened state. As a side effect, the folder buffer is erased.
4324 (mh-rescan-folder): Reset threads and narrowing state.
4326 * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
4328 * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
4329 threading is over so that if user aborts threading, it doesn't
4330 leave mh-e in an inconsistent state.
4331 (mh-toggle-threads): Use mh-scan-folder to populate the folder
4332 buffer instead of mh-rescan-folder which resets threading and
4335 2002-10-24 Bill Wohler <wohler@newt.com>
4337 * mh-e is completely checkdoc clean now.
4339 * mh-utils.el (mh-clean-message-header-flag): Renamed from
4340 mh-clean-message-header.
4341 (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
4342 (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
4343 This addresses part of SF #627015.
4345 * mh-mime.el (mh-clean-message-header-flag): Renamed from
4346 mh-clean-message-header.
4347 Checkdoc fixes. This addresses part of SF #627015.
4349 * mh-index.el (mh-clean-message-header-flag): Renamed from
4350 mh-clean-message-header. This addresses part of SF #627015.
4352 * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
4353 mh-do-not-confirm. This addresses part of SF #627015.
4355 * mh-e.el (mh-do-not-confirm-flag): Renamed from
4357 (mh-clean-message-header-flag): Renamed from
4358 mh-clean-message-header.
4359 This addresses part of SF #627015.
4361 * mh-comp.el: checkdoc fixes.
4363 2002-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
4365 * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
4366 fresh instead of yanking from buffer. This is needed to get
4367 correct threading in copied sequence.
4368 (mh-thread-inc, mh-thread-update-scan-line-map)
4369 (mh-thread-parse-scan-line): Eliminate the use, and hence the
4370 definition of, the kludgy mh-thread-update-scan-line-map. Instead
4371 the functions mh-notate-deleted-and-refiled and
4372 mh-notate-user-sequences are used to get the message marks right.
4373 (mh-thread-generate-scan-lines): Updated to allow the thread tree
4374 to be used in a narrowed folder buffer.
4375 (mh-thread-folder, mh-toggle-threads): Remove
4376 mh-folder-threaded-view-flag.
4377 (mh-thread-old-scan-line-map): New buffer-local variable that
4378 remembers the original scan-line map so that the sequence thread,
4379 narrow, widen will work.
4380 (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
4381 narrowing and restore it when widening.
4383 * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
4384 (mh-regenerate-headers, mh-get-new-mail)
4385 (mh-make-folder-mode-line, mh-process-commands)
4386 (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
4387 Instead (memq 'unthread mh-view-ops) is used to test if the folder
4390 * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
4391 since we want to do emphasis on the whole of the region and not
4392 just after the first blank line.
4393 (mh-mm-display-part): When displaying a text part show smilies and
4396 * mh-index.el (mh-index-insert-scan): Attempt to keep number of
4397 args to scan small if there are lots of adjacent matches.
4398 (mh-index-quit): Bury index-buffer on quit instead of killing it.
4399 This behavior is more like that of mh-quit.
4401 * mh-seq.el (mh-widen): If folder was threaded after narrowing
4402 then make mh-widen undo the threading instead of erroring out.
4404 2002-10-24 Peter S Galbraith <psg@debian.org>
4406 * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
4407 Satyaki) to properly unthread a narrowed-to-sequence.
4409 * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
4410 breakage from partial switch to mh-container-real-child-flag and
4413 * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
4414 (eq t mh-yank-from-start-of-msg) when that's what we want.
4416 2002-10-24 Mark D. Baushke <mdb@gnu.org>
4418 * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
4419 subject-pruned-flag.
4420 (mh-thread-inc): Renamed old-buffer-modified-p as
4421 old-buffer-modified-flag.
4422 (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
4423 This addresses part of SF #627015.
4425 * mh-index.el (mh-index-advance): Renamed backward-p
4426 local variable as backward-flag.
4427 (mh-index-next-button): Renamed backward-p
4428 argument as backward-flag.
4429 (mh-index-show): Renamed display-headers-p argument as
4430 display-headers-flag.
4431 This addresses part of SF #627015.
4433 * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
4434 (mh-folder-mime-action): Renamed include-security-p
4435 argument as include-security-flag.
4436 (mh-goto-next-button, mh-next-button): Renamed backward-p
4437 argument as backward-flag.
4438 (mh-get-new-mail): Renamed new-mail-p local variable as
4440 (mh-goto-cur-msg): Renamed minimal-changes-p argument as
4441 minimal-changes-flag.
4442 (redraw-needed-flag): Renamed redraw-needed-p local variable as
4444 (mh-seq-containing-msg): Renamed include-internal-p argument as
4445 include-internal-flag.
4446 (mh-page-msg): Use mh-page-to-next-msg-flag.
4447 This addresses part of SF #627015.
4449 * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
4450 mh-mhn-compose-insert-p. Make it buffer-local.
4451 (mh-mhn-compose-type, mh-mhn-compose-external-type,
4452 mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
4453 (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
4454 mh-mime-display-part, mh-mime-display-single): Use
4455 mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
4456 (mh-mime-display-single): Renamed small-image-p local
4457 variable as small-image-flag.
4458 (mh-mime-inline-part): Renamed local variable inserted-p as
4460 (mh-mime-inline-part): Renamed local variable displayed-p as
4462 This addresses part of SF #627015.
4464 * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
4465 mh-mhn-compose-insert-flag.
4466 (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
4467 renamed from mh-nmh-p.
4468 (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
4469 (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
4470 mh-gnus-pgp-support-p.
4471 (mh-mml-secure-message-sign-pgpmime): Use
4472 mh-gnus-pgp-support-flag.
4473 This addresses part of SF #627015.
4475 * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
4476 mh-page-to-next-msg-p.
4477 (mh-show-msg): Use mh-page-to-next-msg-flag.
4478 (mh-gnus-pgp-support-flag): Renamed from
4479 mh-gnus-pgp-support-p.
4480 (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
4481 (with-mh-folder-updating): Renamed argument
4482 save-modification-flag-p as mh-save-modification-flag.
4483 (mh-prompt-for-folder): Renamed new-file-p local
4484 variable as new-file-flag.
4485 This addresses part of SF #627015.
4487 2002-10-24 Mark D Baushke <mdb@gnu.org>
4489 * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
4490 in last commit to be mh-mml-compose-insert-flag.
4491 (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
4493 2002-10-24 Jeffrey C Honig <jch@honig.net>
4495 * mh-comp.el (mh-forward): Add support for transient-mark mode.
4496 When using nmh, always specify -mime so as to preserve the
4497 original message(s). If mh-compose-insertion is 'gnus, convert
4498 the mhbuild format forwarding directives into MML.
4500 2002-10-24 Eric Ding <ericding@alum.mit.edu>
4502 * mh-comp.el (mh-send-letter): Fix for earlier change that added
4503 "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
4504 at least no longer triggered for every outgoing message!
4506 2002-10-24 Peter S Galbraith <psg@debian.org>
4508 * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
4511 * mh-comp.el (mh-yank-cur-msg): Fix for supercite. Someone played
4512 with the point and mark setting prior to the call to
4513 'mh-insert-prefix-string and that broke supercite. I put comments
4514 to make it obvious to future coders why those settings exists.
4515 Note that supercite is still broken when a region is selected in
4516 the show buffer. Presumably it's been like that for a long time.
4517 We need to insert the header as well as the selected region oin
4518 that case. I'll submit an SF bug.
4520 2002-10-24 Jeffrey C Honig <jch@honig.net>
4522 * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
4523 flag to reply when 'autosupercite or 'autoattrib are specified to
4524 prevent duplicate cites of the body of a message.
4526 2002-10-23 Satyaki Das <satyaki@theforce.stanford.edu>
4528 * mh-utils.el (font-lock-default-fontify-region): Add autoload to
4529 avoid compiler warning.
4531 2002-10-23 Peter S Galbraith <psg@debian.org>
4533 * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
4534 own 'mh-fill-paragraph-function instead of simply
4535 'mail-mode-fill-paragraph (because it doesn't handle a non-nil
4536 fill-prefix correctly).
4537 (mh-fill-paragraph-function): New function for mh-letter-mode
4538 fill-paragraph-function in order to handle non-nil fill-prefix.
4539 Call sendmail's mail-mode-fill-paragraph if in the mail header,
4540 else call default fill-paragraph with fill-prefix set to nil.
4543 * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
4544 used in show-mode. The reason is that gnus uses static text
4545 properties which are not appropriate for a buffer that will be
4546 edited. So the choice here is either fontify the citations and
4547 header or the header only.
4549 * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
4550 in mh-show-mode to the header. Used when mh-highlight-citation-p
4551 is set to gnus, leaving the body to be dealt with by gnus
4552 highlighting. This fixes gnus text emphasis in mh-show-mode.
4553 (mh-show-mode): In font-lock-defaults, set
4554 font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
4556 2002-10-23 Bill Wohler <wohler@newt.com>
4558 * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
4559 be Disposition, not Content-Type. The Content-Type has been
4560 determined automatically.
4562 2002-10-23 Mark D. Baushke <mdb@gnu.org>
4565 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
4566 s/mh-show-use-xface/mh-show-use-xface-flag/
4567 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
4568 This addresses part of SF #627015.
4571 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
4572 s/mh-xemacs-p/mh-xemacs-flag/
4573 (mh-letter-menu): Use mh-mml-compose-insert-flag.
4574 (mh-insert-x-mailer): Use mh-xemacs-flag.
4575 (mh-mml-compose-insert-flag): Renamed from
4576 mh-mml-compose-insert-p.
4577 (mh-send-letter): Use mh-mml-compose-insert-flag.
4578 This addresses part of SF #627015.
4581 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
4582 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
4583 s/mh-xemacs-p/mh-xemacs-flag/
4584 (mh-folder-threaded-view-flag): Renamed from
4585 mh-folder-threaded-view-p. Make it buffer local.
4586 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
4587 (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
4588 (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
4589 mh-adaptive-cmd-note-flag.
4590 (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
4591 mh-make-folder-mode-line, mh-process-commands,
4592 mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
4593 This addresses part of SF #627015.
4596 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
4597 (mh-index-search): Use mh-adaptive-cmd-note-flag.
4598 This addresses part of SF #627015.
4601 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
4602 s/mh-xemacs-p/mh-xemacs-flag/
4603 (mh-mml-compose-insert-flag): Renamed from
4604 mh-mml-compose-insert-p. Make it buffer local.
4605 (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
4606 mh-mml-secure-message-encrypt-pgpmime): Use it.
4607 (gnus-local-map-property): Use mh-xemacs-flag.
4608 This addresses part of SF #627015.
4611 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
4612 (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
4613 mh-folder-threaded-view-flag.
4614 This addresses part of SF #627015.
4617 s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
4618 s/mh-speed-refresh-p/mh-speed-refresh-flag/
4619 (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
4620 (mh-folder-speedbar-buttons): Use it.
4621 (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
4622 (mh-speed-update-current-folder, mh-speed-invalidate-map,
4623 mh-speed-add-folder): Use it.
4624 This addresses part of SF #627015.
4627 s/mh-xemacs-p/mh-xemacs-flag/
4628 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
4629 s/mh-show-use-xface/mh-show-use-xface-flag/
4630 (mh-xemacs-flag): Renamed from mh-xemacs-p.
4631 (mh-show-xface-function): Use it.
4632 (mh-tool-bar-reply-3-buttons-flag): Renamed from
4633 mh-tool-bar-reply-3-buttons.
4634 (mh-show-tool-bar-map): Use it.
4635 (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
4636 (mh-cmd-note): Use it in description.
4637 (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
4639 (mh-show-xface): Use mh-show-use-xface-flag.
4640 This addresses part of SF #627015.
4642 2002-10-23 Bill Wohler <wohler@newt.com>
4644 * Makefile (all): Rather than have to run "make clean all" all the
4645 time, make the default target do a clean so all you have to say is
4648 * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
4651 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
4653 * mh-index.el (mh-indexer-choices, mh-swish-binary): The
4654 executable swish-e can be used to search (just like swish-search).
4655 However the Makefile in swish-e-2.2.2 doesn't install
4656 swish-search. So it is preferable to use swish-e.
4658 2002-10-22 Bill Wohler <wohler@newt.com>
4660 * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
4661 For example, you now have "C-c C-m C-i" in addition to "C-c C-m
4664 2002-10-22 Mark D. Baushke <mdb@gnu.org>
4666 * mh-mime.el (mh-graphical-smileys-flag): Renamed from
4667 mh-graphical-smileys-p.
4668 (mh-display-smileys): Use it.
4669 (mh-graphical-emphasis-flag): Renamed from
4670 mh-graphical-emphasis-p.
4671 (mh-display-emphasis): Use it. This addresses part of SF #627015.
4673 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
4675 * mh-mime.el (mh-insert-mime-security-button): A message is
4676 produced if PGP decryption/verification fails. This addresses
4679 2002-10-21 Bill Wohler <wohler@newt.com>
4681 * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
4682 The info node (elisp) Coding Conventions says: "An error message
4683 should start with a capital letter but should not end with a
4686 * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
4687 defcustom to mh-utils because I got an error about a nil value for
4688 mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
4690 * mh-comp.el, mh-funcs,el, mh-mime.el, mh-pick.el: Moved (provide)
4691 to the end of the file to be consistent with most other files (see
4692 additional rationale in mh-e.el description below).
4694 * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
4695 here too (because the remove-if generated a warning in CVS Emacs).
4696 Moved (provide) to the end of the file to be consistent with most
4697 other files. My guess is that this is good to keep a feature from
4698 being "provided" if the file craps out while being loaded.
4700 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
4702 * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
4704 (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
4707 * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
4709 (mh-valid-view-change-operation-p): New function that checks if
4710 the widening or unthreading that we are about to perform is
4712 (mh-widen): Check if widening is applicable.
4713 (mh-thread-inc, mh-thread-folder): Use delete-region instead of
4714 erase-buffer. This means if the buffer is narrowed then the hidden
4715 parts aren't removed. This allows widening of the folder later on.
4716 (mh-toggle-threads): Maintain mh-view-ops.
4718 * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
4719 that keeps track of the sequence in which threading and narrowing
4720 of the folder buffer has been carried out. This is needed so that
4721 narrowing followed by threading (or vice versa) behaves in a
4723 (mh-regenerate-headers): Use delete-region instead of
4725 (mh-make-folder-mode-line): Change mh-first-msg-num and
4726 mh-last-msg-num conservatively. This might show a larger range in
4727 the mode-line but allows the unthreading to not miss messages
4730 2002-10-21 Bill Wohler <wohler@newt.com>
4732 * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
4733 docstring, as well as the source of the strings,
4734 gnus-emphasis-alist.
4735 (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
4738 2002-10-21 Peter S Galbraith <psg@debian.org>
4740 * mh-utils.el (mh-show-mode): Invoke new toolbar.
4741 (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
4744 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
4746 * mh-utils.el (mh-display-msg): Call the smiley display function
4747 after the call to mh-show-mode. This is needed since mh-show-mode
4748 kills all buffer-local variables and resets the variable that
4749 controls display of graphical smileys.
4751 2002-10-21 Bill Wohler <wohler@newt.com>
4753 * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
4755 * mh-comp.el (mh-mml-to-mime autoload): Ditto.
4757 2002-10-21 Mark D Baushke <mdb@gnu.org>
4759 * mh-mime.el (smiley-region): Use load for a non-fatal dependency
4760 on the smiley library.
4762 2002-10-21 Jeffrey C Honig <jch@honig.net>
4764 * mh-comp.el (mh-forward): Search for a blank line as well as
4765 mail-header-separator.
4766 (mh-letter-mode): Search for a blank line as well as
4767 mail-header-separator.
4768 (mh-send-letter): The default BCC encapsulation will make a MIME
4769 message unreadable. If we are running nmh and the letter contains
4770 a Bcc: and a Content-Type: field, add the -mime switch to to the
4773 2002-10-21 Peter S Galbraith <psg@debian.org>
4775 * mh-utils.el: Add a mh-defun-show-buffer call to define
4776 mh-show-pack-folder.
4778 2002-10-21 Peter S Galbraith <psg@debian.org>
4780 * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
4782 * mh-e.el (mh-help-messages): Update help message for changed
4785 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
4787 * mh-speed.el (mh-speed-invalidate-map): Invalidate
4788 mh-speed-folders-cache before it is used by mh-speed-folders. Also
4789 fix indentation of if statement.
4790 (mh-speed-folder-size): The folder name should be extracted from
4791 the speedbar buffer and not from the temp buffer has was happening
4793 (mh-speed-folder-size): Harden the function some more. It
4794 shouldn't produce errors any more unless flist really didn't work.
4796 2002-10-21 Bill Wohler <wohler@newt.com>
4798 * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
4799 in there is because I was trying to use mh-put-msg-in-seq and
4800 mh-msg-is-in-seq non-interactively and found that although the
4801 docstring says it uses the current message by default, I got
4802 errors if I passed in nil for the message. Is this expected, or is
4803 this a bug? I suppose the fix would be to make the arguments
4804 optional, right? This would cause the arguments in
4805 mh-put-msg-in-seq to be reversed, however. Might be a backwards
4806 compatibility problem.
4808 * mh-speed.el (mh-speed-view): Convert default size to string
4809 before passing it to read-string. This was done because XEmacs
4810 can't handle a numeric value for the default.
4812 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
4814 * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
4815 (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
4816 (mh-show-digest-map, mh-show-mime-map): Interactive functions
4817 callable in show buffer are now prefixed with mh-show.
4819 * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
4820 changes to mh-refile-list and the removal of the 'deleted
4822 (mh-toggle-threads): Changing from threaded to normal view doesn't
4823 try to push out message refiles and deletions to MH.
4825 * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
4826 argument to both functions that prevents them from carrying out
4827 pending refiles and deletes.
4828 (mh-undo): Remove dead code.
4829 (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
4830 The same information is present in mh-delete-list any way.
4831 (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
4832 semantics of mh-refile-list to make it self-contained. This
4833 variable now contains a list of lists. The first element of each
4834 sublist is the destination folder name. The remaining elements are
4835 the messages that are to be refiled to the destination folder.
4836 (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
4837 instead of mh-thread-folder.
4839 2002-10-20 Peter S Galbraith <psg@debian.org>
4841 * mh-mime.el (mh-store-mime-parts): Bug fix? Make this command
4842 work when in the show buffer, and not just in the folder buffer
4843 pointing to a message.
4845 2002-10-20 Peter S Galbraith <psg@debian.org>
4847 * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
4848 mh-narrow-to-subject-thread.
4849 (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
4850 (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
4851 (mh-next-unseen-subject-sequence): Renamed from
4852 mh-next-unseen-subject-thread.
4853 (mh-toggle-subject-thread): Removed. :-(
4855 * mh-e.el: s/subject-thread/subject-sequence/
4856 (mh-thread-map): Bind mh-widen to "w".
4858 * mh-utils.el: s/subject-thread/subject-sequence/
4859 (mh-show-thread-map): Bind mh-widen to "w".
4861 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
4863 * mh-seq.el (mh-thread-folder): This function is no longer
4864 interactive. The mh-toggle-threads is the interactive function
4865 that gets called by the user. Also the already computed values in
4866 mh-first-msg-num and mh-last-msg-num are used instead of
4867 recomputing the first and last message indices in the current
4869 (mh-toggle-threads): New interactive function that toggles
4870 threaded view of the folder.
4872 * mh-utils.el (mh-letter-toggle-threads): New interactive function
4873 which toggles thread view from show buffer. This function replaces
4874 mh-letter-thread-folder.
4875 (mh-show-folder-map): Use mh-letter-toggle-threads instead of
4876 mh-letter-thread-folder.
4878 * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
4881 2002-10-20 Bill Wohler <wohler@newt.com>
4883 * mh-e.el (mh-scan-folder): Formatting only.
4884 (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
4885 where there isn't a current message. Since I've started using the
4886 speedbar to read my mh-e mail, I've had to use M-< every time to
4887 go to the beginning of the new messages. Very annoying! Thus, if
4888 there isn't a current message, the cursor is left alone, which
4889 sounds like the right thing to do anyway.
4891 2002-10-19 Peter S Galbraith <psg@debian.org>
4893 * mh-seq.el (mh-subject-thread-to-sequence): Bug fix. After
4894 making the 'subject sequence real, I now have to delete it globally.
4896 * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
4897 scan exactly mh-widen (removed moving to current message).
4899 * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
4900 sequence a real one, exported to MH. This means you can, for
4901 example, mh-forward it. But it also shows up with a mark in the
4902 scan output. (Closes SF #489445).
4904 2002-10-19 Bill Wohler <wohler@newt.com>
4906 * mh-speed.el (mh-speed-view): If there weren't any unseen
4907 messages, and you specified a string (a sequence like "last") when
4908 prompted for the number of messages to display, you got an error.
4909 This has been fixed.
4911 2002-10-19 Mark D Baushke <mdb@gnu.org>
4913 * mh-e.el (mh-last-destination-folder): Destination of last refile
4915 (mh-last-destination-write): Destination of last write command.
4916 (mh-refile-msg): Use 'mh-last-destination-folder and update both it
4917 and 'mh-last-destination.
4918 (mh-write-msg-to-file): Use 'mh-last-destination-write and update
4919 both it and 'mh-last-destination (Closes SF #580772).
4921 2002-10-19 Bill Wohler <wohler@newt.com>
4923 * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
4925 (mh-letter-mode-map): Removed commented-out keybindings as well as
4926 alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
4928 * mh-utils.el: Removed autoload of help. It no longer appears to
4929 be necessary in cvs Emacs (21.4).
4931 2002-10-18 Bill Wohler <wohler@newt.com>
4933 * mh-e.el (mh-execute-commands): Doc fix.
4934 (mh-compat-write-file-hook): Renamed to
4935 mh-write-file-functions-compat.
4936 (mh-folder-mode): Add mh-write-file-functions-compat instead of
4937 mh-compat-write-file-hook
4939 2002-10-18 Peter S Galbraith <psg@debian.org>
4941 * mh-utils.el (mh-invisible-headers-show-xface): Killed this
4943 (mh-invisible-headers): Use 'mh-show-use-xface instead of
4944 'mh-invisible-headers-show-xface to determine whether to render
4945 the X-Face header line visible or not.
4947 2002-10-18 Satyaki Das <satyaki@theforce.stanford.edu>
4949 * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
4950 macro mh-compat-write-file-hook to use write-file-functions for
4951 Emacs 21.4 and local-write-file-hooks for older versions.
4953 2002-10-18 Mark D Baushke <mdb@gnu.org>
4955 * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
4957 2002-10-18 Peter S Galbraith <psg@debian.org>
4959 * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
4960 a malformed composition if the description string is empty, so
4961 test for that and call mml-attach-file without that argument if
4962 it's an empty string (closes SF #625168).
4964 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
4966 * mh-index.el (mh-index-keymap): Removed extra binding of " ".
4967 (mh-index-folder-mode-help-messages): Made the cheat sheet entry
4968 of quit like the others.
4969 (mh-index-search): If space was pressed in the index buffer before
4970 a search result has been shown with ".", the old show buffer would
4971 be scrolled. This is confusing since the index and show buffer
4972 contents are contradictory. Killing the show buffer here avoids
4974 (mh-index-configure-windows): Refine the window configuration
4975 logic. Avoid the two window view unless there is a message being
4976 displayed in the show buffer.
4977 (mh-index-scroll-up): Rewrite this function. The old version had a
4978 bizarre problem where the show buffer wouldn't be scrolled if the
4979 speedbar was present.
4980 (mh-index-scroll-down): Rewritten because of similar reason as
4983 2002-10-17 Peter S Galbraith <psg@debian.org>
4985 * mh-comp.el (mh-reply): Add an undo boundary in the undo list
4986 before calling 'mh-yank-cur-msg (closes SF #623693).
4988 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
4990 * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
4991 write-file-hooks. This is required for XEmacs and also the right
4992 thing according to GNU Emacs21 documentation.
4994 2002-10-16 Satyaki Das <satyaki@theforce.stanford.edu>
4996 * mh-seq.el (mh-thread-generate): Get threading to work correctly
4997 on partial folders. The fix here disregards messages that aren't
4998 already present in the buffer.
4999 (mh-thread-folder): When querying scan about thread info try to
5000 avoid asking about messages that aren't present in the folder
5001 buffer. A more efficient fix would be to ask scan about just the
5002 messages that are present instead of a range of messages. However
5003 that runs the risk of sending long command lines to scan. Another
5004 change was to populate the mh-scan-line-map early so that the
5005 change in mh-thread-generate would work.
5006 (mh-thread-generate-scan-lines): In case duplicates are present
5007 make one of them the pseudo parent of the rest. This makes it look
5008 prettier if there are multiple duplicates at top level.
5010 * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
5011 reused then reinsert message file. This should fix SF #624283.
5013 * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
5014 always called when we want to remove the displayed MIME part.
5016 2002-10-16 Bill Wohler <wohler@newt.com>
5018 * mh-speed.el (mh-speed-folder-size): checkdoc fix.
5019 (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
5020 to view number of messages in folder rather than mh-large-folder.
5021 Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
5022 former was generating errors.
5024 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
5026 * mh-speed.el (mh-large-folder): New customizable variable to
5027 control mh-e's perception of large folders.
5028 (mh-speed-folder-size): New function which computes the size of
5029 folder on current line.
5030 (mh-speed-view): Modified to handle large folders. If the folder
5031 being clicked has unseen messages then only those messages are
5032 shown. Otherwise if number of messages in folder is larger than
5033 mh-large-folders then the user is asked for the number of messages
5034 to be shown. If the folder satisfies neither of the above cases
5035 then it is displayed in its entirety
5037 2002-10-15 Bill Wohler <wohler@newt.com>
5039 * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
5040 Noticed that there were two key bindings for SPACE...
5042 * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
5045 Completed help in other modes:
5047 * mh-utils.el (mh-xemacs-p): Fixed doc.
5048 (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
5049 (mh-show-thread-map, mh-show-extract-map): Added binding for
5052 * mh-pick.el (mh-search-folder): Added startup help message.
5053 (mh-pick-mode-help-messages): New variable that contains help
5054 messages for pick buffer.
5055 (mh-pick-mode): Set local buffer variable mh-help-messages to
5056 mh-pick-mode-help-messages.
5058 * mh-index.el (mh-index-keymap): Added binding for mh-help
5059 (mh-index-folder-mode-help-messages): New variable that contains
5060 help messages for MH Index buffer.
5061 (mh-index-folder-mode): Set local buffer variable mh-help-messages
5062 to mh-index-mode-help-messages.
5064 * mh-funcs.el (mh-help, mh-prefix-help): Call
5065 substitute-command-keys on the help messages.
5067 * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
5068 (mh-help): This autoload doc is now used for more than just the
5069 MH-Folder, so drop that specific text.
5071 * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
5072 (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
5073 to display a help message at startup.
5074 (mh-letter-mode): Set local buffer variable mh-help-messages to
5075 mh-letter-mode-help-messages.
5076 (mh-letter-mode-help-messages): New variable with help messages
5077 for the MH-Letter buffer.
5078 (mh-letter-mode-message): New function that displays a startup
5080 (mh-letter-mode-map): Added binding for mh-help. Sorted.
5082 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
5084 * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
5085 (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
5086 (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
5088 (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
5089 (mh-speed-add-buttons): Use the new faces.
5090 (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
5091 to bold face and back to normal face.
5092 (mh-speed-set-face): Removed.
5093 (mh-speed-highlight): Modified to allow it to be used instead of
5094 mh-speed-set-face. Also changes were made to fontify folders with
5096 (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
5097 (mh-speed-invalidate-map): Use mh-speed-highlight instead of
5100 2002-10-15 Bill Wohler <wohler@newt.com>
5102 * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
5103 the cl package has been restructured in 21.4 in such a way that
5104 the use of eval-when-compile no longer suppresses warnings when
5105 compiling so that (require 'cl) must be called directly (maybe
5106 this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
5107 needed. Now compiles clean under 21.4.
5109 * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
5110 deprecated in Emacs 21.4, so use add-hook write-file-functions (or
5111 write-file-hook for older versions) with the LOCAL argument
5112 instead. Now compiles clean under 21.4.
5114 * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
5115 the included text to make it easy to jump or delete to the other
5116 end of the included text.
5118 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
5120 * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
5121 of set-mark and other related functions.
5123 2002-10-14 Bill Wohler <wohler@newt.com>
5125 * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
5126 isn't ignored if there is a region. It is still used for the
5128 (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
5129 entire message. Move the cursor to the end of the snarfed message
5130 if there is a region. In this case, push a mark so user can pop to
5131 the beginning of the snarfed fragment.
5132 (mh-insert-prefix-string): This calls set-mark which I find
5133 suspect since I found that my last user mark was deleted after
5134 yanking a message. Added a comment to this effect. Will probably
5137 * README (Installed, Supported versions): To appear in GNU Emacs
5138 21.3; supported on Emacs 21, 20.7 and XEmacs 21.
5140 * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
5141 (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
5142 (mh-ephem-message): Use "%s" in message.
5144 * mh-funcs.el (mh-concat-list): New function to concatenate a list
5145 of strings into a single string. I would have thought elisp
5146 already contained a function like this, but I couldn't find it.
5147 (mh-ephem-message): New function to display a message in the
5148 minibuffer ephemerally. minibuffer-message seemed like the right
5149 function, but it writes to the current buffer oddly enough.
5150 (mh-help, mh-prefix-help): New functions to display command
5151 cheat sheets in the minibuffer (closes SF #493740). It would be
5152 nice to refactor these two into a single function if possible.
5154 * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
5155 (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
5156 and `mh-prefix-help' (closes SF #493740).
5157 (mh-help-messages): New variable to hold various help messages.
5158 (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
5160 2002-10-13 Bill Wohler <wohler@newt.com>
5162 * mh-index.el (mh-glimpse-directory, mh-swish-directory,
5163 mh-namazu-directory): New variables that hold the name of the
5164 configuration and indexing directory. All are now hidden `.'
5167 * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
5168 mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
5169 docstrings, reworded some docstrings to conform to Emacs
5170 documentation conventions, and eliminated all checkdoc warnings
5171 (except for -flag, which we'll fix after 6.2 is released).
5173 2002-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
5175 * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
5176 where the lack of a trailing "/" caused the function to wrongly
5177 filter out correct hits. This should fix SF #622679.
5179 2002-10-12 Steve Youngs <youngs@xemacs.org>
5181 * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
5182 'defvaralias' and don't use 'running-xemacs'.
5184 2002-10-11 Bill Wohler <wohler@newt.com>
5186 * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
5187 converting comments to docstrings and rewording some docstrings to
5188 conform to Emacs documentation conventions.
5190 2002-10-11 Steve Youngs <youngs@xemacs.org>
5192 * mh-utils.el (mh-xemacs-p): New.
5193 (mh-show-use-xface): Use it.
5194 (mh-show-xface-function): Ditto.
5196 * mh-e.el (toplevel): Ditto.
5197 (mh-remove-xemacs-horizontal-scrollbar): Ditto.
5198 (mh-folder-mode-map): Ditto.
5200 * mh-comp.el (mh-insert-x-mailer): Ditto.
5202 * mh-mime.el (gnus-local-map-property): Ditto.
5203 (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
5204 (mh-prompt-for-folder): Autoloading this not needed because
5205 mh-utils is now required at toplevel.
5206 (mh-show-xface): Ditto.
5207 (mh-show-addr): Ditto.
5209 2002-10-11 Bill Wohler <wohler@newt.com>
5211 * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
5214 * mh-utils.el (mh-invisible-headers): Added various spam header
5216 (mh-path-search): Removed argument `func-p' and related code. It
5217 was not documented and no one used it.
5218 (Docstrings): Converted comments to docstrings, reworded some
5219 docstrings to conform to Emacs documentation conventions, and
5220 basically eliminated all checkdoc warnings (except for -flag
5223 2002-10-11 Satyaki Das <satyaki@theforce.stanford.edu>
5225 * mh-seq.el (mh-thread-generate): Kill dead code.
5227 2002-10-10 Satyaki Das <satyaki@theforce.stanford.edu>
5229 * mh-seq.el (mh-region-to-sequence): Don't include point-max in
5230 region (closes SF #621632).
5232 * mh-utils.el (mh-defun-show-buffer): Fix call of
5233 frame-first-window to work with XEmacs. Also avoid warning about
5234 cur-buffe-name in XEmacs.
5235 (mh-modify, mh-goto-msg): Remove dead code.
5237 * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
5240 * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
5241 mh-thread-generate, mh-thread-folder): Remove dead code.
5243 * mh-mime.el (mh-mm-inline-message): Remove dead code.
5245 * mh-index.el (mh-index-search): Remove dead code.
5247 * mh-comp.el (mh-open-line): Remove dead code.
5249 * mh-e.el (mh-folder-mode): Use the macro
5250 mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
5252 (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
5255 2002-10-10 Mark D Baushke <mdb@gnu.org>
5257 * Makefile (EMACS_OPTIONS): New macro for command-line compile
5259 (EMACS): Allow the user to specify which emacs command to use for
5261 (COMPILE_COMMAND): Combine the compile command with its options.
5262 (.el.elc): Use the new $(COMPILE_COMMAND).
5264 2002-10-10 Mark D Baushke <mdb@gnu.org>
5266 * mh-speed.el (mh-speed-select-attached-frame): Define a new
5267 compatibility macro for getting to the attached-frame.
5268 (mh-speed-update-current-folder): Use it.
5270 2002-10-10 Mark D Baushke <mdb@gnu.org>
5272 * mh-speed.el (mh-speed-update-current-folder): Use
5273 'dframe-select-attached-frame if we are in a newer speedbar
5274 version that no longer supports the 'speedbar-attached-frame
5277 2002-10-10 Steve Youngs <youngs@xemacs.org>
5279 * mh-speed.el (mh-speed-update-current-folder): Use
5280 'dframe-select-attached-frame' if we're in XEmacs.
5282 * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
5283 the MH-Folder buffer if we're in XEmacs.
5285 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
5287 * mh-utils.el (mh-show-xface-function): New global that stores
5288 what function needs to be called to display X-Face.
5289 (mh-show-xface): Rewritten to avoid compiler warning.
5291 2002-10-09 Peter S Galbraith <psg@debian.org>
5293 * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
5294 Simplify code for all emacsen to avoid byte-compilation warnings.
5296 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
5298 * mh-mime.el (mh-mm-display-part): If a sub-part of the current
5299 part is an inline image then clicking the button keeps the image
5300 around. The change fixes this bug.
5302 2002-10-09 Peter S Galbraith <psg@debian.org>
5304 * mh-utils.el (mh-exec-cmd-output): Use new function
5305 'mh-exchange-point-and-mark-preserving-active-mark instead of
5306 'exchange-point-and-mark. Fixes a bug in emacs20 and XEmacs21.
5307 (mh-exchange-point-and-mark-preserving-active-mark): New function.
5308 Does like 'exchange-point-and-mark but doesn't activate the mark.
5310 * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
5311 Compositions" menu entries when edits have really occurred.
5312 Works with "forw: -mime" mh_profile entry, so this fixes a bug.
5314 * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
5315 line-beginning-position and line-end-position instead of
5316 point-at-bol and point-at-eol XEmacs functions.
5317 * mh-xemacs-compat.el: Added line-end-position and
5318 line-beginning-position compatibility aliases.
5320 2002-10-08 Mark D. Baushke <mdb@gnu.org>
5322 * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
5324 (mh-scan-msg-format-string): Format to be used with the current
5325 maximum width of message number for the folder in the
5326 `mh-upate-scan-format' function.
5327 (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
5328 flexibility. The message number is no longer anchored to the
5329 beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
5330 strings. The `mh-update-scan-format' allows for using zero-filled
5333 2002-10-08 Peter S Galbraith <psg@debian.org>
5335 * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
5337 2002-10-07 Satyaki Das <satyaki@theforce.stanford.edu>
5339 * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
5342 * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
5344 (mh-speed-folders-actual): Same as above.
5346 2002-10-05 Steve Youngs <youngs@xemacs.org>
5348 * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
5351 * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
5352 defsubst using 'buffer-substring-no-properties' so we don't grab
5354 (rfc822-goto-eoh): Removed. This exists in the XEmacs mail-lib
5356 (mail-header-end): Ditto.
5357 (mail-mode-fill-paragraph): Ditto.
5359 2002-10-05 Satyaki Das <satyaki@theforce.stanford.edu>
5361 * mh-speed.el (mh-speed-invalidate-map): When called interactively
5362 the function will clear mh-speed-folders-cache.
5364 2002-10-02 Satyaki Das <satyaki@theforce.stanford.edu>
5366 * mh-mime.el (mh-insert-mime-button): Rewrite without using
5369 2002-10-01 Satyaki Das <satyaki@theforce.stanford.edu>
5371 * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
5372 avoid compiler warning.
5374 2002-10-01 Bill Wohler <wohler@newt.com>
5376 * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
5377 shouldn't get installed in Emacs.
5378 (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
5379 MH-E-IMG2 into Emacs' lisp/mail.
5381 2002-10-01 Peter S Galbraith <psg@debian.org>
5383 * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
5384 Non-nil means use three buttons for reply commands in tool-bar.
5385 If you have room on your tool-bar because you are using a large
5386 font, you may set this variable to expand the single reply
5387 button into three buttons that won't lead to minibuffer prompt
5388 about who to reply to.
5389 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
5390 decide how many buttons to use for replying.
5392 * mh-mime.el (mh-file-mime-type-substitutions)
5393 (mh-file-mime-type-substitute): Fix typos and doc strings.
5395 2002-09-30 Peter S Galbraith <psg@debian.org>
5397 * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
5398 by file command through mh-file-mime-type-substitute (see below).
5399 (mh-file-mime-type-substitute): Possibly change Content-Type
5400 string using mh-file-mime-type-substitutions variable. This is
5401 mostly because all MS-Office file are seen as application/msword
5402 by the file command.
5403 (mh-file-mime-type-substitutions): New variable. Defines
5404 substitutions to make for Content-Type returned from file command.
5406 2002-09-27 Bill Wohler <wohler@newt.com>
5408 * README: Moved Id to end of file since it broke outline mode at
5411 * import-emacs (release): Renamed "mainline" tag to
5412 "emacs-mainline" to correspond with existing CVS tag.
5413 (EMACS_HOME): Fixed typo in docstring.
5415 * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
5416 NIL and T in docstring.
5417 (mh-update-scan-format): Fixed typo.
5419 * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
5420 Emacs. The only new thing appears to be to downcase NIL and T in
5423 2002-09-26 Satyaki Das <satyaki@theforce.stanford.edu>
5425 * mh-seq.el (mh-thread-generate): The threading code will now be
5426 more resistant to corruption of messages. Before the change any
5427 corruption of message x would cause all messages with indices
5428 higher than x to be neglected when threading!
5430 2002-09-23 Peter S Galbraith <psg@debian.org>
5432 * mh-mime.el (mh-store-mime-parts): Don't store value into
5433 user-customizable variable mh-store-mime-parts-default-directory
5434 and use mh-store-mime-parts-directory instead.
5436 2002-09-20 Satyaki Das <satyaki@theforce.stanford.edu>
5438 * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
5439 make the subject pruning behave the way it is specified in the
5442 * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
5443 are not going to use the first element. This avoids a compilation
5444 warning with cvs emacs.
5446 2002-09-19 Satyaki Das <satyaki@theforce.stanford.edu>
5448 * mh-utils.el (mh-display-msg): Put the call to
5449 set-buffer-modified after mh-show-mode. This is needed for CVS
5450 emacs since calling mh-show-mode marks the buffer as modified if
5453 2002-09-17 Peter S Galbraith <psg@debian.org>
5455 * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
5456 mh-store-mime-parts-directory
5457 (mh-store-mime-parts-directory): Renamed from
5458 mh-store-mime-parts-directory-default.
5460 2002-09-16 Peter S Galbraith <psg@debian.org>
5462 * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
5464 2002-09-08 Satyaki Das <satyaki@theforce.stanford.edu>
5466 * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
5469 2002-09-03 Peter S Galbraith <psg@debian.org>
5471 * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
5472 Default directory to use for mh-store-mime-parts.
5473 (mh-store-mime-parts): New Command. Store the MIME parts of the
5475 (mh-store-mime-parts-directory-default): New internal working
5476 variable. Default to use for mh-store-mime-parts-directory, set
5479 * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
5483 2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
5485 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
5486 complete scan lines are printed for all messages (not just the
5487 ones at the top of a thread).
5489 * mh-index.el (mh-index-insert-scan): Replace use of kill-line
5490 since that pollutes the kill-ring.
5492 * mh-comp.el (autoloads): Add autoloads for search and subseq to
5493 get rid of compiler warnings.
5495 2002-08-19 Peter S Galbraith <psg@debian.org>
5497 * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
5498 reply-all.xpm, reply-all.bpm: New icons for various reply methods.
5499 * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
5500 that won't prompt for "from", "to" and "all".
5501 * mh-comp.el (mh-reply): Put variable reply-to in the interactive
5502 list since it's specified on the command line for the new toolbar.
5504 * mh-comp.el (mail-citation-hook): Tweak docs concerning
5505 historical usage for supercite.
5506 (mh-yank-from-start-of-msg): Add settings 'supercite and
5507 'autosupercite. Rename 'automatic to 'autoattrib.
5508 (mh-insert-prefix-string): Invoke sc-cite-original if
5509 mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
5511 2002-08-17 Satyaki Das <satyaki@theforce.stanford.edu>
5513 * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
5516 2002-08-17 Peter S Galbraith <psg@debian.org>
5518 * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
5519 Do as for `attribution' automatically when show buffer matches the
5520 message being replied-to.
5521 (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
5522 is set to 'automatic and show buffer matches message number being
5524 (mh-show-buffer-message-number): New helper function to get the
5525 message number of the current show-buffer.
5526 (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
5527 (mh-yank-cur-msg): Bug fix. It would bail on error if
5528 mh-show-buffer didn't exists.
5530 2002-08-16 Peter S Galbraith <psg@debian.org>
5532 * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
5533 was used even when XEmacs was used. Fixed so X-Mailer header is
5534 more exact about what we are using.
5536 2002-08-15 Peter S Galbraith <psg@debian.org>
5538 * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
5539 so X-Mailer header is more exact about what we are using.
5541 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
5542 mh-mml-attach-file):
5543 "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
5544 that "require" in emacs 20.3 doesn't handle 3 arguments. We
5545 use "load" at the top of file elsewhere anyway to handle such a
5546 case of non-essential loading, so switch to that here.
5548 2002-08-06 Satyaki Das <satyaki@theforce.stanford.edu>
5550 * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
5552 * mh-speed.el (mh-speed-add-folder): New function to make the
5553 speedbar aware of new folders when they are created by mh-e.
5555 * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
5556 tell speedbar that new folder is being created. Also use folder
5557 instead of mkdir to create new folders.
5559 2002-08-01 Peter S Galbraith <psg@debian.org>
5561 * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
5562 limit of search for quoted-printable. If we're using mm-decode
5563 for MIME decoding, it's possible that `mimedecode' could mess our
5564 message, so we only run a full search for quoted-printable parts
5565 when not using gnus' mm-decode. When using mm-decode, mimedecode
5566 can still help by handling the case of the whole message being
5567 quoted-printable as opposed to only a part.
5569 2002-07-31 Peter S Galbraith <psg@debian.org>
5571 * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
5572 the pulldown menu were broken in XEmacs21 from this variable being
5575 2002-07-28 Mark D. Baushke <mdb@gnu.org>
5577 * mh-utils.el (mh-show-mode): Use the default paragraph-start
5578 rather than the inherited text-mode value.
5580 2002-07-28 Satyaki Das <satyaki@theforce.stanford.edu>
5582 * mh-seq.el (mh-thread-duplicates): New hash table to track
5584 (mh-thread-get-message): Remove debug code.
5585 (mh-thread-canonicalize-id): Modified to handle messages without
5586 message-id header. Such messages are given distinct copies of the
5587 empty string as message-id.
5588 (mh-thread-generate): The function was inadvertently rebuilding
5589 the thread tree when message refiles and message deletes are
5590 processed. The change here fixes that. Also code has been added to
5591 keep track of duplicate message-id's.
5592 (mh-thread-generate-scan-lines): Modified to print scan lines for
5593 duplicate messages (that is messages with the same message-id).
5594 (mh-thread-forget-message): Modified to maintain
5595 mh-thread-duplicates.
5597 2002-07-22 Satyaki Das <satyaki@theforce.stanford.edu>
5599 * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
5600 instead of kill-region. Otherwise the kill ring gets polluted.
5602 2002-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
5604 * mh-seq.el (mh-thread-update-scan-line-map): New function to
5605 refresh the stale scan lines.
5606 (mh-thread-inc): Update old scan lines when mh-thread-inc is
5607 called. Otherwise notations for deleted and refiled messages get
5608 lost and the folder display gets out of sync with real mh-e state.
5610 * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
5611 code when text part is displayed. Otherwise buttonized text parts
5612 aren't correctly fontified when they are displayed.
5614 2002-07-15 Mark D. Baushke <mdb@gnu.org>
5616 * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
5617 on the mm-decode library.
5618 * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
5619 Non-fatal depencencies on the mm-decode, mm-uu and mm-view
5622 2002-07-15 Satyaki Das <satyaki@theforce.stanford.edu>
5624 * mh-utils.el (mh-require, mh-autoload): Remove these macros.
5625 (mh-decode-mime): Initialized to t iff the mm-decode library is
5626 present in the load-path.
5627 * mh-mime.el (mh-require): Don't use it anymore.
5629 2002-07-15 Mark D Baushke <mdb@gnu.org>
5631 * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
5632 with Xemacs as replace-match appears not to have identical
5633 functionality with FSF emacs.
5634 (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
5635 into the mh-update-scan-format function.
5637 2002-07-12 Satyaki Das <satyaki@theforce.stanford.edu>
5639 * mh-seq.el: Add message threading code.
5641 * mh-utils.el (mh-letter-thread-folder): New interactive function
5642 that allows switching to threaded view from show buffer.
5643 (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
5644 (mh-goto-msg): Replace the function to not assume that messages
5645 are sorted in the folder buffer.
5647 * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
5648 in the folder buffer that records whether threaded view is being
5650 (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
5651 working for threaded view as well.
5652 (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
5653 (mh-get-new-mail, mh-process-commands): Do incremental threading
5654 if folder is in threaded view.
5655 (mh-delete-scan-msgs): Update thread tables if folder is in
5657 (mh-folder-map): Add "F t" as key binding for mh-thread-folder
5659 * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
5660 has a meaningful value in the folder buffer.
5662 2002-07-11 Peter S Galbraith <psg@debian.org>
5664 * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
5665 actually exists (otherwise a back-traceable error occurred).
5667 * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
5668 mh-lib and mh-lib-progs are not all already set. This allows the
5669 user to set them using a simple setq prior to loading mh-e. This
5670 is useful for implementation of mh-e on win32. Note that many
5671 commands still call mh-find-path which also parses the mh_profile
5672 file (that may still fail on win32), so this is still done often.
5673 But it lets us change the mh_profile file and have mh-e see the
5674 changed file without exiting emacs and starting over so I left
5677 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
5679 * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
5680 caused it to lose track of point when called from show buffer.
5682 2002-07-04 Mark D. Baushke <mdb@gnu.org>
5684 * Makefile: Add more information and common methods to allow both
5685 GNU make and Berkeley make to properly build everything.
5687 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
5689 * mh-mime.el (mh-push-button): Bug fix for mime display with
5690 mouse. Select show window before executing the mime display
5693 2002-07-01 Mark D. Baushke <mdb@gnu.org>
5695 * Makefile: Use a conditional variable assignment operator rather
5696 than ifndef to let Makefile be used by both GNU make and Berkeley
5697 make (or similar versions of make). This does not help Solaris
5698 /usr/ccs/bin/make, but Solaris make has problems with the ifndef
5701 2002-07-01 Satyaki Das <satyaki@theforce.stanford.edu>
5703 * mh-index.el (mh-index-search): Check for mh-decode-mime before
5704 adding mh-mime-cleanup to kill-buffer-hook.
5706 * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
5708 2002-06-30 Mark D Baushke <mdb@gnu.org>
5710 * mh-utils.el (mh-update-scan-format): Add documentation string.
5711 (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
5712 (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
5713 update of mh-cmd-note is wrong. Do not assume that
5714 mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
5715 with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
5716 is now where the updated mh-cmd-note value is put into the scan
5719 * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
5720 (mh-scan-format): Use mh-update-scan-format to get updated copies
5721 of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
5722 (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
5723 mh-scan-format-file is equal to t.
5724 (mh-scan-format-nmh): No longer buffer local.
5725 (mh-scan-format-mh): No longer buffer local.
5727 2002-06-30 Satyaki Das <satyaki@theforce.stanford.edu>
5729 * mh-index.el (mh-index-max-msg-index): New variable to keep track
5730 of max message index among search results. If mh-adaptive-cmd-note
5731 is non-nil this is used to compute the width of the index field.
5732 (mh-index-search): Keep track of max index seen while parsing the
5733 search results and set it if mh-adaptive-cmd-note is non-nil.
5734 (mh-index-find-max-width): New function to find the required width
5735 of the message index field.
5736 (mh-defun-index): Binding buffer local variables is bad, so don't
5738 (mh-index-show): New argument display-headers-p decides whether
5739 the message is displayed in raw form or not.
5740 (mh-index-header-display): New interactive function bound to ","
5741 which shows the message in raw form.
5742 (mh-index-keymap): Add appropriate bindings for backtab and ",".
5743 (read-from-string): Add ignore-errors around it so that the code
5744 doesn't die when it gets unexpected input.
5746 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
5748 * mh-index.el (mh-count-windows): This function works around the
5749 lack of the window-list builtin function in emacs20.
5751 2002-06-29 Mark D Baushke <mdb@gnu.org>
5753 * mh-utils.el (mh-message-number-width): New function to scan
5754 the last message of a folder and return its width.
5755 (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
5756 mh-set-cmd-note should be called with the message width for the
5758 (mh-cmd-note): Update documentation.
5759 (mh-update-scan-format): Helper function for updating the
5760 mh-scan-format-nmh and mh-scan-format-mh variables.
5761 (mh-scan-msg-overflow-regexp): New variable to help find problem
5762 messages after an inc.
5763 (mh-scan-msg-format-regexp): New variable to find the old message
5764 width in one of the mh-scan-format-nmh or mh-scan-format-mh
5766 (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
5767 (mh-set-cmd-note): New function to replace update mh-cmd-note
5770 * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
5771 non-nil, use mh-set-cmd-note on empty folder buffers.
5772 (mh-make-folder): Ditto.
5773 (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
5774 to fit when mh-get-new-mail gets message number truncation.
5775 (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
5776 mh-adaptive-cmd-note is Non-nil.
5778 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
5780 * mh-speed.el (mh-speed-view): The display gets confused if the
5781 cursor is in the show buffer when mh-speed-view is called. This is
5784 2002-06-27 Satyaki Das <satyaki@theforce.stanford.edu>
5786 * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
5787 reverse-p. If there are no more undeleted messages the the point
5788 remains at its original position and a message is produced (closes
5790 (mh-previous-undeleted-msg): Change similar to
5791 mh-next-undeleted-msg.
5792 (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
5794 (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
5796 * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
5797 mh-letter-prev-button.
5799 * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
5800 mm-uu-dissect doesn't cause error.
5802 2002-06-27 Mark D Baushke <mdb@gnu.org>
5804 * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
5805 variable should be made via the new mh-set-default-cmd-note
5807 (mh-set-default-cmd-note): New function to setq-default the
5808 mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
5811 * mh-e.el (mh-scan-format-mh): Make buffer-local.
5812 (mh-scan-format-nmh): Ditto.
5813 (mh-scan-good-msg-regexp): Use a more general regular expression
5814 so that the width of message numbers, mh-cmd-note, may vary.
5815 (mh-scan-deleted-msg-regexp): Ditto.
5816 (mh-scan-refiled-msg-regexp): Ditto.
5817 (mh-scan-cur-msg-number-regexp): Ditto.
5818 (mh-scan-cur-msg-regexp): Ditto.
5819 (mh-scan-subject-regexp): Ditto.
5821 2002-06-26 Satyaki Das <satyaki@theforce.stanford.edu>
5823 * mh-speed.el: Speedbar support code.
5825 * Makefile: Add mh-speed.el to MH-E-SRC.
5827 * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
5828 speedbar is being used.
5830 * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
5833 * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
5834 functions so that speedbar can find them.
5836 2002-06-25 Satyaki Das <satyaki@theforce.stanford.edu>
5838 * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
5839 grep to be used to search mail.
5840 (mh-index-font-lock-keywords): Modified to avoid bug when using
5843 * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
5844 undeleted (or unrefiled) message exists in the current movement
5845 direction then try to find an undeleted (or unrefiled) message in
5846 the opposite direction instead.
5847 (mh-next-undeleted-msg): Added a new optional argument. If non-nil
5848 search for undeleted message backwards if none exists in the
5850 (mh-previous-undeleted-msg): Added an optional argument. If
5851 non-nil search for undeleted message in the forward direction if
5852 none exists in the backward direction.
5853 (mh-next-msg): Optional argument to change direction if undeleted
5854 messages are not found in the current direction.
5856 * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
5857 the index field size to 4.
5859 * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
5860 to do xface display and goto-addr interface to allow reuse by the
5862 (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
5863 mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
5864 (mh-modify): Use mh-letter-mode instead of mh-show-mode when
5867 * mh-mime.el (mh-mm-inline-message): Arrange for xface and
5868 highlighting to work in forwarded messages.
5870 2002-06-23 Peter S Galbraith <psg@debian.org>
5872 * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
5873 to add an attribution line in mh-yank-cur-msg.
5874 (mh-extract-from-attribution-verb): Verb to use for attribution
5875 when a message is yanked by mh-yank-cur-msg. Provides a method
5876 for setting a different language.
5877 (mh-yank-cur-msg): Add support for 'attribution' option.
5878 (mh-extract-from-attribution): Function to get the attribution
5879 line, or the sender from the From: line in the current show buffer.
5881 2002-06-20 Satyaki Das <satyaki@theforce.stanford.edu>
5883 * mh-index.el (mh-index-show): mh-display-msg was not being called
5884 in the show buffer. This causes weird results on some mime messages.
5886 * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
5887 pgp messages if gnus hasn't been used yet.
5889 * mh-comp.el (mh-letter-mode-map): Typo fix.
5891 2002-06-19 Satyaki Das <satyaki@theforce.stanford.edu>
5893 * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
5894 (compiler-warnings): Add autoloads to remove compiler warnings.
5896 * mh-index.el (autoload-fixes): Fix autoload forms.
5898 2002-06-18 Satyaki Das <satyaki@theforce.stanford.edu>
5900 * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
5901 to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
5902 (compiler-warnings): Add defvar to remove compiler-warning.
5904 2002-06-18 Peter S Galbraith <psg@debian.org>
5906 * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
5907 mh-gnus-pgp-support-p.
5909 * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
5910 (mh-compose-forward): cut&paste typo: s/messages/message/.
5911 (mml-minibuffer-read-file): autoload added.
5912 (mml-minibuffer-read-description): autoload added.
5913 (mml-insert-empty-tag): autoload added.
5914 (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
5915 (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
5917 2002-06-17 Peter S Galbraith <psg@debian.org>
5919 * mh-utils.el (mh-show-use-xface): Check for availability of
5920 `uncompface' executable on system.
5922 * mh-mime.el (mh-compose-forward): New front end for both
5923 mh-mml-forward-message and mh-mhn-compose-forw.
5924 (mh-compose-insertion): New front end for both mh-mml-attach-file
5925 and mh-mhn-compose-insertion.
5926 (mh-mml-to-mime): New function. Compose mime message from mml
5928 (mh-mml-forward-message): New function. Forward a message as
5930 (mh-mml-attach-file): New function. Attach a file to the outgoing
5932 (mh-mml-compose-insert-p): New variable. Buffer-local variable to
5933 know whether MIME insertion was done. Triggers an automatic call
5934 to `mh-mml-to-mime' in `mh-send-letter'.
5935 (mh-mml-secure-message-sign-pgpmime): New function.
5936 Front end to mml-secure-message-sign-pgpmime.
5937 (mh-mml-secure-message-encrypt-pgpmime): New function.
5938 Front end to mml-secure-message-encrypt-pgpmime.
5940 * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
5941 if mh-mml-compose-insert-p is set.
5942 (mh-letter-mode-map): Add keys for new mh-mime functions above.
5943 * mh-comp.el: Added autoloads for new mh-mime functions above.
5945 2002-06-17 Peter S Galbraith <psg@debian.org>
5947 * mh-utils.el (mh-show-use-xface): new defcustom to determine
5948 whether to call external package x-face to display the x-face.
5949 (mh-invisible-headers-show-xface): variable now defaults to value
5950 of mh-show-use-xface.
5951 (mh-show-mode): When mh-show-use-xface is t, invoke
5952 external package x-face to display the x-face.
5954 2002-06-15 Satyaki Das <satyaki@theforce.stanford.edu>
5956 * mh-e.el (mh-prev-button): New interactive function which moves
5957 point to the previous mime button in the show buffer.
5958 (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
5960 * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
5961 mh-letter-prev-button (which is analogous to mh-prev-button).
5962 (mh-gnus-pgp-support-p): New global variable to replace the
5963 variable mh-recent-gnus-p. The name better describes what it is
5966 * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
5967 mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
5969 2002-06-12 Satyaki Das <satyaki@theforce.stanford.edu>
5971 * mh-mime.el (mh-display-buttons-for-inline-parts): New
5972 customizable variable. When non-nil inline parts have are
5973 displayed with a button (that is initially expanded).
5974 (mh-maybe-insert-newline): The function has been removed.
5975 (mh-mime-display-single): Add code to display buttons for inline
5976 parts. Reduce the insertion of extra newlines between inline parts
5977 and also for pgp signature parts.
5978 (mh-mm-display-part): The function has been rewritten and cleaned
5979 up. There was a bug which could change the show buffer if the user
5980 pressed C-g while a mime part was being displayed has been fixed.
5981 (mh-press-button, mh-push-button): Use unwind-protect to make sure
5982 that set-buffer-modified-p is always called after mime display.
5983 (mh-mime-inline-part): The behavior of the function has been
5984 changed so that it toggles the display of the raw bytes.
5985 (mh-mime-display-security): Remove the display of too many
5987 (documentation): Remove most check-doc warnings.
5989 * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
5990 added around mime buttons have changed.
5992 2002-06-10 Satyaki Das <satyaki@theforce.stanford.edu>
5994 * mh-index.el (mh-index-last-search, mh-index-search): The default
5995 prompt in mh-index-search has been removed since currently there
5996 is no good way of reading "+" with mh-prompt-for-folder.
5997 (mh-index-folder-mode, mh-index-show-mode): New major modes
5998 derived from mh-folder-mode and mh-show-mode respectively. They
5999 use a restricted keymap compared to the parent modes.
6000 (mh-index-folder-face): New customizable face to display folder
6001 names in the index buffer.
6002 (documentation): Change two spaces after period back to one.
6004 2002-06-08 Satyaki Das <satyaki@theforce.stanford.edu>
6006 * mh-e.el (mh-folder-toggle-mime-part): New interactive function
6007 to control mime display from folder buffer.
6008 (mh-folder-inline-mime-part): New interactive function to inline
6009 raw mime part from folder buffer.
6010 (mh-folder-save-mime-part): New interactive function to save mime
6011 part from folder buffer.
6012 (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
6013 "K \t" to mh-folder-mode-map.
6014 (mh-goto-next-button): Modified to allow searching for next button
6015 that satisfies some condition.
6016 (mh-folder-mime-action): Support function for
6017 mh-folder-save-mime-part, mh-folder-inline-mime-part and
6018 mh-folder-toggle-mime-part.
6020 * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
6021 bindings for "K v", "K o", "K i" and "K \t".
6023 * mh-index.el (documentation): Fix docs according to checkdoc
6026 2002-06-07 Satyaki Das <satyaki@theforce.stanford.edu>
6028 * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
6029 instead add defvar for view-exit-action.
6031 2002-06-06 Satyaki Das <satyaki@theforce.stanford.edu>
6033 * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
6034 the call to mark returns error. So avoid using mark.
6036 * mh-index.el: Support for new interactive function
6039 * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
6040 mh-next-button so that the code may be reused by mh-index.el.
6041 (mh-folder-map): Add key "F i" to call mh-index-search.
6043 * mh-utils.el (mh-recent-gnus-p): Fix documentation.
6044 (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
6045 maps a MH folder name to the buffer displaying it. In normal
6046 operation the two names are identical but they are different in a
6047 folder buffer generated by index search. Minor modification to
6048 mh-display-msg to use mh-msg-folder to enable mh-index-search to
6050 (mh-show-mode-map): Add key "F i" to call mh-index-search.
6052 * Makefile: Add mh-index.el
6054 2002-06-05 Peter S Galbraith <psg@debian.org>
6056 * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
6058 2002-05-31 Satyaki Das <satyaki@theforce.stanford.edu>
6060 * mh-utils.el (mh-decode-quoted-printable): Only decode if the
6061 whole message is encoded. So restrict the search for the
6062 content-transfer-encoding header to the headers of the message
6065 * mh-mime.el (mh-mime-display-alternative): Make sure that point
6066 is moved after mm-display-part is called.
6068 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
6070 * mh-mime.el (mh-mime-display-single): Fix the logic that
6071 determines when an attachment is buttonized. For inline parts that
6072 can't be displayed a button is now created.
6074 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
6076 * mh-e.el (mh-regenerate-headers): Fix an error in which the
6077 mh-mode-line-annotation was not being set properly.
6079 * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
6080 mh-autoload are used to make sure that emacs20 doesn't croak when
6081 it tries to load non-existent mm-* files.
6082 (mh-decode-mime): Make it default to nil for Emacs major version
6085 2002-05-28 Satyaki Das <satyaki@theforce.stanford.edu>
6087 * mh-e.el (mh-regenerate-headers): Generalize the function to
6088 handle multiple ranges.
6090 2002-05-25 Satyaki Das <satyaki@theforce.stanford.edu>
6092 * compilation: Reduce use of eval-when-compile so that load-path
6093 is not changed if lisp files are loaded without compilation. Small
6094 changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
6095 mh-seq.el, mh-utils.el
6097 * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
6098 function to advance point to next MIME button. It is bound to TAB.
6100 * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
6101 interactive function mh-letter-next-button has been added to
6102 advance point to the next MIME button. It is bound to TAB.
6104 * mh-mime.el (comments): Added some comments.
6106 2002-05-24 Satyaki Das <satyaki@theforce.stanford.edu>
6108 * mh-mime.el (compilation): Replace (eval-when-compile ...) by
6109 (eval-when (compile) ...) to remove a bug when mh-e is loaded
6110 without compilation.
6112 2002-05-23 Satyaki Das <satyaki@theforce.stanford.edu>
6114 * mh-comp.el (compilation): Some code was rearranged to avoid
6117 * mh-e.el (compilation): Code rearrangement and extra autoloads to
6118 remove compiler warnings
6119 (mh-quit): Add call to mh-destroy-postponed-handles to remove
6120 handles that are associated with external viewers. Also fixed a
6121 bug that I accidentally introduced by adding an extra line when
6122 cut and pasting my changes.
6124 * mh-func.el (compilation): Code rearrangement to remove compiler
6127 * mh-mime.el (compilation): Code rearrangement to remove compiler
6129 (mh-defun-compat): New macro to define to useful functions that
6130 aren't present present in old Gnus.
6131 (mh-destroy-postponed-handles): New function to cleanup handles
6132 that are associated with external viewers.
6133 (mh-handle-set-external-undisplayer): New function to replace
6134 mm-handle-set-external-undisplayer. It associates handles for
6135 external viewers with the folder buffer. These are released when
6136 the user quits the folder.
6137 (mh-mime-display, mh-press-button, mh-push-button): Hook in
6138 mh-handle-set-external-undisplayer.
6139 (mh-maybe-insert-newline): New function to avoid inserting too
6140 many newlines between mime parts.
6141 (mh-mm-display-part): Workaround for Gnus bug which causes new
6142 lines to be inserted when images are shown inline.
6143 (mh-mime-display-security): Cut down on newlines inserted.
6145 * mh-pick.el (compilation): Code rearrangement to remove compiler
6148 * mh-seq.el (compilation): Code rearrangement to remove compiler
6150 (comments): Remove @SD from comments.
6152 * mh-utils.el (compilation): Slight code rearrangement.
6153 (mh-defun-show-buffer): Fix documentation so that the first line
6154 is not too long as was the case earlier. Use
6155 mh-previous-window-config to remember where the cursor should
6156 return functions like mh-reply.
6157 (mh-display-msg): Initialize handles data-structure for the folder
6158 buffer so that postponed handles can be added to it.
6159 (mh-add-msgs-to-seq): Always keep messages in the sequences
6160 sorted. This removes some unexpected behavior when working with
6161 sequences that go out of sync with the corresponding MH sequences.
6162 (mh-canonicalize-sequence): New function to sort and remove
6163 duplicates from mh-e sequence.
6165 2002-05-21 Satyaki Das <satyaki@theforce.stanford.edu>
6167 * mh-utils.el (require): Load mm-decode.el here so that
6168 mm-inline-media-tests is properly initialized.
6170 * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
6171 mime parts when yanking the message. This also fixes the problem
6172 of regions not being respected during the yank.
6174 2002-05-20 Satyaki Das <satyaki@theforce.stanford.edu>
6176 * mh-utils.el (compiler-warnings): Some code was rearranged to
6177 remove all compiler warnings.
6178 (mh-decode-mime): New defcustom to control whether
6179 mime attachments are shown using Gnus.
6180 (mh-globals-hash): New global variable which maps a given buffer
6181 to the corresponding mime data structures.
6182 (mh-recent-gnus-p): New global variable which checks if Gnus is
6183 recent enough so that PGP/GPG encrypted messages can be handled.
6184 (mh-mm-inline-media-tests): Tests to determine whether a mime part
6185 can be shown inline.
6186 (mh-gnus-article-highlight-citation): Shadow the Gnus function,
6187 gnus-article-add-button before gnus-article-highlight-citation is
6188 called. This prevents the insertion of useless buttons in the
6190 (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
6191 kill-buffer-hook to call mh-mime-cleanup.
6192 (mh-modify): Only the edit buffer is shown.
6193 (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
6194 mh-display-emphasis when mh-decode-mime is non-nil.
6196 * mh-mime.el (mh-buffer-data): New structure to keep track of
6197 per-buffer mime information.
6198 (compiler-warnings): Some code was rearranged to get rid of all
6200 (mh-graphical-smileys-p): New defcustom which controls whether
6201 graphical smileys are shown.
6202 (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
6203 (mh-max-inline-image-width, mh-max-inline-image-height): New
6204 defcustoms for inlining image.
6205 (gnus-local-map-property, mm-merge-handles): Copy utility
6206 functions for use with version of Gnus that ships with Emacs21.1.
6207 (mh-mime-cleanup): New function to free mime data-structures.
6208 (mh-add-missing-mime-version-header): New function to add missing
6209 Mime-Version header if a Content-Type header exists.
6210 (mh-display-smileys): New function to show graphical smileys.
6211 (mh-display-emphasis): New function to show graphical emphasis.
6212 (new-globals): New variables mh-mime-button-* and
6213 mh-mime-security-* were added to control mime buttons.
6214 (mh-mime-display): New function to display mime messages. The
6215 functions mh-mime-display-part, mh-mime-display-alternative,
6216 mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
6217 mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
6218 mh-press-button, mh-push-button, mh-mime-save-part,
6219 mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
6220 mh-mime-display-security, mh-mime-security-show-details,
6221 mh-mime-security-press-button and mh-insert-mime-security-button
6222 were added to support mh-mime-display.
6224 * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
6225 mh-show-msg is called, so that mime isn't decoded when headers are
6227 (mh-quit): The show buffer is killed instead of invalidating and
6230 * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
6232 (mh-filter-out-non-text): New function to filter out attachments
6233 from message being yanked.
6235 2002-05-20 Bill Wohler <Bill.Wohler@openwave.com>
6237 * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
6238 docstring was not entirely on first line so was truncated in
6239 customize and help buffers. Reworded so first sentence could fit
6240 within 80 columns per checkdoc recommendation.
6241 (mh-defun-show-buffer): Reworded per checkdoc recommendations.
6242 Removed @SD while I was in there.
6244 2002-05-18 Satyaki Das <satyaki@theforce.stanford.edu>
6246 * mh-seq.el (mh-narrow-to-seq): This function now removes the
6247 current message notation in the folder. Otherwise, two current
6248 message notations may be present after mh-widen is called. Also
6249 mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
6250 the latter has a bug.
6251 (mh-copy-seq-to-point): This function has a tricky problem. It
6252 calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
6253 assumes that the folder is sorted (since it uses binary
6254 search). The assumption isn't true, so it may not copy all the
6255 messages. Since this function is not used any more it has been
6257 (mh-copy-seq-to-eob): This function is a specialized (and
6258 hopefully correct) replacement for mh-copy-seq-to-point.
6260 2002-05-17 Satyaki Das <satyaki@theforce.stanford.edu>
6262 * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
6263 problem caused by low value of recursive-load-depth-limit in
6264 Emacs21.1 and CVS version of Gnus.
6265 (mh-show-mode-map): New keymap variable to facilitate use of
6266 summary commands from the show buffer.
6267 (mh-show-folder-buffer): New local variable which keeps track of
6268 the folder-buffer corresponding to the message being shown.
6269 (mh-defun-show-buffer): New macro to convert interactive functions
6270 callable in the summary buffer to interactive functions callable
6272 (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
6273 keymap (closes SF #527946).
6274 (mh-modify): New interactive function to edit a message in-place.
6276 * mh-e.el (mh-goto-cur-msg): Add an optional argument,
6277 minimal-changes-p. If non-nil, the function will just change
6278 the point to current message and do not change folder display.
6279 (mh-folder-mode-map): Make "M" call mh-modify.
6281 2002-05-07 Peter S Galbraith <psg@debian.org>
6283 * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
6284 variable. If non-nil, the X-Face header line will be excluded from
6285 the variable `mh-invisible-headers'. Set this when using a
6286 package such as x-face-el to display X-Face icons in mh-show-mode.
6287 This variable's setting will eventually be set automatically when
6288 mh-e does its own X-Face decoding (or this variable will be replaced
6289 by one telling mh-e to decode the X-Face). We may not ship the
6290 next release with this variable.
6292 2002-05-07 Peter S Galbraith <psg@debian.org>
6294 * mh-comp.el (mh-x-face-file): New defcustom variable. File name
6295 containing the encoded X-Face string to insert in outgoing mail.
6296 (mh-insert-x-face): New function. Appends an X-Face field to the
6297 header, but only if it doesn't already exist and if 'mh-x-face-file'
6298 is non-nil and points to an existing file.
6299 (mh-send-letter): Invoke mh-insert-x-face.
6301 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
6303 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
6304 whether XEmacs region is actually active (needed at least for 21.1).
6305 [Patch committed by psg]
6307 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
6309 * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
6310 from completing-read as XEmacs-21.1 doesn't have it (21.4 does
6311 however) and using the argument adds no functionality.
6312 [Patch committed by psg]
6314 2002-04-11 Peter S Galbraith <psg@debian.org>
6316 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
6317 XEmacs to act on selected region when active.
6319 2002-04-10 Peter S Galbraith <psg@debian.org>
6321 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
6322 check to see if mark-active is bound, because Mandrake Linux include
6323 XEmacs initialization code that binds transient-mark-mode. This
6324 fix gets around a problem in Mandrake only. It wasn't a problem
6325 on XEmacs generally. Fixes SF #541915.
6327 2002-04-08 Bill Wohler <wohler@newt.com>
6329 * Released mh-e version 6.1.
6331 * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
6332 Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
6333 to increase robustness.
6334 (mh-folder-unseen-seq-list): Use `expand-file-name' as
6335 `mh-expand-file-name' isn't needed and the former saves function
6337 (Version, mh-version): Updated for release 6.1.
6339 2002-04-08 Peter S Galbraith <psg@debian.org>
6341 * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
6342 call to mark command. Fixes a bug in which unseen messages
6343 weren't highlighted if "mark" wasn't in the path.
6345 2002-04-07 Bill Wohler <wohler@newt.com>
6347 * MH-E-NEWS: Updated for release 6.1.
6349 * README: Updated for release 6.1. Updated verbiage about reading
6352 * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
6353 mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
6356 * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
6358 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
6359 mh-utils.el: Fixed all checkdoc errors, except for no
6360 documentation, and documentation in comments. Also removed the-
6361 prefix from certain local variables.
6363 * mh-e.el: Fixed all checkdoc errors, except for no documentation,
6364 and documentation in comments. Also removed the- prefix from
6365 certain local variables.
6366 (mh-folder-unseen-seq-name): Refactored to make default sequence
6367 name more explicit and to handle undefined Unseen-Sequence MH
6368 profile entry better.
6370 2002-04-02 Peter S Galbraith <psg@debian.org>
6372 * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
6373 set it's value, and this happens also on byte-compilation (where
6374 it can fail if the user's MH environment is not setup correctly).
6375 I now set the value of mh-folder-unseen-seq-name at runtime when I
6376 first need it. This should fix Debian bugs
6377 http://bugs.debian.org/140232 and http://bugs.debian.org/140817
6379 2002-03-25 Peter S Galbraith <psg@debian.org>
6381 * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
6382 be at the bottom of the dependency tree.
6383 * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
6384 and use it as path to mhparam command in call-process.
6386 2002-01-23 Peter S Galbraith <psg@debian.org>
6388 * mh-e.el (mh-folder-font-lock-keywords): Add call to
6389 mh-folder-font-lock-unseen to fontify unseen messages in bold.
6390 (mh-folder-unseen-seq-name): Provide name of unseen sequence from
6391 mhparam. Used as default for variable of same name.
6392 (mh-folder-unseen-seq-list): Returns a list of unseen messages
6393 numbers for current folder.
6394 (mh-folder-unseen-seq-cache): Cache variable to hold list of
6395 unseen message numbers while font-lock iterates. This variable is
6397 (mh-folder-font-lock-unseen): Returns unseen message lines to
6398 font-lock one by one.
6400 2002-01-15 Peter S Galbraith <psg@debian.org>
6402 * mh-comp.el (mh-insert-prefix-string): Wrap a
6403 "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
6404 Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
6405 Indeed, this is how it appears in XEmacs-21's mh-comp.el.
6407 2001-12-16 Jeffrey C Honig <jch@honig.net>
6409 * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
6410 to before the assignment to `draft' as the later changes buffers
6411 and invalidates `mh-seq-list' (which is used in a function called
6412 by (mh-seq-to-msgs)). Resolves SF #489448.
6414 * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
6415 `mh-temp-sequences-buffer'.
6417 * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
6418 'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
6421 * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
6422 (a defcustom initialized to "*Folders*") for folder listing. Put
6423 into view mode and set it up to kill the buffer when exiting view
6426 * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
6427 (a defcustom initialized to "*Sequences") for sequences listing.
6428 Put into view mode and set it up to kill the buffer when exiting
6431 2001-12-16 Bill Wohler <wohler@newt.com>
6433 * Released mh-e version 6.0.
6435 * MH-E-NEWS: Be a little more specific about incompatible changes.
6436 Added info about outdated manual.
6437 Removed variables in mh-scan regexp table that did not exist in
6439 Added helpful documentation about finding relevant variables
6440 containing regexps to mh-scan-format-file's description.
6442 * mh-e.el (mh-scan-format-file): Added information about getting a
6443 list of regexp variables that you'll need to change if you
6444 customize your scan's output.
6445 (mh-folder-mode): Added documentation about `mh-scan-format-file'
6446 for those users who modify their scan formats.
6448 * README: New file. Describes packages and provides simple
6449 installation instructions.
6451 * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
6452 -rf (closes SF #488661).
6454 2001-12-14 Bill Wohler <wohler@newt.com>
6456 * Released mh-e version 5.0.93.
6458 * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
6459 (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
6461 (MH-E-IMG2): New variable to hold images in mail sub-directory.
6462 (dist): Updated target to make mail sub-directory and copy
6463 MH-E-IMG2 images there.
6465 * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
6467 * mh-e.el: Reorganized variables having to do with the scan line.
6468 Moved some random variables that were interspersed out of the
6469 middle. Moved `mh-scan-format-file' first and let the variables
6472 As the number of variables increases, it is becoming important to
6473 organize the mh-e namespace. Several variables having to do with
6474 the format of scan lines were renamed, as follows:
6475 (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
6476 (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
6477 (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
6478 (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
6479 (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
6480 (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
6481 (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
6482 (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
6483 (mh-folder-scan-font-lock-face): Renamed to
6484 mh-folder-scan-format-face.
6485 (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
6487 2001-12-13 Bill Wohler <wohler@newt.com>
6489 * mh-utils.el (mh-msg-number-regexp): Renamed to
6490 mh-scan-msg-number-regexp.
6491 (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
6493 * Corrected typos, quoted variables in doc strings, and made minor
6494 wording changes in docs.
6496 2001-12-13 Peter S Galbraith <psg@debian.org>
6498 * mh-xemacs-compat.el: defalias 'match-string-no-properties to
6499 'match-string for XEmacs. I've seen a better function for this
6500 that actually removes text properties, but this will do for now.
6502 * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
6505 * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
6507 * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
6509 2001-12-12 Peter S Galbraith <psg@debian.org>
6511 * mh-comp.el (mh-send-letter): function local-variable-p needs two
6512 arguments in XEmacs.
6513 (mh-send-letter): sendmail-coding-system not bound in XEmacs.
6514 (mh-send-letter): default-buffer-file-coding-system not bound in
6517 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
6518 transient-mark-mode not bound in XEmacs. The feature of
6519 operations made on all messages in the selected range when
6520 transient-mark-mode is on doesn't work in XEmacs.
6522 * mh-e.el, mh-utils: Conditionalize calls to
6523 'add-to-list 'facemenu-unlisted-faces for XEmacs.
6525 2001-12-11 Jeffrey C Honig <jch@honig.net>
6527 * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
6528 specify the scan format string or file to use. Define formats for
6529 MH and nmh that are compatible with the standard format, but
6530 provide hints for font-lock. Define (mh-scan-format) for use by
6531 (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
6532 necessary to inform the scan program which scan format string or
6535 2001-12-07 Peter S Galbraith <psg@debian.org>
6537 * mh-e.el (scan.font-lock): New format file documented in comments.
6538 (mh-scan.font-lock-regexp): Adapted to new format.
6539 (mh-folder-font-lock-keywords): Use new format.
6541 * mh-e.el (page-down.xpm): Icon renamed from nextpage.
6543 * mh-utils.el (mh-decode-quoted-printable): Bug fix. Better check
6544 on what actually is a quoted-printable attachment.
6546 2001-12-06 Eric Ding <ericding@alum.mit.edu>
6548 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
6549 require mailcap.el here rather than using autoload at top of
6551 (mh-file-mime-type): get rid of unused variables (why were they
6552 there to begin with?)
6554 2001-12-06 Peter S Galbraith <psg@debian.org>
6556 * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
6557 mh-cur-scan-msg-regexp splits into these two variables.
6558 The whole-line fontification is disabled, but easily restored by a
6559 user (although it could be a defcustom with choices DISABLED or
6560 the correct regexp?)
6561 (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
6563 (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
6566 * cabinet.xpm: Revert to rescan icon name.
6567 * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
6569 * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
6570 that current message line highlight doesn't mess up other highlights.
6572 2001-12-05 Eric Ding <ericding@alum.mit.edu>
6574 * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
6575 cyan on dark backgrounds; through a series of changes, it had
6576 become the same color as mh-show-subject-face!
6578 2001-12-05 Bill Wohler <Bill.Wohler@openwave.com>
6580 * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
6581 a couple of small doc string tweaks while I was in there. Peter,
6582 if you don't agree, let me know and I'll back them out. I thought
6583 the "mh-e" in the text was redundant since the variables start
6584 with "mh"; I was also thinking ahead to how the documentation may
6587 2001-12-05 Peter S Galbraith <psg@debian.org>
6589 * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
6590 (mh-folder-current-msg-face): New face with only a background
6591 settings, used in font-lock for the current message.
6592 (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
6593 mh-cur-scan-msg-regexp.
6595 * mh-utils.el (mh-show-from-face): Use red3 instead of red for
6596 light backgrounds. It's not as bright on the eyes.
6597 (mh-show-subject-face): copy from mh-folder-subject-face instead.
6598 Makes the look consistent with folder-mode.
6600 * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
6601 need it to copy to mh-show-subject-face.
6603 2001-12-05 Bill Wohler <wohler@newt.com>
6605 * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
6606 from "a" to "E". Better mnemonic, nicer to folks used to using a
6609 2001-12-04 Bill Wohler <wohler@newt.com>
6611 * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
6613 2001-12-04 Peter S Galbraith <psg@debian.org>
6615 * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
6616 colours for folder-mode. Still themed, but fewer and darker
6617 colours (Blame Eric this time!). I'll get to underlining tomorrow
6620 * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
6621 don't have the word mail in them. Also generated a pbm format of
6622 each icon for users without XPM support conpiled into Emacs.
6624 2001-12-04 Eric Ding <ericding@alum.mit.edu>
6626 * mh-utils.el (mh-show-font-lock-keywords): Use
6627 mh-header-subject-font-lock instead of regexp for subject headers,
6628 which may go multiple lines.
6629 (mh-header-subject-font-lock): New function.
6630 Fix typos (hightlight -> highlight).
6632 2001-12-04 Eric Ding <ericding@alum.mit.edu>
6634 * mh-e.el: changes to face colors on dark backgrounds.
6635 (mh-folder-followup-face): change to LightGoldenRod.
6636 (mh-folder-date-face): change to snow3.
6637 (mh-folder-msg-number-face): change to snow4.
6639 2001-12-04 Bill Wohler <wohler@newt.com>
6641 * Released mh-e version 5.0.92.
6643 * mh-utils.el (gnus-cite-face-list)
6644 (mh-gnus-article-highlight-citation): Don't autoload. Revert to
6645 requiring in `mh-gnus-article-highlight-citation' as before. With
6646 the autoloads, if you ran mh-e before gnus, you'd get an undefined
6647 gnus variable when viewing an article in gnus. Go figure.
6649 2001-12-03 Bill Wohler <wohler@newt.com>
6651 * Released mh-e version 5.0.91.
6653 * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
6654 that workaround has been implemented.
6656 * Makefile (MH-E-OBJ): New variable to hold .elc files.
6657 (all): Just compile.
6658 (clean): New target that blows away MH-E-OBJ.
6659 (dist): Added $(MH-E-OBJ) to tarball.
6662 Attempt to quiet compilation errors to a dull roar.
6664 * mh-e.el: Require easymenu, added autoload of info.
6665 (mh-smail, mh-smail-other-window): Comment says these were needed
6668 * mh-utils.el: Don't require sendmail, but require mh-e.
6669 Moved autoloads to top of file, and autoload gnus-cite and
6672 * mh-pick.el: Require easymenu. Remove cond on
6673 `easy-menu-define'--it exists.
6675 * mh-mime.el: Autoload mailcap.
6677 * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
6681 * Makefile: (EMACS): New constant to hold emacs calling sequence.
6682 (install): Renamed to install-emacs.
6683 (compile): New target to compile all files.
6684 (dist): Make dependent on compile.
6685 (import): Renamed to import-emacs.
6686 (%.elc): New implicit rule to compile elisp files.
6688 * mh-e.el (mh-thread-map): Added "Td" for
6689 mh-delete-subject-thread.
6691 2001-12-03 Peter S Galbraith <psg@debian.org>
6693 * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
6695 * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
6696 (mh-folder-followup-face): Change to IndianRed.
6697 (mh-folder-deleted-face): Use sedate face instead of bright one.
6699 2001-12-03 Bill Wohler <wohler@newt.com>
6701 * mh-utils.el (mh-invisible-headers): Increase size of
6702 `max-specpdl-size' locally to work around insufficient default.
6703 (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
6705 2001-12-03 Jeffrey C Honig <jch@honig.net>
6707 * mh-utils.el (mh-find-progs): Searches should not stop if the
6708 strings are not found, there is error detection at the end of the
6709 routine (closes SF #488231).
6711 2001-12-02 Bill Wohler <wohler@newt.com>
6713 * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
6715 * Makefile (MH-E-IMG): New variable that contains images used by
6716 mh-e. Add these files to release.
6718 * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
6720 * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
6721 Is the hook called when you type `d' or when you type `x'?
6722 (mh-unseen-updated-hook): Reworded to be consistent with
6723 `mh-folder-updated-hook.'
6725 * mh-utils.el (mh-recenter): Accepted Gerd's change which is
6726 evaluated at compile time.
6728 2001-12-02 Bill Wohler <wohler@newt.com>
6730 * mh-e.el Major, major keymap changes. The specific changes are
6731 listed below, but view the sources, or use "C-h m" in MH Folder
6732 mode for the complete list.
6734 Use of sub-keymaps inspired by gnus. The changes tripped me up at
6735 first too, but after about 5 minutes of shock (which is to be
6736 expected, I've been using the old keybindings for 16 years), I
6737 honestly found the new bindings to be nice indeed. It will also
6738 provide flexibility to allow for future functionality. I hate to
6739 do this on the eve of the beta release, but you asked for it! It's
6740 likely I'll have to pull an Eric and back this change out, but if
6741 we can live with pink subjects, this can't be so bad ;-).
6742 Question: will the users revolt? If they do, I suppose we can
6743 release 6.0.1 the next day ;-).
6744 (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
6745 New keymaps which start with F, S, X, and D, respectively. The
6746 mhstore commands can go in the mh-extract-map eventually.
6747 (mh-thread-map): Renamed from mh-folder-thread-map.
6749 Keymap changes and rationale. The sub-keymaps allowed some
6750 consistency (e.g., esp. with l(ist) and k(ill).
6752 e Deleted. Already have x. Now used by mh-edit-again.
6753 a Deleted. Already have r. Now used by mh-extract-rej..
6754 j Deleted. Already have g.
6756 M-a -> e Better mnemonic. Matches rmail. Frees movement cmd.
6757 M-e -> a Try `a'gain!
6759 M-f -> Fv Frees movement command
6760 M-f -> Ff Alias (keep?)
6761 M-f -> Fo Alias (keep?)
6762 M-k -> Fk No reason but to keep with folder commands
6763 M-l -> Fl No reason but to keep with folder commands
6764 M-p -> Fp No reason but to keep with folder commands
6765 M-r -> Fr Frees movement command
6766 M-s -> Fs No reason but to keep with folder commands
6767 M-u -> Fu No reason but to keep with folder commands
6769 M-% -> Sd Better mnemonic
6770 M-# -> Sk Better mnemonic
6771 M-q -> Sl Better mnemonic
6772 C-xn -> Sn Frees up standard key binding
6773 % -> Sp Better mnemonic for putting a message in a sequence
6774 ? -> Ss Shows sequences that message is in
6775 C-xw -> Sw Frees up standard key binding
6777 M-n -> Xs Better mnemonic (shar)
6778 M-n -> Xu Better mnemonic (uuencode)
6780 M-SPC -> DSPC Frees mark command
6781 M-\177 -> D\177 No reason but to keep with digest commands
6782 M-b -> Db Frees movement command
6784 2001-12-01 Bill Wohler <wohler@newt.com>
6786 * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
6787 (mh-folder-thread-map): New map, created by gnus-define-keys.
6788 Reached when typing T in mh-folder-mode-map. Moved threading
6789 functions to this new keymap so we can use dired again.
6790 (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
6791 the new threading functions, no changes to the UI were made at
6792 this point--saving that for the next check-in.
6794 * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
6797 * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
6800 2001-12-01 Jeffrey C Honig <jch@honig.net>
6802 * mh-e.el: Update the documentation for the regexps used by
6803 `mh-folder-font-lock-keywords' to specify how many parethesized
6804 expressions they are expected to have and what those expressions
6805 are expected to match.
6807 2001-12-01 Bill Wohler <wohler@newt.com>
6809 * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
6810 \\{mh-folder-mode-map} suffices. Removed variable documentation
6811 also as this is already out of date and a maintenance hassle.
6812 Reference new mh customization group instead.
6814 * mh-comp.el (mh-letter-mode): Ditto. Also added new information
6815 about MIME directives getting processed automatically if inserted
6818 * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
6821 * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
6822 Comment in this function said that `b' shouldn't be used for
6823 burst-digest, as it is used for `back' in info, less, and rn. But
6824 what does `back' mean in MH Folder? I suppose if you visit a
6825 folder, you would go `back' to the original folder. Hmmm, I guess
6826 we'll leave the `b' binding alone for now.
6828 * mh-utils.el: Moved some of the variable comments to the first
6829 column so they wouldn't wrap in such an ugly fashion.
6830 (mh-showing-mode): Renamed variable and function from mh-showing
6831 to conform with minor mode conventions. Added optional arg to
6832 function so it would behave like a normal minor mode: no or nil
6833 arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
6834 out that desktop-create-buffer would barf when recreating mh-e
6835 buffers because it was calling mh-show with an arg.
6836 (mh-show-mode): Use define-derived-mode to simplify definition a
6838 (mh-set-mode-name): Deprecated by use of define-derived-mode.
6841 * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
6844 * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
6845 this message will appear in a future version of Emacs.
6846 (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
6848 (mh-folder-mode): Use define-derived-mode to simplify definition a
6851 * import-emacs (release): Change `(none)' to `mainline' so import
6852 doesn't choke after running `cvs up -A' on Emacs.
6853 (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
6854 (cvs update): Whoops! Forgot the second join (-jemacs).
6855 make import works fine again.
6857 2001-11-30 Peter S Galbraith <psg@debian.org>
6859 * mh-e.el (mh-folder-font-lock-keywords): Change order of
6860 font-lock patterns such that subject body text doesn't get date
6863 * mh-e.el (mh-scan-subject-regexp): Bug fix. Remove a dot.
6864 scan.font-lock users have to setq it separately.
6866 2001-11-30 Eric Ding <ericding@alum.mit.edu>
6868 * mh-utils.el (mh-clean-msg-header): Go back to using
6869 mh-delete-line. Using invisible text property is nicer in some
6870 ways, but winds up with somewhat mysterious behavior should user
6871 kill/yank stuff from the header (i.e., text gets yanked invisibly
6872 and won't be seen by user until file is reloaded).
6874 2001-11-29 Bill Wohler <wohler@newt.com>
6876 * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
6879 2001-11-29 Jeffrey C Honig <jch@honig.net>
6881 * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
6882 the current message if there are no messages in the folder.
6884 2001-11-29 Peter S Galbraith <psg@debian.org>
6886 * mh-e.el (mh-folder-font-lock-subject): New fontifier function
6887 for subject lines in folder-mode
6888 (mh-scan-followup-regexp): Deleted obsolete regexp. Use
6889 mh-scan-subject-regexp instead.
6890 (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
6891 instead of obsolete mh-scan-followup-regexp variable.
6892 (mh-folder-date-face, mh-folder-msg-number-face):
6893 (mh-folder-subject-face, mh-folder-followup-face):
6894 Now defined as proper faces instead of copied from font-lock
6897 * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
6898 valid media types used in MIME attachment compositions.
6899 (mh-file-mime-type): Use mh-media-type-regexp instead of
6900 hard-wiring its value.
6902 * mh-utils.el (mh-show-unquote-From): New function to unquote
6903 "^>From" in mh-show-mode (not saved to disk).
6904 (mh-show-mode): Call mh-show-unquote-From.
6906 2001-11-29 Eric Ding <ericding@alum.mit.edu>
6908 * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
6909 rather than mh-delete-line.
6910 (mh-make-line-invisible): New function to make line(s) invisible
6911 rather than deleting line(s). Optional argument specifies number
6913 (mh-show-msg): screen-height has been deprecated; use no more.
6914 (mh-notate): screen-width has been deprecated; use no more.
6916 2001-11-29 Jeffrey C Honig <jch@honig.net>
6918 * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
6919 the existence of mhparam. The location of mhparam is used to find
6920 `mh-progs'. It uses the libdir and etcdir to find the
6921 `mh-lib-progs' and `mh-lib' directories. If etcdir doesn't return
6922 anything we assume `mh-lib-progs' is the same as `mh-lib' and that
6923 we are using MH instead of nmh.
6925 2001-11-29 Peter S Galbraith <psg@debian.org>
6927 * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
6928 second paren expression is the user match.
6929 (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
6930 expression to match user name, after Jeffrey's change to the regexps.
6932 2001-11-29 Bill Wohler <Bill.Wohler@openwave.com>
6934 * mh-utils.el (mh-clean-message-header): Default is now t.
6935 (mh-invisible-headers): Padded out to contain all the headers that
6936 the mh-e developers don't like to see (closes SF #415759).
6938 2001-11-28 Bill Wohler <Bill.Wohler@openwave.com>
6940 * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
6941 this allows mh-extract-rejected-mail to strip the start of the
6942 MDN, there is still a closing MIME marker at the end. This should
6943 be cleaned up eventually.
6945 2001-11-28 Peter S Galbraith <psg@debian.org>
6947 * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
6948 folder-mode when narrowed to sequence.
6949 * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
6950 mh-folder-seq-tool-bar-map.
6951 (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
6952 * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
6954 * mh-mime.el (mh-file-mime-type): Much better check on validity of
6957 * mh-e.el (mh-scan-subject-regexp): New regexp variable for
6958 subject string in folder mode. Used to extract subject sequence,
6959 and will be used for font-lock soon.
6960 * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
6961 using mh-scan-subject-regexp, allows users with non-standard
6962 scan format to use subject sequences.
6964 * mh-comp.el (mh-letter-fill-column): Fill column to use in
6965 mh-letter-mode. (Yes, I'm doing this in spite of what Bill said;
6966 Someone can always undo it later)
6967 (mh-letter-mode): setq fill-column to mh-letter-fill-column.
6969 2001-11-28 Bill Wohler <wohler@newt.com>
6971 * mh-e.el (mh-page-msg): The first time the end of page is hit,
6972 set mh-page-to-next-msg-p to t. The second time the end of page is
6973 hit, go to the next message.
6975 * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
6978 2001-11-27 Bill Wohler <wohler@newt.com>
6980 * mh-mime.el (mh-mime-content-types): Updated list of types to
6981 contain types used by mh-e developers, but not including types not
6983 http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
6985 2001-11-27 Peter S Galbraith <psg@debian.org>
6987 * mh-seq.el (mh-subject-thread-to-sequence) New function placing
6988 all messages with similar subject line into a sequence named
6990 (mh-narrow-to-subject-thread): New command to narrow to all
6991 messages with similar subject line into a sequence named 'subject.
6992 (mh-toggle-subject-thread): New command to toggle between a new
6993 'subject sequence or the wide view of a folder.
6994 (mh-delete-subject-thread): New command to delete all following
6995 messages with similar subject lines (leaving preceeding ones
6997 (mh-next-unseen-subject-thread): New command to create and move to
6998 a new subject thread created from the next unseen message as a
7000 * mh-e.el (mh-folder-message-menu): New menu entries for subject
7002 (mh-folder-mode-map): New keybindings for subject threads.
7003 (mh-lessp): New function to sort messages.
7005 * mh-utils.el (mh-show-font-lock-keywords): and various
7006 faces... scoped within eval-after-load "font-lock" to avoid
7007 requiring font-lock to use its faces.
7008 * mh-e.el (mh-folder-font-lock-keywords): Same.
7010 2001-11-27 Jeffrey C Honig <jch@honig.net>
7012 * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
7015 * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
7017 2001-11-26 Eric Ding <ericding@alum.mit.edu>
7019 * mh-utils.el: revert to using external mimedecode to decode
7020 MIME quoted-printable parts
7022 2001-11-26 Jeffrey C Honig <jch@honig.net>
7024 * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
7025 * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
7027 2001-11-26 Peter S Galbraith <psg@debian.org>
7029 * mh-mime.el (mh-file-mime-type): Make sure output from file
7030 command is known to mailcap file, otherwise prompt the user.
7031 (mh-mime-content-types): Add "image/png" type.
7033 * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
7034 mh-folder-*-face faces.
7035 * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
7036 mh-show-*-face faces.
7038 * mh-utils.el (mh-letter-header-font-lock): Bug fix. Fix infinite
7039 loop in emacs20 font-locking.
7040 (mh-header-field-font-lock): Preventive fix with similar change.
7042 * mh-comp.el (mh-reply-show-message-p): Typo. diplayed -> displayed.
7045 * mh-e.el (mh-folder-tool-bar-map): Bug fix. I had
7046 mh-repack-folder instead of mh-pack-folder.
7048 2001-11-26 Bill Wohler <wohler@phone.com>
7051 Updated header for consistency and to conform with (elisp)Library
7053 (mh-do-not-confirm): Updated documentation string to reflect
7054 reality (e.g., is no longer used by mh-kill-folder and is used by
7055 more functions than just mh-undo-folder).
7056 (mh-page-msg): Now shows the next undeleted message if looking at the
7057 bottom of the current message.
7058 (mh-process-or-undo-commands): Fixed indentation.
7061 (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
7062 cannot be determined with file command, use mailcap-mime-types (if
7063 available) to provide list for completing read.
7065 * MH-E-NEWS: First draft of mh-e 5.1 release notes.
7067 2001-11-26 Eric Ding <ericding@alum.mit.edu>
7069 * mh-utils.el (mh-decode-quoted-printable): Implement
7070 quoted-printable decoding in elisp (starting with code copied
7072 (mh-decode-quoted-printable-region): Move (require 'hexl) outside
7074 (mh-decode-quoted-printable): give user a choice between using
7075 internal code or external program to decode quoted-printable
7076 content. Resurrect code that calls external mimedecode program.
7078 2001-11-25 Peter S Galbraith <psg@debian.org>
7080 * mh-utils.el (mh-highlight-citation-p): New variable to determine
7081 whether to hightlight citations in message body with gnus,
7082 font-lock or not at all.
7083 (mh-show-font-lock-keywords): removed citations from keywords.
7084 (mh-show-font-lock-keywords-with-cite): New variable, equivalent
7085 to prior mh-show-font-lock-keywords.
7086 (mh-gnus-article-highlight-citation): hook into gnus for
7087 multi-level citation highlighting.
7088 (mh-show-mode): Use either mh-show-font-lock-keywords or
7089 mh-show-font-lock-keywords-with-cite, depending on value of
7090 mh-highlight-citation-p, and possibly call
7091 mh-gnus-article-highlight-citation.
7092 * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
7094 2001-11-25 Jeffrey C Honig <jch@honig.net>
7096 * mh-comp.el (mh-redistribute): Added mh-redist-background
7097 variable to cause mh-redistribute to run the redist command in the
7098 background. This causes the transaction log to be visible, like
7101 2001-11-25 Peter S Galbraith <psg@debian.org>
7103 * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
7104 new message if already showing messages.
7106 2001-11-22 Peter S Galbraith <psg@debian.org>
7108 * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
7109 specified, otherwise mh-refile-msg may try to create a folder with
7110 empty name, and this creates problems; even mh-undo can't handle
7111 it (Closes SF #476824).
7113 * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
7114 require 'info. Also tweaked help texts.
7115 (mh-letter-menu): Use headline capitalization (Closes SF #483203).
7116 * mh-e.el (mh-folder-tool-bar-map): Same as above.
7117 (mh-folder-folder-menu, mh-folder-message-menu):
7118 (mh-folder-sequence-menu): Same as above.
7119 * mh-pick.el (mh-pick-menu): Same as above.
7121 2001-11-21 Peter S Galbraith <psg@debian.org>
7123 * mh-comp.el (mh-reply-show-message-p): The setting of this
7124 variable determines whether the MH show-buffer is diplayed with
7125 the current message when using mh-reply without a prefix argument.
7126 Set it to nil if you already include the message automatically in
7127 your draft using "repl: -filter repl.filter" in your ~/.mh_profile
7129 (mh-reply): Don't show message in other window if
7130 mh-reply-show-message-p is nil.
7132 * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
7133 mh-execute-commands.
7135 * mh-utils.el (mh-show-mouse): New function to click on a message
7136 in folder-mode and show that message.
7137 * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
7139 * mh-e.el (mh-page-msg): Show buffer first if not displayed,
7140 instead of simply complaining there's no other window.
7142 * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
7143 (mh-folder-mode): Setup tool-bar.
7145 * mh-mime.el (mh-have-file-command): try to non-fatally load
7146 executable.el because emacs20 doesn't autoload it.
7147 * mh-utils.el (load "executable" t t): Idem.
7149 * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
7150 after-change-functions to nil, working around a strange font-lock
7151 bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
7154 * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
7155 mh-utils.el because it is needed in reading mail too.
7156 (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
7157 because they are needed by mh-show-mode's font-lock code.
7158 Unfortunately, this splits the field related code into two files.
7159 Perhaps it should all go into mh-utils?
7161 2001-11-20 Eric Ding <ericding@alum.mit.edu>
7163 * mh-utils.el (mh-show-from-face): Fix typo in defface
7165 2001-11-20 Bill Wohler <wohler@newt.com>
7167 * mh-utils.el (mh-mail-header-separator): Set to -------- as
7168 defined by MH (components, and replcomps files). This variable
7169 cannot be a regexp since it is used as an argument to insert and
7170 is passed through regexp-quote before being used. The previous
7171 value broke a lot of code, including mailcrypt.
7173 * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
7174 header field from mh-send-letter.
7175 (mh-edit-again, mh-extract-rejected-mail): Call
7176 mh-insert-header-separator to ensure that there is a separator.
7177 Packages such as mailcrypt depend on it.
7178 (mh-insert-header-separator): New function to insert
7179 mh-mail-header-separator if it doesn't exist.
7181 2001-11-20 Peter S Galbraith <psg@debian.org>
7183 * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
7184 * mh-e.el (mh-folder-mode): Same.
7185 * mh-utils.el (mh-show-mode): Same.
7187 * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
7188 with mh-good-msg-regexp.
7190 * mh-utils.el (mh-mail-header-separator): Bug fix. Moved from
7191 mh-comp.el to mh-utils.el (which mh-comp.el loads).
7193 * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
7195 * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
7197 * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
7198 to customizing mh-compose group.
7200 * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
7201 font-lock-support-mode to nil.
7202 (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
7203 bug fix. Don't return match beyond font-lock search limit.
7205 * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
7206 not a bound variable.
7208 2001-11-19 Peter S Galbraith <psg@debian.org>
7210 * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
7211 to 'Draft Editing' info node.
7213 * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
7215 (mh-header-to-font-lock, mh-header-cc-font-lock)
7216 (mh-header-field-font-lock): New helper function returning whole
7217 header field arguments to font-lock.
7218 (mh-show-font-lock-keywords): Heavily modified using the above.
7220 * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
7221 number in scan lines.
7222 (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
7223 (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
7224 scan lines for messages we sent.
7225 (mh-scan-followup-regexp): Regexp matching a followup subject
7226 line, starting with Re:
7227 (mh-scan-body-regexp):
7228 Regexp matching the message body beginning displayed in scan lines.
7229 (mh-scan.font-lock-regexp): Regexp matching output of the the
7230 optional scan.font-lock format file.
7231 (mh-folder-font-lock-keywords): New font-lock for folder-mode that
7232 uses the above regexps.
7234 2001-11-19 chad <y@mit.edu>
7236 * mh-comp.el (mh-letter-tool-bar-map): made both references to
7237 mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
7240 2001-11-19 Bill Wohler <wohler@newt.com>
7242 * mh-comp.el (mh-position-on-field): Move to the end of the header
7243 if the field is not present. This function was documented to do
7244 this, but wasn't doing so.
7245 (mh-insert-x-mailer): Simplified by using existing
7246 mh-goto-header-field and mh-insert-fields functions. Now that
7247 mh-insert-fields is used to insert X-Mailer header field, no
7248 longer need to include X-Mailer in mh-x-mailer-string.
7250 2001-11-18 Peter S Galbraith <psg@debian.org>
7252 * mh-comp.el (mh-letter-tool-bar-map): New version of
7253 mh-letter-mode tool-bar. Changed order of buttons; made customize
7254 and info buttons specific to mh-e.
7256 * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
7257 uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
7258 mh-cur-scan-msg-regexp, so will better adapt to non-default scan
7259 formats. Also, lines marked for refiling are now fontified.
7261 2001-11-18 Bill Wohler <wohler@newt.com>
7263 * mh-utils.el (mh-show-mode): Added local variable
7264 mail-header-separator which is initialized to
7265 mh-mail-header-separator.
7267 * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
7268 Needed when running mh-edit-again, since by then the separator is
7269 gone. Added documentation saying one should use
7270 mail-header-separator and initialize it from
7271 mh-mail-header-separator.
7272 (mh-forward): Initialize mail-header-separator since
7273 mh-letter-mode hasn't kicked in yet (which does initialize
7274 mail-header-separator).
7275 (mh-letter-mode): Initialize mail-header-separator from
7276 mh-mail-header-separator, not hard-coded string.
7278 * mh-comp.el (mh-insert-x-mailer-p): New variable to control
7279 whether X-Mailer string is inserted. Default: t.
7280 (mh-x-mailer-string): New variable that caches actual X-Mailer
7282 (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
7284 (mh-insert-x-mailer): New function that inserts X-Mailer header
7287 2001-11-17 Peter S Galbraith <psg@debian.org>
7289 * mh-utils.el (mh-letter-header-font-lock): New function to return
7290 the entire mail header to font-lock for sedate font-locking.
7291 (mh-show-font-lock-keywords): Modified to fontify whole lines and use
7292 mh-letter-header-font-lock above to fontify whole header.
7294 2001-11-17 Bill Wohler <wohler@newt.com>
7296 * mh-comp.el (mail-header-separator): Added ^ and $ to make more
7298 (mh-forward, mh-letter-mode): Replaced hard-coded string with
7299 mail-header-separator.
7301 2001-11-16 Bill Wohler <wohler@newt.com>
7303 * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
7304 (mh-version): The variable: Set to a number instead of Id since
7305 the Id didn't have the mh-e version number, and both Emacs and
7306 gnus do it this way too.
7307 (mh-version): The function: Fixed for nmh. Now displays mh-e
7308 version correctly. Cleaned up output and display mh-progs, etc.
7309 (Closes SF #405620.)
7311 2001-11-15 Peter S Galbraith <psg@debian.org>
7313 * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
7314 mh-letter-mode in emacs21. Uses icons from gnus/message.el.
7315 * mh-comp.el (mh-letter-mode): Add buffer-local binding of
7316 tool-bar-map to mh-letter-tool-bar-map.
7318 2001-11-15 Peter S Galbraith <psg@debian.org>
7320 * mh-mime.el (mh-have-file-command): Add check for existence of
7321 executable-find command, which Jeffrey didn't exist in emacs-20.4.
7322 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
7324 * mh-mime.el (mh-file-mime-type): Bug Fix. Some versions of
7325 'file' output a string like "file: Using regular magic file..."
7326 to stderr, so discard stderr when using call-process with 'file'.
7328 2001-11-14 Peter S Galbraith <psg@debian.org>
7330 * mh-mime.el (mh-have-file-command): Check if 'file' command on
7331 system accepts arguments -i -b before accepting it for our use.
7333 2001-11-14 Peter S Galbraith <psg@debian.org>
7335 * mh-utils.el (mh-find-progs): Use expand-file-name instead of
7336 concatenating together strings into a path.
7338 2001-11-14 Peter S Galbraith <psg@debian.org>
7340 * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
7341 menu only when mh-narrowed-to-seq is t.
7343 2001-11-14 Peter S Galbraith <psg@debian.org>
7345 * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
7346 of more complicated and error-prone call-process to which command.
7347 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
7350 2001-11-14 Jeffrey C Honig <jch@honig.net>
7352 * mh-e.el (mh-make-folder-mode-line): Bug fix. Properly deal with
7353 folders that do not have any lines in them. Print "no msgs"
7354 instead of "0 msgs". Do not try to print a range when there are
7356 * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the
7357 "scan: band message list" message.
7359 2001-11-13 Jeffrey C Honig <jch@honig.net>
7361 * mh-utils.el (mh-find-progs): Bug fix. Add "mh/etc" to the
7362 subdirectories to search for "components". On BSD/OS, nmh is in
7363 "/usr/contrib/mh/*".
7365 2001-11-13 Peter S Galbraith <psg@debian.org>
7367 * mh-comp.el (mh-letter-mode): Bug fix. Load mh-mime before
7368 setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
7369 message containing a MIME composition) such that the variable is
7370 properly declared as buffer-local.
7372 2001-11-12 Bill Wohler <wohler@newt.com>
7374 * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
7375 directory, not mh-lib (closes SF #481128).
7377 2001-11-12 Peter S Galbraith <psg@debian.org>
7379 * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
7380 In a sequence with pending deletes and refiles, running mh-widen
7381 would wipe out their notations, even though the sequences are still
7382 defined. Fixed by calling a new function,
7383 mh-notate-deleted-and-refiled. Also changed the coping of
7384 mh-goto-msg-num since it didn't work consistently.
7385 * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
7386 to fix above mh-widen bug. It's a first cut, we may want to clear
7387 all notations first, and notate the current-message sequence and
7388 user sequences. Time will tell.
7390 2001-11-12 Peter S Galbraith <psg@debian.org>
7392 * mh-seq.el (mh-widen): Make it attempt to stay on the same
7393 message number (closes SF bug #480922).
7395 2001-11-11 Bill Wohler <wohler@newt.com>
7397 * import-emacs: New shell script to import Emacs changes to mh-e.
7399 * Makefile (import): New target to import Emacs changes.
7401 2001-11-09 Peter S Galbraith <psg@debian.org>
7403 * mh-mime.el (mh-file-mime-type): Bug fix. Change regexp to
7404 extract mime type from 'file -i' command output.
7406 2001-11-08 Peter S Galbraith <psg@debian.org>
7408 * mh-utils.el (mh-update-sequences-after-mh-show):
7409 New customizable variable telling whether to run
7410 mh-update-sequences in mh-show-mode. Default is t.
7411 * mh-utils.el (mh-show-msg): Run mh-update-sequences when
7412 mh-update-sequences-after-mh-show is set.
7414 2001-11-08 Peter S Galbraith <psg@debian.org>
7416 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
7417 New variable telling whether command 'mimedecode' is on system.
7418 (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
7419 * mh-utils.el (mh-decode-quoted-printable):
7420 New customizable variable telling whether to run mimedecode on
7421 MIME message containing quoted-printable parts. mimedecode will
7422 only alter quoted-printable parts , leaving others intact, and the
7423 resulting message is still fully MIME.
7424 * mh-utils.el (mh-decode-quoted-printable): New function to run
7425 mimedecode on the current buffer.
7426 * mh-utils.el (mh-display-msg): Conditionnaly call
7427 mh-decode-quoted-printable function if mh-decode-quoted-printable
7428 variable is set, to view messages containing quoted-printable
7429 characters into 8-bit.
7431 2001-11-08 Peter S Galbraith <psg@debian.org>
7433 * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
7434 looking at a "forw: -mime" message containing a MIME composition.
7435 * mh-mime.el (mh-file-mime-type): Bug fix. Failed on files like
7436 "~/.mh_profile" because of shell construct. Wrapped filename with
7438 * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
7439 mh-letter-mode-map for mh-open-line.
7441 2001-11-07 Peter S Galbraith <psg@debian.org>
7443 * mh-comp.el (mh-open-line): New user function to split open a line
7444 when editing a reply with included text.
7445 * mh-comp.el (mh-current-fill-prefix): New function used by
7446 mh-open-line to get the fill-prefix on the current line.
7447 * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
7449 2001-11-06 Peter S Galbraith <psg@debian.org>
7451 * mh-seq.el (mh-region-to-sequence): New function, creating a
7452 sequence named 'region containing the message list in the selected
7454 * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
7455 mark is active and in transient-mark-mode.
7456 * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
7457 mark is active and in transient-mark-mode.
7458 * mh-e.el (mh-undo): Undo message marks for refile or deletion if
7459 region if mark is active and in transient-mark-mode.
7461 2001-11-06 Peter S Galbraith <psg@debian.org>
7463 * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
7464 Copy its settings for paragraph-start, paragraph-separate,
7465 fill-paragraph-function, adaptive-fill-regexp and
7466 adaptive-fill-first-line-regexp. This make M-q (fill-paragraph)
7469 2001-11-05 Peter S Galbraith <psg@debian.org>
7471 * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
7472 and always prompt the user for such a drastic step. Also change
7473 the prompt a bit to clarify it.
7475 2001-11-04 Peter S Galbraith <psg@debian.org>
7477 * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
7478 to tell when a MIME insertion was done in a letter.
7479 * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
7480 * mh-mime.el (mh-mhn-compose-external-type):
7481 Set mh-mhn-compose-insert-p.
7482 * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
7483 * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
7484 * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
7485 mh-mhn-compose-insert-p is set.
7487 2001-11-03 Peter S Galbraith <psg@debian.org>
7489 * mh-mime.el (mh-have-file-command): new function testing whether
7490 file command is on the system.
7491 * mh-mime.el (mh-file-mime-type): new function returning MIME type
7493 * mh-mime.el (mh-mhn-compose-insertion): Make use of
7494 mh-file-mime-type function instead of prompting.
7496 2001-10-30 Peter S Galbraith <psg@debian.org>
7498 * mh-utils.el (mh-show-use-goto-addr): defcustom this new
7499 variable, determining whether to call goto-addr in mh-show-mode.
7500 * mh-utils.el (mh-show-mode): Call goto-address when
7501 mh-show-use-goto-addr is t.
7503 2001-10-25 Peter S Galbraith <psg@debian.org>
7505 * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
7506 (list 4) to match elisp doc on what C-u prefix argument actually is.
7508 2001-10-23 Peter S Galbraith <psg@debian.org>
7510 * mh-utils.el (mh-summary-height): In my quest to make mh-e more
7511 useful out-of-the-box for new users, set mh-summary-height to a
7512 minimum of 4 and a maximum of 10 depending on frame height. I
7513 typically have 70 lines in my Emacs frame, so having a default of
7514 4 was silly for my case.
7515 * mh-e.el (mh-update-sequences): Check for nil value of
7516 mh-current-folder, which happens if mh-summary-height < 4
7517 although I haven't tracked doen why that happens.
7519 2001-10-22 Peter S Galbraith <psg@debian.org>
7521 * mh-comp.el (mh-insert-fields): Test for nil value when inserting
7524 2001-10-20 Peter S Galbraith <psg@debian.org>
7526 * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
7527 * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
7528 * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
7529 * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
7530 * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
7532 2001-10-19 Peter S Galbraith <psg@debian.org>
7534 * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
7535 * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
7536 is in use rather than MH) was set assuming that the string "nmh"
7537 will be in mh-lib-progs or mh-lib. This failed on Debian systems.
7538 Better to check for the existence of mhbuild in directory mh-progs.
7539 (closes SF bug #441776)
7541 2001-10-18 Peter S Galbraith <psg@debian.org>
7543 * mh-e.el: Add menubar entry from contrib/mh-menubar.el
7544 * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
7545 * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
7547 2001-07-30 Peter S Galbraith <psg@debian.org>
7549 * mh-e.el: Change font-lock patterns for folders.
7550 Fontify scan.font-lock patterns (which will be documented)
7551 and fontify subject lines prefixed with "Re:" differently.
7552 * mh-comp.el (mh-letter-mode): Add font-lock support as in
7555 2001-04-14 chad brown <y@mit.edu>
7557 * rearrange the font-lock keywords a bit
7559 2001-04-12 chad brown <y@mit.edu>
7561 * preliminary (somewhat boring) font-lock support for mh-e. More
7562 interesting font-lock support probably wants to have better
7563 support for multiple format files
7565 2001-02-24 chad brown <y@mit.edu>
7567 * add default nmh paths to mh-find-prog in mh-utils.el.
7568 change to mh-kill-folder in mh-funcs.el to make it more general.
7570 2001-02-19 Bill Wohler <wohler@newt.com>
7572 * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
7573 EMACS_HOME already exists to give developer a chance to set
7574 environment variable.
7575 (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
7577 (dist): Leave release in current directory.
7580 Copyright (C) 2003 Free Software Foundation, Inc.
7582 Copying and distribution of this file, with or without modification,
7583 are permitted in any medium without royalty provided the copyright
7584 notice and this notice are preserved.
7586 ;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51