(posn-col-row): Take into account `line-spacing'.
[emacs.git] / lisp / mh-e / ChangeLog
blob79d82a4d53106077a56ed15f4a40498a728f6356
1 2003-02-03  Bill Wohler  <wohler@newt.com>
3         * Released MH-E version 7.2.
5         * MH-E-NEWS, README: Updated for release 7.2.
7         * mh-e.el (Version, mh-version): Updated for release 7.2.
9 2003-02-03  Bill Wohler  <wohler@newt.com>
11         * Makefile (dist): mkdir needs to happen *before* files are
12         copied.
14         * MH-E-NEWS: Fixed some awkward verbiage.
16 2003-02-02  Bill Wohler  <wohler@newt.com>
18         * mh-customize.el (mh-invisible-headers): Surround regexp-opt
19         expression in parens to avoid problems viewing certain messages.
21 2003-01-30  Satyaki Das  <satyaki@theforce.stanford.edu>
23         * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
24         The original was inadvertently searching for flists in the user's
25         path.
27 2003-01-27  Bill Wohler  <wohler@newt.com>
29         * mh-customize.el (mh-default-folder-must-exist-flag): Changed
30         default to t according to the principle of least surprise.
32 2003-01-26  Bill Wohler  <wohler@newt.com>
34         * mh-utils.el: Checkdoc fixes.
36         * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
38         * mh-loaddefs.el: Regenerated (lm-verify fixes).
40         * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
42         * mh-alias.el: lm-verify fix.
44         * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
45         lisp/mh-e directory.
46         (MH-E-ETC-ETC): Removed ChangeLog.
47         (dist): Moved creation of mail directory next to copy of files
48         into mail directory.
49         (install-emacs): Copy $(MH-E-SRC) into new directory
50         $(EMACS_HOME/lisp/mh-e.
51         (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
52         include MH-E-LOADDEFS there too.
53         (mh-loaddefs.el): Added lines so that lm-verify passes.
54         (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
56 2003-01-26  Jeffrey C Honig  <jch@honig.net>
58         * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
59         Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
61 2003-01-25  Jeffrey C Honig  <jch@honig.net>
63         * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
64         (mh-process-daemon): Use mh-log-buffer for the output of commands
65         from mh-exec-cmd.
67         * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
68         loose the -temp from their buffer names as they are interesting to
69         the user.
71         * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
72         it is intended to be interesting to the user.
74         * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
75         is intended to be interesting to the user.
77         * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
78         mh-recipients-buffer constant.  Add a kill buffer hook to delete
79         the recipients buffer when a draft buffer is killed.
81 2003-01-25  Satyaki Das  <satyaki@theforce.stanford.edu>
83         * mh-customize.el (mh-customize): New interactive argument
84         deletes other windows.
85         (mh-tool-bar-show-set, mh-tool-bar-letter-set)
86         (mh-tool-bar-folder-set): Modified so that clicking the customize
87         and help buttons deletes the other windows in the frame.
89         * mh-mime.el (mh-mm-inline-message): Remove unused code.
91         * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
92         the wrong notation was being used.
93         (mh-toggle-threads): The function had a bug if you did the
94         following starting from an unthreaded wide folder:
95           (1) Create a sequence with S p
96           (2) Narrow to new sequence with S n
97           (3) Thread narrowed folder with T t
98           (4) Kill sequence with S k
99           (5) Unthread narrowed folder with T t
100         At this point we would have an empty folder. The change fixes
101         this.
102         (mh-toggle-threads): Fix documentation.
104         * mh-customize.el (mh-invisible-header-fields): Add
105         X-MHE-Checksum to invisible headers.
107         * mh-comp.el (mh-insert-x-mailer): Slightly more informative
108         X-Mailer header.
110 2003-01-24  Satyaki Das  <satyaki@theforce.stanford.edu>
112         * mh-e.el (mh-header-display): Modified so that quoted-printable
113         or base64 encoded messages are left untouched.
115         * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
116         the Content-Transfer-Encoding header so that the MIME decoding
117         routines of Gnus doesn't get confused.
118         (mh-display-msg): Use insert-file-contents-literally so that
119         display will work for non-ascii.
121         * mh-mime.el (mh-mime-display): Use charset info to decode
122         message file (closes SF #655123).
124 2003-01-24  Bill Wohler  <wohler@newt.com>
126         * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
127         error message and added parens around error function.
129 2003-01-24  Satyaki Das  <satyaki@theforce.stanford.edu>
131         * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
132         (mh-decode-content-transfer-encoded-message-flag): This replaces
133         mh-decode-quoted-printable-flag.
135         * mh-utils.el (mh-decode-content-transfer-encoded-message): New
136         function which handles messages that are encoded as base64 or
137         quoted-printable (closes SF #674190).
138         (mh-decode-quoted-printable): Removed.
139         (mh-display-msg): Use mh-decode-content-transfer-encoded-message
140         instead of mh-decode-quoted-printable.
142 2003-01-23  Satyaki Das  <satyaki@theforce.stanford.edu>
144         * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
145         that would occasionally cause angles ('<' and '>') to appear at
146         root level.
148 2003-01-21  Satyaki Das  <satyaki@theforce.stanford.edu>
150         * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
151         mode too.
153         * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
154         that a '>' is displayed in text mode.
156 2003-01-20  Satyaki Das  <satyaki@theforce.stanford.edu>
158         * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
159         so that a space is always maintained in the beginning of the scan
160         line.
162         * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
163         faster by cutting down on the use of mh-goto-msg.
164         (mh-toggle-threads): Add call to mh-notate-cur, since inserting
165         the folder names in a search results folder screws up the
166         location of the overlay arrow.
168         * mh-index.el (mh-index-delete-folder-headers): Position the
169         point on a message line if possible.
171         * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
172         function faster.
174         * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
176         * mh-loaddefs.el: Regenerated.
178         * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
179         suppresses the annotation of the sequence since it is
180         inefficient.
182         * mh-seq.el (mh-delete-seq): Speed up the part of the function
183         that removes the sequence notation.
184         (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
185         mh-iterate-on-messages-in-region to make the function fasters when
186         operating on regions. The key idea is to loop over the folder
187         buffer exactly once and do all annotations. The existing algo
188         would walk over the buffer multiple times thereby slowing things
189         down.
190         (mh-iterate-on-messages-in-region): Added an extra parameter which
191         is bound to the message index as the loop is executed.
192         (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
193         the new mh-iterate-on-messages-in-region macro.
195         * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
196         as above.
197         (mh-notate-user-sequences): Change algorithm to make notating of
198         user sequences fast.
200 2003-01-19  Satyaki Das  <satyaki@theforce.stanford.edu>
202         * mh-logo.xpm: New image file that contains the MH-E logo.
203         Change foreground color to the blue in the MH-E logo.
205         * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
207         * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
208         keep space in the beginning for the logo.
209         (mh-logo-cache): New variable that caches the logo image file
210         location.
211         (mh-logo-display): Display the MH-E logo on the mode line.
212         (mh-display-msg): Display logo in mh-show-mode.
214         * mh-e.el (mh-make-folder-mode-line): Display logo in
215         mh-folder-mode.
217         * mh-comp.el (mh-compose-and-send-mail): Display logo in
218         mh-letter-mode.
220         * mh-loaddefs.el: Regenerated.
222         * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
223         iterate on all messages in a region.
224         (mh-region-to-msg-list): Simplified since it uses
225         mh-iterate-on-messages-in-region now.
227         * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
228         to pass the region that is to be deleted when appropriate.
229         (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
230         regions directly without creating the list of messages to be
231         deleted/refiled.
232         (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
233         parameter in these functions can now be nil. If so, the current
234         message is deleted, refiled or undone respectively. Avoids the
235         use of mh-goto-msg in this case and speeds up operations on
236         regions quite a bit.
238 2003-01-19  Peter S Galbraith  <psg@debian.org>
240         * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
241         it would always prompt using "To: " instead of using the command
242         argument (closes SF #670913).
244 2003-01-19  Satyaki Das  <satyaki@theforce.stanford.edu>
246         * mh-utils.el (mh-folder-completion-function): If there is a
247         +foo/bar folder and the user types foo//bar then the completion
248         function would say a match happened without showing the
249         normalized folder name. This change fixes that.
251 2003-01-18  Satyaki Das  <satyaki@theforce.stanford.edu>
253         * mh-e.el (mh-rmail): Modified so that new and unseen messages
254         are shown (closes SF #667542).
256 2003-01-17  Satyaki Das  <satyaki@theforce.stanford.edu>
258         * mh-index.el (mh-index-generate-pretty-name): Generate nicer
259         names. In particular all '-' characters are removed.
261 2003-01-16  Satyaki Das  <satyaki@theforce.stanford.edu>
263         * mh-customize.el (mh-index-program): Documentation fix.
265         * mh-loaddefs.el: Regenerated.
267         * mh-customize.el (mh-index-program): Add choices for mairix and
268         pick.
270         * mh-index.el (mh-indexer-choices): Add search interfaces for
271         mairix and pick.
272         (mh-index-search): Add links for mairix and pick.
273         (mh-index-pick-folder, mh-pick-binary): Variables needed to
274         implement pick support.
275         (mh-pick-execute-search, mh-pick-next-result): New functions to
276         implement pick support.
277         (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
278         variables for mairix support.
279         (mh-mairix-execute-search, mh-mairix-next-result)
280         (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
281         functions for mairix.
283         * mh-funcs.el (mh-kill-folder): Move message to the end.
285         * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
286         overlay-arrow-string local variables so that the arrow will
287         remain even if some other folder is visited.
288         (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
289         required any more since overlay-arrow-position is local.
290         (mh-goto-cur-msg): Remove overlay arrow if current message
291         doesn't exist.
293         * mh-seq.el (mh-notate-cur): Don't need to set
294         overlay-arrow-string any more since it is local and has been set
295         at initialization.
297 2003-01-15  Satyaki Das  <satyaki@theforce.stanford.edu>
299         * mh-speed.el (mh-speed-current-folder): Keep track of current
300         folder when flists is called.
301         (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
302         ambiguity when folders are present with + at the end of the name.
303         Unfortunately it can't always be avoided.
305         * mh-e.el (mh-folder-size): Remove the unnecessary error check.
306         (mh-parse-flist-output-line): Add extra argument which
307         occasionally avoid problems with folder names that end with '+'.
309         * mh-utils.el (mh-sub-folders-actual): Fix the folder name
310         parsing so that it doesn't get confused by trailing '+' chars in
311         the folder name.
313 2003-01-14  Satyaki Das  <satyaki@theforce.stanford.edu>
315         * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
316         now handle ".." and "." correctly during folder name completion.
317         (mh-normalize-folder-name): Avoid error in boundary condition
318         where the folder string is empty.
320 2003-01-14  Mark D. Baushke  <mdb@gnu.org>
322         * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
323         the `mh-read-msg-range' function as the optional
324         always-prompt-flag.
326 2003-01-14  Satyaki Das  <satyaki@theforce.stanford.edu>
328         * mh-utils.el (mh-normalize-folder-name): New function that
329         normalizes folder names.
330         (mh-sub-folders): Use mh-normalize-folder-name. Also the function
331         has been modified so that a trailing slash is only added if the
332         folder potentially has subfolders.
333         (mh-sub-folders-actual): Simplified since the folder has already
334         been normalized in mh-sub-folders.
335         (mh-remove-from-sub-folders-cache): Modified so that the cached
336         results of two of the folders ancestors are invalidated.
337         (mh-folder-completion-map): Ugly hack to make the error go away
338         when minibuffer-complete-word is called.
339         (mh-folder-completion-function): The completion function will now
340         be more selective in adding '/' at the end of completed folder
341         names.
342         (mh-folder-completing-read): The folder name is normalized before
343         return. The minibuffer-local-completion-map is shadowed to avoid
344         error with SPC (bound to minibuffer-complete-word). We really
345         need a better solution.
347 2003-01-13  Bill Wohler  <wohler@newt.com>
349         * mh-seq.el: Edited comment and docstring text to conform with RFC
350         2822 terminology. Message-ID is the header field. It contains a
351         message identifier.
353 2003-01-13  Satyaki Das  <satyaki@theforce.stanford.edu>
355         * mh-utils.el (mh-sub-folders): Add an argument that returns
356         sub-folders with a / character appended at the end.
357         (mh-folder-completion-function): Modify the function so that one
358         tab is now sufficient to complete the folder name and add a
359         trailing /.
360         (mh-folder-completing-read): Remove the trailing / that the
361         completion function now adds to the folder name. Also multiple /
362         characters in the folder input are removed. So if the user inputs
363         +foo///bar//baz///// then that will be converted to +foo/bar/baz.
364         This will improve the performance of caching.
366         * mh-seq.el (mh-notate-cur): Check that a valid current message
367         exists before trying to notate (closes SF #667331).
368         (mh-message-id-regexp): New variable to store regexp to recognize
369         message-ids.
370         (mh-thread-generate): Use mh-message-id-regexp to filter out non
371         message-id's from the References: header.
373 2003-01-12  Satyaki Das  <satyaki@theforce.stanford.edu>
375         * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
376         aren't on a graphic display.
378 2003-01-11  Satyaki Das  <satyaki@theforce.stanford.edu>
380         * mh-seq.el (mh-notate-cur): New function to notate the current
381         message. The marker in the fringe is updated too.
382         (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
383         the specialized function mh-notate-cur instead of mh-notate-seq.
385         * mh-e.el (mh-arrow-marker): New buffer local variable to store
386         the position where the marker in the fringe is going to be
387         displayed (closes SF #664824).
388         (mh-folder-mode): Create a marker for the fringe.
389         (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
390         specialized function mh-notate-cur instead of mh-notate-seq or
391         mh-notate.
392         (mh-remove-cur-notation, mh-remove-all-notation): Reset the
393         overlay-arrow-position if needed.
395         * mh-loaddefs.el: Regenerated.
397 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
399         * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
400         creating nested folders doesn't produce inconsistent results.
401         (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
403         * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
404         called on a folder holding index search results. Also the now
405         removed mh-folder-list-change-hook is called no more.
407         * mh-customize.el (mh-auto-folder-collect-flag)
408         (mh-folder-list-change-hook): Removed.
410         * mh-loaddefs.el: Regenerated.
412 2003-01-10  Bill Wohler  <wohler@newt.com>
414         * mh-customize.el (mh-default-folder-must-exist-flag): New
415         variable to suppress suggested folder if the folder doesn't
416         already exist (closes SF #657096).
417         (mh-default-folder-list): New variable that
418         holds mapping between an address and the desired folder for
419         filing (closes SF #657096).
420         (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
421         docstring, refer to documentation for mh-prompt-for-refile-folder
422         and mh-folder-from-address.
423         (mh-highlight-citation-p, mh-compose-insertion,
424         (mh-insert-mail-followup-to-list, mh-index-program,
425         (mh-identity-default): Fixed case of tags.
427         * mh-e.el (mh-folder-from-address): Use new variable
428         mh-default-folder-must-exist-flag to return nil if this variable
429         is t and the folder doesn't already exist. In addition, can now
430         look up a default folder in the new variable
431         mh-default-folder-list (closes SF #657096).
432         (mh-prompt-for-refile-folder): In docstring, refer to
433         documentation in mh-folder-from-address.
435         * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
436         the FileRules filename in the sample config file. Otherwise, the
437         users don't see the backslash at all, and no files are indexed!
438         (closes SF #665888).
440 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
442         * mh-seq.el (mh-thread-folder): Get headers for exactly the
443         messages that are present. If only messages 1-10 and 3800-3900
444         are being shown then we will now scan exactly those messages and
445         not the full range from 1-3900 as was being done earlier.
446         (mh-toggle-threads): When converting from threaded to normal view
447         only the messages present in the buffer are scanned. Earlier all
448         messages from the minimum to the maximum would be scanned (closes
449         SF #626117).
451         * mh-pick.el (mh-search-folder): Fix typo.
452         (mh-pick-do-search): Fix bug from cut and paste. Also set window
453         config properly.
455         * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
456         it to accept + as a folder name. This allows the user to search
457         all folders when "Fs" is used.
459         * mh-pick.el (mh-search-folder): Fix interactive spec of function.
460         (mh-pick-do-search): Rewritten to call pick in one go. This will
461         make adding pick as a default index search program easier. Also
462         pick now accepts the same query syntax as the index search
463         programs (closes SF #664816).
464         (mh-next-pick-field): Removed.
465         (mh-pick-parse-search-buffer): New function to parse the search
466         buffer.
467         (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
468         to produce a pick query from the parsed representation.
470         * mh-index.el (mh-index-do-search): Refactor the search pattern
471         parser into a new function and use that instead.
473         * mh-loaddefs.el: Regenerated.
475 2003-01-10  Satyaki Das  <satyaki@theforce.stanford.edu>
477         * mh-loaddefs.el: Regenerated.
479         * mh-utils.el (mh-remove-from-sub-folders-cache)
480         (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
481         mh-remove-from-sub-folders-cache.
482         (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
484         * mh-pick.el (mh-searching-function): New buffer local variable
485         that keeps track of the default searching function to be used.
486         (mh-pick-mode): Make mh-searching-function buffer local.
487         (mh-search-folder): Set mh-searching-function to use pick.
488         (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
489         (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
490         mh-do-pick-search to mh-pick-do-search. But keep
491         mh-do-pick-search as a deprecated function.
492         (mh-do-search): New interactive function that performs the
493         default search.
494         (mh-pick-mode-map): Update keymap.
496         * mh-index.el (mh-index-search): Set mh-searching-function to do
497         index search.
498         (mh-index-new-folder): Replace mh-update-sub-folders-cache with
499         mh-remover-from-sub-folders-cache.
501         * mh-funcs.el (mh-kill-folder): Same as above.
503         * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
504         Checkdoc fixes.
506         * mh-customize.el: Fixes to make byte compiler in CVS Emacs
507         perfectly happy.
509 2003-01-09  Bill Wohler  <wohler@newt.com>
511         * mh-e.el (mh-folder-from-address): New function that proposes the
512         name of a folder with an alias for the address in the current message.
513         (mh-prompt-for-refile-folder): Use it (closes SF #657096).
515         * mh-customize.el (mh-default-folder-prefix): New variable used by
516         mh-folder-from-address.
517         (mh-invisible-header-fields): Edited docstring.
519         * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
520         cookie (used by mh-folder-from-address in mh-e.el). Edited text in
521         comment.
523         * mh-utils.el: Provided naming conventions for buffer and buffer
524         variable names.
525         (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
526         (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
527         (mh-info-buffer): Renamed from mh-temp-info-buffer.
528         (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
529         buffer which is expected to be used for the output of MH commands.
530         Perhaps we always create this buffer at initialization and append
531         to it rather than erase it each time?
533         * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
534         temporary and working buffers. As long as the buffer naming
535         conventions are followed, new buffers will be automatically
536         killed.
537         (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
539         * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
540         mh-info-buffer.
542 2003-01-09  Satyaki Das  <satyaki@theforce.stanford.edu>
544         * mh-e.el (mh-folder-size): If the user doesn't have a
545         Unseen-Sequence definition in .mh_profile then an error was
546         produced. This change fixes that.
548         * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
549         with a temporary buffer which is cleaned up when the function
550         exits.
552         * mh-e.el (mh-prompt-for-refile-folder): New function which
553         refactors out the intelligent folder guessing code from
554         mh-refile-msg.
555         (mh-refile-msg): Use mh-prompt-for-refile-folder.
557         * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
558         do the same intelligent destination folder guessing as
559         mh-refile-msg (closes SF #664829).
561         * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
562         (mh-folder-list-temp, mh-folder-list-partial-line)
563         (mh-set-folder-list): Removed.
564         (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
565         Moved over from mh-speed.el to implement hierarchical completion.
566         (mh-update-sub-folders-cache): Utility function called when
567         new folders are created or folders are removed.
568         (mh-folder-completion-function): New function is the folder name
569         completion function used in completing-read.
570         (mh-folder-completing-read): A thin wrapper function that is used
571         instead of completing-read directly. In the future we might want
572         to allow the user a customizable variable which will turn off
573         folders based completion.
574         (mh-prompt-for-folder): Use mh-folder-completing-read to read in
575         the folder name with hierachical completion (closes SF #664821).
577         * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
578         (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
579         mh-sub-folders-cache and mh-sub-folders-actual respectively.
580         (mh-speed-invalidate-map, mh-speed-invalidate-map)
581         (mh-speed-add-folder): Use the new names.
583         * mh-funcs.el (mh-kill-folder): Remove code that used to update
584         mh-folder-list which is no longer present. Instead
585         mh-update-sub-folders-cache is called.
587         * mh-index.el (mh-index-new-folder): Same as above.
589 2003-01-08  Satyaki Das  <satyaki@theforce.stanford.edu>
591         * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
592         controls what is done with the process output.
594         * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
595         restore window configuration. Also the call to mh-exec-cmd-daemon
596         only displays output if an error happened (closes SF #664828).
597         (mh-rmf-daemon): Check rmf output and display it only if
598         something went wrong.
599         (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
601         * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
602         argument to mh-exec-cmd-daemon so that the functions will behave
603         as before.
605         * mh-pick.el (mh-search-folder): The current window config is
606         stored.
607         (mh-make-pick-template): Make the message headers read-only.
608         (mh-pick-mode-help-messages): Update help message.
609         (mh-do-pick-search): Fix problem when buffer isn't showing any
610         messages.
611         (mh-next-pick-field): Use buffer-substring-no-properties is
612         better.
613         (mh-pick-mode-map): Add key bindings (partially addresses
614         SF #664816)
616         * mh-index.el (mh-indexer-choices): Add a new field for each
617         index program choice. If it is non-nil then it is the name of a
618         function that given a lisp expression to search for generates a
619         pattern that is acceptable to the search program.
620         (mh-index-regexp-builder): New variable that stores the function
621         to be used to convert from the lisp expression syntax to
622         something that the search program understands.
623         (mh-index-generate-pretty-name): Generalized so that it can take
624         a list of strings as input.
625         (mh-index-search): Modified so that if the configured program has
626         a corresponding regexp-builder then a search buffer like pick
627         search is produced. Otherwise the previous behavior is maintained.
628         (mh-index-do-search): New interactive function that takes the
629         contents of the search buffer, generates an appropriate query and
630         produces the search results buffer by calling mh-index-search.
631         (mh-replace-string, mh-index-parse-search-regexp)
632         (mh-index-add-implicit-ops, mh-index-evaluate): New functions
633         which parses the infix search expression that the user enters. A
634         parse tree from which queries for different search programs can
635         be produced is produced.
636         (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
637         internal form of the query and produces input suitable for
638         swish++.
640         * mh-loaddefs.el: Regenerated.
642 2003-01-08  Bill Wohler  <wohler@newt.com>
644         * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
645         Useful to see if an Emacs developer has changed MH-E.
647         * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
649         * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
650         buffer that contains version info.
652         * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
653         mh-temp-buffer since version information was getting clobbered by
654         the aliasing code before it could be seen (closes SF #664467).
655         (mh-quit): Delete mh-temp-info-buffer.
657         * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
658         version info instead of mh-temp-buffer. You kind of need this
659         patch to send mail.
661 2003-01-07  Bill Wohler  <wohler@newt.com>
663         * mh-e.el (Version, mh-version): Set to 7.1+cvs.
665 2003-01-07  Bill Wohler  <wohler@newt.com>
667         * Released MH-E version 7.1.
669         * MH-E-NEWS, README: Updated for release 7.1.
671         * mh-e.el (Version, mh-version): Updated for release 7.1.
673 2003-01-07  Bill Wohler  <wohler@newt.com>
675         * mh-customize.el (mh-auto-folder-collect-flag,
676         mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
678         * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
680         * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
681         checkdoc warnings.
683 2003-01-07  Satyaki Das  <satyaki@theforce.stanford.edu>
685         * mh-utils.el (mh-search-from-end): New function that is used to
686         replace our usage of the CL function search.
687         (font-lock): The library is loaded to avoid compilation warning
688         in CVS Emacs.
690         * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
691         (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
692         mh-search-from-end instead of search.
694         * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
695         remove*.
696         (mh-thread-process-in-reply-to): Use mh-search-from-end instead
697         of search.
699         * mh-index.el (mh-md5-parser): Fix name of function.
700         (mh-index-update-single-msg, mh-index-update-maps): Avoid using
701         destructuring-bind since Emacs-20.7 can't handle this particular
702         usage.
703         (mh-namazu-next-result): Use mh-search-from-end instead of
704         search.
706         * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
707         emacs which doesn't have the variable defined causes a compiler
708         warning.
709         (mh-refile-a-msg): Rewritten to avoid using pushnew.
710         (mh-undo-msg): Use loop instead of remove-if.
712         * mh-comp.el (mh-show-buffer-message-number): Use
713         mh-search-from-end instead of search.
715 2003-01-01  Satyaki Das  <satyaki@theforce.stanford.edu>
717         * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
718         all messages are displayed. Documentation modified so that this is
719         explicitly stated.
720         (mh-visit-folder): Really fix it this time.
722 2003-01-01  Mark D Baushke  <mdb@gnu.org>
724         * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
725         mh-autoload comment or mh-customize may have problems finding the
726         function.
728         * mh-loaddefs.el: Regenerated.
730 2002-12-28  Satyaki Das  <satyaki@theforce.stanford.edu>
732         * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
734 2002-12-28  Bill Wohler  <wohler@newt.com>
736         * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
737         variable in docstring, explain how to expand directives, and
738         don't mention mh-mhn-compose-insertion which isn't used directly
739         any more.
740         (mh-send-letter): Mention that X-Mailer and X-Face are inserted
741         automatically so that a user isn't tempted to do so himself in
742         mh-before-send-letter-hook.
743         (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
744         now that we have both a function and a variable. Clarified
745         language a bit.
747 2002-12-26  Satyaki Das  <satyaki@theforce.stanford.edu>
749         * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
750         the emacs is not XEmacs.
752         * mh-index.el (mh-index-new-folder): The folder created should
753         always be added to mh-folder-list. Otherwise folder name
754         completion doesn't find the new folder created.
756 2002-12-24  Satyaki Das  <satyaki@theforce.stanford.edu>
758         * mh-customize.el (mh-clean-message-header-flag)
759         (mh-visible-headers, mh-invisible-headers)
760         (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
762         * mh-loaddefs.el: Regenerated.
764         * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
765         Handle nil value of mh-large-folder properly.
767         * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
768         (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
769         (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
770         fixes.
771         (mh-large-folder): Updated to allow for infinity. If
772         mh-large-folder is nil then all folders are deemed small.
774 2002-12-23  Satyaki Das  <satyaki@theforce.stanford.edu>
776         * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
777         threading was suppressed because the number of messages exceed
778         mh-large-folder.
780 2002-12-23  Peter S Galbraith  <psg@debian.org>
782         * mh-utils.el (mh-invisible-headers): Deleted.  Moved to
783         mh-customize.el
785         * mh-customize.el (mh-invisible-header-fields): New
786         defcustom. Simple user interface to change mh-invisible-headers.
787         (mh-invisible-header-fields-set): New function called when
788         mh-invisible-header-fields is set.
789         (mh-invisible-headers): New function.  Does the actual work of
790         building the variable mh-invisible-headers from
791         mh-invisible-header-fields.
792         (mh-invisible-headers): defvar moved from mh-utils.el
794 2002-12-22  Satyaki Das  <satyaki@theforce.stanford.edu>
796         * mh-speed.el (mh-speed-folder-size): Removed. Something very
797         similar appears as mh-folder-size.
798         (mh-speed-view): Simplified since the range selection logic has
799         been moved to mh-read-msg-range.
800         (mh-speed-parse-flists-output-line): Moved to mh-e.el as
801         mh-parse-flist-output-line.
803         * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
805         * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
806         (mh-parse-flist-output-line): Moved from mh-speed.el where this
807         function was called mh-speed-parse-flists-output-line.
808         (mh-folder-size): Renamed from mh-speed-folder-size. The function
809         has been made more general and can be called from any buffer and
810         not just the speedbar buffer.
811         (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
812         #655891).
813         (mh-read-msg-range): Rewritten.
815 2002-12-21  Satyaki Das  <satyaki@theforce.stanford.edu>
817         * mh-seq.el (mh-delete-subject-or-thread): New interactive
818         function that intelligently deletes messages based on threading,
819         if the folder is threaded, or on subject if folder isn't threaded.
821         * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
822         function, callable from the show buffer, to intelligently delete
823         messages based on threading info or subject.
824         (mh-show-mode-map): Change binding of "k" to call
825         mh-show-delete-subject-or-thread.
827         * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
828         mh-delete-subject-or-thread.
830         * mh-comp.el (mh-letter-mode-map): Add key binding for
831         mh-insert-identity.
833         * mh-loaddefs.el: Regenerated.
835 2002-12-21  Peter S Galbraith  <psg@debian.org>
837         * mh-customize.el (mh-tool-bar-letter-set): Bug fix.  The
838         `tool-bar-add-item-from-menu' items were broken.  I can't use my
839         constants there.
841 2002-12-21  Peter S Galbraith  <psg@debian.org>
843         * mh-alias.el (mh-alias-insert-file): Bug fix.  I never checked
844         that an AliasFile entry existed in .mh_profile.
846 2002-12-21  Peter S Galbraith  <psg@debian.org>
848         * mh-customize.el (mh-alias-insertion-location): New defustom.
849         Specifies where new aliases are entered in alias files.
851         * mh-alias.el (mh-alias-add-alias-to-file): Use it.
853 2002-12-21  Peter S Galbraith  <psg@debian.org>
855         * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
856         exactly, prompt to [i]nsert before old value or [a]ppend after it.
857         (mh-alias-insert-file): Make sure we don't edit the passwd file.
858         Add optional argument for alias; If ALIAS is specified and it
859         already exists, try to return the file that contains it.
860         (mh-alias-which-file-has-alias): New function. Return the name of
861         writable file which defines ALIAS from list FILE-LIST.
862         (mh-alias-add-alias): Remove prompts for case of alias already
863         defined; done in mh-alias-add-alias-to-file.
865 2002-12-21  Satyaki Das  <satyaki@theforce.stanford.edu>
867         * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
868         folder names that have spaces in them. The original function would
869         truncate the folder name at the first space.
870         (mh-speed-flists): Add -sequence option to flists. This guards
871         against the user specifying something other than the unseen
872         sequence in his .mh_profile.
873         (mh-speed-parse-flists-output-line): New function that parses a
874         single line in the output of flists to find the folder name and
875         the counts of unseesn and total messages.
876         (mh-speed-parse-flists-output): Fix parsing bug which truncates
877         the folder names at the first space.
879         * mh-index.el (mh-index-generate-pretty-name): New function which
880         generates a nicer name for the search results. It trims white
881         space at the beginning and end and replaces white space with
882         underscores within the search regexp.
883         (mh-index-search): Use mh-index-generate-pretty-name.
885         * mh-loaddefs.el: Regenerated.
887 2002-12-20  Satyaki Das  <satyaki@theforce.stanford.edu>
889         * mh-index.el (mh-index-new-folder): Add new folder to
890         mh-folder-list to enable name completion.
891         (mh-glimpse-execute-search, mh-swish-execute-search)
892         (mh-swish++-execute-search): Fix documentation.
894         * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
895         folder could get 'scan'ed when generating the threaded view.
897         * mh-index.el (mh-index-search): If optional prefix arg is given
898         then the search in the current index buffer is redone.
899         (mh-glimpse-execute-search, mh-swish-execute-search)
900         (mh-namazu-execute-search): Documentation fixes.
902         * mh-e.el (mh-index-previous-search): New buffer local variable
903         stores parameters of search that created the buffer.
904         (mh-folder-mode): Make mh-index-previous-search buffer local.
905         (mh-visit-folder): Tweak the function so that only a single window
906         with the folder buffer is shown if mh-showing-mode is nil.
908         * mh-loaddefs.el: Regenerated.
910 2002-12-19  Peter S Galbraith  <psg@debian.org>
912         * mh-alias.el (mh-alias-add-alias): Bug fix.
914 2002-12-19  Peter S Galbraith  <psg@debian.org>
916         * mh-alias.el (mh-alias-add-alias): New interactive command. Add
917         ALIAS for ADDRESS in personal alias file.
918         (mh-alias-grab-from-field): New interactive command. Add ALIAS for
919         ADDRESS in personal alias file.
920         (mh-alias-add-address-under-point): New interactive
921         command. Insert an alias for email address under point.
922         (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
923         (mh-alias-insert-file): New function. Return the alias file to
924         write a new entry in.
925         (mh-alias-address-to-alias): New function. Return the ADDRESS
926         alias if defined, or nil."
927         (mh-alias-from-has-no-alias-p): New function. Return t is From has
928         no current alias set.  Used as tool-bar button enable function.
929         (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
930         in alias FILE without alias check or prompts.
932         * alias.xpm, alias.pbm: New tool-bar icon for
933         mh-alias-grab-from-field.
935         * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
936         Return t if the message under point in folder-mode is in the show
937         buffer.
939         * mh-utils.el (mh-goto-address-find-address-at-point): New
940         function copied from goto-addr.el, which we don't want to
941         force-load on users.  Find e-mail address around or before point.
942         (mh-address-mail-regexp): New defvar.  A regular expression
943         probably matching an e-mail address.
945         * mh-customize.el (mh-alias-insert-file): New defcustom.
946         Filename to use to store new MH-E aliases.
947         (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
949         * mh-comp.el (mh-extract-from-header-value): New function.
950         Extract From: string from header.
952 2002-12-19  Satyaki Das  <satyaki@theforce.stanford.edu>
954         * mh-index.el (mh-index-update-single-msg): New defvar controls
955         max number of command line args.
956         (mh-index-execute): New function which is to be used
957         instead of xargs so that we don't give the shell too many command
958         line args.
959         (mh-index-update-maps): Use mh-index-execute instead of xargs.
960         (mh-index-search): Remove unused code. Also the first message in
961         folder buffer is made current.
963 2002-12-18  Peter S Galbraith  <psg@debian.org>
965         * mh-loaddefs.el: Regenerated.
967         * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
969         * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
971         * mh-utils.el (mh-get-msg-num): autoloaded.
972         (mh-show-tool-bar-map): Moved to mh-customize.el
974         * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
975         tool-bar setup and customization.
976         (mh-tool-bar-folder-buttons-set): New function to setup the
977         tool-bar after customization.
978         (mh-tool-bar-folder-buttons): New defcustom to specify which icons
979         appears in the tool-bar.
980         (mh-tool-bar-letter-buttons-set): New function to setup the
981         tool-bar after customization.
982         (mh-tool-bar-letter-buttons): New defcustom to specify which icons
983         appears in the tool-bar.
984         (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
985         (mh-tool-bar-letter-set): New function to setup
986         mh-letter-tool-bar-map.
988 2002-12-18  Satyaki Das  <satyaki@theforce.stanford.edu>
990         * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
991         and backtab to call mh-index-next-folder and
992         mh-index-previous-folder as appropriate.
994         * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
995         New interactive functions which jumps to search results of next
996         and previous folders respectively.
998         * mh-loadddefs.el: Regenerated.
1000         * mh-index.el (mh-index-delete-folder-headers): Arrange for
1001         mh-goto-cur-msg to just go to the current message.
1003         * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
1004         buffer anyway, we don't need to delete the folder headers. Also
1005         index-data is non-nil only when the buffer folder doesn't exist.
1006         So we need to call mh-make-folder.
1007         (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
1008         not being made buffer local!
1010 2002-12-17  Satyaki Das  <satyaki@theforce.stanford.edu>
1012         * mh-e.el (mh-visit-folder): Fix bug.
1014         * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
1015         (mh-index-folder-first, mh-index-folder-last)
1016         (mh-index-original-msg-list): Convenience macros aren't needed
1017         anymore since the data structure has been changed.
1018         (mh-index-update-single-msg): New function to update maps that
1019         relate MD5 checksums to actual messages and vice-versa for a
1020         single message.
1021         (mh-index-update-maps): Do the above for all messages. If some
1022         messages don't have MD5 checksums, they are annotated with the
1023         result of md5sum.
1024         (mh-index-search): Updated for the new version of mh-index-data.
1025         (mh-msg-exists-p): New function to test a message exists.
1026         (mh-index-insert-folder-headers): Updated for new mh-index-data.
1027         (mh-index-delete-folder-headers): New function used to eliminate
1028         original folder names from the buffer and make it look like a
1029         plain folder buffer. This is used from mh-process-commands.
1030         (mh-index-visit-folder): Use new version of mh-index-data.
1031         (mh-index-match-checksum): New function which checks if the
1032         X-MHE-Checksum header of a message matches.
1033         (mh-index-execute-commands): New function that rmm's the original
1034         messages. Then after mh-execute-commands executes it will seem
1035         that the original messages were executed upon. This completes the
1036         fix of SF #623321.
1037         (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
1038         (mh-checksum-cmd, mh-checksum-parser): New globals to allow
1039         different checksum programs to be used.
1040         (mh-checksum-choose): New functions to find a checksum program.
1041         (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
1042         parse the output of md5, md5sum and openssl.
1043         (mh-index-update-maps): Use checksum parsing function.
1044         (mh-index-search): Set checksum choice. Add a call to recenter,
1045         otherwise the window point in the index buffer doesn't get set
1046         properly.
1048         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
1049         functions in folders created by index search.
1051         * mh-e.el (mh-index-msg-checksum-map)
1052         (mh-index-checksum-origin-map): New buffer local variables that
1053         keep track of message checksums (used to implement
1054         refiling/deletion for folders created by index folders).
1055         (mh-last-msg): Make the function behave like mh-first-msg.
1056         (mh-visit-folder): Add new optional argument which initializes
1057         folders created by mh-index-search.
1058         (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
1059         mh-index-checksum-origin-map buffer local.
1060         (mh-process-commands): Call mh-index-execute-commands when called
1061         from an index search buffer. This will reflect the changes being
1062         made in the search folder to the original folders.
1064         * mh-loaddefs.el: Regenerated.
1066 2002-12-16  Satyaki Das  <satyaki@theforce.stanford.edu>
1068         * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
1069         caused the folder buffer to be marked as modified after rescanning
1070         an index folder.
1072 2002-12-15  Satyaki Das  <satyaki@theforce.stanford.edu>
1074         * mh-e.el (mh-visit-folder): The function should insert folder
1075         names if it is visiting a folder created by index search.
1077         * mh-index.el (mh-index-insert-folder-headers): The function now
1078         maintains the old value of buffer-modified-p and temporarily makes
1079         the buffer writable.
1081         * mh-utils.el (mh-show-index-visit-folder): New interactive
1082         function callable from show buffer that displays search results
1083         from one folder.
1084         (mh-show-mode-map): Key binding for "v".
1086         * mh-speed.el: Fix credits.
1087         (mh-index-folder-speedbar-buttons)
1088         (mh-index-show-speedbar-buttons)
1089         (mh-index-folder-speedbar-key-map)
1090         (mh-index-show-speedbar-key-map)
1091         (mh-index-folder-speedbar-menu-items)
1092         (mh-index-show-speedbar-menu-items): Removed since the modes
1093         mh-index-folder-mode and mh-index-show-mode no longer exist.
1094         (mh-speed-extract-folder-name): Remove the bits about
1095         mh-index-folder-mode and mh-index-show-mode.
1097         * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
1098         index search results.
1099         (mh-region-to-msg-list): Skip over non-scan lines.
1100         (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
1101         non-scan lines when populating mh-thread-scan-line-map.
1102         (mh-thread-folder, mh-toggle-threads): Move the check for buffer
1103         modification from mh-thread-folder to mh-toggle-threads.
1104         (mh-toggle-threads): When returning to unthreaded view insert the
1105         folder names if called from a index folder.
1107         * mh-index.el: Fix credits and update commentary.
1108         (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
1109         (mh-index-ma-x-msg-index, mh-index-other-buffer)
1110         (mh-index-matches, mh-index-previous-window-configuration)
1111         (mh-index-current-msg, mh-index-folder-mode-keymap)
1112         (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
1113         eliminated variables.
1114         (mh-index-folder): New variable sets the MH folder under which the
1115         index searches are stored.
1116         (mh-index-folder-first, mh-index-folder-last)
1117         (mh-index-original-msg-list): Convenience macros used to pull data
1118         elements out of a list. If needed setf can be used to change them
1119         as well.
1120         (mh-index-search): Rewritten to create real folders where all the
1121         normal folder operation. This partially fixes SF #623321 (refiles
1122         and deletes doesn't work on original messages).
1123         (mh-index-find-max-width, mh-index-search-again)
1124         (mh-index-insert-scan, mh-index-callback, mh-index-search)
1125         (mh-index-notate, mh-index-show, mh-index-header-display)
1126         (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
1127         Functions, macros and modes removed.
1128         (mh-folder-exists-p): New function to check if a folder exists.
1129         (mh-index-new-folder): Generate a new folder name from a given
1130         base string that mimics the way emacs generates buffer names.
1131         (mh-index-insert-folder-headers): Insert folder names among the
1132         search results.
1133         (mh-index-visit-folder): New interactive function to show the
1134         search results of one individual folder.
1135         (mh-swish++-execute-search): Update documentation.
1137         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
1138         functions if index search results are being viewed.
1140         * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
1141         folder.
1142         (mh-index-data): New buffer local variable that will be used to
1143         store info about index search results.
1144         (mh-rescan-folder): Implement rescanning for index search results.
1145         (mh-folder-mode): Make mh-index-data buffer local.
1146         (mh-remove-all-notation): Modified to take into account not all
1147         lines in the folder buffer are normal scan lines.
1148         (mh-folder-mode-map): Add key binding for "v" to jump to original
1149         folder narrowed to search results.
1151         * mh-customize.el (mh-index-folder-face): Make it bold so that it
1152         will look like before.
1154         * mh-loaddefs.el: Regenerated.
1156 2002-12-12  Satyaki Das  <satyaki@theforce.stanford.edu>
1158         * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
1159         a list of messages in addition to a sequence.
1160         (mh-region-to-sequence, mh-region-to-msg-list): The function
1161         mh-region-to-msg-list replaces mh-region-to-sequence. The new
1162         function avoids creating a dummy sequence in MH-E.
1163         (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
1164         to use mh-region-to-msg-list.
1166         * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
1168         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
1169         mh-region-to-msg-list.
1171         * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
1172         The buffer-local variable mail-header-separator is no longer
1173         bound. This fixes a bug where the default value of
1174         mail-header-separator gets used if mh-forward is called in a fresh
1175         emacs session.
1176         (mh-annotate-msg): Update this so that it will handle message
1177         lists too.
1178         (mh-insert-letter): Make the test stronger. Since %d is being used
1179         the argument better be an integer.
1181         * mh-loaddefs.el: Regenerated.
1183 2002-12-11  Satyaki Das  <satyaki@theforce.stanford.edu>
1185         * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
1186         If mark is active and transient-mark-mode is enabled then all the
1187         messages in the region are copied.
1189         * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
1190         messages in sequence nicely. The prompt for the folder is removed
1191         (the current folder is always used) and the output is made nicer
1192         by not overflowing the screen width.
1194         * mh-loaddefs.el: Regenerated.
1196 2002-12-09  Satyaki Das  <satyaki@theforce.stanford.edu>
1198         * mh-comp.el (mh-letter-complete): Checkdoc fix.
1200         * mh-seq.el (mh-thread-current-indentation-level): New function
1201         which returns the thread indentation level of current message.
1202         (mh-thread-next-sibling, mh-thread-previous-sibling): New
1203         interactive functions to jump to the next and previous siblings in
1204         thread tree respectively.
1205         (mh-thread-immediate-ancestor): New function to jump to ancestor
1206         of current message in thread tree.
1207         (mh-thread-ancestor): New interactive function to jump to
1208         immediate ancestor or to root message of current thread depending
1209         on optional argument.
1211         * mh-utils.el (mh-show-thread-ancestor)
1212         (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
1213         Interactive functions callable from the show buffer.
1214         (mh-show-thread-map): Bindings for Tu, Tp and Tn.
1216         * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
1218         * mh-loaddefs.el: Regenerated.
1220 2002-12-09  Satyaki Das  <satyaki@theforce.stanford.edu>
1222         * mh-seq.el (mh-region-to-sequence): Change name of region
1223         sequence created to 'mhe-region. This avoids any chance of
1224         collision with actual MH sequences.
1225         (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
1226         name of region sequence used to 'mhe-region. Also delete the
1227         'mhe-region sequence when done.
1229         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
1231         * mh-comp.el (mh-forward): Same as above.
1233         * mh-loaddefs.el: Regenerated.
1235 2002-12-08  Bill Wohler  <wohler@newt.com>
1237         * mh-alias.el: Edited documentation. Broke up file into 2
1238         sections: Alias Loading and Alias Expansion. Made terminology
1239         consistent (replaced expand, substitute, and translate with
1240         expand).
1241         (mh-alias-reload): Brought message in line with coding conventions
1242         and made more concise too.
1243         (mh-alias-translate): Renamed to mh-alias-expand.
1244         (mh-alias-substitute-aliases-flag): Renamed to
1245         mh-alias-expand-aliases-flag.
1246         (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
1247         Now just returns an alist of local users rather than have
1248         side-effects.
1249         (mh-alias-reload): Set timestamp at beginning of function to catch
1250         edge case when alias added just after ali runs. Changed logic to
1251         reflect return value of mh-alias-local-users.
1253         * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
1254         mh-alias-expand-aliases-flag.
1255         (mh-alias-local-users): Fixed documentation.
1257         * mh-loaddefs.el: Regenerated
1259 2002-12-08  Satyaki Das  <satyaki@theforce.stanford.edu>
1261         * mh-e.el (require): Load Gnus at compile time so that the
1262         constant gnus-version is defined when MH-E is being compiled.
1263         (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
1264         Use the constant gnus-version instead of the function gnus-version
1265         to find out about gnus version information.
1266         (gnus-version): Remove the autoload since it is not needed any
1267         more.
1269 2002-12-08  Bill Wohler  <wohler@newt.com>
1271         * mh-e.el (mh-version): Moved compilation information in front of
1272         Emacs information. The idea is that you start at MH-E and move
1273         outwards. Show N/A if Gnus not compiled (be explicit). Matched
1274         coding style with other output statements. (Aside: not that
1275         efficiency matters here, but fewer calls to format have to be
1276         faster, right? ;-). Matched output style of old output to new
1277         statement--liked Satyaki's indentation better ;-).
1279 2002-12-08  Satyaki Das  <satyaki@theforce.stanford.edu>
1281         * mh-e.el (gnus-version): Autoload the function for use in
1282         mh-version.
1283         (mh-macro-expansion-time-gnus-version): New macro that finds the
1284         Gnus version at macro expansion time.
1285         (mh-run-time-gnus-version): New function to find the Gnus version
1286         at run time.
1287         (mh-version): Add information about Gnus versions available at
1288         compile time and run time.
1290 2002-12-07  Peter S Galbraith  <psg@debian.org>
1292         * mh-alias.el (mh-alias-ali): Add optional argument.  if USER is
1293         t, then assume ALIAS is an address and call ali with option -user.
1295         * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
1296         files from `mh-alias-system-aliases' to output list obtained from
1297         mhparam output user list only.
1298         (mh-alias-tstamp): Use it.
1300 2002-12-05  Satyaki Das  <satyaki@theforce.stanford.edu>
1302         * mh-mime.el (mh-inline-vcard-p): A new function which decides if
1303         a vcard should be displayed inline.
1304         (mh-mime-display-single): Use mh-inline-vcard-p to display
1305         attached vcard as a signature if no other signature is present
1306         (this partially addresses SF #649216).
1308 2002-12-05  Peter S Galbraith  <psg@debian.org>
1310         * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
1311         getting run if variable `mh-mml-compose-insert-flag' is set.
1312         (mh-get-header-field): use buffer-substring-no-properties instead
1313         of buffer-substring.
1315 2002-12-04  Peter S Galbraith  <psg@debian.org>
1317         * mh-loaddefs.el: Regenerated.
1319         * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
1321 2002-12-04  Peter S Galbraith  <psg@debian.org>
1323         * mh-loaddefs.el: Regenerated.
1325         * mh-comp.el (mh-letter-complete): New command to do alias or word
1326         completion in letter-mode.
1327         (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
1329         * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
1330         Replaced by mh-letter-complete command.
1331         (mh-alias-reload-maybe): New function to rebuild alias table if
1332         out of date.
1333         (mh-alias-letter-expand-alias): No longer interactive.  Use
1334         mh-letter-complete instead.
1336 2002-12-04  Peter S Galbraith  <psg@debian.org>
1338         * mh-customize.el (mh-letter-complete-function): New defcustom.
1339         Function to call when completing outside of fields specified to
1340         aliases.
1342         * mh-alias.el (mh-alias-filenames):
1343         s/mh-mhparam-component/mh-profile-component/
1344         (mh-profile-component): Move to mh-utils.el and make interactive.
1345         (mh-read-address): Make it autoloaded.
1347         * mh-loaddefs.el: Regenerated.
1349         * mh-comp.el (mh-read-address): Removed.  Replaced by mh-alias
1350         version.
1352         * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
1354 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
1356         * mh-seq.el (mh-msg-is-in-seq): Formatting change.
1358         * mh-index.el (mh-index-insert-scan): Remove unused variable.
1360 2002-12-04  Bill Wohler  <wohler@newt.com>
1362         * mh-loaddefs.el: Regenerated.
1364         * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
1365         this was causing a cycle.
1366         (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
1367         (emacs): Reintroduced autoloads.
1368         (autoloads): We're baaa-aack!
1369         (dist, install-emacs): Use MH-E-LOADDEFS.
1371         * mh-comp.el (mh-customize): Moved to mh-customize.el.
1373         * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
1374         more sense, doesn't it?
1376         * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
1377         mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
1378         interactive functions.
1380 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
1382         * Makefile (world): Remove target.
1383         (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
1384         regenerate mh-loaddefs.el.
1386         * mh-make.el: Removed.
1388 2002-12-04  Mark D. Baushke  <mdb@gnu.org>
1390         * mh-e.el (recursive-load-depth-limit): Only modify the limit
1391         if it is an integer.
1393 2002-12-04  Peter S Galbraith  <psg@debian.org>
1395         * mh-utils.el (mh-header-field-beginning): New function. Move to
1396         the beginning of the current header field.
1398 2002-12-04  Satyaki Das  <satyaki@theforce.stanford.edu>
1400         * mh-make.el (mh-files): Read in the MH-E filenames from the
1401         environment variable where the Makefile puts it.
1402         (mh-generate-autoloads, step2): Simplified since we now have the
1403         complete file names.
1405         * Makefile (world): Pass the MH-E files into the script, so that
1406         the filenames don't need to be repeated in the script.
1408 2002-12-04  Bill Wohler  <wohler@newt.com>
1410         * mh-loaddefs.el: New file. Check in automatically generated file
1411         and include in package for the benefit of those who don't want to
1412         or can't compile.
1414         * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
1415         in and will be packaged.
1416         (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
1417         sufficient to build it.
1418         (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
1419         emacs so that Emacs is only invoked once to compile files. This
1420         speeds things up by a factor of 3. It would be nice to only pass
1421         those files that have been modified, but Emacs 21.4 will have
1422         batch-byte-compile-if-not-done which we might be able to copy into
1423         mh-make.el (or my proposed mh-e-dev.el which would be more
1424         general-purpose).
1425         (.SUFFIXES): Removed. Now that compile works directly on the
1426         sources, the implicit rule is obsolete.
1427         (autoloads): Deleted. See emacs change above.
1429 2002-12-03  Bill Wohler  <wohler@newt.com>
1431         * Makefile (MH-E-SRC, emacs):
1433 2002-12-03  Satyaki Das  <satyaki@theforce.stanford.edu>
1435         * mh-make.el (mh-emacs): Make failing condition more strict.
1436         (mh-loaddefs-end): Remove redundant statement.
1438         * Makefile (world): A little typo. The bug didn't seem to make any
1439         difference though.
1441         * mh-make.el: New script that compiles MH-E.
1442         (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
1443         file in between. Only save at the end.
1444         (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
1445         (mh-generate-autoloads): Replace the separate functions in Emacs
1446         and XEmacs with one that works in both variants. This simplifies
1447         the script a lot.
1448         (mh-generate-autoloads): doc fix.
1450         * Makefile (world): New target which works for both GNU Emacs and
1451         XEmacs.
1453 2002-12-03  Peter S Galbraith  <psg@debian.org>
1455         * mh-alias.el (mh-mhparam-component): Don't raise error if call to
1456         mhparam fails.
1458         * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
1459         not already available.
1461 2002-12-03  Bill Wohler  <wohler@newt.com>
1463         * mh-customize.el (mh-show-threads-flag): Alphabetized.
1465 2002-12-03  Jeffrey C Honig  <jch@honig.net>
1467         * Makefile: Moved .PHONY rule after all rule for compatibility
1468         with BSD/OS's old pmake.
1470 2002-12-03  Mark D Baushke  <mdb@gnu.org>
1472         * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
1473         (mh-add-cur-notation): Remove unnecessary function.
1475 2002-12-03  Peter S Galbraith  <psg@debian.org>
1477         * mh-identity.el (mh-identity-make-menu): Check if
1478         'mh-letter-mode-map' is bound, since this code also gets run when
1479         mh-customize.el is loaded at startup.
1481 2002-12-03  Satyaki Das  <satyaki@theforce.stanford.edu>
1483         * mh-customize.el (mh-show-threads-flag): New customizable
1484         variable which controls if new folders start of in threaded mode
1485         (closes SF #646794).
1487         * mh-e.el (mh-rescan-folder): Fix the function so that threading
1488         is preserved across rescans.
1489         (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
1490         already threaded or if mh-show-threads-flag is non-nil and the
1491         number of scan lines is fewer than mh-large-folders (closes SF
1492         #646794).
1494 2002-12-02  Mark D Baushke  <mdb@gnu.org>
1496         * mh-e.el (mh-add-cur-notation): New function to mark the
1497         current message with the mh-note-cur character.
1498         (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
1499         mh-remove-cur-notation if there was no new mail (closes SF #647681).
1501         * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
1502         value (closes SF #643701).
1504 2002-12-02  Peter S Galbraith  <psg@debian.org>
1506         * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
1507         (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
1508         (mh-alias-passwd-alist): New variable, holding aliases extracted
1509         from the passwd file.
1510         (mh-alias-tstamp): New variable storing the timestamp for alias
1511         list generation.
1512         (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
1513         Complete rewrite.
1514         (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
1515         (mh-alias-translate): New function.  Return translation for alias,
1516         checking if in blind or passwd list.
1517         (mh-alias-letter-expand-alias): Rewrite using
1518         mail-abbrev-complete-alias from mailabbrev.el
1519         (mh-alias-expand-alias-map): New variable.
1520         (mh-alias-ali): New function. Return formatted string of
1521         translated ALIAS from ali.
1522         (mh-mhparam-component): New function. Return COMPONENT value from
1523         mhparam, or nil if unset.
1524         (mh-alias-filenames): New function. Provide list of alias
1525         filenames from mhparam, or nil if none are set.
1527         * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
1528         Obsoleted.
1529         (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
1531 2002-12-02  Bill Wohler  <wohler@newt.com>
1533         * Makefile (mh-loaddefs.el): Suppress creation of backup file.
1535 2002-12-02  Mark D. Baushke  <mdb@gnu.org>
1537         * Makefile (mh-loaddefs.el): Simplify rule.
1539         * Makefile (clean): Remove mh-loaddefs.el* for good measure.
1540         ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
1541         (autoloads, mh-loaddefs.el): Revamp rules.
1542         (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
1544         * mh-e.el (recursive-load-depth-limit): Do not try to
1545         bump the value unless the variable exists.
1547         * mh-e.el (recursive-load-depth-limit): Bump value of
1548         recursive-load-depth-limit to 50 to allow emacs 21.1 which
1549         normally has a default value of 10 to be able to compile MH-E.
1551 2002-12-02  Satyaki Das  <satyaki@theforce.stanford.edu>
1553         * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
1554         so that threading is preserved (needed for SF #646794).
1556         * mh-identity.el (mh-identity-signature-start)
1557         (mh-identity-signature-end): Checkdoc fixes.
1559         * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
1560         fixes.
1562 2002-12-01  Satyaki Das  <satyaki@theforce.stanford.edu>
1564         * mh-identity.el (compile): Make mh-identity.el compile without
1565         warnings.
1567         * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
1568         interactive functions that go to next and previous unread
1569         messages (closes SF #630328).
1570         (mh-folder-mode-map): Add key bindings for M-n and M-p to
1571         mh-folder-mode-map.
1573         * mh-utils.el (mh-show-next-unread-msg)
1574         (mh-show-previous-unread-msg): New interactive functions that go
1575         to the next and previous unread messages respectively. These are
1576         callable from the show buffer.
1577         (mh-show-mode-map): Add key bindings for M-n and M-p to
1578         mh-show-mode-map.
1580 2002-12-01  Bill Wohler  <wohler@newt.com>
1582         * mh-mime.el (mh-defun-compat): Make it indent like a defun.
1584         * mh-index.el (mh-defun-index): Make it indent like a defun.
1586         * mh-customize.el: New file (closes SF #643722).
1588         * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
1590         * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
1591         mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
1592         mh-customize.el (closes SF #643722).
1594         * mh-utils.el (mh-xemacs-flag): Moved here from below since
1595         needed by mh-customize.el.
1596         (mh-customize): Required. mh-invisible-headers)
1597         (mh-bury-show-buffer-flag, mhl-formfile):
1598         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
1599         (closes SF #643722) .
1601         * mh-identity.el (mh-comp-loaded): New variable in a desparate
1602         attempt to prevent an infinite loop.
1603         (eval-when-compile): Was able to remove these defvars as they are
1604         now predefined in mh-loaddefs and mh-customize.
1605         (mh-identity-list-set): Added ;;;###mh-autoload cookie.
1606         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
1607         (closes SF #643722).
1609         * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
1610         is in mh-customize which is required by mh-utils which is required
1611         by mh-e.
1612         Moved all defgroups, defcustoms, and deffaces to mh-customize.el
1613         (closes SF #643722).
1615 2002-11-30  Satyaki Das  <satyaki@theforce.stanford.edu>
1617         * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
1618         SF #630493).
1619         (mh-help-messages): Update help message for prefix map.
1620         (mh-help-messages): Doc fix.
1621         (mh-help-messages): Really fix it.
1623         * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
1624         interactive functions corresponding to mh-thread-delete and
1625         mh-thread-refile callable from the show buffer.
1626         (mh-show-thread-map): Add key bindings for "Td" "To".
1628         * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
1629         (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
1630         mh-autoload cookies.
1631         (mh-thread-find-children): New function which finds the region
1632         containing all children of a message.
1633         (mh-thread-delete): New interactive function that marks for
1634         deletion the current message and its children.
1635         (mh-thread-refile): New interactive function that marks for
1636         refiling the current message and its children.
1638 2002-11-30  Bill Wohler  <wohler@newt.com>
1640         * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
1641         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
1642         Added ;;;###mh-autoload tag to selected functions so that
1643         autoloads for those functions can be automatically created in
1644         mh-loaddefs.el (closes half of SF #643722).
1646         * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
1647         Added ;;;###mh-autoload tag to selected functions so that
1648         autoloads for those functions can be automatically created in
1649         mh-loaddefs.el (closes half of SF #643722)..
1651         * mh-utils.el (mh-loaddefs): Added require.
1652         (mh-buffer-data): Moved here from mh-mime.el as it is used in
1653         mh-display-msg.
1654         (mh-set-cmd-note): Moved to mh-e.el.
1655         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
1656         Added ;;;###mh-autoload tag to selected functions so that
1657         autoloads for those functions can be automatically created in
1658         mh-loaddefs.el (closes half of SF #643722)..
1660         * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
1661         uses mh-scan-format-file which is defined here.
1662         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
1663         Added ;;;###mh-autoload tag to selected functions so that
1664         autoloads for those functions can be automatically created in
1665         mh-loaddefs.el (closes half of SF #643722)..
1667         * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
1668         provided via mh-e.el.
1669         Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
1670         Added ;;;###mh-autoload tag to selected functions so that
1671         autoloads for those functions can be automatically created in
1672         mh-loaddefs.el (closes half of SF #643722)..
1674         * Makefile (emacs): Add dependency on autoloads.
1675         (clean): Remove mh-loaddefs.el too.
1676         (autoloads): New target. Builds mh-loaddefs.el.
1677         (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
1678         (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
1679         (autoloads-gen): Runs batch-update-autoloads to populate
1680         mh-loaddefs.el (closes half of SF #643722)..
1681         (auto-autoloads.elc): Renamed from autoloads to be explicit about
1682         file that's created.
1683         (custom-load.elc): Ditto.
1685 2002-11-30  Satyaki Das  <satyaki@theforce.stanford.edu>
1687         * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
1688         track of oldest ancestor of last message. If due to narrowing the
1689         common ancestor of two messages is lost then one of them is
1690         promoted to be the parent of the other. This variable helps in
1691         this process.
1692         (mh-thread-generate-scan-lines): Group messages which belong to
1693         the same thread tree, even if a common ancestor is no longer
1694         present.
1695         (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
1696         mh-thread-last-ancestor to nil when calling
1697         mh-thread-generate-scan-lines.
1699         * mh-mime.el (font-lock): Font-lock required at compile time to
1700         avoid warning about font-lock-maximum-size
1701         (mh-display-smileys, mh-display-emphasis): Show graphical smileys
1702         and emphasis only if message isn't too large.
1704         * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
1705         been threaded or narrowed confuses MH-E. Even though the folder is
1706         displayed as not threaded and not narrowed, MH-E still believes
1707         the folder is in the previous state. This can cause problems when
1708         trying to narrow/thread the folder. The change fixes this.
1710         * mh-mime.el (mh-mime-display-alternative): The setting of
1711         mh-display-buttons-for-inline-parts-flag was not being used when
1712         displaying one of the alternatives. This change fixes that.
1714         * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
1715         substring.
1716         (mh-filter-out-non-text): When filtering out MIME buttons from
1717         yanked text, the last line of the MIME part was getting lost. The
1718         fix avoids that and removes only the last new line instead.
1720 2002-11-29  Peter S Galbraith  <psg@debian.org>
1722         * Makefile (MH-E-SRC): Add mh-alias.
1724         * mh-alias.el: Assign copyright to FSF instead of myself.
1725         (mh-read-address): Add support for emacs-21's
1726         completing-read-multiple to prompt for multiple entries.
1727         (mh-alias-PC-complete-address): Deleted.
1728         (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
1729         (mh-alias-letter-mode-expand-alias-hook): Simplify.
1730         (mh-alias-hostname): Deleted.
1731         (mh-alias-substitute-aliases-flag): Change default to nil.
1732         (mh-alias-display-blind-name-on-completion-flag) Change default to
1733         nil.
1734         (mh-alias-alist): Now holds alias values.
1735         (mh-alias-lowercase-alist): Deleted.
1736         (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
1737         (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
1738         new mh-alias-alist instead of old mh-alias-lowercase-alist.
1740         * mh-alias.el: Moved from contrib/ directory.  Now part of MH-E!
1742         * Makefile (MH-E-SRC): Add mh-identity.
1744         * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
1745         (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
1746         Moved to mh-comp.el.
1748         * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
1749         (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
1750         (mh-identity-menu): Added from mh-identity.el
1752 2002-11-29  Bill Wohler  <wohler@newt.com>
1754         * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
1755         mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
1756         Ran indent-region, reformatted long lines, ran untabify.
1757         (indent-tabs-mode): Set file local variable to nil.
1759 2002-11-29  Bill Wohler  <wohler@newt.com>
1761         * Released MH-E version 7.0.
1763         * mh-e.el (Version, mh-version): Updated for release 7.0.
1765         * mh-comp.el (subseq, search): Require cl instead of autoloading
1766         these due to compilation warnings in CVS Emacs.
1768 2002-11-23  Bill Wohler  <wohler@newt.com>
1770         * MH-E-NEWS: Emphasize the renaming of the variables at the top of
1771         the notes.
1773 2002-11-22  Satyaki Das  <satyaki@theforce.stanford.edu>
1775         * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
1776         is not needed and the binding is more useful to toggle display of
1777         MIME parts.
1779         * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
1780         and "o" from MIME buttons.
1781         (mh-insert-mime-button): Change comment to reflect change in
1782         button key map.
1784 2002-11-21  Bill Wohler  <wohler@newt.com>
1786         * Released MH-E version 6.1.91.
1788         * mh-e.el (Version, mh-version): Updated for release 6.1.91.
1790         * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
1792 2002-11-21  Mark D. Baushke  <mdb@gnu.org>
1794         * mh-comp.el (mh-letter-insert-signature-hook): This should be in
1795         customize-group mh-compose.
1797 2002-11-21  Satyaki Das  <satyaki@theforce.stanford.edu>
1799         * mh-utils.el (load): Load mm-view.el here so that
1800         mm-inline-text-html would be defined if available.
1801         (mh-mm-inline-media-tests): If mm-inline-text-html is available
1802         then use it, otherwise fall back on using mm-inline-text (closes
1803         SF #641482).
1805         * mh-mime.el (load): Remove the load of mm-view here since it
1806         happens in mh-utils.el now.
1808 2002-11-15  Bill Wohler  <wohler@newt.com>
1810         * Released MH-E version 6.1.90.
1812         * README (Compile): New section. Users must now compile MH-E due
1813         to the vagaries of the various versions of gnus.
1815         * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
1816         reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
1817         (MH-E-ETC-ETC): Added Makefile and README.
1818         (dist): Depend on all, so clean happens. Don't add .elc files to
1819         tarball as they are built upon installation now.
1821 2002-11-15  Satyaki Das  <satyaki@theforce.stanford.edu>
1823         * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
1824         If called in threaded mode, cur was always getting set to the last
1825         message in the folder.
1827 2002-11-14  Bill Wohler  <wohler@newt.com>
1829         * mh-e.el (Version, mh-version): Updated for release 6.1.90.
1831         * MH-E-NEWS, README: Updated for release 7.0.
1833         * mh-utils.el (mh-index-search): Added full docstring which new
1834         users will need before they run a search!
1835         (mh-swish++-execute-search, mh-swish-execute-search,
1836         mh-namazu-execute-search mh-glimpse-execute-search): Added
1837         autoloads with full docstrings for the same reason!
1839         * mh-e.el (mh-limit-map): Removed / / alias for
1840         mh-narrow-to-subject.
1842         * mh-utils.el (mh-show-thread-map): Removed / / alias for
1843         mh-show-narrow-to-subject.
1845         * mh-seq.el (mh-delete-subject): Checkdoc fix.
1847         * mh-e.el (mh-help-messages): Added / prefix character to help
1848         string. Tweaked / helpstring a little.
1850 2002-11-14  Mark D. Baushke  <mdb@gnu.org>
1852         * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
1853         width for cosmetic reasons.
1855 2002-11-14  Peter S Galbraith  <psg@debian.org>
1857         * mh-identity.el (mh-insert-identity): Fix a few things undone by
1858         Jeff's patch.
1859         (mml-insert-tag): Add autoload.
1861 2002-11-13  Mark D. Baushke  <mdb@gnu.org>
1863         * mh-identity.el (mh-insert-identity):  A value of either nil or
1864         "" should cause the field to be removed.
1865         (mh-identity-list): Update the docstring.
1867 2002-11-13  Peter S Galbraith  <psg@debian.org>
1869         * mh-e.el (mh-limit-map): New key map for limits (subject for now).
1870         * mh-utils.el (mh-show-limit-map): Same.
1872         * mh-seq.el (mh-delete-subject): Renamed from
1873         mh-delete-subject-sequence.
1874         (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
1875         (mh-next-unseen-subject-sequence): Removed. :-(
1876         * mh-e.el: Use 'em
1877         * mh-seq.el: Use 'em.
1879 2002-11-13  Mark D. Baushke  <mdb@gnu.org>
1881         * mh-e.el (mh-alt-show): New defalias for mh-show.
1882         (mh-alt-refile-msg): New defalias for mh-refile-msg.
1883         (mh-alt-send): New defalias for mh-send.
1884         (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
1885         mh-alt-send for the alias bindings.
1886         (mh-alt-visit-folder): New defalias for mh-visit-folder.
1887         (mh-folder-map): Use it.
1888         (mh-folder-message-menu): Revert previous change.
1890 2002-11-13  Peter S Galbraith  <psg@debian.org>
1892         * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
1893         menu for mh-refile-msg.
1895 2002-11-13  Satyaki Das  <satyaki@theforce.stanford.edu>
1897         * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
1898         scan lines of duplicate messages were too long. The change fixes
1899         that.
1901 2002-11-13  Bill Wohler  <wohler@newt.com>
1903         * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
1904         docstring.
1906         * mh-speed.el (mh-speed-run-flists-flag): While documenting this
1907         variable in the release notes, I was unsure what would happen if
1908         set to nil. So, I clarified the docstring and indicated
1909         implications of setting this variable to nil, and offered manual
1910         workaround.
1912 2002-11-13  Satyaki Das  <satyaki@theforce.stanford.edu>
1914         * mh-index.el (mh-index-quit): Fix documentation and run
1915         mh-before-quit-hook and mh-quit-hook.
1917 2002-11-13  Bill Wohler  <wohler@newt.com>
1919         * mh-utils.el (with-mh-folder-updating): Renamed local variable
1920         mh-save-modification-flag to save-modification-flag.
1922 2002-11-12  Bill Wohler  <wohler@newt.com>
1924         * mh-index.el (mh-index-keymap): Renamed to
1925         mh-index-folder-mode-keymap to be a closer to the usual keymap
1926         naming convention. Since we want our own keymap and not inherit
1927         the one in mh-folder-mode, we need to use a suffix other than
1928         -map.
1930         * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
1931         s/Seq/Sequence.
1932         (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
1933         item.
1934         (mh-folder-folder-menu): Aligned symbols.
1936         * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
1938         * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
1939         s/Seq/Sequence.
1940         (mh-show-message-menu): s/Msg/Message. Removed redundant refile
1941         item.
1942         (mh-show-folder-menu): Aligned symbols.
1944 2002-11-12  Satyaki Das  <satyaki@theforce.stanford.edu>
1946         * mh-index.el (mh-index-matches, mh-index-current-match): Remove
1947         these variables since they were only used for glimpse and grep.
1948         Now the functionality of all the indexing programs will be
1949         uniform.
1950         (mh-index-search, mh-index-insert-scan, mh-defun-index)
1951         (mh-index-show): Simplify functions since matches are no longer
1952         shown.
1953         (mh-index-parse-match): Remove function.
1955         * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
1956         (mh-scan-date-width, mh-scan-date-flag-width)
1957         (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
1958         variables to keep track of the widths of the different fields in
1959         the scan lines.
1960         (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
1961         (mh-scan-field-subject-start-offset): Offsets that are computed
1962         from the scan line widths.
1964         * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
1965         (mh-thread-parse-scan-line): Use new variables that remember the
1966         various offsets in place of integer constants.
1967         (mh-thread-generate-scan-lines): Space shouldn't be added here!
1969 2002-11-12  Bill Wohler  <wohler@newt.com>
1971         * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
1972         first column is column number 0 and changed "sixth column" to
1973         "fifth column" accordingly.
1975         * mh-index.el (mh-index-folder-mode): Clarified method of replying
1976         in mode documentation.
1977         (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
1979         * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
1980         variable mh-cmd-note in docstrings.
1982         * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
1983         Reworded docstring so it doesn't mention internal variable
1984         mh-cmd-note. Added information about using fixed-width message
1985         numbers.
1986         (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
1987         that it is updated dynamically only if mh-scan-format-file is t.
1988         (mh-set-cmd-note): Grammer fix in docstring.
1989         (mh-cmd-note): Noted that the first column is column number 0.
1991         * mh-e.el (mh-scan-format-file): Added information about
1992         mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
1994         * mh-index.el (mh-index-keymap): Added bindings for i
1995         (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
1996         appear to be supported and are found in the toolbar.
1997         (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
1998         (mh-visit-folder) alias, and v (mh-visit-folder).
1999         (mh-index-folder-mode-help-messages): Changes for above.
2000         (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
2001         menus. I decided to delete the unavailable items since greying out
2002         implies that the user can do something to access them. In this
2003         case, that's not the case. Well, that's not entirely true--the
2004         user could write code for those functions ;-).
2005         (mh-index-folder-mode): Use new menus.
2007         * mh-utils.el (mh-prompt-for-folder): Added optional argument
2008         default-string which can be used in case the string for default
2009         isn't intuitive enough.
2011         * mh-index.el (mh-index-search): Made default prompt more
2012         intuitive (I hope!).
2014 2002-11-11  Peter S Galbraith  <psg@debian.org>
2016         * mh-identity.el (mh-header-field-delete): Remove save-excursion.
2017         Strange that this worked for me before... Thanks to Jeff for the
2018         patch.
2019         (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
2020         adds a nicer-looking MIME header for signatures inserted after
2021         MIME insertions.
2023 2002-11-11  Satyaki Das  <satyaki@theforce.stanford.edu>
2025         * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
2026         so that it can take a string containing the scan-line as argument
2027         in addition to using the line at point.
2028         (mh-thread-add-spaces): New function to pad each scan line to the
2029         appropriate length. This is called when mh-cmd-note is increased.
2031         * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
2032         folder by using mh-thread-add-spaces to pad the pre-existing lines
2033         in mh-thread-scan-line-map appropriately.
2034         (mh-thread-add-spaces): Autoload from mh-seq.
2036 2002-11-11  Mark D. Baushke  <mdb@gnu.org>
2038         * mh-index.el: Fix checkdoc nit.
2040         * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
2041         from mh-display-buttons-for-inline-parts.
2042         (mh-mime-display-single): Use it.
2043         This addresses part of SF #627015.
2045         * mh-e.el (mh-print-background-flag): Renamed from
2046         mh-print-background.
2047         * mh-funcs.el (mh-print-msg): Use it.
2048         This addresses part of SF #627015.
2050         * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
2051         mh-delete-yanked-msg-window.
2052         (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
2053         This addresses part of SF #627015.
2055         * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
2056         from mh-update-sequences-after-mh-show.
2057         (mh-show-msg): Use it.
2058         This addresses part of SF #627015.
2060         * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
2061         mh-decode-quoted-printable
2062         (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
2063         Use it.
2064         This addresses part of SF #627015.
2066         * mh-utils.el (mh-recursive-folders-flag): Renamed from
2067         mh-recursive-folders.
2068         (mh-make-folder-list-background): Use it.
2069         * mh-funcs.el (mh-list-folders): Ditto.
2070         This addresses part of SF #627015.
2072         * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
2073         mh-auto-folder-collect.
2074         (mh-find-path): Use it.
2075         This addresses part of SF #627015.
2077         * mh-utils.el (mh-decode-mime-flag): Renamed from
2078         mh-decode-mime.
2079         * mh-utils.el (mh-show-mode, mh-show-xface)
2080         (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
2081         * mh-mime.el (mh-graphical-smileys-flag)
2082         (mh-graphical-emphasis-flag): Ditto.
2083         * mh-index.el (mh-index-search, mh-index-show): Ditto.
2084         * mh-e.el (mh-header-display): Ditto.
2085         This addresses part of SF #627015.
2087         * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
2088         to get back to the current message.
2090 2002-11-10  Satyaki Das  <satyaki@theforce.stanford.edu>
2092         * mh-index.el (mh-index-keymap, mh-index-page-msg)
2093         (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
2094         mh-index-page-msg.
2095         (mh-index-keymap, mh-index-previous-page): Replace
2096         mh-index-scroll-down with mh-index-previous-page.
2098 2002-11-09  Satyaki Das  <satyaki@theforce.stanford.edu>
2100         * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
2101         loaded. This fixes the infinite load loop. I am not sure what the
2102         actual problem is. Also removed the nop requires/autoloads.
2103         (mh-defun-index): Use the right argument for mh-recenter.
2104         Otherwise it misbehaves for the default value of
2105         mh-summary-height.
2107         * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
2108         used on first line of index folder buffer.
2110 2002-11-09  Peter S Galbraith  <psg@debian.org>
2112         * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
2113         mh-index-mode.
2114         (mh-index-folder-mode): Use it.
2115         (mh-index-keymap): Added mouse-2 binding, like in regular
2116         folder-mode.
2118 2002-11-08  Satyaki Das  <satyaki@theforce.stanford.edu>
2120         * mh-index.el (mh-index-folder-mode): Fix doc string for major
2121         mode. It was pointing to the wrong keymap.
2122         (mh-index-show-mode): Fix doc string for mode. Also add mh-help
2123         support.
2125         * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
2126         mh-mark-active-p instead. This does the right thing for different
2127         variants of Emacs.
2128         (mh-yank-cur-msg): Add a space between sexprs.
2130         * mh-utils.el (mh-mark-active-p): New macro which papers over
2131         diffences between GNU Emacs and XEmacs. The variables mark-active
2132         and transient-mark-mode are used in GNU Emacs while zmacs-regions
2133         and region-active-p are used in XEmacs.
2135         * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
2136         mh-mark-active-p as above.
2138         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
2139         mh-mark-active-p as above.
2141 2002-11-06  Peter S Galbraith  <psg@debian.org>
2143         * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs.  It didn't work
2144         with a selected region, and left the inserted text selected (in
2145         reverse video).  I didn't use SF patch #402315 to implement this.
2147 2002-11-05  Peter S Galbraith  <psg@debian.org>
2149         * mh-utils.el (mh-show-tool-bar-map): Change call to
2150         mh-tool-bar-search-command such that user can customize it for the
2151         current session.
2153         * mh-e.el (mh-folder-tool-bar-map): Same.
2155 2002-11-05  Bill Wohler  <wohler@newt.com>
2157         * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
2158         mh-tool-bar-search-command.
2160         * mh-index.el (mh-index-search): Backed out previous change to
2161         prompt. There ain't no folder named "all."
2163         * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
2164         and mh-index-search to the docstring so that user can easily click
2165         on them for more information.
2167         * mh-pick.el (mh-search-folder): Mention that this function uses
2168         the MH pick command to give the user more information when
2169         choosing between mh-search-folder and mh-index-folder.
2171         * mh-index.el (mh-index-search): Edited the docstring. Direct the
2172          user to mh-index-program if necessary.
2173          (mh-index-program): Edited this docstring too. Viewing the help
2174          in a *Help* buffer really exposes grammatical flaws.
2176 2002-11-05  Peter S Galbraith  <psg@debian.org>
2178         * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
2179         what search function to use in tool-bar.
2180         (mh-show-tool-bar-map): Use it.
2182         * mh-e.el (mh-folder-tool-bar-map): Use it.
2184 2002-11-05  Bill Wohler  <wohler@newt.com>
2186         * mh-index.el (mh-index-search): Changed default prompt from "+"
2187         to "all". mh-prompt-for-folder doesn't seem to mind.
2189         * mh-e.el (mh-folder-folder-menu): Added menu entry for
2190         mh-index-search.
2192         * mh-utils.el (mh-show-folder-menu): Added menu entry for
2193         mh-index-search.
2195         * mh-index.el: Added commentary on supported search engines and
2196         for getting started (initializing database).
2198 2002-11-04  Satyaki Das  <satyaki@theforce.stanford.edu>
2200         * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
2201         binding of "i" to "Fi".
2202         (mh-index-folder-mode-help-messages): Change help message to
2203         reflect above change.
2205 2002-11-04  Bill Wohler  <wohler@newt.com>
2207         * mh-index.el (mh-index-program, mh-indexer): Swapped names since
2208         the former seems like a better user variable name. If you've
2209         customized mh-indexer, be sure to toss it out and customize
2210         mh-index-program.
2212 2002-11-04  Satyaki Das  <satyaki@theforce.stanford.edu>
2214         * mh-index.el (mh-indexer-choices): Not having the quotes in the
2215         binary names is a bit nicer since that maintains uniformity with
2216         the other names.
2217         (mh-index-choose): Use symbol-value instead of eval. Eval should
2218         be avoided except when it can't be :-).
2220 2002-11-04  Bill Wohler  <wohler@newt.com>
2222         * mh-index.el (mh-index-program): New variable to hold the name of
2223         the indexer that was found; use this instead of clobbering
2224         user-customizable variable mh-indexer.
2225         (mh-index-search): Use it. Added comments to keep others from
2226         doing what I had done (fortunately, I caught myself before
2227         checking it in ;-).
2228         (mh-index-choose): Set mh-index-program instead of mh-indexer.
2229         Update docstring to describe side-effects.
2231         * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
2232         are good that if someone has both swish++ and swish, they want to
2233         use the much faster, much smaller swish, so move it up in the
2234         list.
2235         (mh-indexer-choices): Ditto for rationale for moving swish++ up in
2236         priority over swish. Also, use -binary symbols instead of
2237         hard-coding binary names. This allows package installers to
2238         customize the location of the binaries in site-lisp and still have
2239         the auto-detection code work. It also allows one to have alternate
2240         binary names (see mh-swish++-binary).
2241         (mh-index-search): Ditto (moving swish++ up).
2242         (mh-swish++-binary): Look for search++, then search. The rationale
2243         is that a package maintainer may rename search to search++ if
2244         search is already in use (e.g., Debian) so try it first.
2245         (mh-swish++-execute-search): Replaced Satyaki's path with dummy
2246         path in docstring. Also removed RecurseSubdirs since this is the
2247         default. Added comment that index might be named index++ on some
2248         systems (e.g., Debian).
2249         (mh-index-choose): Updated to work with new mh-indexer-choices.
2251 2002-11-04  Peter S Galbraith  <psg@debian.org>
2253         * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
2254         here, since that adds the menu to the Customize buffer in XEmacs.
2256 2002-11-04  Peter S Galbraith  <psg@debian.org>
2258         * mh-comp.el (mh-mhn-compose-insert-flag)
2259         (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
2261         * mh-mime.el (mh-mhn-compose-insert-flag)
2262         (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
2263         Fixes mh-letter-menu for XEmacs.
2265 2002-11-04  Eric Ding  <eding@rational.com>
2267         * mh-comp.el (mh-rejected-letter-start): add another string
2269 2002-11-04  Eric Ding  <ericding@alum.mit.edu>
2271         * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
2272         regexps as args, only regular strings
2274 2002-11-04  Peter S Galbraith  <psg@debian.org>
2276         * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
2277         pre-existing M-F-T field.  If a nmh replgroupcomps propagates a
2278         M-F-T field in a message reply, then we have to have it alone.
2280 2002-11-02  Bill Wohler  <wohler@newt.com>
2282         * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
2283         mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
2284         mh-xemacs-compat.el: Added Local Variables section. Defined
2285         sentence-end-double-space to be nil so that those who might not
2286         buy my setting of this variable can at least run checkdoc without
2287         a whole lot of noise.
2289 2002-11-02  Peter S Galbraith  <psg@debian.org>
2291         * mh-identity.el: New file.  Multiple Identify support for MH-E.
2292         Used to easily set different fields such as From and Organization,
2293         as well as diffrent signature files.  This file won't be included
2294         with V7.0.
2296 2002-11-02  Bill Wohler  <wohler@newt.com>
2298         * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
2299         from Gnus 5.10 to make it explicit which code has been
2300         commandeered.
2301         (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
2302         code from Gnus 5.10.
2304 2002-11-02  Peter S Galbraith  <psg@debian.org>
2306         * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
2307         mention related variables mh-reply-show-message-flag and
2308         mh-delete-yanked-msg-window.
2309         (mh-reply): Change the "Reply to whom" prompt.
2311 2002-11-01  Bill Wohler  <wohler@newt.com>
2313         * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
2314         (mh-folder-list-change-hook): Converted this from defvar in other
2315         files to defcustom here. It is called, not documented as
2316         obsolete, and might as well be documented.
2317         (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
2318         mh-process-commands, mh-update-unseen): Added missing
2319         documentation about hook, or made verbiage about hook consistent
2320         throughout, even if the function isn't interactive.
2322         * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
2323         and made it a defcustom.
2324         (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
2325         but this is the place where it is called).
2326         (mh-show-hook): Moved here from mh-e.el since it's called here.
2327         (mh-show-mode): Call mh-show-mode-hook.
2328         (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
2329         mh-prompt-for-folder, mh-set-folder-list): Added missing
2330         documentation about hook, or made verbiage about hook consistent
2331         throughout, even if the function isn't interactive.
2333         * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
2334         throughout.
2335         (mh-insert-prefix-string): Made docstring more descriptive of what
2336         is going on.
2338         * mh-funcs.el (mh-kill-folder): Added missing documentation about
2339         hook.
2341         * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
2342         (mh-index-show): Made verbiage about hook consistent throughout.
2344         * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
2345         (mh-edit-mhn): Added missing documentation about hook.
2347         * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
2348         throughout. Call the damn hook.
2350 2002-11-01  Satyaki Das  <satyaki@theforce.stanford.edu>
2352         * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
2353         it will look right in info.
2355         * mh-index.el (mh-index-search): Change argument name from
2356         new-buffer-p to new-buffer-flag.
2357         (mh-index-search-again, mh-index-search): New index-buffers were
2358         being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
2359         is fixed.
2360         (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
2361         show buffers (after the first one) was broken.
2362         (mh-index-quit): Bury show buffer instead of killing it. Killing
2363         it, without killing the corresponding folder buffer, can cause
2364         confusion with two folder buffers trying to display in the same
2365         show buffer.
2367         * mh-seq.el (mh-thread-prune-containers): Rewritten without
2368         recursion. Also removed the top-level-p argument since it isn't
2369         required anymore.
2370         (mh-thread-sort-containers): New function factored out from
2371         previous definition of mh-thread-prune-containers. It sorts
2372         message containers in ascending order wrt their message indices.
2373         (mh-thread-generate): Use new mh-thread-prune-containers.
2375         * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
2376         at the wrong place!
2378 2002-10-31  Bill Wohler  <wohler@newt.com>
2380         * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
2381         mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
2382         mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
2384 2002-10-31  Satyaki Das  <satyaki@theforce.stanford.edu>
2386         * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
2387         sequence notation and leave notation for other things alone. This
2388         ensures that threading doesn't lose notations for replied-to
2389         messages.
2391         * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
2392         instead do it in mh-get-new-mail. This way the widening happens
2393         only if new mail is incorporated.
2394         (mh-generate-new-cmd-note): The function now returns the point
2395         from which the new messages start. This will allow threading to do
2396         the right thing.
2397         (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
2398         adaptive scan mode leaves two messages marked as current in
2399         certain cases. Fix indentation of if statement. If there are
2400         messages to be incorporated, the folder is widened. If mh-cmd-note
2401         changes set start-of-inc correctly.
2402         (mh-remove-all-notation): Change this function to only remove user
2403         sequence notation and leave notation for replied-to messages and
2404         similar notation alone. This means operations like narrowing to
2405         subject sequence and widening don't lose notations.
2407 2002-10-31  Bill Wohler  <wohler@newt.com>
2409         * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
2410         docstring and other minor edits. Checkdoc removed trailing spaces.
2411         (mh-insert-signature): Checkdoc flagged docstring. Reverted to
2412         previous value. Added specific name of hook that is run.
2413         (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
2414         trailing spaces.
2416 2002-10-31  Jeffrey C Honig  <jch@honig.net>
2418         * mh-e.el (mh-show-mode-hook): Remove the unused
2419         mh-show-mode-hook, mh-show-hook is the one that is used.
2421         * mh-utils.el (mh-show-mode): Change the documentation to refer to
2422         mh-show-hook instead of the unused mh-show-mode-hook.
2424 2002-10-31  Peter S Galbraith  <psg@debian.org>
2426         * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
2427         and include example in doc string.
2429 2002-10-31  Satyaki Das  <satyaki@theforce.stanford.edu>
2431         * mh-index.el (mh-indexer): Add customization choice for swish++.
2432         (mh-indexer-choices): Add swish++ choice.
2433         (mh-index-search): Change doc to reflect addition of swish++ option.
2434         (mh-swish++-binary, mh-swish++-directory): New variables for
2435         swish++ interface.
2436         (mh-swish++-execute-search): New function to execute swish++
2437         search.
2438         (mh-swish++-next-result): Function aliased to mh-swish-next-result
2439         since the result format of swish++ is the same as that of swish-e.
2440         (mh-index-search): Always overwrite window-configuration with new
2441         value. This is needed since we don't kill the index-buffer when
2442         quitting which means the window configuration wasn't getting set
2443         properly.
2444         (mh-index-search-again): If index buffer is reused, reset the old
2445         window config to its original value.
2447 2002-10-30  Bill Wohler  <wohler@newt.com>
2449         * Makefile (emacs, xemacs): New targets.
2450         (all): Use these targets instead of calling specific targets.
2451         (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
2452         target and moved pieces into their own sections.
2455 2002-10-30  Peter S Galbraith  <psg@debian.org>
2457         * mh-utils.el (mh-show-font-lock-keywords): Wrap an
2458         'eval-and-compile around its defvar, otherwise byte-compilation
2459         fails on `mh-show-font-lock-keywords-with-cite'.
2461 2002-10-29  Jeffrey C Honig  <jch@honig.net>
2463         * mh-comp.el (mh-letter-insert-signature-hook)
2464         (mh-insert-signature): Add a hook to be called before inserting
2465         the signature.  Do not attempt to insert the signature if
2466         mh-insert-signature-file-name is nil.
2468 2002-10-29  Peter S Galbraith  <psg@debian.org>
2470         * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
2471         (Closes SF #629233: inc in narrowed folder suboptimal)
2473         * mh-comp.el (mh-insert-letter): Stop using mhl to include a
2474         message before it mangles the header, and supercite fails
2475         (Closes SF #629153: mh-insert-letter uses mhl?).
2476         (mh-insert-prefix-string): Leave point at beginning instead of
2477         end, since that's what sc-cite-original does.
2478         (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
2480 2002-10-30  Steve Youngs  <youngs@xemacs.org>
2482         * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
2483         when in XEmacs so we don't do font-locking unconditionally.
2485         * mh-utils.el (mh-show-mode): Ditto.
2487 2002-10-29  Peter S Galbraith  <psg@debian.org>
2489         * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
2490         (mh-folder-to-face, mh-folder-body-face): Define faces instead of
2491         copying them from font-lock faces.  This mh-e will look the same
2492         in XEmacs as it does in Emacs.
2493         * mh-utils.el (mh-show-cc-face, mh-show-date-face)
2494         (mh-show-header-face): Ditto.
2496 2002-10-29  Jeffrey C Honig  <jch@honig.net>
2498         * mh-comp.el (mh-send-letter): I meant to use
2499         mh-goto-header-field, not mh-get-header-field.  The former returns
2500         nil if the header is not found and doesn't need a conditional.
2502 2002-10-29  Peter S Galbraith  <psg@debian.org>
2504         * mh-comp.el (mh-forward): Bug fix.  Change 'kill-line for a
2505         'delete-region, because I don't want that text yanked with C-y.
2507         * mh-seq.el (mh-put-msg-in-seq): Add support for selected
2508         region (Closes SF feature request #630324).
2510 2002-10-28  Satyaki Das  <satyaki@theforce.stanford.edu>
2512         * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
2513         general so that a subject of the form "Re[218]: howdy" would be
2514         properly pruned.
2516         * mh-mime.el (mh-mime-save-part): Copy function definition of
2517         mm-save-part from cvs gnus since that function is buggy in gnus
2518         that comes with emacs21.2.
2520 2002-10-28  Peter S Galbraith  <psg@debian.org>
2522         * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
2523         optional bracketed number after "Re", such as in "Re[2]:"
2524         (Patch by Satyaki; I checked it and applied).
2525         (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
2526         * mh-seq.el (mh-subject-to-sequence): Ditto.
2528         * mh-e.el (mh-folder-sequence-menu):  Remove "Toggle Subject
2529         Thread" from menu.   mh-toggle-threads is in the Folder menu.
2531         * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
2533         * mh-utils.el (mh-show-update-sequences): Added to
2534         mh-defun-show-buffer builds; needed for menu.
2535         (mh-show-sequence-menu, mh-show-message-menu)
2536         (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
2537         the menus used in mh-folder-mode.
2538         (mh-show-mode): easy-menu-add the 3 menus.
2540 2002-10-28  Satyaki Das  <satyaki@theforce.stanford.edu>
2542         * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
2543         go to the right message. In a threaded folder message 2 may be
2544         present after 26 and the previous regexp would go to 26 when we
2545         really wanted to go to 2!
2547         * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
2548         mh-narrow-to-seq.
2550 2002-10-28  Bill Wohler  <wohler@newt.com>
2552         * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
2553         (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
2554         of mh-show-mime-save-parts.
2556 2002-10-28  Peter S Galbraith  <psg@debian.org>
2558         * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
2559         bug fix.
2560         * mh-utils.el (mh-show-tool-bar-map): Same.
2561         * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
2563 2002-10-27  Satyaki Das  <satyaki@theforce.stanford.edu>
2565         * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
2566         its behavior like that of mh-narrow-to-seq.
2568 2002-10-27  Bill Wohler  <wohler@newt.com>
2570         * mh-mime.el (mh-mime-save-parts): Renamed from
2571         mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
2572         bug whereby mh-mime-save-parts-directory was not getting
2573         initialized properly from a string-valued
2574         mh-mime-save-parts-default-directory.
2575         (mh-mime-save-parts-default-directory): Ditto. Check your
2576         customizations!
2577         (mh-mime-save-parts-directory): Ditto.
2579         * mh-utils.el (mh-show-mime-save-parts): Renamed from
2580         mh-store-mime-parts.
2581         (mh-show-mime-map): Added keybinding "K a" for
2582         mh-show-mime-save-parts.
2584         * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
2585         (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
2586         (mh-help-messages): Added help for "K a".
2588 2002-10-27  Peter S Galbraith  <psg@debian.org>
2590         * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
2591         the first to the second (and recode a bit).
2592         (mh-insert-mail-followup-to): Use it.
2594 2002-10-27  Bill Wohler  <wohler@newt.com>
2596         * mh-utils.el (mh-invisible-headers): Backed out change. Removed
2597         Mail-Followup-To due to objections from Peter and Mark.
2599 2002-10-27  Satyaki Das  <satyaki@theforce.stanford.edu>
2601         * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
2602         whether the message being queried about has been marked to be
2603         deleted or refiled.
2605         * mh-mime.el (mh-insert-mime-security-button): Make
2606         pressed-details a local.
2608 2002-10-27  Steve Youngs  <youngs@xemacs.org>
2610         * .cvsignore: New file.
2612 2002-10-26  Steve Youngs  <youngs@xemacs.org>
2614         * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
2615         variable 'dest', it isn't used anywhere.
2617         * mh-pick.el (mh-do-pick-search): Don't bind local variable
2618         'finding-messages', it isn't used anywhere.
2620         * mh-utils.el: Byte-compiler warning suppression.
2621         (mh-gnus-article-highlight-citation): Rather than redefining
2622         'gnus-cite-face-list', just re-order it.
2623         (mh-show-mode): Force turning on font-lock in XEmacs.
2625         * mh-seq.el: Byte-compiler warning suppression.
2627         * mh-index.el: Byte-compiler warning suppression.
2629         * mh-comp.el: Byte-compiler warning suppression.
2631         * mh-xemacs-compat.el: Add defaliases for 'timerp' &
2632         'cancel-timer' to the equivalent 'itimer' functions.
2633         (rfc822): Require it for 'rfc822-goto-eoh'.
2634         Byte-compiler warning suppression.
2636         * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
2637         (mh-toggle-threads): Remove duplicate autoload.
2638         Byte-compiler warning suppression.
2639         (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
2640         in XEmacs when font-lock is on.
2641         (mh-folder-unseen-seq-name): Ditto.
2643 2002-10-27  Mark D. Baushke  <mdb@gnu.org>
2645         * Makefile: Reorganize to allow for building also compiling for
2646         XEmacs too. Sanitize so that it will work using least-common
2647         denominator versions of 'make'. Tested using GNU make, Solaris make,
2648         and Berkely make.
2649         (all): Use recursive invokation based on the emacs or xemacs
2650         executable passed on the 'make EMACS=xemacs' command line.
2651         (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
2652         to compile things properly.
2653         (AUTO_PRELOADS): Magic XEmacs glue.
2654         (clean): Ditto.
2655         (autoloads): Ditto.
2656         (custom-loads): Ditto.
2658 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
2660         * mh-e.el (mh-last-msg): Add call to mh-recenter.
2662 2002-10-26  Peter S Galbraith  <psg@debia.org>
2664         * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
2665         `mh-re-search-to-cc' in favour of more generalized new function
2666         `mh-search-addr-regexp'.
2667         (mh-insert-mail-followup-to): Use it.
2669 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
2671         * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
2672         folder is already threaded. This is more efficient and also avoids
2673         problems when the folder is widened.
2674         (mh-thread-inc): Don't try to restore the point to original
2675         location since mh-inc-folder from where this is called changes
2676         point location after calling this function.
2678         * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
2679         test was wrong.
2681 2002-10-26  Peter S Galbraith  <psg@debian.org>
2683         * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
2685 2002-10-26  Satyaki Das  <satyaki@theforce.stanford.edu>
2687         * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
2688         of dest. The problem was pointed out by Steve as well.
2690         * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
2691         pointed out by Steve.
2693 2002-10-26  Bill Wohler  <wohler@newt.com>
2695         * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
2697 2002-10-26  Peter S Galbraith  <psg@debian.org>
2699         * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
2700         defcustom.
2702 2002-10-25  Satyaki Das  <satyaki@theforce.stanford.edu>
2704         * mh-e.el (mh-remove-all-notation): New function that removes all
2705         notation.
2707         * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
2708         remove all notation. This avoids stale notation hanging around.
2709         Also changes in show buffer and position in folder buffer are
2710         avoided if possible.
2711         (mh-widen): When widening the scan-lines are notated based on the
2712         current state of the folder. This means any changes made when the
2713         folder was narrowed are shown consistently.
2714         (mh-notate-deleted-and-refiled): Update the documentation.
2715         (mh-thread-parse-scan-line): For some reason the ASCII value of
2716         the space character was being used here. This is fixed.
2717         (mh-thread-inc, mh-toggle-threads): Avoid change of point in
2718         folder and message being displayed in shown buffer.
2720         * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
2721         blank lines when point is towards the end of the folder buffer.
2723 2002-10-25  Peter S Galbraith  <psg@debian.org>
2725         * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
2726         defcustom to append a Mail-Followup-To field to the header.  The
2727         insertion is done if the To: or Cc: fields matches an entry in
2728         `mh-insert-mail-followup-to-list'."
2729         (mh-insert-mail-followup-to-list): New defvar. List of addresses
2730         for which a Mail-Followup-To field is inserted.
2731         (mh-re-search-to-cc): New function. Search for REGEXP in To: and
2732         Cc: fields.
2733         (mh-insert-mail-followup-to): New function. Insert
2734         Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
2735         (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
2736         mh-insert-mail-followup-to-flag is true.
2738 2002-10-25  Mark D. Baushke  <mdb@gnu.org>
2740         * mh-utils.el (mh-show-maximum-size): New variable to control
2741         the display of large messages.
2742         (mh-display-msg): Use it (Closes SF #488696).
2744         * mh-seq.el (mh-toggle-threads): Checkdoc fix.
2746         * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
2748         * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
2749         mh-insert-x-mailer-p. Update docstring.
2750         (mh-send-letter): Use it.
2751         (mh-reply-show-message-flag): Renamed from
2752         mh-reply-show-message-p. Update docstring.
2753         (mh-reply): Use it.
2754         This addresses part of SF #627015.
2756         * mh-e.el (mh-recenter-summary-flag): Renamed from
2757         mh-recenter-summary-p. Update docstring.
2758         (mh-set-scan-mode): Use it.
2759         This addresses part of SF #627015.
2761 2002-10-25  Satyaki Das  <satyaki@theforce.stanford.edu>
2763         * mh-e.el (mh-reset-threads-and-narrowing): New function which
2764         resets all thread and narrowing state to completely unthreaded and
2765         widened state. As a side effect, the folder buffer is erased.
2766         (mh-rescan-folder): Reset threads and narrowing state.
2768         * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
2770         * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
2771         threading is over so that if user aborts threading, it doesn't
2772         leave mh-e in an inconsistent state.
2773         (mh-toggle-threads): Use mh-scan-folder to populate the folder
2774         buffer instead of mh-rescan-folder which resets threading and
2775         narrowing state.
2777 2002-10-24  Bill Wohler  <wohler@newt.com>
2779         * mh-e is completely checkdoc clean now.
2781         * mh-utils.el (mh-clean-message-header-flag): Renamed from
2782         mh-clean-message-header.
2783         (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
2784         (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
2785         This addresses part of SF #627015.
2787         * mh-mime.el (mh-clean-message-header-flag): Renamed from
2788         mh-clean-message-header.
2789         Checkdoc fixes. This addresses part of SF #627015.
2791         * mh-index.el (mh-clean-message-header-flag): Renamed from
2792         mh-clean-message-header. This addresses part of SF #627015.
2794         * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
2795         mh-do-not-confirm. This addresses part of SF #627015.
2797         * mh-e.el (mh-do-not-confirm-flag): Renamed from
2798         mh-do-not-confirm.
2799         (mh-clean-message-header-flag): Renamed from
2800         mh-clean-message-header.
2801         This addresses part of SF #627015.
2803         * mh-comp.el: checkdoc fixes.
2805 2002-10-24  Satyaki Das  <satyaki@theforce.stanford.edu>
2807         * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
2808         fresh instead of yanking from buffer. This is needed to get
2809         correct threading in copied sequence.
2810         (mh-thread-inc, mh-thread-update-scan-line-map)
2811         (mh-thread-parse-scan-line): Eliminate the use, and hence the
2812         definition of, the kludgy mh-thread-update-scan-line-map. Instead
2813         the functions mh-notate-deleted-and-refiled and
2814         mh-notate-user-sequences are used to get the message marks right.
2815         (mh-thread-generate-scan-lines): Updated to allow the thread tree
2816         to be used in a narrowed folder buffer.
2817         (mh-thread-folder, mh-toggle-threads): Remove
2818         mh-folder-threaded-view-flag.
2819         (mh-thread-old-scan-line-map): New buffer-local variable that
2820         remembers the original scan-line map so that the sequence thread,
2821         narrow, widen will work.
2822         (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
2823         narrowing and restore it when widening.
2825         * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
2826         (mh-regenerate-headers, mh-get-new-mail)
2827         (mh-make-folder-mode-line, mh-process-commands)
2828         (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
2829         Instead (memq 'unthread mh-view-ops) is used to test if the folder
2830         is threaded.
2832         * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
2833         since we want to do emphasis on the whole of the region and not
2834         just after the first blank line.
2835         (mh-mm-display-part): When displaying a text part show smilies and
2836         emphasis.
2838         * mh-index.el (mh-index-insert-scan): Attempt to keep number of
2839         args to scan small if there are lots of adjacent matches.
2840         (mh-index-quit): Bury index-buffer on quit instead of killing it.
2841         This behavior is more like that of mh-quit.
2843         * mh-seq.el (mh-widen): If folder was threaded after narrowing
2844         then make mh-widen undo the threading instead of erroring out.
2846 2002-10-24  Peter S Galbraith  <psg@debian.org>
2848         * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
2849         Satyaki) to properly unthread a narrowed-to-sequence.
2851         * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
2852         breakage from partial switch to mh-container-real-child-flag and
2853         to dupl-flag.
2855         * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
2856           (eq t mh-yank-from-start-of-msg) when that's what we want.
2858 2002-10-24  Mark D. Baushke  <mdb@gnu.org>
2860         * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
2861         subject-pruned-flag.
2862         (mh-thread-inc): Renamed old-buffer-modified-p as
2863         old-buffer-modified-flag.
2864         (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
2865         This addresses part of SF #627015.
2867         * mh-index.el (mh-index-advance):  Renamed backward-p
2868         local variable as backward-flag.
2869         (mh-index-next-button): Renamed backward-p
2870         argument as backward-flag.
2871         (mh-index-show): Renamed display-headers-p argument as
2872         display-headers-flag.
2873         This addresses part of SF #627015.
2875         * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
2876         (mh-folder-mime-action): Renamed include-security-p
2877         argument as include-security-flag.
2878         (mh-goto-next-button, mh-next-button): Renamed backward-p
2879         argument as backward-flag.
2880         (mh-get-new-mail): Renamed new-mail-p local variable as
2881         new-mail-flag.
2882         (mh-goto-cur-msg): Renamed minimal-changes-p argument as
2883         minimal-changes-flag.
2884         (redraw-needed-flag): Renamed redraw-needed-p local variable as
2885         redraw-needed-flag.
2886         (mh-seq-containing-msg): Renamed include-internal-p argument as
2887         include-internal-flag.
2888         (mh-page-msg): Use mh-page-to-next-msg-flag.
2889         This addresses part of SF #627015.
2891         * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
2892         mh-mhn-compose-insert-p. Make it buffer-local.
2893         (mh-mhn-compose-type, mh-mhn-compose-external-type,
2894         mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
2895         (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
2896         mh-mime-display-part, mh-mime-display-single): Use
2897         mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
2898         (mh-mime-display-single): Renamed small-image-p local
2899         variable as small-image-flag.
2900         (mh-mime-inline-part): Renamed local variable inserted-p as
2901         inserted-flag.
2902         (mh-mime-inline-part): Renamed local variable displayed-p as
2903         displayed-flag.
2904         This addresses part of SF #627015.
2906         * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
2907         mh-mhn-compose-insert-flag.
2908         (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
2909         renamed from mh-nmh-p.
2910         (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
2911         (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
2912         mh-gnus-pgp-support-p.
2913         (mh-mml-secure-message-sign-pgpmime): Use
2914         mh-gnus-pgp-support-flag.
2915         This addresses part of SF #627015.
2917         * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
2918         mh-page-to-next-msg-p.
2919         (mh-show-msg): Use mh-page-to-next-msg-flag.
2920         (mh-gnus-pgp-support-flag): Renamed from
2921         mh-gnus-pgp-support-p.
2922         (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
2923         (with-mh-folder-updating): Renamed argument
2924         save-modification-flag-p as mh-save-modification-flag.
2925         (mh-prompt-for-folder): Renamed new-file-p local
2926         variable as new-file-flag.
2927         This addresses part of SF #627015.
2929 2002-10-24  Mark D Baushke  <mdb@gnu.org>
2931         * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
2932         in last commit to be mh-mml-compose-insert-flag.
2933         (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
2935 2002-10-24  Jeffrey C Honig  <jch@honig.net>
2937         * mh-comp.el (mh-forward): Add support for transient-mark mode.
2938         When using nmh, always specify -mime so as to preserve the
2939         original message(s).  If mh-compose-insertion is 'gnus, convert
2940         the mhbuild format forwarding directives into MML.
2942 2002-10-24  Eric Ding  <ericding@alum.mit.edu>
2944         * mh-comp.el (mh-send-letter): Fix for earlier change that added
2945         "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
2946         at least no longer triggered for every outgoing message!
2948 2002-10-24  Peter S Galbraith  <psg@debian.org>
2950         * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
2951         (see text below).
2953         * mh-comp.el (mh-yank-cur-msg): Fix for supercite.  Someone played
2954         with the point and mark setting prior to the call to
2955         'mh-insert-prefix-string and that broke supercite.  I put comments
2956         to make it obvious to future coders why those settings exists.
2957         Note that supercite is still broken when a region is selected in
2958         the show buffer.  Presumably it's been like that for a long time.
2959         We need to insert the header as well as the selected region oin
2960         that case.  I'll submit an SF bug.
2962 2002-10-24  Jeffrey C Honig  <jch@honig.net>
2964         * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
2965         flag to reply when 'autosupercite or 'autoattrib are specified to
2966         prevent duplicate cites of the body of a message.
2968 2002-10-23  Satyaki Das  <satyaki@theforce.stanford.edu>
2970         * mh-utils.el (font-lock-default-fontify-region): Add autoload to
2971         avoid compiler warning.
2973 2002-10-23  Peter S Galbraith  <psg@debian.org>
2975         * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
2976         own 'mh-fill-paragraph-function instead of simply
2977         'mail-mode-fill-paragraph (because it doesn't handle a non-nil
2978         fill-prefix correctly).
2979         (mh-fill-paragraph-function): New function for mh-letter-mode
2980         fill-paragraph-function in order to handle non-nil fill-prefix.
2981         Call sendmail's mail-mode-fill-paragraph if in the mail header,
2982         else call default fill-paragraph with fill-prefix set to nil.
2983         (Closes SF #489927)
2985         * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
2986         used in show-mode.  The reason is that gnus uses static text
2987         properties which are not appropriate for a buffer that will be
2988         edited.  So the choice here is either fontify the citations and
2989         header or the header only.
2991         * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
2992         in mh-show-mode to the header.  Used when mh-highlight-citation-p
2993         is set to gnus, leaving the body to be dealt with by gnus
2994         highlighting.  This fixes gnus text emphasis in mh-show-mode.
2995         (mh-show-mode): In font-lock-defaults, set
2996         font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
2998 2002-10-23  Bill Wohler  <wohler@newt.com>
3000         * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
3001         be Disposition, not Content-Type. The Content-Type has been
3002         determined automatically.
3004 2002-10-23  Mark D. Baushke  <mdb@gnu.org>
3006         * MH-E-NEWS:
3007         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
3008         s/mh-show-use-xface/mh-show-use-xface-flag/
3009         s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
3010         This addresses part of SF #627015.
3012         * mh-comp.el:
3013         s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
3014         s/mh-xemacs-p/mh-xemacs-flag/
3015         (mh-letter-menu): Use mh-mml-compose-insert-flag.
3016         (mh-insert-x-mailer): Use mh-xemacs-flag.
3017         (mh-mml-compose-insert-flag): Renamed from
3018         mh-mml-compose-insert-p.
3019         (mh-send-letter): Use mh-mml-compose-insert-flag.
3020         This addresses part of SF #627015.
3022         * mh-e.el:
3023         s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
3024         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
3025         s/mh-xemacs-p/mh-xemacs-flag/
3026         (mh-folder-threaded-view-flag): Renamed from
3027         mh-folder-threaded-view-p. Make it buffer local.
3028         (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
3029         (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
3030         (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
3031         mh-adaptive-cmd-note-flag.
3032         (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
3033         mh-make-folder-mode-line, mh-process-commands,
3034         mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
3035         This addresses part of SF #627015.
3037         * mh-index.el:
3038         s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
3039         (mh-index-search): Use mh-adaptive-cmd-note-flag.
3040         This addresses part of SF #627015.
3042         * mh-mime.el:
3043         s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
3044         s/mh-xemacs-p/mh-xemacs-flag/
3045         (mh-mml-compose-insert-flag): Renamed from
3046         mh-mml-compose-insert-p. Make it buffer local.
3047         (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
3048         mh-mml-secure-message-encrypt-pgpmime): Use it.
3049         (gnus-local-map-property): Use mh-xemacs-flag.
3050         This addresses part of SF #627015.
3052         * mh-seq.el:
3053         s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
3054         (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
3055         mh-folder-threaded-view-flag.
3056         This addresses part of SF #627015.
3058         * mh-speed.el:
3059         s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
3060         s/mh-speed-refresh-p/mh-speed-refresh-flag/
3061         (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
3062         (mh-folder-speedbar-buttons): Use it.
3063         (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
3064         (mh-speed-update-current-folder, mh-speed-invalidate-map,
3065         mh-speed-add-folder): Use it.
3066         This addresses part of SF #627015.
3068         * mh-utils.el:
3069         s/mh-xemacs-p/mh-xemacs-flag/
3070         s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
3071         s/mh-show-use-xface/mh-show-use-xface-flag/
3072         (mh-xemacs-flag): Renamed from mh-xemacs-p.
3073         (mh-show-xface-function): Use it.
3074         (mh-tool-bar-reply-3-buttons-flag): Renamed from
3075         mh-tool-bar-reply-3-buttons.
3076         (mh-show-tool-bar-map): Use it.
3077         (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
3078         (mh-cmd-note): Use it in description.
3079         (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
3080         mh-xemacs-flag.
3081         (mh-show-xface): Use mh-show-use-xface-flag.
3082         This addresses part of SF #627015.
3084 2002-10-23  Bill Wohler  <wohler@newt.com>
3086         * Makefile (all): Rather than have to run "make clean all" all the
3087         time, make the default target do a clean so all you have to say is
3088         "make".
3090         * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
3091         prefix.
3093 2002-10-22  Satyaki Das  <satyaki@theforce.stanford.edu>
3095         * mh-index.el (mh-indexer-choices, mh-swish-binary): The
3096         executable swish-e can be used to search (just like swish-search).
3097         However the Makefile in swish-e-2.2.2 doesn't install
3098         swish-search. So it is preferable to use swish-e.
3100 2002-10-22  Bill Wohler  <wohler@newt.com>
3102         * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
3103         For example, you now have "C-c C-m C-i" in addition to "C-c C-m
3104         i".
3106 2002-10-22  Mark D. Baushke  <mdb@gnu.org>
3108         * mh-mime.el (mh-graphical-smileys-flag): Renamed from
3109          mh-graphical-smileys-p.
3110          (mh-display-smileys): Use it.
3111          (mh-graphical-emphasis-flag): Renamed from
3112          mh-graphical-emphasis-p.
3113          (mh-display-emphasis): Use it. This addresses part of SF #627015.
3115 2002-10-22  Satyaki Das  <satyaki@theforce.stanford.edu>
3117         * mh-mime.el (mh-insert-mime-security-button): A message is
3118         produced if PGP decryption/verification fails. This addresses
3119         SF# 627025.
3121 2002-10-21  Bill Wohler  <wohler@newt.com>
3123         * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
3124         The info node (elisp) Coding Conventions says: "An error message
3125         should start with a capital letter but should not end with a
3126         period."
3128         * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
3129         defcustom to mh-utils because I got an error about a nil value for
3130         mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
3132         * mh-comp.el, mh-funcs,el, mh-mime.el, mh-pick.el: Moved (provide)
3133         to the end of the file to be consistent with most other files (see
3134         additional rationale in mh-e.el description below).
3136         * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
3137         here too (because the remove-if generated a warning in CVS Emacs).
3138         Moved (provide) to the end of the file to be consistent with most
3139         other files. My guess is that this is good to keep a feature from
3140         being "provided" if the file craps out while being loaded.
3142 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
3144         * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
3145         compiler warnings.
3146         (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
3147         warning.
3149         * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
3150         occurred.
3151         (mh-valid-view-change-operation-p): New function that checks if
3152         the widening or unthreading that we are about to perform is
3153         allowed.
3154         (mh-widen): Check if widening is applicable.
3155         (mh-thread-inc, mh-thread-folder): Use delete-region instead of
3156         erase-buffer. This means if the buffer is narrowed then the hidden
3157         parts aren't removed. This allows widening of the folder later on.
3158         (mh-toggle-threads): Maintain mh-view-ops.
3160         * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
3161         that keeps track of the sequence in which threading and narrowing
3162         of the folder buffer has been carried out. This is needed so that
3163         narrowing followed by threading (or vice versa) behaves in a
3164         reasonable manner.
3165         (mh-regenerate-headers): Use delete-region instead of
3166         erase-buffer.
3167         (mh-make-folder-mode-line): Change mh-first-msg-num and
3168         mh-last-msg-num conservatively. This might show a larger range in
3169         the mode-line but allows the unthreading to not miss messages
3170         present initially.
3172 2002-10-21  Bill Wohler  <wohler@newt.com>
3174         * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
3175         docstring, as well as the source of the strings,
3176         gnus-emphasis-alist.
3177         (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
3178         to t.
3180 2002-10-21  Peter S Galbraith  <psg@debian.org>
3182         * mh-utils.el (mh-show-mode): Invoke new toolbar.
3183         (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
3184         mh-letter-mode.
3186 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
3188         * mh-utils.el (mh-display-msg): Call the smiley display function
3189         after the call to mh-show-mode. This is needed since mh-show-mode
3190         kills all buffer-local variables and resets the variable that
3191         controls display of graphical smileys.
3193 2002-10-21  Bill Wohler  <wohler@newt.com>
3195         * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
3197         * mh-comp.el (mh-mml-to-mime autoload): Ditto.
3199 2002-10-21  Mark D Baushke  <mdb@gnu.org>
3201         * mh-mime.el (smiley-region): Use load for a non-fatal dependency
3202         on the smiley library.
3204 2002-10-21  Jeffrey C Honig  <jch@honig.net>
3206         * mh-comp.el (mh-forward): Search for a blank line as well as
3207         mail-header-separator.
3208         (mh-letter-mode): Search for a blank line as well as
3209         mail-header-separator.
3210         (mh-send-letter): The default BCC encapsulation will make a MIME
3211         message unreadable.  If we are running nmh and the letter contains
3212         a Bcc: and a Content-Type: field, add the -mime switch to to the
3213         arguments to send.
3215 2002-10-21  Peter S Galbraith  <psg@debian.org>
3217         * mh-utils.el: Add a mh-defun-show-buffer call to define
3218         mh-show-pack-folder.
3220 2002-10-21  Peter S Galbraith  <psg@debian.org>
3222         * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
3224         * mh-e.el (mh-help-messages): Update help message for changed
3225         keybindings.
3227 2002-10-21  Satyaki Das  <satyaki@theforce.stanford.edu>
3229         * mh-speed.el (mh-speed-invalidate-map): Invalidate
3230         mh-speed-folders-cache before it is used by mh-speed-folders. Also
3231         fix indentation of if statement.
3232         (mh-speed-folder-size): The folder name should be extracted from
3233         the speedbar buffer and not from the temp buffer has was happening
3234         before.
3235         (mh-speed-folder-size): Harden the function some more. It
3236         shouldn't produce errors any more unless flist really didn't work.
3238 2002-10-21  Bill Wohler  <wohler@newt.com>
3240         * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
3241         in there is because I was trying to use mh-put-msg-in-seq and
3242         mh-msg-is-in-seq non-interactively and found that although the
3243         docstring says it uses the current message by default, I got
3244         errors if I passed in nil for the message. Is this expected, or is
3245         this a bug? I suppose the fix would be to make the arguments
3246         optional, right? This would cause the arguments in
3247         mh-put-msg-in-seq to be reversed, however. Might be a backwards
3248         compatibility problem.
3250         * mh-speed.el (mh-speed-view): Convert default size to string
3251         before passing it to read-string. This was done because XEmacs
3252         can't handle a numeric value for the default.
3254 2002-10-20  Satyaki Das  <satyaki@theforce.stanford.edu>
3256         * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
3257         (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
3258         (mh-show-digest-map, mh-show-mime-map): Interactive functions
3259         callable in show buffer are now prefixed with mh-show.
3261         * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
3262         changes to mh-refile-list and the removal of the 'deleted
3263         sequence.
3264         (mh-toggle-threads): Changing from threaded to normal view doesn't
3265         try to push out message refiles and deletions to MH.
3267         * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
3268         argument to both functions that prevents them from carrying out
3269         pending refiles and deletes.
3270         (mh-undo): Remove dead code.
3271         (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
3272         The same information is present in mh-delete-list any way.
3273         (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
3274         semantics of mh-refile-list to make it self-contained. This
3275         variable now contains a list of lists. The first element of each
3276         sublist is the destination folder name. The remaining elements are
3277         the messages that are to be refiled to the destination folder.
3278         (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
3279         instead of mh-thread-folder.
3281 2002-10-20  Peter S Galbraith  <psg@debian.org>
3283         * mh-mime.el (mh-store-mime-parts): Bug fix?  Make this command
3284         work when in the show buffer, and not just in the folder buffer
3285         pointing to a message.
3287 2002-10-20  Peter S Galbraith  <psg@debian.org>
3289         * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
3290         mh-narrow-to-subject-thread.
3291         (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
3292         (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
3293         (mh-next-unseen-subject-sequence): Renamed from
3294         mh-next-unseen-subject-thread.
3295         (mh-toggle-subject-thread): Removed.  :-(
3297         * mh-e.el: s/subject-thread/subject-sequence/
3298         (mh-thread-map): Bind mh-widen to "w".
3300         * mh-utils.el: s/subject-thread/subject-sequence/
3301         (mh-show-thread-map): Bind mh-widen to "w".
3303 2002-10-20  Satyaki Das  <satyaki@theforce.stanford.edu>
3305         * mh-seq.el (mh-thread-folder): This function is no longer
3306         interactive. The mh-toggle-threads is the interactive function
3307         that gets called by the user. Also the already computed values in
3308         mh-first-msg-num and mh-last-msg-num are used instead of
3309         recomputing the first and last message indices in the current
3310         folder.
3311         (mh-toggle-threads): New interactive function that toggles
3312         threaded view of the folder.
3314         * mh-utils.el (mh-letter-toggle-threads): New interactive function
3315         which toggles thread view from show buffer. This function replaces
3316         mh-letter-thread-folder.
3317         (mh-show-folder-map): Use mh-letter-toggle-threads instead of
3318         mh-letter-thread-folder.
3320         * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
3321         mh-thread-folder.
3323 2002-10-20  Bill Wohler  <wohler@newt.com>
3325         * mh-e.el (mh-scan-folder): Formatting only.
3326         (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
3327         where there isn't a current message. Since I've started using the
3328         speedbar to read my mh-e mail, I've had to use M-< every time to
3329         go to the beginning of the new messages. Very annoying! Thus, if
3330         there isn't a current message, the cursor is left alone, which
3331         sounds like the right thing to do anyway.
3333 2002-10-19  Peter S Galbraith  <psg@debian.org>
3335         * mh-seq.el (mh-subject-thread-to-sequence): Bug fix.  After
3336         making the 'subject sequence real, I now have to delete it globally.
3338         * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
3339         scan exactly mh-widen (removed moving to current message).
3341         * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
3342         sequence a real one, exported to MH.  This means you can, for
3343         example, mh-forward it.  But it also shows up with a mark in the
3344         scan output.  (Closes SF #489445).
3346 2002-10-19  Bill Wohler  <wohler@newt.com>
3348         * mh-speed.el (mh-speed-view): If there weren't any unseen
3349         messages, and you specified a string (a sequence like "last") when
3350         prompted for the number of messages to display, you got an error.
3351         This has been fixed.
3353 2002-10-19  Mark D Baushke  <mdb@gnu.org>
3355         * mh-e.el (mh-last-destination-folder): Destination of last refile
3356         command.
3357         (mh-last-destination-write): Destination of last write command.
3358         (mh-refile-msg): Use 'mh-last-destination-folder and update both it
3359         and 'mh-last-destination.
3360         (mh-write-msg-to-file): Use 'mh-last-destination-write and update
3361         both it and 'mh-last-destination (Closes SF #580772).
3363 2002-10-19  Bill Wohler  <wohler@newt.com>
3365         * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
3366         'attribution.
3367         (mh-letter-mode-map): Removed commented-out keybindings as well as
3368         alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
3370         * mh-utils.el: Removed autoload of help. It no longer appears to
3371         be necessary in cvs Emacs (21.4).
3373 2002-10-18  Bill Wohler  <wohler@newt.com>
3375         * mh-e.el (mh-execute-commands): Doc fix.
3376         (mh-compat-write-file-hook): Renamed to
3377         mh-write-file-functions-compat.
3378         (mh-folder-mode): Add mh-write-file-functions-compat instead of
3379         mh-compat-write-file-hook
3381 2002-10-18  Peter S Galbraith  <psg@debian.org>
3383         * mh-utils.el (mh-invisible-headers-show-xface): Killed this
3384         variable.
3385         (mh-invisible-headers): Use 'mh-show-use-xface instead of
3386         'mh-invisible-headers-show-xface to determine whether to render
3387         the X-Face header line visible or not.
3389 2002-10-18  Satyaki Das  <satyaki@theforce.stanford.edu>
3391         * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
3392         macro mh-compat-write-file-hook to use write-file-functions for
3393         Emacs 21.4 and local-write-file-hooks for older versions.
3395 2002-10-18  Mark D Baushke  <mdb@gnu.org>
3397         * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
3399 2002-10-18  Peter S Galbraith  <psg@debian.org>
3401         * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
3402         a malformed composition if the description string is empty, so
3403         test for that and call mml-attach-file without that argument if
3404         it's an empty string (closes SF #625168).
3406 2002-10-17  Satyaki Das  <satyaki@theforce.stanford.edu>
3408         * mh-index.el (mh-index-keymap): Removed extra binding of " ".
3409         (mh-index-folder-mode-help-messages): Made the cheat sheet entry
3410         of quit like the others.
3411         (mh-index-search): If space was pressed in the index buffer before
3412         a search result has been shown with ".", the old show buffer would
3413         be scrolled. This is confusing since the index and show buffer
3414         contents are contradictory. Killing the show buffer here avoids
3415         this problem.
3416         (mh-index-configure-windows): Refine the window configuration
3417         logic. Avoid the two window view unless there is a message being
3418         displayed in the show buffer.
3419         (mh-index-scroll-up): Rewrite this function. The old version had a
3420         bizarre problem where the show buffer wouldn't be scrolled if the
3421         speedbar was present.
3422         (mh-index-scroll-down): Rewritten because of similar reason as
3423         above.
3425 2002-10-17  Peter S Galbraith  <psg@debian.org>
3427         * mh-comp.el (mh-reply): Add an undo boundary in the undo list
3428         before calling 'mh-yank-cur-msg (closes SF #623693).
3430 2002-10-17  Satyaki Das  <satyaki@theforce.stanford.edu>
3432         * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
3433         write-file-hooks. This is required for XEmacs and also the right
3434         thing according to GNU Emacs21 documentation.
3436 2002-10-16  Satyaki Das  <satyaki@theforce.stanford.edu>
3438         * mh-seq.el (mh-thread-generate): Get threading to work correctly
3439         on partial folders. The fix here disregards messages that aren't
3440         already present in the buffer.
3441         (mh-thread-folder): When querying scan about thread info try to
3442         avoid asking about messages that aren't present in the folder
3443         buffer. A more efficient fix would be to ask scan about just the
3444         messages that are present instead of a range of messages. However
3445         that runs the risk of sending long command lines to scan. Another
3446         change was to populate the mh-scan-line-map early so that the
3447         change in mh-thread-generate would work.
3448         (mh-thread-generate-scan-lines): In case duplicates are present
3449         make one of them the pseudo parent of the rest. This makes it look
3450         prettier if there are multiple duplicates at top level.
3452         * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
3453         reused then reinsert message file. This should fix SF #624283.
3455         * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
3456         always called when we want to remove the displayed MIME part.
3458 2002-10-16  Bill Wohler  <wohler@newt.com>
3460         * mh-speed.el (mh-speed-folder-size): checkdoc fix.
3461         (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
3462         to view number of messages in folder rather than mh-large-folder.
3463         Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
3464         former was generating errors.
3466 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
3468         * mh-speed.el (mh-large-folder): New customizable variable to
3469         control mh-e's perception of large folders.
3470         (mh-speed-folder-size): New function which computes the size of
3471         folder on current line.
3472         (mh-speed-view): Modified to handle large folders. If the folder
3473         being clicked has unseen messages then only those messages are
3474         shown. Otherwise if number of messages in folder is larger than
3475         mh-large-folders then the user is asked for the number of messages
3476         to be shown. If the folder satisfies neither of the above cases
3477         then it is displayed in its entirety
3479 2002-10-15  Bill Wohler  <wohler@newt.com>
3481         * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
3482         Noticed that there were two key bindings for SPACE...
3484         * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
3485         dup SPACE binding).
3487         Completed help in other modes:
3489         * mh-utils.el (mh-xemacs-p): Fixed doc.
3490         (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
3491         (mh-show-thread-map, mh-show-extract-map): Added binding for
3492         mh-help.
3494         * mh-pick.el (mh-search-folder): Added startup help message.
3495         (mh-pick-mode-help-messages): New variable that contains help
3496         messages for pick buffer.
3497         (mh-pick-mode): Set local buffer variable mh-help-messages to
3498         mh-pick-mode-help-messages.
3500         * mh-index.el (mh-index-keymap): Added binding for mh-help
3501         (mh-index-folder-mode-help-messages): New variable that contains
3502         help messages for MH Index buffer.
3503         (mh-index-folder-mode): Set local buffer variable mh-help-messages
3504         to mh-index-mode-help-messages.
3506         * mh-funcs.el (mh-help, mh-prefix-help): Call
3507         substitute-command-keys on the help messages.
3509         * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
3510         (mh-help): This autoload doc is now used for more than just the
3511         MH-Folder, so drop that specific text.
3513         * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
3514         (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
3515         to display a help message at startup.
3516         (mh-letter-mode): Set local buffer variable mh-help-messages to
3517         mh-letter-mode-help-messages.
3518         (mh-letter-mode-help-messages): New variable with help messages
3519         for the MH-Letter buffer.
3520         (mh-letter-mode-message): New function that displays a startup
3521         help message.
3522         (mh-letter-mode-map): Added binding for mh-help. Sorted.
3524 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
3526         * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
3527         (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
3528         (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
3529         speedbar.
3530         (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
3531         (mh-speed-add-buttons): Use the new faces.
3532         (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
3533         to bold face and back to normal face.
3534         (mh-speed-set-face): Removed.
3535         (mh-speed-highlight): Modified to allow it to be used instead of
3536         mh-speed-set-face. Also changes were made to fontify folders with
3537         unread messages.
3538         (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
3539         (mh-speed-invalidate-map): Use mh-speed-highlight instead of
3540         mh-speed-set-face.
3542 2002-10-15  Bill Wohler  <wohler@newt.com>
3544         * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
3545         the cl package has been restructured in 21.4 in such a way that
3546         the use of eval-when-compile no longer suppresses warnings when
3547         compiling so that (require 'cl) must be called directly (maybe
3548         this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
3549         needed. Now compiles clean under 21.4.
3551         * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
3552         deprecated in Emacs 21.4, so use add-hook write-file-functions (or
3553         write-file-hook for older versions) with the LOCAL argument
3554         instead. Now compiles clean under 21.4.
3556         * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
3557         the included text to make it easy to jump or delete to the other
3558         end of the included text.
3560 2002-10-15  Satyaki Das  <satyaki@theforce.stanford.edu>
3562         * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
3563         of set-mark and other related functions.
3565 2002-10-14  Bill Wohler  <wohler@newt.com>
3567         * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
3568         isn't ignored if there is a region. It is still used for the
3569         attribution.
3570         (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
3571         entire message. Move the cursor to the end of the snarfed message
3572         if there is a region. In this case, push a mark so user can pop to
3573         the beginning of the snarfed fragment.
3574         (mh-insert-prefix-string): This calls set-mark which I find
3575         suspect since I found that my last user mark was deleted after
3576         yanking a message. Added a comment to this effect. Will probably
3577         add a bug report...
3579         * README (Installed, Supported versions): To appear in GNU Emacs
3580         21.3; supported on Emacs 21, 20.7 and XEmacs 21.
3582         * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
3583         (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
3584         (mh-ephem-message): Use "%s" in message.
3586         * mh-funcs.el (mh-concat-list): New function to concatenate a list
3587         of strings into a single string. I would have thought elisp
3588         already contained a function like this, but I couldn't find it.
3589         (mh-ephem-message): New function to display a message in the
3590         minibuffer ephemerally. minibuffer-message seemed like the right
3591         function, but it writes to the current buffer oddly enough.
3592         (mh-help, mh-prefix-help): New functions to display command
3593         cheat sheets in the minibuffer (closes SF #493740). It would be
3594         nice to refactor these two into a single function if possible.
3596         * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
3597         (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
3598         and `mh-prefix-help' (closes SF #493740).
3599         (mh-help-messages): New variable to hold various help messages.
3600         (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
3602 2002-10-13  Bill Wohler  <wohler@newt.com>
3604         * mh-index.el (mh-glimpse-directory, mh-swish-directory,
3605         mh-namazu-directory): New variables that hold the name of the
3606         configuration and indexing directory. All are now hidden `.'
3607         directories.
3609         * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
3610         mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
3611         docstrings, reworded some docstrings to conform to Emacs
3612         documentation conventions, and eliminated all checkdoc warnings
3613         (except for -flag, which we'll fix after 6.2 is released).
3615 2002-10-13  Satyaki Das  <satyaki@theforce.stanford.edu>
3617         * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
3618         where the lack of a trailing "/" caused the function to wrongly
3619         filter out correct hits. This should fix SF #622679.
3621 2002-10-12  Steve Youngs  <youngs@xemacs.org>
3623         * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
3624         'defvaralias' and don't use 'running-xemacs'.
3626 2002-10-11  Bill Wohler  <wohler@newt.com>
3628         * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
3629         converting comments to docstrings and rewording some docstrings to
3630         conform to Emacs documentation conventions.
3632 2002-10-11  Steve Youngs  <youngs@xemacs.org>
3634         * mh-utils.el (mh-xemacs-p): New.
3635         (mh-show-use-xface): Use it.
3636         (mh-show-xface-function): Ditto.
3638         * mh-e.el (toplevel): Ditto.
3639         (mh-remove-xemacs-horizontal-scrollbar): Ditto.
3640         (mh-folder-mode-map): Ditto.
3642         * mh-comp.el (mh-insert-x-mailer): Ditto.
3644         * mh-mime.el (gnus-local-map-property): Ditto.
3645         (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
3646         (mh-prompt-for-folder): Autoloading this not needed because
3647         mh-utils is now required at toplevel.
3648         (mh-show-xface): Ditto.
3649         (mh-show-addr): Ditto.
3651 2002-10-11  Bill Wohler  <wohler@newt.com>
3653         * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
3654         would be useful.
3656         * mh-utils.el (mh-invisible-headers): Added various spam header
3657         fields.
3658         (mh-path-search): Removed argument `func-p' and related code. It
3659         was not documented and no one used it.
3660         (Docstrings): Converted comments to docstrings, reworded some
3661         docstrings to conform to Emacs documentation conventions, and
3662         basically eliminated all checkdoc warnings (except for -flag
3663         warnings).
3665 2002-10-11  Satyaki Das  <satyaki@theforce.stanford.edu>
3667         * mh-seq.el (mh-thread-generate): Kill dead code.
3669 2002-10-10  Satyaki Das  <satyaki@theforce.stanford.edu>
3671         * mh-seq.el (mh-region-to-sequence): Don't include point-max in
3672         region (closes SF #621632).
3674         * mh-utils.el (mh-defun-show-buffer): Fix call of
3675         frame-first-window to work with XEmacs. Also avoid warning about
3676         cur-buffe-name in XEmacs.
3677         (mh-modify, mh-goto-msg): Remove dead code.
3679         * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
3680         code.
3682         * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
3683         mh-thread-generate, mh-thread-folder): Remove dead code.
3685         * mh-mime.el (mh-mm-inline-message): Remove dead code.
3687         * mh-index.el (mh-index-search): Remove dead code.
3689         * mh-comp.el (mh-open-line): Remove dead code.
3691         * mh-e.el (mh-folder-mode): Use the macro
3692         mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
3693         Emacs.
3694         (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
3695         compiler-warnings.
3697 2002-10-10  Mark D Baushke  <mdb@gnu.org>
3699         * Makefile (EMACS_OPTIONS): New macro for command-line compile
3700         options.
3701         (EMACS): Allow the user to specify which emacs command to use for
3702         the compile.
3703         (COMPILE_COMMAND): Combine the compile command with its options.
3704         (.el.elc): Use the new $(COMPILE_COMMAND).
3706 2002-10-10  Mark D Baushke  <mdb@gnu.org>
3708         * mh-speed.el (mh-speed-select-attached-frame): Define a new
3709         compatibility macro for getting to the attached-frame.
3710         (mh-speed-update-current-folder): Use it.
3712 2002-10-10  Mark D Baushke  <mdb@gnu.org>
3714         * mh-speed.el (mh-speed-update-current-folder): Use
3715         'dframe-select-attached-frame if we are in a newer speedbar
3716         version that no longer supports the 'speedbar-attached-frame
3717         variable.
3719 2002-10-10  Steve Youngs  <youngs@xemacs.org>
3721         * mh-speed.el (mh-speed-update-current-folder): Use
3722         'dframe-select-attached-frame' if we're in XEmacs.
3724         * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
3725         the MH-Folder buffer if we're in XEmacs.
3727 2002-10-09  Satyaki Das  <satyaki@theforce.stanford.edu>
3729         * mh-utils.el (mh-show-xface-function): New global that stores
3730         what function needs to be called to display X-Face.
3731         (mh-show-xface): Rewritten to avoid compiler warning.
3733 2002-10-09  Peter S Galbraith  <psg@debian.org>
3735         * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
3736         Simplify code for all emacsen to avoid byte-compilation warnings.
3738 2002-10-09  Satyaki Das  <satyaki@theforce.stanford.edu>
3740         * mh-mime.el (mh-mm-display-part): If a sub-part of the current
3741         part is an inline image then clicking the button keeps the image
3742         around. The change fixes this bug.
3744 2002-10-09  Peter S Galbraith  <psg@debian.org>
3746         * mh-utils.el (mh-exec-cmd-output): Use new function
3747         'mh-exchange-point-and-mark-preserving-active-mark instead of
3748         'exchange-point-and-mark.  Fixes a bug in emacs20 and XEmacs21.
3749         (mh-exchange-point-and-mark-preserving-active-mark): New function.
3750         Does like 'exchange-point-and-mark but doesn't activate the mark.
3752         * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
3753         Compositions" menu entries when edits have really occurred.
3754         Works with "forw: -mime" mh_profile entry, so this fixes a bug.
3756         * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
3757         line-beginning-position and line-end-position instead of
3758         point-at-bol and point-at-eol XEmacs functions.
3759         * mh-xemacs-compat.el: Added line-end-position and
3760         line-beginning-position compatibility aliases.
3762 2002-10-08  Mark D. Baushke  <mdb@gnu.org>
3764         * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
3765         %number(msg).
3766         (mh-scan-msg-format-string): Format to be used with the current
3767         maximum width of message number for the folder in the
3768         `mh-upate-scan-format' function.
3769         (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
3770         flexibility. The message number is no longer anchored to the
3771         beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
3772         strings. The `mh-update-scan-format' allows for using zero-filled
3773         message numbers.
3775 2002-10-08  Peter S Galbraith  <psg@debian.org>
3777         * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
3779 2002-10-07  Satyaki Das  <satyaki@theforce.stanford.edu>
3781         * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
3782         executables.
3784         * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
3785         executables right.
3786         (mh-speed-folders-actual): Same as above.
3788 2002-10-05  Steve Youngs  <youngs@xemacs.org>
3790         * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
3791         a const.
3793         * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
3794         defsubst using 'buffer-substring-no-properties' so we don't grab
3795         any extents.
3796         (rfc822-goto-eoh): Removed.  This exists in the XEmacs mail-lib
3797         package.
3798         (mail-header-end): Ditto.
3799         (mail-mode-fill-paragraph): Ditto.
3801 2002-10-05  Satyaki Das  <satyaki@theforce.stanford.edu>
3803         * mh-speed.el (mh-speed-invalidate-map): When called interactively
3804         the function will clear mh-speed-folders-cache.
3806 2002-10-02  Satyaki Das  <satyaki@theforce.stanford.edu>
3808         * mh-mime.el (mh-insert-mime-button): Rewrite without using
3809         replace-match.
3811 2002-10-01  Satyaki Das  <satyaki@theforce.stanford.edu>
3813         * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
3814         avoid compiler warning.
3816 2002-10-01  Bill Wohler  <wohler@newt.com>
3818         * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
3819         shouldn't get installed in Emacs.
3820         (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
3821         MH-E-IMG2 into Emacs' lisp/mail.
3823 2002-10-01  Peter S Galbraith  <psg@debian.org>
3825         * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
3826         Non-nil means use three buttons for reply commands in tool-bar.
3827         If you have room on your tool-bar because you are using a large
3828         font, you may set this variable to expand the single reply
3829         button into three buttons that won't lead to minibuffer prompt
3830         about who to reply to.
3831         (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
3832         decide how many buttons to use for replying.
3834         * mh-mime.el (mh-file-mime-type-substitutions)
3835         (mh-file-mime-type-substitute):  Fix typos and doc strings.
3837 2002-09-30  Peter S Galbraith  <psg@debian.org>
3839         * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
3840         by file command through mh-file-mime-type-substitute (see below).
3841         (mh-file-mime-type-substitute): Possibly change Content-Type
3842         string using mh-file-mime-type-substitutions variable.  This is
3843         mostly because all MS-Office file are seen as application/msword
3844         by the file command.
3845         (mh-file-mime-type-substitutions): New variable.  Defines
3846         substitutions to make for Content-Type returned from file command.
3848 2002-09-27  Bill Wohler  <wohler@newt.com>
3850         * README: Moved Id to end of file since it broke outline mode at
3851         the beginning.
3853         * import-emacs (release): Renamed "mainline" tag to
3854         "emacs-mainline" to correspond with existing CVS tag.
3855         (EMACS_HOME): Fixed typo in docstring.
3857         * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
3858         NIL and T in docstring.
3859         (mh-update-scan-format): Fixed typo.
3861         * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
3862         Emacs. The only new thing appears to be to downcase NIL and T in
3863         the documentation.
3865 2002-09-26  Satyaki Das  <satyaki@theforce.stanford.edu>
3867         * mh-seq.el (mh-thread-generate): The threading code will now be
3868         more resistant to corruption of messages. Before the change any
3869         corruption of message x would cause all messages with indices
3870         higher than x to be neglected when threading!
3872 2002-09-23  Peter S Galbraith  <psg@debian.org>
3874         * mh-mime.el (mh-store-mime-parts): Don't store value into
3875         user-customizable variable mh-store-mime-parts-default-directory
3876         and use  mh-store-mime-parts-directory instead.
3878 2002-09-20  Satyaki Das  <satyaki@theforce.stanford.edu>
3880         * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
3881         make the subject pruning behave the way it is specified in the
3882         imap-thread RFC.
3884         * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
3885         are not going to use the first element. This avoids a compilation
3886         warning with cvs emacs.
3888 2002-09-19  Satyaki Das  <satyaki@theforce.stanford.edu>
3890         * mh-utils.el (mh-display-msg): Put the call to
3891         set-buffer-modified after mh-show-mode. This is needed for CVS
3892         emacs since calling mh-show-mode marks the buffer as modified if
3893         font-lock is on.
3895 2002-09-17  Peter S Galbraith  <psg@debian.org>
3897         * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
3898         mh-store-mime-parts-directory
3899         (mh-store-mime-parts-directory): Renamed from
3900         mh-store-mime-parts-directory-default.
3902 2002-09-16  Peter S Galbraith  <psg@debian.org>
3904         * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
3906 2002-09-08  Satyaki Das  <satyaki@theforce.stanford.edu>
3908         * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
3909         compiler warning.
3911 2002-09-03  Peter S Galbraith  <psg@debian.org>
3913         * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
3914         Default directory to use for mh-store-mime-parts.
3915         (mh-store-mime-parts): New Command.  Store the MIME parts of the
3916          current message.
3917         (mh-store-mime-parts-directory-default): New internal working
3918         variable.  Default to use for mh-store-mime-parts-directory, set
3919         from last use.
3921         * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
3922         toolbar.
3925 2002-08-22  Satyaki Das  <satyaki@theforce.stanford.edu>
3927         * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
3928         complete scan lines are printed for all messages (not just the
3929         ones at the top of a thread).
3931         * mh-index.el (mh-index-insert-scan): Replace use of kill-line
3932         since that pollutes the kill-ring.
3934         * mh-comp.el (autoloads): Add autoloads for search and subseq to
3935         get rid of compiler warnings.
3937 2002-08-19  Peter S Galbraith  <psg@debian.org>
3939         * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
3940         reply-all.xpm, reply-all.bpm:  New icons for various reply methods.
3941         * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
3942         that won't prompt for "from", "to" and "all".
3943         * mh-comp.el (mh-reply): Put variable reply-to in the interactive
3944         list since it's specified on the command line for the new toolbar.
3946         * mh-comp.el (mail-citation-hook): Tweak docs concerning
3947         historical usage for supercite.
3948         (mh-yank-from-start-of-msg): Add settings 'supercite and
3949         'autosupercite.  Rename 'automatic to 'autoattrib.
3950         (mh-insert-prefix-string): Invoke sc-cite-original if
3951         mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
3953 2002-08-17  Satyaki Das  <satyaki@theforce.stanford.edu>
3955         * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
3956         during compilation.
3958 2002-08-17  Peter S Galbraith  <psg@debian.org>
3960         * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
3961         Do as for `attribution' automatically when show buffer matches the
3962         message being replied-to.
3963         (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
3964         is set to 'automatic and show buffer matches message number being
3965         replied-to.
3966         (mh-show-buffer-message-number): New helper function to get the
3967         message number of the current show-buffer.
3968         (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
3969         (mh-yank-cur-msg): Bug fix.  It would bail on error if
3970         mh-show-buffer didn't exists.
3972 2002-08-16  Peter S Galbraith  <psg@debian.org>
3974         * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
3975         was used even when XEmacs was used.  Fixed so X-Mailer header is
3976         more exact about what we are using.
3978 2002-08-15  Peter S Galbraith  <psg@debian.org>
3980         * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
3981         so X-Mailer header is more exact about what we are using.
3983         * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
3984         mh-mml-attach-file):
3985         "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
3986         that "require" in emacs 20.3 doesn't handle 3 arguments.  We
3987         use "load" at the top of file elsewhere anyway to handle such a
3988         case of non-essential loading, so switch to that here.
3990 2002-08-06  Satyaki Das  <satyaki@theforce.stanford.edu>
3992         * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
3994         * mh-speed.el (mh-speed-add-folder): New function to make the
3995         speedbar aware of new folders when they are created by mh-e.
3997         * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
3998         tell speedbar that new folder is being created. Also use folder
3999         instead of mkdir to create new folders.
4001 2002-08-01  Peter S Galbraith  <psg@debian.org>
4003         * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
4004         limit of search for quoted-printable.  If we're using mm-decode
4005         for MIME decoding, it's possible that `mimedecode' could mess our
4006         message, so we only run a full search for quoted-printable parts
4007         when not using gnus' mm-decode.  When using mm-decode, mimedecode
4008         can still help by handling the case of the whole message being
4009         quoted-printable as opposed to only a part.
4011 2002-07-31  Peter S Galbraith  <psg@debian.org>
4013         * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
4014         the pulldown menu were broken in XEmacs21 from this variable being
4015         undefined.
4017 2002-07-28  Mark D. Baushke  <mdb@gnu.org>
4019         * mh-utils.el (mh-show-mode): Use the default paragraph-start
4020         rather than the inherited text-mode value.
4022 2002-07-28  Satyaki Das  <satyaki@theforce.stanford.edu>
4024         * mh-seq.el (mh-thread-duplicates): New hash table to track
4025         duplicate messages.
4026         (mh-thread-get-message): Remove debug code.
4027         (mh-thread-canonicalize-id): Modified to handle messages without
4028         message-id header. Such messages are given distinct copies of the
4029         empty string as message-id.
4030         (mh-thread-generate): The function was inadvertently rebuilding
4031         the thread tree when message refiles and message deletes are
4032         processed. The change here fixes that. Also code has been added to
4033         keep track of duplicate message-id's.
4034         (mh-thread-generate-scan-lines): Modified to print scan lines for
4035         duplicate messages (that is messages with the same message-id).
4036         (mh-thread-forget-message): Modified to maintain
4037         mh-thread-duplicates.
4039 2002-07-22  Satyaki Das  <satyaki@theforce.stanford.edu>
4041         * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
4042         instead of kill-region. Otherwise the kill ring gets polluted.
4044 2002-07-16  Satyaki Das  <satyaki@theforce.stanford.edu>
4046         * mh-seq.el (mh-thread-update-scan-line-map): New function to
4047         refresh the stale scan lines.
4048         (mh-thread-inc): Update old scan lines when mh-thread-inc is
4049         called. Otherwise notations for deleted and refiled messages get
4050         lost and the folder display gets out of sync with real mh-e state.
4052         * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
4053         code when text part is displayed. Otherwise buttonized text parts
4054         aren't correctly fontified when they are displayed.
4056 2002-07-15  Mark D. Baushke  <mdb@gnu.org>
4058         * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
4059         on the mm-decode library.
4060         * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
4061         Non-fatal depencencies on the mm-decode, mm-uu and mm-view
4062         libraries.
4064 2002-07-15  Satyaki Das  <satyaki@theforce.stanford.edu>
4066         * mh-utils.el (mh-require, mh-autoload): Remove these macros.
4067         (mh-decode-mime): Initialized to t iff the mm-decode library is
4068         present in the load-path.
4069         * mh-mime.el (mh-require): Don't use it anymore.
4071 2002-07-15  Mark D Baushke  <mdb@gnu.org>
4073         * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
4074         with Xemacs as replace-match appears not to have identical
4075         functionality with FSF emacs.
4076         (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
4077         into the mh-update-scan-format function.
4079 2002-07-12  Satyaki Das  <satyaki@theforce.stanford.edu>
4081         * mh-seq.el: Add message threading code.
4083         * mh-utils.el (mh-letter-thread-folder): New interactive function
4084         that allows switching to threaded view from show buffer.
4085         (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
4086         (mh-goto-msg): Replace the function to not assume that messages
4087         are sorted in the folder buffer.
4089         * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
4090         in the folder buffer that records whether threaded view is being
4091         used currently.
4092         (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
4093         working for threaded view as well.
4094         (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
4095         (mh-get-new-mail, mh-process-commands): Do incremental threading
4096         if folder is in threaded view.
4097         (mh-delete-scan-msgs): Update thread tables if folder is in
4098         threaded view.
4099         (mh-folder-map): Add "F t" as key binding for mh-thread-folder
4101         * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
4102         has a meaningful value in the folder buffer.
4104 2002-07-11  Peter S Galbraith  <psg@debian.org>
4106         * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
4107         actually exists (otherwise a back-traceable error occurred).
4109         * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
4110         mh-lib and mh-lib-progs are not all already set.  This allows the
4111         user to set them using a simple setq prior to loading mh-e.  This
4112         is useful for implementation of mh-e on win32.  Note that many
4113         commands still call mh-find-path which also parses the mh_profile
4114         file (that may still fail on win32), so this is still done often.
4115         But it lets us change the mh_profile file and have mh-e see the
4116         changed file without exiting emacs and starting over so I left
4117         that in.
4119 2002-07-04  Satyaki Das  <satyaki@theforce.stanford.edu>
4121         * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
4122         caused it to lose track of point when called from show buffer.
4124 2002-07-04  Mark D. Baushke  <mdb@gnu.org>
4126         * Makefile: Add more information and common methods to allow both
4127         GNU make and Berkeley make to properly build everything.
4129 2002-07-04  Satyaki Das  <satyaki@theforce.stanford.edu>
4131         * mh-mime.el (mh-push-button): Bug fix for mime display with
4132         mouse. Select show window before executing the mime display
4133         functions.
4135 2002-07-01  Mark D. Baushke  <mdb@gnu.org>
4137         * Makefile: Use a conditional variable assignment operator rather
4138         than ifndef to let Makefile be used by both GNU make and Berkeley
4139         make (or similar versions of make). This does not help Solaris
4140         /usr/ccs/bin/make, but Solaris make has problems with the ifndef
4141         syntax too.
4143 2002-07-01  Satyaki Das  <satyaki@theforce.stanford.edu>
4145         * mh-index.el (mh-index-search): Check for mh-decode-mime before
4146         adding mh-mime-cleanup to kill-buffer-hook.
4148         * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
4150 2002-06-30  Mark D Baushke  <mdb@gnu.org>
4152         * mh-utils.el (mh-update-scan-format): Add documentation string.
4153         (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
4154         (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
4155         update of mh-cmd-note is wrong. Do not assume that
4156         mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
4157         with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
4158         is now where the updated mh-cmd-note value is put into the scan
4159         format.
4161         * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
4162         (mh-scan-format): Use mh-update-scan-format to get updated copies
4163         of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
4164         (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
4165         mh-scan-format-file is equal to t.
4166         (mh-scan-format-nmh): No longer buffer local.
4167         (mh-scan-format-mh): No longer buffer local.
4169 2002-06-30  Satyaki Das  <satyaki@theforce.stanford.edu>
4171         * mh-index.el (mh-index-max-msg-index): New variable to keep track
4172         of max message index among search results. If mh-adaptive-cmd-note
4173         is non-nil this is used to compute the width of the index field.
4174         (mh-index-search): Keep track of max index seen while parsing the
4175         search results and set it if mh-adaptive-cmd-note is non-nil.
4176         (mh-index-find-max-width): New function to find the required width
4177         of the message index field.
4178         (mh-defun-index): Binding buffer local variables is bad, so don't
4179         do that.
4180         (mh-index-show): New argument display-headers-p decides whether
4181         the message is displayed in raw form or not.
4182         (mh-index-header-display): New interactive function bound to ","
4183         which shows the message in raw form.
4184         (mh-index-keymap): Add appropriate bindings for backtab and ",".
4185         (read-from-string): Add ignore-errors around it so that the code
4186         doesn't die when it gets unexpected input.
4188 2002-06-29  Satyaki Das  <satyaki@theforce.stanford.edu>
4190         * mh-index.el (mh-count-windows): This function works around the
4191         lack of the window-list builtin function in emacs20.
4193 2002-06-29  Mark D Baushke  <mdb@gnu.org>
4195         * mh-utils.el (mh-message-number-width): New function to scan
4196         the last message of a folder and return its width.
4197         (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
4198         mh-set-cmd-note should be called with the message width for the
4199         folder.
4200         (mh-cmd-note): Update documentation.
4201         (mh-update-scan-format): Helper function for updating the
4202         mh-scan-format-nmh and mh-scan-format-mh variables.
4203         (mh-scan-msg-overflow-regexp): New variable to help find problem
4204         messages after an inc.
4205         (mh-scan-msg-format-regexp): New variable to find the old message
4206         width in one of the mh-scan-format-nmh or mh-scan-format-mh
4207         variables.
4208         (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
4209         (mh-set-cmd-note): New function to replace update mh-cmd-note
4210         value.
4212         * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
4213         non-nil, use mh-set-cmd-note on empty folder buffers.
4214         (mh-make-folder): Ditto.
4215         (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
4216         to fit when mh-get-new-mail gets message number truncation.
4217         (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
4218         mh-adaptive-cmd-note is Non-nil.
4220 2002-06-29  Satyaki Das  <satyaki@theforce.stanford.edu>
4222         * mh-speed.el (mh-speed-view): The display gets confused if the
4223         cursor is in the show buffer when mh-speed-view is called. This is
4224         a fix for that.
4226 2002-06-27  Satyaki Das  <satyaki@theforce.stanford.edu>
4228         * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
4229         reverse-p. If there are no more undeleted messages the the point
4230         remains at its original position and a message is produced (closes
4231         SF #494304).
4232         (mh-previous-undeleted-msg): Change similar to
4233         mh-next-undeleted-msg.
4234         (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
4235         change.
4236         (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
4238         * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
4239         mh-letter-prev-button.
4241         * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
4242         mm-uu-dissect doesn't cause error.
4244 2002-06-27  Mark D Baushke  <mdb@gnu.org>
4246         * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
4247         variable should be made via the new mh-set-default-cmd-note
4248         function.
4249         (mh-set-default-cmd-note): New function to setq-default the
4250         mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
4251         related values.
4253         * mh-e.el (mh-scan-format-mh): Make buffer-local.
4254         (mh-scan-format-nmh): Ditto.
4255         (mh-scan-good-msg-regexp): Use a more general regular expression
4256         so that the width of message numbers, mh-cmd-note, may vary.
4257         (mh-scan-deleted-msg-regexp): Ditto.
4258         (mh-scan-refiled-msg-regexp): Ditto.
4259         (mh-scan-cur-msg-number-regexp): Ditto.
4260         (mh-scan-cur-msg-regexp): Ditto.
4261         (mh-scan-subject-regexp): Ditto.
4263 2002-06-26  Satyaki Das  <satyaki@theforce.stanford.edu>
4265         * mh-speed.el: Speedbar support code.
4267         * Makefile: Add mh-speed.el to MH-E-SRC.
4269         * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
4270         speedbar is being used.
4272         * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
4273         being used.
4275         * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
4276         functions so that speedbar can find them.
4278 2002-06-25  Satyaki Das  <satyaki@theforce.stanford.edu>
4280         * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
4281         grep to be used to search mail.
4282         (mh-index-font-lock-keywords): Modified to avoid bug when using
4283         lazy font-lock.
4285         * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
4286         undeleted (or unrefiled) message exists in the current movement
4287         direction then try to find an undeleted (or unrefiled) message in
4288         the opposite direction instead.
4289         (mh-next-undeleted-msg): Added a new optional argument. If non-nil
4290         search for undeleted message backwards if none exists in the
4291         forward direction.
4292         (mh-previous-undeleted-msg): Added an optional argument. If
4293         non-nil search for undeleted message in the forward direction if
4294         none exists in the backward direction.
4295         (mh-next-msg): Optional argument to change direction if undeleted
4296         messages are not found in the current direction.
4298         * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
4299         the index field size to 4.
4301         * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
4302         to do xface display and goto-addr interface to allow reuse by the
4303         mime display code.
4304         (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
4305         mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
4306         (mh-modify): Use mh-letter-mode instead of mh-show-mode when
4307         editing messages.
4309         * mh-mime.el (mh-mm-inline-message): Arrange for xface and
4310         highlighting to work in forwarded messages.
4312 2002-06-23  Peter S Galbraith  <psg@debian.org>
4314         * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
4315         to add an attribution line in mh-yank-cur-msg.
4316         (mh-extract-from-attribution-verb): Verb to use for attribution
4317         when a message is yanked by mh-yank-cur-msg.  Provides a method
4318         for setting a different language.
4319         (mh-yank-cur-msg): Add support for 'attribution' option.
4320         (mh-extract-from-attribution): Function to get the attribution
4321         line, or the sender from the From: line in the current show buffer.
4323 2002-06-20  Satyaki Das  <satyaki@theforce.stanford.edu>
4325         * mh-index.el (mh-index-show): mh-display-msg was not being called
4326         in the show buffer. This causes weird results on some mime messages.
4328         * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
4329         pgp messages if gnus hasn't been used yet.
4331         * mh-comp.el (mh-letter-mode-map): Typo fix.
4333 2002-06-19  Satyaki Das  <satyaki@theforce.stanford.edu>
4335         * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
4336         (compiler-warnings): Add autoloads to remove compiler warnings.
4338         * mh-index.el (autoload-fixes): Fix autoload forms.
4340 2002-06-18  Satyaki Das  <satyaki@theforce.stanford.edu>
4342         * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
4343         to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
4344         (compiler-warnings): Add defvar to remove compiler-warning.
4346 2002-06-18  Peter S Galbraith  <psg@debian.org>
4348         * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
4349         mh-gnus-pgp-support-p.
4351         * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
4352         (mh-compose-forward): cut&paste typo: s/messages/message/.
4353         (mml-minibuffer-read-file): autoload added.
4354         (mml-minibuffer-read-description): autoload added.
4355         (mml-insert-empty-tag): autoload added.
4356         (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
4357         (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
4359 2002-06-17  Peter S Galbraith  <psg@debian.org>
4361         * mh-utils.el (mh-show-use-xface): Check for availability of
4362         `uncompface' executable on system.
4364         * mh-mime.el (mh-compose-forward): New front end for both
4365         mh-mml-forward-message and mh-mhn-compose-forw.
4366         (mh-compose-insertion): New front end for both mh-mml-attach-file
4367         and mh-mhn-compose-insertion.
4368         (mh-mml-to-mime): New function. Compose mime message from mml
4369         directives.
4370         (mh-mml-forward-message): New function. Forward a message as
4371         attachment.
4372         (mh-mml-attach-file): New function.  Attach a file to the outgoing
4373         MIME message.
4374         (mh-mml-compose-insert-p): New variable. Buffer-local variable to
4375         know whether MIME insertion was done.  Triggers an automatic call
4376         to `mh-mml-to-mime' in `mh-send-letter'.
4377         (mh-mml-secure-message-sign-pgpmime): New function.
4378         Front end to mml-secure-message-sign-pgpmime.
4379         (mh-mml-secure-message-encrypt-pgpmime):  New function.
4380         Front end to mml-secure-message-encrypt-pgpmime.
4382         * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
4383         if mh-mml-compose-insert-p is set.
4384         (mh-letter-mode-map): Add keys for new mh-mime functions above.
4385         * mh-comp.el:  Added autoloads for new mh-mime functions above.
4387 2002-06-17  Peter S Galbraith  <psg@debian.org>
4389         * mh-utils.el (mh-show-use-xface): new defcustom to determine
4390         whether to call external package x-face to display the x-face.
4391         (mh-invisible-headers-show-xface): variable now defaults to value
4392         of mh-show-use-xface.
4393         (mh-show-mode): When mh-show-use-xface is t, invoke
4394         external package x-face to display the x-face.
4396 2002-06-15  Satyaki Das  <satyaki@theforce.stanford.edu>
4398         * mh-e.el (mh-prev-button): New interactive function which moves
4399         point to the previous mime button in the show buffer.
4400         (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
4402         * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
4403         mh-letter-prev-button (which is analogous to mh-prev-button).
4404         (mh-gnus-pgp-support-p): New global variable to replace the
4405         variable mh-recent-gnus-p. The name better describes what it is
4406         used for.
4408         * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
4409         mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
4411 2002-06-12  Satyaki Das  <satyaki@theforce.stanford.edu>
4413         * mh-mime.el (mh-display-buttons-for-inline-parts): New
4414         customizable variable. When non-nil inline parts have are
4415         displayed with a button (that is initially expanded).
4416         (mh-maybe-insert-newline): The function has been removed.
4417         (mh-mime-display-single): Add code to display buttons for inline
4418         parts. Reduce the insertion of extra newlines between inline parts
4419         and also for pgp signature parts.
4420         (mh-mm-display-part): The function has been rewritten and cleaned
4421         up. There was a bug which could change the show buffer if the user
4422         pressed C-g while a mime part was being displayed has been fixed.
4423         (mh-press-button, mh-push-button): Use unwind-protect to make sure
4424         that set-buffer-modified-p is always called after mime display.
4425         (mh-mime-inline-part): The behavior of the function has been
4426         changed so that it toggles the display of the raw bytes.
4427         (mh-mime-display-security): Remove the display of too many
4428         newlines.
4429         (documentation): Remove most check-doc warnings.
4431         * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
4432         added around mime buttons have changed.
4434 2002-06-10  Satyaki Das  <satyaki@theforce.stanford.edu>
4436         * mh-index.el (mh-index-last-search, mh-index-search): The default
4437         prompt in mh-index-search has been removed since currently there
4438         is no good way of reading "+" with mh-prompt-for-folder.
4439         (mh-index-folder-mode, mh-index-show-mode): New major modes
4440         derived from mh-folder-mode and mh-show-mode respectively. They
4441         use a restricted keymap compared to the parent modes.
4442         (mh-index-folder-face): New customizable face to display folder
4443         names in the index buffer.
4444         (documentation): Change two spaces after period back to one.
4446 2002-06-08  Satyaki Das  <satyaki@theforce.stanford.edu>
4448         * mh-e.el (mh-folder-toggle-mime-part): New interactive function
4449         to control mime display from folder buffer.
4450         (mh-folder-inline-mime-part): New interactive function to inline
4451         raw mime part from folder buffer.
4452         (mh-folder-save-mime-part): New interactive function to save mime
4453         part from folder buffer.
4454         (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
4455         "K \t" to mh-folder-mode-map.
4456         (mh-goto-next-button): Modified to allow searching for next button
4457         that satisfies some condition.
4458         (mh-folder-mime-action): Support function for
4459         mh-folder-save-mime-part, mh-folder-inline-mime-part and
4460         mh-folder-toggle-mime-part.
4462         * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
4463         bindings for "K v", "K o", "K i" and "K \t".
4465         * mh-index.el (documentation): Fix docs according to checkdoc
4466         format.
4468 2002-06-07  Satyaki Das  <satyaki@theforce.stanford.edu>
4470         * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
4471         instead add defvar for view-exit-action.
4473 2002-06-06  Satyaki Das  <satyaki@theforce.stanford.edu>
4475         * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
4476         the call to mark returns error. So avoid using mark.
4478         * mh-index.el: Support for new interactive function
4479         mh-index-search.
4481         * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
4482         mh-next-button so that the code may be reused by mh-index.el.
4483         (mh-folder-map): Add key "F i" to call mh-index-search.
4485         * mh-utils.el (mh-recent-gnus-p): Fix documentation.
4486         (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
4487         maps a MH folder name to the buffer displaying it. In normal
4488         operation the two names are identical but they are different in a
4489         folder buffer generated by index search. Minor modification to
4490         mh-display-msg to use mh-msg-folder to enable mh-index-search to
4491         reuse code.
4492         (mh-show-mode-map): Add key "F i" to call mh-index-search.
4494         * Makefile: Add mh-index.el
4496 2002-06-05  Peter S Galbraith  <psg@debian.org>
4498         * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
4500 2002-05-31  Satyaki Das  <satyaki@theforce.stanford.edu>
4502         * mh-utils.el (mh-decode-quoted-printable): Only decode if the
4503         whole message is encoded. So restrict the search for the
4504         content-transfer-encoding header to the headers of the message
4505         itself.
4507         * mh-mime.el (mh-mime-display-alternative): Make sure that point
4508         is moved after mm-display-part is called.
4510 2002-05-29  Satyaki Das  <satyaki@theforce.stanford.edu>
4512         * mh-mime.el (mh-mime-display-single): Fix the logic that
4513         determines when an attachment is buttonized. For inline parts that
4514         can't be displayed a button is now created.
4516 2002-05-29  Satyaki Das  <satyaki@theforce.stanford.edu>
4518         * mh-e.el (mh-regenerate-headers): Fix an error in which the
4519         mh-mode-line-annotation was not being set properly.
4521         * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
4522         mh-autoload are used to make sure that emacs20 doesn't croak when
4523         it tries to load non-existent mm-* files.
4524         (mh-decode-mime): Make it default to nil for Emacs major version
4525         below 21.
4527 2002-05-28  Satyaki Das  <satyaki@theforce.stanford.edu>
4529         * mh-e.el (mh-regenerate-headers): Generalize the function to
4530         handle multiple ranges.
4532 2002-05-25  Satyaki Das  <satyaki@theforce.stanford.edu>
4534         * compilation: Reduce use of eval-when-compile so that load-path
4535         is not changed if lisp files are loaded without compilation. Small
4536         changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
4537         mh-seq.el, mh-utils.el
4539         * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
4540         function to advance point to next MIME button. It is bound to TAB.
4542         * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
4543         interactive function mh-letter-next-button has been added to
4544         advance point to the next MIME button. It is bound to TAB.
4546         * mh-mime.el (comments): Added some comments.
4548 2002-05-24  Satyaki Das  <satyaki@theforce.stanford.edu>
4550         * mh-mime.el (compilation): Replace (eval-when-compile ...) by
4551         (eval-when (compile) ...) to remove a bug when mh-e is loaded
4552         without compilation.
4554 2002-05-23  Satyaki Das  <satyaki@theforce.stanford.edu>
4556         * mh-comp.el (compilation): Some code was rearranged to avoid
4557         compiler warnings.
4559         * mh-e.el (compilation): Code rearrangement and extra autoloads to
4560         remove compiler warnings
4561         (mh-quit): Add call to mh-destroy-postponed-handles to remove
4562         handles that are associated with external viewers. Also fixed a
4563         bug that I accidentally introduced by adding an extra line when
4564         cut and pasting my changes.
4566         * mh-func.el (compilation): Code rearrangement to remove compiler
4567         warnings.
4569         * mh-mime.el (compilation): Code rearrangement to remove compiler
4570         warnings.
4571         (mh-defun-compat): New macro to define to useful functions that
4572         aren't present present in old Gnus.
4573         (mh-destroy-postponed-handles): New function to cleanup handles
4574         that are associated with external viewers.
4575         (mh-handle-set-external-undisplayer): New function to replace
4576         mm-handle-set-external-undisplayer. It associates handles for
4577         external viewers with the folder buffer. These are released when
4578         the user quits the folder.
4579         (mh-mime-display, mh-press-button, mh-push-button): Hook in
4580         mh-handle-set-external-undisplayer.
4581         (mh-maybe-insert-newline): New function to avoid inserting too
4582         many newlines between mime parts.
4583         (mh-mm-display-part): Workaround for Gnus bug which causes new
4584         lines to be inserted when images are shown inline.
4585         (mh-mime-display-security): Cut down on newlines inserted.
4587         * mh-pick.el (compilation): Code rearrangement to remove compiler
4588         warnings.
4590         * mh-seq.el (compilation): Code rearrangement to remove compiler
4591         warnings.
4592         (comments): Remove @SD from comments.
4594         * mh-utils.el (compilation): Slight code rearrangement.
4595         (mh-defun-show-buffer): Fix documentation so that the first line
4596         is not too long as was the case earlier. Use
4597         mh-previous-window-config to remember where the cursor should
4598         return functions like mh-reply.
4599         (mh-display-msg): Initialize handles data-structure for the folder
4600         buffer so that postponed handles can be added to it.
4601         (mh-add-msgs-to-seq): Always keep messages in the sequences
4602         sorted. This removes some unexpected behavior when working with
4603         sequences that go out of sync with the corresponding MH sequences.
4604         (mh-canonicalize-sequence): New function to sort and remove
4605         duplicates from mh-e sequence.
4607 2002-05-21  Satyaki Das  <satyaki@theforce.stanford.edu>
4609         * mh-utils.el (require): Load mm-decode.el here so that
4610         mm-inline-media-tests is properly initialized.
4612         * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
4613         mime parts when yanking the message. This also fixes the problem
4614         of regions not being respected during the yank.
4616 2002-05-20  Satyaki Das  <satyaki@theforce.stanford.edu>
4618         * mh-utils.el (compiler-warnings): Some code was rearranged to
4619         remove all compiler warnings.
4620         (mh-decode-mime): New defcustom to control whether
4621         mime attachments are shown using Gnus.
4622         (mh-globals-hash): New global variable which maps a given buffer
4623         to the corresponding mime data structures.
4624         (mh-recent-gnus-p): New global variable which checks if Gnus is
4625         recent enough so that PGP/GPG encrypted messages can be handled.
4626         (mh-mm-inline-media-tests): Tests to determine whether a mime part
4627         can be shown inline.
4628         (mh-gnus-article-highlight-citation): Shadow the Gnus function,
4629         gnus-article-add-button before gnus-article-highlight-citation is
4630         called. This prevents the insertion of useless buttons in the
4631         message.
4632         (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
4633         kill-buffer-hook to call mh-mime-cleanup.
4634         (mh-modify): Only the edit buffer is shown.
4635         (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
4636         mh-display-emphasis when mh-decode-mime is non-nil.
4638         * mh-mime.el (mh-buffer-data): New structure to keep track of
4639         per-buffer mime information.
4640         (compiler-warnings): Some code was rearranged to get rid of all
4641         compiler warnings.
4642         (mh-graphical-smileys-p): New defcustom which controls whether
4643         graphical smileys are shown.
4644         (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
4645         (mh-max-inline-image-width, mh-max-inline-image-height): New
4646         defcustoms for inlining image.
4647         (gnus-local-map-property, mm-merge-handles): Copy utility
4648         functions for use with version of Gnus that ships with Emacs21.1.
4649         (mh-mime-cleanup): New function to free mime data-structures.
4650         (mh-add-missing-mime-version-header): New function to add missing
4651         Mime-Version header if a Content-Type header exists.
4652         (mh-display-smileys): New function to show graphical smileys.
4653         (mh-display-emphasis): New function to show graphical emphasis.
4654         (new-globals): New variables mh-mime-button-* and
4655         mh-mime-security-* were added to control mime buttons.
4656         (mh-mime-display): New function to display mime messages. The
4657         functions mh-mime-display-part, mh-mime-display-alternative,
4658         mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
4659         mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
4660         mh-press-button, mh-push-button, mh-mime-save-part,
4661         mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
4662         mh-mime-display-security, mh-mime-security-show-details,
4663         mh-mime-security-press-button and mh-insert-mime-security-button
4664         were added to support mh-mime-display.
4666         * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
4667         mh-show-msg is called, so that mime isn't decoded when headers are
4668         displayed.
4669         (mh-quit): The show buffer is killed instead of invalidating and
4670         burying it.
4672         * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
4673         the yanked message.
4674         (mh-filter-out-non-text): New function to filter out attachments
4675         from message being yanked.
4677 2002-05-20  Bill Wohler  <Bill.Wohler@openwave.com>
4679         * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
4680         docstring was not entirely on first line so was truncated in
4681         customize and help buffers. Reworded so first sentence could fit
4682         within 80 columns per checkdoc recommendation.
4683         (mh-defun-show-buffer): Reworded per checkdoc recommendations.
4684         Removed @SD while I was in there.
4686 2002-05-18  Satyaki Das  <satyaki@theforce.stanford.edu>
4688         * mh-seq.el (mh-narrow-to-seq): This function now removes the
4689         current message notation in the folder. Otherwise, two current
4690         message notations may be present after mh-widen is called. Also
4691         mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
4692         the latter has a bug.
4693         (mh-copy-seq-to-point): This function has a tricky problem. It
4694         calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
4695         assumes that the folder is sorted (since it uses binary
4696         search). The assumption isn't true, so it may not copy all the
4697         messages. Since this function is not used any more it has been
4698         removed.
4699         (mh-copy-seq-to-eob): This function is a specialized (and
4700         hopefully correct) replacement for mh-copy-seq-to-point.
4702 2002-05-17  Satyaki Das  <satyaki@theforce.stanford.edu>
4704         * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
4705         problem caused by low value of recursive-load-depth-limit in
4706         Emacs21.1 and CVS version of Gnus.
4707         (mh-show-mode-map): New keymap variable to facilitate use of
4708         summary commands from the show buffer.
4709         (mh-show-folder-buffer): New local variable which keeps track of
4710         the folder-buffer corresponding to the message being shown.
4711         (mh-defun-show-buffer): New macro to convert interactive functions
4712         callable in the summary buffer to interactive functions callable
4713         in the show buffer.
4714         (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
4715         keymap (closes SF #527946).
4716         (mh-modify): New interactive function to edit a message in-place.
4718         * mh-e.el (mh-goto-cur-msg): Add an optional argument,
4719         minimal-changes-p. If non-nil, the function will just change
4720         the point to current message and do not change folder display.
4721         (mh-folder-mode-map): Make "M" call mh-modify.
4723 2002-05-07  Peter S Galbraith  <psg@debian.org>
4725         * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
4726         variable. If non-nil, the X-Face header line will be excluded from
4727         the variable `mh-invisible-headers'.  Set this when using a
4728         package such as x-face-el to display X-Face icons in mh-show-mode.
4729         This variable's setting will eventually be set automatically when
4730         mh-e does its own X-Face decoding (or this variable will be replaced
4731         by one telling mh-e to decode the X-Face).  We may not ship the
4732         next release with this variable.
4734 2002-05-07  Peter S Galbraith  <psg@debian.org>
4736         * mh-comp.el (mh-x-face-file): New defcustom variable. File name
4737         containing the encoded X-Face string to insert in outgoing mail.
4738         (mh-insert-x-face): New function.  Appends an X-Face field to the
4739         header, but only if it doesn't already exist and if 'mh-x-face-file'
4740         is non-nil and points to an existing file.
4741         (mh-send-letter): Invoke mh-insert-x-face.
4743 2002-04-29  Mike Kupfer  <m.kupfer@acm.org>
4745         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
4746         whether XEmacs region is actually active (needed at least for 21.1).
4747         [Patch committed by psg]
4749 2002-04-29  Mike Kupfer  <m.kupfer@acm.org>
4751         * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
4752         from completing-read as XEmacs-21.1 doesn't have it (21.4 does
4753         however) and using the argument adds no functionality.
4754         [Patch committed by psg]
4756 2002-04-11  Peter S Galbraith  <psg@debian.org>
4758         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
4759         XEmacs to act on selected region when active.
4761 2002-04-10  Peter S Galbraith  <psg@debian.org>
4763         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
4764         check to see if mark-active is bound, because Mandrake Linux include
4765         XEmacs initialization code that binds transient-mark-mode.  This
4766         fix gets around a problem in Mandrake only.  It wasn't a problem
4767         on XEmacs generally.  Fixes SF #541915.
4769 2002-04-08  Bill Wohler  <wohler@newt.com>
4771         * Released mh-e version 6.1.
4773         * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
4774         Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
4775         to increase robustness.
4776         (mh-folder-unseen-seq-list): Use `expand-file-name' as
4777         `mh-expand-file-name' isn't needed and the former saves function
4778         call.
4779         (Version, mh-version): Updated for release 6.1.
4781 2002-04-08  Peter S Galbraith  <psg@debian.org>
4783         * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
4784         call to mark command.  Fixes a bug in which unseen messages
4785         weren't highlighted if "mark" wasn't in the path.
4787 2002-04-07  Bill Wohler  <wohler@newt.com>
4789         * MH-E-NEWS: Updated for release 6.1.
4791         * README: Updated for release 6.1. Updated verbiage about reading
4792         MH-E-NEWS.
4794         * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
4795         mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
4796         modified this year.
4798         * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
4800         * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
4801         mh-utils.el: Fixed all checkdoc errors, except for no
4802         documentation, and documentation in comments. Also removed the-
4803         prefix from certain local variables.
4805         * mh-e.el: Fixed all checkdoc errors, except for no documentation,
4806         and documentation in comments. Also removed the- prefix from
4807         certain local variables.
4808         (mh-folder-unseen-seq-name): Refactored to make default sequence
4809         name more explicit and to handle undefined Unseen-Sequence MH
4810         profile entry better.
4812 2002-04-02  Peter S Galbraith  <psg@debian.org>
4814         * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
4815         set it's value, and this happens also on byte-compilation (where
4816         it can fail if the user's MH environment is not setup correctly).
4817         I now set the value of mh-folder-unseen-seq-name at runtime when I
4818         first need it.  This should fix Debian bugs
4819         http://bugs.debian.org/140232 and http://bugs.debian.org/140817
4821 2002-03-25  Peter S Galbraith  <psg@debian.org>
4823         * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
4824         be at the bottom of the dependency tree.
4825         * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
4826         and use it as path to mhparam command in call-process.
4828 2002-01-23  Peter S Galbraith  <psg@debian.org>
4830         * mh-e.el (mh-folder-font-lock-keywords): Add call to
4831         mh-folder-font-lock-unseen to fontify unseen messages in bold.
4832         (mh-folder-unseen-seq-name): Provide name of unseen sequence from
4833         mhparam.  Used as default for variable of same name.
4834         (mh-folder-unseen-seq-list): Returns a list of unseen messages
4835         numbers for current folder.
4836         (mh-folder-unseen-seq-cache): Cache variable to hold list of
4837         unseen message numbers while font-lock iterates.  This variable is
4838         buffer-local.
4839         (mh-folder-font-lock-unseen): Returns unseen message lines to
4840         font-lock one by one.
4842 2002-01-15  Peter S Galbraith  <psg@debian.org>
4844         * mh-comp.el (mh-insert-prefix-string): Wrap a
4845         "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
4846         Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
4847         Indeed, this is how it appears in XEmacs-21's mh-comp.el.
4849 2001-12-16  Jeffrey C Honig  <jch@honig.net>
4851         * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
4852         to before the assignment to `draft' as the later changes buffers
4853         and invalidates `mh-seq-list' (which is used in a function called
4854         by (mh-seq-to-msgs)).  Resolves SF #489448.
4856         * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
4857         `mh-temp-sequences-buffer'.
4859         * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
4860         'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
4861         quitting.
4863         * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
4864         (a defcustom initialized to "*Folders*") for folder listing.  Put
4865         into view mode and set it up to kill the buffer when exiting view
4866         mode.
4868         * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
4869         (a defcustom initialized to "*Sequences") for sequences listing.
4870         Put into view mode and set it up to kill the buffer when exiting
4871         view mode.
4873 2001-12-16  Bill Wohler  <wohler@newt.com>
4875         * Released mh-e version 6.0.
4877         * MH-E-NEWS: Be a little more specific about incompatible changes.
4878         Added info about outdated manual.
4879         Removed variables in mh-scan regexp table that did not exist in
4880         5.0.2.
4881         Added helpful documentation about finding relevant variables
4882         containing regexps to mh-scan-format-file's description.
4884         * mh-e.el (mh-scan-format-file): Added information about getting a
4885         list of regexp variables that you'll need to change if you
4886         customize your scan's output.
4887         (mh-folder-mode): Added documentation about `mh-scan-format-file'
4888         for those users who modify their scan formats.
4890         * README: New file. Describes packages and provides simple
4891         installation instructions.
4893         * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
4894         -rf (closes SF #488661).
4896 2001-12-14  Bill Wohler  <wohler@newt.com>
4898         * Released mh-e version 5.0.93.
4900         * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
4901         (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
4902         all.
4903         (MH-E-IMG2): New variable to hold images in mail sub-directory.
4904         (dist): Updated target to make mail sub-directory and copy
4905         MH-E-IMG2 images there.
4907         * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
4909         * mh-e.el: Reorganized variables having to do with the scan line.
4910         Moved some random variables that were interspersed out of the
4911         middle. Moved `mh-scan-format-file' first and let the variables
4912         flow from there.
4914         As the number of variables increases, it is becoming important to
4915         organize the mh-e namespace. Several variables having to do with
4916         the format of scan lines were renamed, as follows:
4917         (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
4918         (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
4919         (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
4920         (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
4921         (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
4922         (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
4923         (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
4924         (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
4925         (mh-folder-scan-font-lock-face): Renamed to
4926         mh-folder-scan-format-face.
4927         (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
4929 2001-12-13  Bill Wohler  <wohler@newt.com>
4931         * mh-utils.el (mh-msg-number-regexp): Renamed to
4932         mh-scan-msg-number-regexp.
4933         (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
4935         * Corrected typos, quoted variables in doc strings, and made minor
4936         wording changes in docs.
4938 2001-12-13  Peter S Galbraith  <psg@debian.org>
4940         * mh-xemacs-compat.el: defalias 'match-string-no-properties to
4941         'match-string for XEmacs.  I've seen a better function for this
4942         that actually removes text properties, but this will do for now.
4944         * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
4945         bound in XEmacs.
4947         * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
4948         New file.
4949         * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
4951 2001-12-12  Peter S Galbraith  <psg@debian.org>
4953         * mh-comp.el (mh-send-letter): function local-variable-p needs two
4954         arguments in XEmacs.
4955         (mh-send-letter): sendmail-coding-system not bound in XEmacs.
4956         (mh-send-letter): default-buffer-file-coding-system not bound in
4957         Xemacs.
4959         * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
4960         transient-mark-mode not bound in XEmacs.  The feature of
4961         operations made on all messages in the selected range when
4962         transient-mark-mode is on doesn't work in XEmacs.
4964         * mh-e.el, mh-utils: Conditionalize calls to
4965         'add-to-list 'facemenu-unlisted-faces for XEmacs.
4967 2001-12-11  Jeffrey C Honig  <jch@honig.net>
4969         * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
4970         specify the scan format string or file to use.  Define formats for
4971         MH and nmh that are compatible with the standard format, but
4972         provide hints for font-lock.  Define (mh-scan-format) for use by
4973         (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
4974         necessary to inform the scan program which scan format string or
4975         file to use.
4977 2001-12-07  Peter S Galbraith  <psg@debian.org>
4979         * mh-e.el (scan.font-lock): New format file documented in comments.
4980         (mh-scan.font-lock-regexp): Adapted to new format.
4981         (mh-folder-font-lock-keywords): Use new format.
4983         * mh-e.el (page-down.xpm): Icon renamed from nextpage.
4985         * mh-utils.el (mh-decode-quoted-printable): Bug fix.  Better check
4986         on what actually is a quoted-printable attachment.
4988 2001-12-06  Eric Ding  <ericding@alum.mit.edu>
4990         * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
4991         require mailcap.el here rather than using autoload at top of
4992         mh-mime.
4993         (mh-file-mime-type): get rid of unused variables (why were they
4994         there to begin with?)
4996 2001-12-06  Peter S Galbraith  <psg@debian.org>
4998         * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
4999         mh-cur-scan-msg-regexp splits into these two variables.
5000         The whole-line fontification is disabled, but easily restored by a
5001         user (although it could be a defcustom with choices DISABLED or
5002         the correct regexp?)
5003         (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
5004         to this.
5005         (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
5006         this.
5008         * cabinet.xpm: Revert to rescan icon name.
5009         * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
5011         * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
5012         that current message line highlight doesn't mess up other highlights.
5014 2001-12-05  Eric Ding  <ericding@alum.mit.edu>
5016         * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
5017         cyan on dark backgrounds; through a series of changes, it had
5018         become the same color as mh-show-subject-face!
5020 2001-12-05  Bill Wohler  <Bill.Wohler@openwave.com>
5022         * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
5023         a couple of small doc string tweaks while I was in there. Peter,
5024         if you don't agree, let me know and I'll back them out. I thought
5025         the "mh-e" in the text was redundant since the variables start
5026         with "mh"; I was also thinking ahead to how the documentation may
5027         read.
5029 2001-12-05  Peter S Galbraith  <psg@debian.org>
5031         * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
5032         (mh-folder-current-msg-face): New face with only a background
5033         settings, used in font-lock for the current message.
5034         (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
5035         mh-cur-scan-msg-regexp.
5037         * mh-utils.el (mh-show-from-face): Use red3 instead of red for
5038         light backgrounds.  It's not as bright on the eyes.
5039         (mh-show-subject-face): copy from mh-folder-subject-face instead.
5040         Makes the look consistent with folder-mode.
5042         * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
5043         need it to copy to mh-show-subject-face.
5045 2001-12-05  Bill Wohler  <wohler@newt.com>
5047         * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
5048         from "a" to "E". Better mnemonic, nicer to folks used to using a
5049         for `mh-reply'.
5051 2001-12-04  Bill Wohler  <wohler@newt.com>
5053         * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
5055 2001-12-04  Peter S Galbraith  <psg@debian.org>
5057         * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
5058         colours for folder-mode.  Still themed, but fewer and darker
5059         colours (Blame Eric this time!).  I'll get to underlining tomorrow
5060         night.
5062         * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
5063         don't have the word mail in them.  Also generated a pbm format of
5064         each icon for users without XPM support conpiled into Emacs.
5066 2001-12-04  Eric Ding  <ericding@alum.mit.edu>
5068         * mh-utils.el (mh-show-font-lock-keywords): Use
5069         mh-header-subject-font-lock instead of regexp for subject headers,
5070         which may go multiple lines.
5071         (mh-header-subject-font-lock): New function.
5072         Fix typos (hightlight -> highlight).
5074 2001-12-04  Eric Ding  <ericding@alum.mit.edu>
5076         * mh-e.el: changes to face colors on dark backgrounds.
5077         (mh-folder-followup-face): change to LightGoldenRod.
5078         (mh-folder-date-face): change to snow3.
5079         (mh-folder-msg-number-face): change to snow4.
5081 2001-12-04  Bill Wohler  <wohler@newt.com>
5083         * Released mh-e version 5.0.92.
5085         * mh-utils.el (gnus-cite-face-list)
5086         (mh-gnus-article-highlight-citation): Don't autoload. Revert to
5087         requiring in `mh-gnus-article-highlight-citation' as before. With
5088         the autoloads, if you ran mh-e before gnus, you'd get an undefined
5089         gnus variable when viewing an article in gnus. Go figure.
5091 2001-12-03  Bill Wohler  <wohler@newt.com>
5093         * Released mh-e version 5.0.91.
5095         * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
5096         that workaround has been implemented.
5098         * Makefile (MH-E-OBJ): New variable to hold .elc files.
5099         (all): Just compile.
5100         (clean): New target that blows away MH-E-OBJ.
5101         (dist): Added $(MH-E-OBJ) to tarball.
5104         Attempt to quiet compilation errors to a dull roar.
5106         * mh-e.el: Require easymenu, added autoload of info.
5107         (mh-smail, mh-smail-other-window): Comment says these were needed
5108         by Emacs 18. Out!
5110         * mh-utils.el: Don't require sendmail, but require mh-e.
5111         Moved autoloads to top of file, and autoload gnus-cite and
5112         sendmail too.
5114         * mh-pick.el: Require easymenu. Remove cond on
5115         `easy-menu-define'--it exists.
5117         * mh-mime.el: Autoload mailcap.
5119         * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
5120         file.
5123         * Makefile: (EMACS): New constant to hold emacs calling sequence.
5124         (install): Renamed to install-emacs.
5125         (compile): New target to compile all files.
5126         (dist): Make dependent on compile.
5127         (import): Renamed to import-emacs.
5128         (%.elc): New implicit rule to compile elisp files.
5130         * mh-e.el (mh-thread-map): Added "Td" for
5131         mh-delete-subject-thread.
5133 2001-12-03  Peter S Galbraith  <psg@debian.org>
5135         * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
5137         * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
5138         (mh-folder-followup-face): Change to IndianRed.
5139         (mh-folder-deleted-face): Use sedate face instead of bright one.
5141 2001-12-03  Bill Wohler  <wohler@newt.com>
5143         * mh-utils.el (mh-invisible-headers): Increase size of
5144         `max-specpdl-size' locally to work around insufficient default.
5145         (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
5147 2001-12-03  Jeffrey C Honig  <jch@honig.net>
5149         * mh-utils.el (mh-find-progs): Searches should not stop if the
5150         strings are not found, there is error detection at the end of the
5151         routine (closes SF #488231).
5153 2001-12-02  Bill Wohler  <wohler@newt.com>
5155         * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
5157         * Makefile (MH-E-IMG): New variable that contains images used by
5158         mh-e. Add these files to release.
5160         * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
5162         * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
5163         Is the hook called when you type `d' or when you type `x'?
5164         (mh-unseen-updated-hook): Reworded to be consistent with
5165         `mh-folder-updated-hook.'
5167         * mh-utils.el (mh-recenter): Accepted Gerd's change which is
5168         evaluated at compile time.
5170 2001-12-02  Bill Wohler  <wohler@newt.com>
5172         * mh-e.el Major, major keymap changes. The specific changes are
5173         listed below, but view the sources, or use "C-h m" in MH Folder
5174         mode for the complete list.
5176         Use of sub-keymaps inspired by gnus. The changes tripped me up at
5177         first too, but after about 5 minutes of shock (which is to be
5178         expected, I've been using the old keybindings for 16 years), I
5179         honestly found the new bindings to be nice indeed. It will also
5180         provide flexibility to allow for future functionality. I hate to
5181         do this on the eve of the beta release, but you asked for it! It's
5182         likely I'll have to pull an Eric and back this change out, but if
5183         we can live with pink subjects, this can't be so bad ;-).
5184         Question: will the users revolt? If they do, I suppose we can
5185         release 6.0.1 the next day ;-).
5186         (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
5187         New keymaps which start with F, S, X, and D, respectively. The
5188         mhstore commands can go in the mh-extract-map eventually.
5189         (mh-thread-map): Renamed from mh-folder-thread-map.
5191         Keymap changes and rationale. The sub-keymaps allowed some
5192         consistency (e.g., esp. with l(ist) and k(ill).
5194         e               Deleted. Already have x. Now used by mh-edit-again.
5195         a               Deleted. Already have r. Now used by mh-extract-rej..
5196         j               Deleted. Already have g.
5198         M-a -> e        Better mnemonic. Matches rmail. Frees movement cmd.
5199         M-e -> a        Try `a'gain!
5201         M-f -> Fv       Frees movement command
5202         M-f -> Ff       Alias (keep?)
5203         M-f -> Fo       Alias (keep?)
5204         M-k -> Fk       No reason but to keep with folder commands
5205         M-l -> Fl       No reason but to keep with folder commands
5206         M-p -> Fp       No reason but to keep with folder commands
5207         M-r -> Fr       Frees movement command
5208         M-s -> Fs       No reason but to keep with folder commands
5209         M-u -> Fu       No reason but to keep with folder commands
5211         M-% -> Sd       Better mnemonic
5212         M-# -> Sk       Better mnemonic
5213         M-q -> Sl       Better mnemonic
5214         C-xn -> Sn      Frees up standard key binding
5215         % -> Sp         Better mnemonic for putting a message in a sequence
5216         ? -> Ss         Shows sequences that message is in
5217         C-xw -> Sw      Frees up standard key binding
5219         M-n -> Xs       Better mnemonic (shar)
5220         M-n -> Xu       Better mnemonic (uuencode)
5222         M-SPC -> DSPC   Frees mark command
5223         M-\177 -> D\177 No reason but to keep with digest commands
5224         M-b -> Db       Frees movement command
5226 2001-12-01  Bill Wohler  <wohler@newt.com>
5228         * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
5229         (mh-folder-thread-map): New map, created by gnus-define-keys.
5230         Reached when typing T in mh-folder-mode-map. Moved threading
5231         functions to this new keymap so we can use dired again.
5232         (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
5233         the new threading functions, no changes to the UI were made at
5234         this point--saving that for the next check-in.
5236         * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
5237         requires gnus-util.
5239         * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
5240         requires gnus-util.
5242 2001-12-01  Jeffrey C Honig  <jch@honig.net>
5244         * mh-e.el: Update the documentation for the regexps used by
5245         `mh-folder-font-lock-keywords' to specify how many parethesized
5246         expressions they are expected to have and what those expressions
5247         are expected to match.
5249 2001-12-01  Bill Wohler  <wohler@newt.com>
5251         * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
5252         \\{mh-folder-mode-map} suffices. Removed variable documentation
5253         also as this is already out of date and a maintenance hassle.
5254         Reference new mh customization group instead.
5256         * mh-comp.el (mh-letter-mode): Ditto. Also added new information
5257         about MIME directives getting processed automatically if inserted
5258         via mh-e commands.
5260         * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
5261         the other modes.
5263         * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
5264         Comment in this function said that `b' shouldn't be used for
5265         burst-digest, as it is used for `back' in info, less, and rn. But
5266         what does `back' mean in MH Folder? I suppose if you visit a
5267         folder, you would go `back' to the original folder. Hmmm, I guess
5268         we'll leave the `b' binding alone for now.
5270         * mh-utils.el: Moved some of the variable comments to the first
5271         column so they wouldn't wrap in such an ugly fashion.
5272         (mh-showing-mode): Renamed variable and function from mh-showing
5273         to conform with minor mode conventions. Added optional arg to
5274         function so it would behave like a normal minor mode: no or nil
5275         arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
5276         out that desktop-create-buffer would barf when recreating mh-e
5277         buffers because it was calling mh-show with an arg.
5278         (mh-show-mode): Use define-derived-mode to simplify definition a
5279         *lot*.
5280         (mh-set-mode-name): Deprecated by use of define-derived-mode.
5281         Removed.
5283         * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
5284         definition a *lot*.
5286         * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
5287         this message will appear in a future version of Emacs.
5288         (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
5289         real minor mode.
5290         (mh-folder-mode): Use define-derived-mode to simplify definition a
5291         *lot*.
5293         * import-emacs (release): Change `(none)' to `mainline' so import
5294         doesn't choke after running `cvs up -A' on Emacs.
5295         (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
5296         (cvs update): Whoops! Forgot the second join (-jemacs).
5297         make import works fine again.
5299 2001-11-30  Peter S Galbraith  <psg@debian.org>
5301         * mh-e.el (mh-folder-font-lock-keywords): Change order of
5302         font-lock patterns such that subject body text doesn't get date
5303         fontification.
5305         * mh-e.el (mh-scan-subject-regexp): Bug fix.  Remove a dot.
5306         scan.font-lock users have to setq it separately.
5308 2001-11-30  Eric Ding  <ericding@alum.mit.edu>
5310         * mh-utils.el (mh-clean-msg-header): Go back to using
5311         mh-delete-line.  Using invisible text property is nicer in some
5312         ways, but winds up with somewhat mysterious behavior should user
5313         kill/yank stuff from the header (i.e., text gets yanked invisibly
5314         and won't be seen by user until file is reloaded).
5316 2001-11-29  Bill Wohler  <wohler@newt.com>
5318         * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
5319         right direction.
5321 2001-11-29  Jeffrey C Honig  <jch@honig.net>
5323         * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
5324         the current message if there are no messages in the folder.
5326 2001-11-29  Peter S Galbraith  <psg@debian.org>
5328         * mh-e.el (mh-folder-font-lock-subject): New fontifier function
5329         for subject lines in folder-mode
5330         (mh-scan-followup-regexp): Deleted obsolete regexp.  Use
5331         mh-scan-subject-regexp instead.
5332         (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
5333         instead of obsolete mh-scan-followup-regexp variable.
5334         (mh-folder-date-face, mh-folder-msg-number-face):
5335         (mh-folder-subject-face, mh-folder-followup-face):
5336         Now defined as proper faces instead of copied from font-lock
5337         faces.
5339         * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
5340         valid media types used in MIME attachment compositions.
5341         (mh-file-mime-type): Use mh-media-type-regexp instead of
5342         hard-wiring its value.
5344         * mh-utils.el (mh-show-unquote-From): New function to unquote
5345         "^>From" in mh-show-mode (not saved to disk).
5346         (mh-show-mode): Call mh-show-unquote-From.
5348 2001-11-29  Eric Ding  <ericding@alum.mit.edu>
5350         * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
5351         rather than mh-delete-line.
5352         (mh-make-line-invisible): New function to make line(s) invisible
5353         rather than deleting line(s).  Optional argument specifies number
5354         of lines to delete.
5355         (mh-show-msg): screen-height has been deprecated; use no more.
5356         (mh-notate): screen-width has been deprecated; use no more.
5358 2001-11-29  Jeffrey C Honig  <jch@honig.net>
5360         * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
5361         the existence of mhparam.  The location of mhparam is used to find
5362         `mh-progs'.  It uses the libdir and etcdir to find the
5363         `mh-lib-progs' and `mh-lib' directories.  If etcdir doesn't return
5364         anything we assume `mh-lib-progs' is the same as `mh-lib' and that
5365         we are using MH instead of nmh.
5367 2001-11-29  Peter S Galbraith  <psg@debian.org>
5369         * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
5370         second paren expression is the user match.
5371         (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
5372         expression to match user name, after Jeffrey's change to the regexps.
5374 2001-11-29  Bill Wohler  <Bill.Wohler@openwave.com>
5376         * mh-utils.el (mh-clean-message-header): Default is now t.
5377         (mh-invisible-headers): Padded out to contain all the headers that
5378         the mh-e developers don't like to see (closes SF #415759).
5380 2001-11-28  Bill Wohler  <Bill.Wohler@openwave.com>
5382         * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
5383         this allows mh-extract-rejected-mail to strip the start of the
5384         MDN, there is still a closing MIME marker at the end. This should
5385         be cleaned up eventually.
5387 2001-11-28  Peter S Galbraith  <psg@debian.org>
5389         * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
5390         folder-mode when narrowed to sequence.
5391         * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
5392         mh-folder-seq-tool-bar-map.
5393         (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
5394         * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
5396         * mh-mime.el (mh-file-mime-type): Much better check on validity of
5397         'file' output.
5399         * mh-e.el (mh-scan-subject-regexp): New regexp variable for
5400         subject string in folder mode.  Used to extract subject sequence,
5401         and will be used for font-lock soon.
5402         * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
5403         using mh-scan-subject-regexp, allows users with non-standard
5404         scan format to use subject sequences.
5406         * mh-comp.el (mh-letter-fill-column): Fill column to use in
5407         mh-letter-mode.  (Yes, I'm doing this in spite of what Bill said;
5408         Someone can always undo it later)
5409         (mh-letter-mode): setq fill-column to mh-letter-fill-column.
5411 2001-11-28  Bill Wohler  <wohler@newt.com>
5413         * mh-e.el (mh-page-msg): The first time the end of page is hit,
5414         set mh-page-to-next-msg-p to t. The second time the end of page is
5415         hit, go to the next message.
5417         * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
5418         nil.
5420 2001-11-27  Bill Wohler  <wohler@newt.com>
5422         * mh-mime.el (mh-mime-content-types): Updated list of types to
5423         contain types used by mh-e developers, but not including types not
5424         listed in
5425         http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
5427 2001-11-27  Peter S Galbraith  <psg@debian.org>
5429         * mh-seq.el (mh-subject-thread-to-sequence) New function placing
5430         all messages with similar subject line into a sequence named
5431         'subject.
5432         (mh-narrow-to-subject-thread): New command to narrow to all
5433         messages with similar subject line into a sequence named 'subject.
5434         (mh-toggle-subject-thread): New command to toggle between a new
5435         'subject sequence or the wide view of a folder.
5436         (mh-delete-subject-thread): New command to delete all following
5437         messages with similar subject lines (leaving preceeding ones
5438         untouched).
5439         (mh-next-unseen-subject-thread): New command to create and move to
5440         a new subject thread created from the next unseen message as a
5441         starting point.
5442         * mh-e.el (mh-folder-message-menu): New menu entries for subject
5443         threads.
5444         (mh-folder-mode-map): New keybindings for subject threads.
5445         (mh-lessp): New function to sort messages.
5447         * mh-utils.el (mh-show-font-lock-keywords): and various
5448         faces... scoped within eval-after-load "font-lock" to avoid
5449         requiring font-lock to use its faces.
5450         * mh-e.el (mh-folder-font-lock-keywords): Same.
5452 2001-11-27  Jeffrey C Honig  <jch@honig.net>
5454         * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
5455         " *mh-temp".
5457         * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
5459 2001-11-26  Eric Ding  <ericding@alum.mit.edu>
5461         * mh-utils.el: revert to using external mimedecode to decode
5462         MIME quoted-printable parts
5464 2001-11-26  Jeffrey C Honig  <jch@honig.net>
5466         * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
5467         * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
5469 2001-11-26  Peter S Galbraith  <psg@debian.org>
5471         * mh-mime.el (mh-file-mime-type): Make sure output from file
5472         command is known to mailcap file, otherwise prompt the user.
5473         (mh-mime-content-types): Add "image/png" type.
5475         * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
5476         mh-folder-*-face faces.
5477         * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
5478         mh-show-*-face faces.
5480         * mh-utils.el (mh-letter-header-font-lock): Bug fix.  Fix infinite
5481         loop in emacs20 font-locking.
5482         (mh-header-field-font-lock): Preventive fix with similar change.
5484         * mh-comp.el (mh-reply-show-message-p): Typo.  diplayed -> displayed.
5485         * MH-E-NEWS: Same.
5487         * mh-e.el (mh-folder-tool-bar-map): Bug fix.  I had
5488         mh-repack-folder instead of mh-pack-folder.
5490 2001-11-26  Bill Wohler  <wohler@phone.com>
5492         * mh-e.el:
5493         Updated header for consistency and to conform with (elisp)Library
5494         Headers.
5495         (mh-do-not-confirm): Updated documentation string to reflect
5496         reality (e.g., is no longer used by mh-kill-folder and is used by
5497         more functions than just mh-undo-folder).
5498         (mh-page-msg): Now shows the next undeleted message if looking at the
5499         bottom of the current message.
5500         (mh-process-or-undo-commands): Fixed indentation.
5502         * mh-mime.el:
5503         (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
5504         cannot be determined with file command, use mailcap-mime-types (if
5505         available) to provide list for completing read.
5507         * MH-E-NEWS: First draft of mh-e 5.1 release notes.
5509 2001-11-26  Eric Ding  <ericding@alum.mit.edu>
5511         * mh-utils.el (mh-decode-quoted-printable): Implement
5512         quoted-printable decoding in elisp (starting with code copied
5513         from FLIM).
5514         (mh-decode-quoted-printable-region): Move (require 'hexl) outside
5515         while loop.
5516         (mh-decode-quoted-printable): give user a choice between using
5517         internal code or external program to decode quoted-printable
5518         content.  Resurrect code that calls external mimedecode program.
5520 2001-11-25  Peter S Galbraith  <psg@debian.org>
5522         * mh-utils.el (mh-highlight-citation-p): New variable to determine
5523         whether to hightlight citations in message body with gnus,
5524         font-lock or not at all.
5525         (mh-show-font-lock-keywords): removed citations from keywords.
5526         (mh-show-font-lock-keywords-with-cite): New variable, equivalent
5527         to prior mh-show-font-lock-keywords.
5528         (mh-gnus-article-highlight-citation): hook into gnus for
5529         multi-level citation highlighting.
5530         (mh-show-mode): Use either mh-show-font-lock-keywords or
5531         mh-show-font-lock-keywords-with-cite, depending on value of
5532         mh-highlight-citation-p, and possibly call
5533         mh-gnus-article-highlight-citation.
5534         * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
5536 2001-11-25  Jeffrey C Honig  <jch@honig.net>
5538         * mh-comp.el (mh-redistribute): Added mh-redist-background
5539         variable to cause mh-redistribute to run the redist command in the
5540         background.  This causes the transaction log to be visible, like
5541         with send.
5543 2001-11-25  Peter S Galbraith  <psg@debian.org>
5545         * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
5546         new message if already showing messages.
5548 2001-11-22  Peter S Galbraith  <psg@debian.org>
5550         * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
5551         specified, otherwise mh-refile-msg may try to create a folder with
5552         empty name, and this creates problems;  even mh-undo can't handle
5553         it (Closes SF #476824).
5555         * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
5556         require 'info.  Also tweaked help texts.
5557         (mh-letter-menu): Use headline capitalization (Closes SF #483203).
5558         * mh-e.el (mh-folder-tool-bar-map): Same as above.
5559         (mh-folder-folder-menu, mh-folder-message-menu):
5560         (mh-folder-sequence-menu): Same as above.
5561         * mh-pick.el (mh-pick-menu): Same as above.
5563 2001-11-21  Peter S Galbraith  <psg@debian.org>
5565         * mh-comp.el (mh-reply-show-message-p): The setting of this
5566         variable determines whether the MH show-buffer is diplayed with
5567         the current message when using mh-reply without a prefix argument.
5568         Set it to nil if you already include the message automatically in
5569         your draft using "repl: -filter repl.filter" in your ~/.mh_profile
5570         file.
5571         (mh-reply): Don't show message in other window if
5572         mh-reply-show-message-p is nil.
5574         * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
5575         mh-execute-commands.
5577         * mh-utils.el (mh-show-mouse): New function to click on a message
5578         in folder-mode and show that message.
5579         * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
5581         * mh-e.el (mh-page-msg): Show buffer first if not displayed,
5582         instead of simply complaining there's no other window.
5584         * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
5585         (mh-folder-mode): Setup tool-bar.
5587         * mh-mime.el (mh-have-file-command): try to non-fatally load
5588         executable.el because emacs20 doesn't autoload it.
5589         * mh-utils.el (load "executable" t t): Idem.
5591         * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
5592         after-change-functions to nil, working around a strange font-lock
5593         bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
5594         was used.
5596         * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
5597         mh-utils.el because it is needed in reading mail too.
5598         (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
5599         because they are needed by mh-show-mode's font-lock code.
5600         Unfortunately, this splits the field related code into two files.
5601         Perhaps it should all go into mh-utils?
5603 2001-11-20  Eric Ding  <ericding@alum.mit.edu>
5605         * mh-utils.el (mh-show-from-face): Fix typo in defface
5607 2001-11-20  Bill Wohler  <wohler@newt.com>
5609         * mh-utils.el (mh-mail-header-separator): Set to -------- as
5610         defined by MH (components, and replcomps files). This variable
5611         cannot be a regexp since it is used as an argument to insert and
5612         is passed through regexp-quote before being used. The previous
5613         value broke a lot of code, including mailcrypt.
5615         * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
5616         header field from mh-send-letter.
5617         (mh-edit-again, mh-extract-rejected-mail): Call
5618         mh-insert-header-separator to ensure that there is a separator.
5619         Packages such as mailcrypt depend on it.
5620         (mh-insert-header-separator): New function to insert
5621         mh-mail-header-separator if it doesn't exist.
5623 2001-11-20  Peter S Galbraith  <psg@debian.org>
5625         * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
5626         * mh-e.el (mh-folder-mode):  Same.
5627         * mh-utils.el (mh-show-mode):  Same.
5629         * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
5630         with mh-good-msg-regexp.
5632         * mh-utils.el (mh-mail-header-separator): Bug fix.  Moved from
5633         mh-comp.el to mh-utils.el (which mh-comp.el loads).
5635         * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
5636         suggested by Bill).
5637         * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
5639         * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
5640         to customizing mh-compose group.
5642         * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
5643         font-lock-support-mode to nil.
5644         (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
5645         bug fix. Don't return match beyond font-lock search limit.
5647         * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
5648         not a bound variable.
5650 2001-11-19  Peter S Galbraith  <psg@debian.org>
5652         * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
5653         to 'Draft Editing' info node.
5655         * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
5656         for font-lock.
5657         (mh-header-to-font-lock, mh-header-cc-font-lock)
5658         (mh-header-field-font-lock): New helper function returning whole
5659         header field arguments to font-lock.
5660         (mh-show-font-lock-keywords): Heavily modified using the above.
5662         * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
5663         number in scan lines.
5664         (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
5665         (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
5666         scan lines for messages we sent.
5667         (mh-scan-followup-regexp): Regexp matching a followup subject
5668         line, starting with Re:
5669         (mh-scan-body-regexp):
5670         Regexp matching the message body beginning displayed in scan lines.
5671         (mh-scan.font-lock-regexp): Regexp matching output of the the
5672         optional scan.font-lock format file.
5673         (mh-folder-font-lock-keywords): New font-lock for folder-mode that
5674         uses the above regexps.
5676 2001-11-19  chad  <y@mit.edu>
5678         * mh-comp.el (mh-letter-tool-bar-map): made both references to
5679         mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
5680         just one.
5682 2001-11-19  Bill Wohler  <wohler@newt.com>
5684         * mh-comp.el (mh-position-on-field): Move to the end of the header
5685         if the field is not present. This function was documented to do
5686         this, but wasn't doing so.
5687         (mh-insert-x-mailer): Simplified by using existing
5688         mh-goto-header-field and mh-insert-fields functions. Now that
5689         mh-insert-fields is used to insert X-Mailer header field, no
5690         longer need to include X-Mailer in mh-x-mailer-string.
5692 2001-11-18  Peter S Galbraith  <psg@debian.org>
5694         * mh-comp.el (mh-letter-tool-bar-map): New version of
5695         mh-letter-mode tool-bar.  Changed order of buttons; made customize
5696         and info buttons specific to mh-e.
5698         * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
5699         uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
5700         mh-cur-scan-msg-regexp, so will better adapt to non-default scan
5701         formats.  Also, lines marked for refiling are now fontified.
5703 2001-11-18  Bill Wohler  <wohler@newt.com>
5705         * mh-utils.el (mh-show-mode): Added local variable
5706         mail-header-separator which is initialized to
5707         mh-mail-header-separator.
5709         * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
5710         Needed when running mh-edit-again, since by then the separator is
5711         gone. Added documentation saying one should use
5712         mail-header-separator and initialize it from
5713         mh-mail-header-separator.
5714         (mh-forward): Initialize mail-header-separator since
5715         mh-letter-mode hasn't kicked in yet (which does initialize
5716         mail-header-separator).
5717         (mh-letter-mode): Initialize mail-header-separator from
5718         mh-mail-header-separator, not hard-coded string.
5720         * mh-comp.el (mh-insert-x-mailer-p): New variable to control
5721         whether X-Mailer string is inserted. Default: t.
5722         (mh-x-mailer-string): New variable that caches actual X-Mailer
5723         string.
5724         (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
5725         is t.
5726         (mh-insert-x-mailer): New function that inserts X-Mailer header
5727         field.
5729 2001-11-17  Peter S Galbraith  <psg@debian.org>
5731         * mh-utils.el (mh-letter-header-font-lock): New function to return
5732         the entire mail header to font-lock for sedate font-locking.
5733         (mh-show-font-lock-keywords): Modified to fontify whole lines and use
5734         mh-letter-header-font-lock above to fontify whole header.
5736 2001-11-17  Bill Wohler  <wohler@newt.com>
5738         * mh-comp.el (mail-header-separator): Added ^ and $ to make more
5739         specific.
5740         (mh-forward, mh-letter-mode): Replaced hard-coded string with
5741         mail-header-separator.
5743 2001-11-16  Bill Wohler  <wohler@newt.com>
5745         * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
5746         (mh-version): The variable: Set to a number instead of Id since
5747         the Id didn't have the mh-e version number, and both Emacs and
5748         gnus do it this way too.
5749         (mh-version): The function: Fixed for nmh. Now displays mh-e
5750         version correctly. Cleaned up output and display mh-progs, etc.
5751         (Closes SF #405620.)
5753 2001-11-15  Peter S Galbraith  <psg@debian.org>
5755         * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
5756         mh-letter-mode in emacs21.  Uses icons from gnus/message.el.
5757         * mh-comp.el (mh-letter-mode): Add buffer-local binding of
5758         tool-bar-map to mh-letter-tool-bar-map.
5760 2001-11-15  Peter S Galbraith  <psg@debian.org>
5762         * mh-mime.el (mh-have-file-command): Add check for existence of
5763         executable-find command, which Jeffrey didn't exist in emacs-20.4.
5764         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
5765         as above.
5766         * mh-mime.el (mh-file-mime-type): Bug Fix.  Some versions of
5767         'file' output a string like "file: Using regular magic file..."
5768         to stderr, so discard stderr when using call-process with 'file'.
5770 2001-11-14  Peter S Galbraith  <psg@debian.org>
5772         * mh-mime.el (mh-have-file-command): Check if 'file' command on
5773         system accepts arguments -i -b before accepting it for our use.
5775 2001-11-14  Peter S Galbraith  <psg@debian.org>
5777         * mh-utils.el (mh-find-progs): Use expand-file-name instead of
5778         concatenating together strings into a path.
5780 2001-11-14  Peter S Galbraith  <psg@debian.org>
5782         * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
5783         menu only when mh-narrowed-to-seq is t.
5785 2001-11-14  Peter S Galbraith  <psg@debian.org>
5787         * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
5788         of more complicated and error-prone call-process to which command.
5789         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
5790         change as above.
5792 2001-11-14  Jeffrey C Honig  <jch@honig.net>
5794         * mh-e.el (mh-make-folder-mode-line): Bug fix.  Properly deal with
5795         folders that do not have any lines in them.  Print "no msgs"
5796         instead of "0 msgs".  Do not try to print a range when there are
5797         no messages.
5798         * mh-e.el (mh-regenerate-headers): Bug fix.  Catch and remove the
5799         "scan: band message list" message.
5801 2001-11-13  Jeffrey C Honig  <jch@honig.net>
5803         * mh-utils.el (mh-find-progs): Bug fix.  Add "mh/etc" to the
5804         subdirectories to search for "components".  On BSD/OS, nmh is in
5805         "/usr/contrib/mh/*".
5807 2001-11-13  Peter S Galbraith  <psg@debian.org>
5809         * mh-comp.el (mh-letter-mode): Bug fix.  Load mh-mime before
5810         setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
5811         message containing a MIME composition) such that the variable is
5812         properly declared as buffer-local.
5814 2001-11-12  Bill Wohler  <wohler@newt.com>
5816         * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
5817         directory, not mh-lib (closes SF #481128).
5819 2001-11-12  Peter S Galbraith  <psg@debian.org>
5821         * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
5822         In a sequence with pending deletes and refiles, running mh-widen
5823         would wipe out their notations, even though the sequences are still
5824         defined.  Fixed by calling a new function,
5825         mh-notate-deleted-and-refiled.  Also changed the coping of
5826         mh-goto-msg-num since it didn't work consistently.
5827         * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
5828         to fix above mh-widen bug.  It's a first cut, we may want to clear
5829         all notations first, and notate the current-message sequence and
5830         user sequences.  Time will tell.
5832 2001-11-12  Peter S Galbraith  <psg@debian.org>
5834         * mh-seq.el (mh-widen): Make it attempt to stay on the same
5835         message number (closes SF bug #480922).
5837 2001-11-11  Bill Wohler  <wohler@newt.com>
5839         * import-emacs: New shell script to import Emacs changes to mh-e.
5841         * Makefile (import): New target to import Emacs changes.
5843 2001-11-09  Peter S Galbraith  <psg@debian.org>
5845         * mh-mime.el (mh-file-mime-type): Bug fix.  Change regexp to
5846         extract mime type from 'file -i' command output.
5848 2001-11-08  Peter S Galbraith  <psg@debian.org>
5850         * mh-utils.el (mh-update-sequences-after-mh-show):
5851         New customizable variable telling whether to run
5852         mh-update-sequences in mh-show-mode.  Default is t.
5853         * mh-utils.el (mh-show-msg): Run mh-update-sequences when
5854         mh-update-sequences-after-mh-show is set.
5856 2001-11-08  Peter S Galbraith  <psg@debian.org>
5858         * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
5859         New variable telling whether command 'mimedecode' is on system.
5860         (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
5861         * mh-utils.el (mh-decode-quoted-printable):
5862         New customizable variable telling whether to run mimedecode on
5863         MIME message containing quoted-printable parts.  mimedecode will
5864         only alter quoted-printable parts , leaving others intact, and the
5865         resulting message is still fully MIME.
5866         * mh-utils.el (mh-decode-quoted-printable): New function to run
5867         mimedecode on the current buffer.
5868         * mh-utils.el (mh-display-msg): Conditionnaly call
5869         mh-decode-quoted-printable function if mh-decode-quoted-printable
5870         variable is set, to view messages containing quoted-printable
5871         characters into 8-bit.
5873 2001-11-08  Peter S Galbraith  <psg@debian.org>
5875         * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
5876         looking at a "forw: -mime" message containing a MIME composition.
5877         * mh-mime.el (mh-file-mime-type): Bug fix.  Failed on files like
5878         "~/.mh_profile" because of shell construct.  Wrapped filename with
5879         expand-file-name.
5880         * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
5881         mh-letter-mode-map for mh-open-line.
5883 2001-11-07  Peter S Galbraith  <psg@debian.org>
5885         * mh-comp.el (mh-open-line): New user function to split open a line
5886         when editing a reply with included text.
5887         * mh-comp.el (mh-current-fill-prefix): New function used by
5888         mh-open-line to get the fill-prefix on the current line.
5889         * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
5891 2001-11-06  Peter S Galbraith  <psg@debian.org>
5893         * mh-seq.el (mh-region-to-sequence): New function, creating a
5894         sequence named 'region containing the message list in the selected
5895         region.
5896         * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
5897         mark is active and in transient-mark-mode.
5898         * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
5899         mark is active and in transient-mark-mode.
5900         * mh-e.el (mh-undo): Undo message marks for refile or deletion if
5901         region if mark is active and in transient-mark-mode.
5903 2001-11-06  Peter S Galbraith  <psg@debian.org>
5905         * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
5906         Copy its settings for paragraph-start, paragraph-separate,
5907         fill-paragraph-function, adaptive-fill-regexp and
5908         adaptive-fill-first-line-regexp.  This make M-q (fill-paragraph)
5909         work correctly!
5911 2001-11-05  Peter S Galbraith  <psg@debian.org>
5913         * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
5914         and always prompt the user for such a drastic step.  Also change
5915         the prompt a bit to clarify it.
5917 2001-11-04  Peter S Galbraith  <psg@debian.org>
5919         * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
5920         to tell when a MIME insertion was done in a letter.
5921         * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
5922         * mh-mime.el (mh-mhn-compose-external-type):
5923         Set mh-mhn-compose-insert-p.
5924         * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
5925         * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
5926         * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
5927         mh-mhn-compose-insert-p is set.
5929 2001-11-03  Peter S Galbraith  <psg@debian.org>
5931         * mh-mime.el (mh-have-file-command): new function testing whether
5932         file command is on the system.
5933         * mh-mime.el (mh-file-mime-type): new function returning MIME type
5934         from file command.
5935         * mh-mime.el (mh-mhn-compose-insertion): Make use of
5936         mh-file-mime-type function instead of prompting.
5938 2001-10-30  Peter S Galbraith  <psg@debian.org>
5940         * mh-utils.el (mh-show-use-goto-addr): defcustom this new
5941         variable, determining whether to call goto-addr in mh-show-mode.
5942         * mh-utils.el (mh-show-mode): Call goto-address when
5943         mh-show-use-goto-addr is t.
5945 2001-10-25  Peter S Galbraith  <psg@debian.org>
5947         * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
5948         (list 4) to match elisp doc on what C-u prefix argument actually is.
5950 2001-10-23  Peter S Galbraith  <psg@debian.org>
5952         * mh-utils.el (mh-summary-height): In my quest to make mh-e more
5953         useful out-of-the-box for new users, set mh-summary-height to a
5954         minimum of 4 and a maximum of 10 depending on frame height.  I
5955         typically have 70 lines in my Emacs frame, so having a default of
5956         4 was silly for my case.
5957         * mh-e.el (mh-update-sequences): Check for nil value of
5958         mh-current-folder, which happens if mh-summary-height < 4
5959         although I haven't tracked doen why that happens.
5961 2001-10-22  Peter S Galbraith  <psg@debian.org>
5963         * mh-comp.el (mh-insert-fields): Test for nil value when inserting
5964         field.
5966 2001-10-20  Peter S Galbraith  <psg@debian.org>
5968         * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
5969         * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
5970         * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
5971         * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
5972         * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
5974 2001-10-19  Peter S Galbraith  <psg@debian.org>
5976         * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
5977         * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
5978         is in use rather than MH) was set assuming that the string "nmh"
5979         will be in mh-lib-progs or mh-lib.  This failed on Debian systems.
5980         Better to check for the existence of mhbuild in directory mh-progs.
5981         (closes SF bug #441776)
5983 2001-10-18  Peter S Galbraith  <psg@debian.org>
5985         * mh-e.el: Add menubar entry from contrib/mh-menubar.el
5986         * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
5987         * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
5989 2001-07-30  Peter S Galbraith  <psg@debian.org>
5991         * mh-e.el: Change font-lock patterns for folders.
5992         Fontify scan.font-lock patterns (which will be documented)
5993         and fontify subject lines prefixed with "Re:" differently.
5994         * mh-comp.el (mh-letter-mode): Add font-lock support as in
5995         mh-show-mode.
5997 2001-04-14  chad brown  <y@mit.edu>
5999         * rearrange the font-lock keywords a bit
6001 2001-04-12  chad brown  <y@mit.edu>
6003         * preliminary (somewhat boring) font-lock support for mh-e.  More
6004         interesting font-lock support probably wants to have better
6005         support for multiple format files
6007 2001-02-24  chad brown  <y@mit.edu>
6009         * add default nmh paths to mh-find-prog in mh-utils.el.
6010         change to mh-kill-folder in mh-funcs.el to make it more general.
6012 2001-02-19  Bill Wohler  <wohler@newt.com>
6014         * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
6015         EMACS_HOME already exists to give developer a chance to set
6016         environment variable.
6017         (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
6018         $(EMACS_HOME)/src.
6019         (dist): Leave release in current directory.