1 2004-08-21 Bill Wohler <wohler@newt.com>
3 * Released MH-E version 7.81.
5 * MH-E-NEWS, README: Updated for release 7.81.
7 * mh-e.el (Version, mh-version): Updated for release 7.81.
9 2004-08-21 Bill Wohler <wohler@newt.com>
11 * release-utils (variable_changes): Check for checked-out
12 directory before proceeding. Remove temporary files. Renamed
13 --variable-update flag to --variable-changes.
15 2004-08-16 Mark D. Baushke <mdb@gnu.org>
17 * mh-mime.el (mh-toggle-mh-decode-mime-flag: New function.
18 * mh-e.el (mh-help-messages): Add [;] help string for it.
19 (mh-folder-mode-map): Add ";" key binding for it.
21 2004-08-15 Satyaki Das <satyaki@theforce.stanford.edu>
23 * mh-acros.el (mh-defstruct): Distinguishing structures created
24 by mh-defstruct just based on the number of fields is not
25 sufficient, since both the mh-thread-message and
26 mh-thread-container structures have the same length.
28 2004-08-15 Mark D. Baushke <mdb@gnu.org>
30 * mh-customize.el (mh-identity-handlers): Use ":default" instead of
31 "default" to avoid problems with "Default:" as a user defined field.
32 * mh-identity.el (mh-identity-field-handler): Ditto.
34 2004-08-15 Bill Wohler <wohler@newt.com>
36 * mh-e.el (Version, mh-version): Added +cvs to release number.
38 2004-08-15 Bill Wohler <wohler@newt.com>
40 * Released MH-E version 7.4.80.
42 * MH-E-NEWS, README: Updated for release 7.4.80.
44 * mh-e.el (Version, mh-version): Updated for release 7.4.80.
46 2004-08-15 Bill Wohler <wohler@newt.com>
48 * mh-funcs.el, mh-gnus.el, mh-inc.el, mh-init.el, mh-junk.el,
49 mh-pick.el, mh-print.el, mh-xemacs.el: Added 2004 to Copyright.
51 * mh-acros.el, mh-alias.el: Checkdoc fixes.
53 2004-08-12 Satyaki Das <satyaki@theforce.stanford.edu>
55 * mh-acros.el (cl): Load cl in this file. That is all right, since
56 this file is only used at compile time, and so cl doesn't get
57 loaded at run time. This avoids problems with stale *.elc files
58 present in the Emacs source tree during compilation.
59 (mh-defstruct): Modify it to make it more CL like and in the
60 process simplify it a bit. This makes the argument list of the
61 constructor compatible with the previous version, thereby avoiding
62 a compilation error when an old version of mh-seq.elc is present.
64 * mh-seq.el (mh-thread-id-container, mh-thread-get-message)
65 (mh-thread-get-message-container): Revert back to the CL style
66 of using keyword arguments, since the mh-defstruct now produces
67 code compatible to such usage.
69 2004-08-11 Satyaki Das <satyaki@theforce.stanford.edu>
71 * mh-acros.el (mh-defstruct, mh-require-cl): Checkdoc fixes.
73 * mh-utils.el (message-tokenize-header, message-fetch-field): Add
75 (mh-folder-completing-read): Make the folder completion look
76 better with CVS Emacs.
78 * mh-init.el (mh-variant-set): Remove dead code.
80 2004-08-11 Bill Wohler <wohler@newt.com>
82 * *.el: Use the following at the top of each file which seems to
83 do a good job of suppressing compilation warnings in 21.3 and CVS
84 Emacs (21.4). This replaces (require 'cl) or (require
85 'utils) (mh-require-cl) calls:
87 (eval-when-compile (require 'mh-acros))
90 2004-08-10 Bill Wohler <wohler@newt.com>
92 * release-utils (DESCRIPTION): Added one.
93 (FILES, SEE ALSO, VERSION): Deleted empty and incorrect sections.
95 * mh-e.el (mh-colors-available-p): Call x-display-color-cells with
96 mh-funcall-if-exists since it no longer seems to be defined in
99 2004-08-10 Satyaki Das <satyaki@theforce.stanford.edu>
101 * mh-speed.el (mh-process-kill-without-query, mh-speed-flists):
102 Avoid a compiler warning in versions of Emacs where
103 process-kill-without-query is a deprecated function.
105 * mh-seq.el (mh-thread-message, mh-thread-container): Use
106 mh-defstruct instead of defstruct.
107 (mh-thread-id-container, mh-thread-get-message-container)
108 (mh-thread-get-message): Use the slightly different structure
109 constructor function.
111 * mh-acros.el (mh-defstruct): New macro which is a partial
112 replacement of the defstruct in CL.
113 (no-byte-compile): Don't compile the file since it isn't loaded at
114 run time, so efficiency isn't an issue.
116 * mh-utils.el (mh-buffer-data): Use mh-defstruct instead of
119 2004-08-09 Satyaki Das <satyaki@theforce.stanford.edu>
121 * mh-funcs.el, mh-junk.el, mh-print.el: Use mh-require-cl to avoid
122 compilation warnings in Emacs-21.3.
124 * mh-acros.el (mh-require-cl): Add autoloads of CL functions used.
126 2004-08-09 Bill Wohler <wohler@newt.com>
128 * mh-customize.el (mh-show-use-xface-flag): Mention that `fetch' and
129 `curl' are supported as well.
131 2004-08-08 Bill Wohler <wohler@newt.com>
133 * mh-xemacs.el (mh-xemacs-has-toolbar-flag): Checkdoc fixes.
135 * mh-mime.el (mh-display-with-external-viewer): Checkdoc fixes.
137 * mh-identity.el: (mh-identity-attribution-verb-end): Stripped
138 trailing space; checkdoc fixes.
140 * mh-e.el (mh-restore-desktop-buffer): Checkdoc fixes.
142 * mh-customize.el: (mh-inc-spool-list,
143 mh-compose-forward-as-mime-flag, defcustom): Stripped trailing
144 space; checkdoc fixes.
146 * mh-comp.el (mh-reply): Stripped trailing space.
148 * mh-unit.el (mh-unit-files): Added mh-acros.el and mh-gnus.el.
149 (mh-unit): Don't lm-verify pre-21.4. Save buffers before killing
150 since we might have done some editing.
152 * import-emacs: Deleted. Functionality subsumed by release-utils.
154 * release-utils: New script. Performs import-emacs functionality
155 and displays new and deleted options.
157 * Makefile (import-emacs): Call release-utils instead of
160 * mh-funcs.el (mh-undo-folder): Removed deprecated `ignore'
163 * mh-e.el (mh-scan-date-regexp): Deleted as Peter claims it is
165 (mh-folder-font-lock-keywords): Removed reference to deleted
166 variable `mh-scan-date-regexp'.
168 * mh-customize.el (mh-auto-fields-prompt-flag): Made reference to
169 `mh-auto-fileds-lists'.
170 (mh-forward-hook): Fixed docstring typo.
172 2004-08-07 Bill Wohler <wohler@newt.com>
174 * mh-acros.el: New file. Currently holds macros needed by
175 mh-customize.el but is planned to hold all macros to avoid
176 dependency problems when compiling.
178 * mh-utils.el (mh-xemacs-flag): Defined in mh-customize.el now.
179 (mh-require-cl, mh-do-in-gnu-emacs, mh-do-in-xemacs)
180 (mh-funcall-if-exists, mh-make-local-hook, mh-mark-active-p):
181 Moved to new file mh-acros.el.
183 * mh-customize.el: Require mh-acros and cl only when compiling and
184 mh-loaddefs at runtime instead of mh-utils.
185 (mh-xemacs-flag): Define it here instead of mh-utils.el.
187 * Makefile (MH-E-SRC): Added mh-acros.el.
189 * mh-gnus.el (default-enable-multibyte-characters): Don't define
190 any more. It doesn't seem to be needed.
192 * mh-customize.el (mh-junk-background): New variable. If on, spam
193 programs are run in background. Running in foreground can be slow.
194 Defaults to nil to spare machines with little memory.
196 * mh-junk.el (mh-spamassassin-blacklist, mh-bogofilter-blacklist)
197 (mh-bogofilter-whitelist, mh-spamprobe-blacklist)
198 (mh-spamprobe-whitelist): Use new option mh-junk-background.
200 2004-07-25 Satyaki Das <satyaki@theforce.stanford.edu>
202 * mh-utils.el (mh-folder-completing-read): In recent CVS Emacs,
203 the first letter of the possible choices in the completion buffer
204 is highlighted. The change is needed for this feature to work
205 during folder name completion. This is not entirely sufficient,
206 since the leading "+" in folder names is still mishandled. A patch
207 is required in Emacs itself to address that.
209 2004-07-22 Mark D. Baushke <mdb@gnu.org>
211 * mh-e.el (recursive-load-depth-limit): Move
212 recursive-load-depth-limit code to ...
213 * mh-utils.el (recursive-load-depth-limit): ... here to avoid
214 problems compiling mh-utils.el and mh-alias.el with gnus-5.10.6
215 under emacs-21.1. Use eval-and-compile instead of eval-when.
217 2004-07-20 Bill Wohler <wohler@newt.com>
219 * mh-customize.el (mh-invisible-header-fields-internal): Added
220 header fields emitted by T-Mobile picture phones (X-Mms-*, and
221 commented out X-Operator field saying it's like X-Mailer).
223 2004-07-12 Bill Wohler <wohler@newt.com>
225 * mh-gnus.el: Set local variables indent-tabs-mode and
226 sentence-end-double-space to nil.
228 * mh-customize.el: Checkpoint from option docstring updates and
229 manual synchronization from last summer. For the options listed
230 below, docstring was usually completely rewritten. Use "on"
231 instead of "t" in docstring to match what is seen in customization
232 buffer. Use headline capitalization. Standardize on "Auto-detect"
233 text when option has that capibility.
234 (mh): Since we work on more than one type of Emacs, use Emacs
235 instead of GNU Emacs. Prefer GNU mailutils over GNU Mailutils.
236 (mh-variant): s/Autodetect at startup/Auto-detect/.
237 (mh-alias-insertion-location): s/Sorted
238 alphabetically/Alphabetical/. s/At the top of file/Top/. s/At the
239 bottom of file/Bottom/.
240 (mh-alias-local-users-prefix): s/Use login instead of real
242 (mh-identity-list): Sorted values by fields, attribution,
244 (mh-auto-fields-list): Missing quote.
245 (mh-compose-insertion): s/Use Gnus/Gnus/. s/Use mhn/mhn/.
246 (mh-compose-space-does-completion-flag): s/SPACE/<SPC>/.
247 (mh-extract-from-attribution-verb): Since we have French, added
249 (mh-letter-complete-function): Mention default in docstring.
250 (mh-invisible-header-fields-internal): Added X-ELNK-Trace from
252 (mh-alias-flash-on-comma, mh-alias-insert-file)
253 (mh-alias-passwd-gecos-comma-separator-flag)
254 (mh-recenter-summary-flag, mh-default-folder-for-message-function)
255 (mh-default-folder-must-exist-flag, mh-index-program)
256 (mh-index-ticked-messages-folders, mh-ins-buf-prefix)
257 (mh-delete-yanked-msg-window-flag, mh-identity-default): See
260 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-mu-mh-info):
261 Prefer GNU mailutils over GNU Mailutils MH.
263 * mh-comp.el (sc-cite-original, mh-smail, mh-smail-batch)
264 (mh-edit-again, mh-extract-rejected-mail, mh-forward)
265 (mh-smail-other-window, mh-reply, mh-send, mh-send-other-window):
266 Use `mh-send' instead of \\[mh-send]] since links in the docstring
267 are more useful than a key sequence in these cases. Use "See also"
268 instead of "See also documentation for".
270 * Merged in 7.4.4 changes, described below.
272 * mh-e.el (Version, mh-version): Set to 7.4.4+cvs.
274 2004-07-10 Bill Wohler <wohler@newt.com>
276 * Released MH-E version 7.4.4.
278 * MH-E-NEWS, README: Updated for release 7.4.4.
280 * mh-e.el (Version, mh-version): Updated for release 7.4.4.
282 * This patch release contains the following patches:
284 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
285 and mh-xemacs-icons.el which were removed since their names
286 exceeded DOS 8+3 limits.
289 (mh-e-autoloads.el): Add target to make `mh-e-autoloads.el', a
290 file containg usual entry commands into MH-E to be used for users
291 installing MH-E separately from Emacs.
292 (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
294 (XEMACS_LOADDEFS_COOKIE): Ditto.
295 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
296 (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner build
298 (MH-E-SRC): Moved mh-xemacs.el to new variable MH-E-XEMACS-SRC.
299 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
300 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
301 (clean): Moved XEmacs-specific code to clean-xemacs.
302 (xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
303 section of file. Add target to build mh-loaddefs.el in XEmacs
304 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
305 (clean-xemacs): New target to remove XEmacs-specific files.
306 (compile-xemacs): New. It allows for the '-no-autoloads' option
307 and byte-compiles all the source files with a single instance of
309 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
310 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
312 (AUTOLOAD_PACKAGE_NAME): New.
313 (AUTOLOAD_FILE): New.
314 (all): Don't set $EMACS_HOME if building with XEmacs.
315 (xemacs): Use 'compile-xemacs' instead of 'compile'.
316 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
318 (custom-load.elc): Allow for '-no-autoloads'.
320 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
321 The XEmacs stuff gets required by mh-customize.el which is
322 required by mh-utils.el which is required by mh-e.el. This all
323 happens before mh-xemacs-compat was required, so all should be
325 (mh-restore-desktop-buffer): Move from desktop.el. Add Parameters.
326 (mh-restore-desktop-buffer): Delete with-no-warnings.
327 (mh-folder-mode): Bind desktop-save-buffer to t.
328 (Courtesy Lars Hansen).
330 * mh-alias.el (mh-assoc-ignore-case): New macro to use
331 assoc-string when available (Emacs 21.4+); assoc-ignore-case
333 (mh-alias-reload, mh-alias-expand,
334 mh-alias-minibuffer-confirm-address): Use it.
336 * mh-seq.el: Added mh-autoload to mh-read-seq-default.
338 * mh-utils.el (mh-require-cl): The Emacs coding conventions
339 require that the cl package not be required at runtime. However,
340 the cl package in versions of Emacs prior to 21.4 left cl routines
341 in their macro expansions. Use mh-require-cl to provide the cl
342 routines in the best way possible (closes SF #930012).
343 (require 'mouse): To shush compiler.
345 * Use new function mh-require-cl throughout.
347 * Add arch taglines (courtesy Miles Bader).
349 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
350 mh-xemacs-icons.el with mh-xemacs.el.
352 * import-emacs: Also grab the ChangeLog.
354 * *.pbm: Regenerated using GIMP to be consistent with other Emacs
356 1. Edit .xpm image in GIMP.
357 2. Image > Mode > Indexed. Check Use Black/White Palette and No
359 3. File > Save As file.xbm.
360 4. Run xbmtopbm < file.xbm > file.pbm.
361 Thanks to jan.h.d@swipnet.se for the help.
363 2004-07-07 Stephen Gildea
365 * mh-customize.el (mh-invisible-header-fields-internal):
366 Add X-Greylist, X-Source*, and X-WebTV-Signature.
367 Replace specific X-Spam-* headers with general pattern.
369 2004-06-15 Bill Wohler <wohler@newt.com>
371 * README: Vladimir Ivanovic reports that mh-rmail works with
372 XEmacs 21.5.17, so updated requirements text accordingly (closes
375 2004-05-12 Satyaki Das <satyaki@theforce.stanford.edu>
377 * mh-utils.el (mh-mail-header-end): Replace call to
378 rfc822-goto-eoh with something that allows From_ lines in the mail
381 2004-04-14 Bill Wohler <wohler@newt.com>
383 * mh-utils.el (mh-show-mouse): s/EVENT/event/. Thanks to John Paul
384 Wallington <jpw@gnu.org> for pointing this out.
386 2004-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
388 * mh-e.el (mh-folder-size-flist): Add -showzero option so that the
389 parsing code doesn't get confused by the presence of -noshowzero
390 in the user's .mh_profile (closes SF #933954).
392 2004-04-07 Satyaki Das <satyaki@theforce.stanford.edu>
394 * mh-mime.el (mh-insert-mime-button)
395 (mh-insert-mime-security-button): Add evaporate property to
396 overlays used in MIME part buttons. This avoids problems with
399 2004-03-16 Satyaki Das <satyaki@theforce.stanford.edu>
401 * mh-e.el (mh-folder-from-address): Go to the end of buffer if the
402 re-search-forward fails (closes SF #917096).
404 2004-02-02 Satyaki Das <satyaki@theforce.stanford.edu>
406 * mh-customize.el (mh-compose-forward-as-mime-flag): New user
407 customizable variable that controls whether messages are forwarded
408 as MIME attachments (closes SF #827203).
410 * mh-comp.el (mh-forward): Call forw with -mime option only if
411 mh-compose-forward-as-mime-flag is non-nil.
413 2003-12-26 Jeffrey C Honig <jch@honig.net>
415 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
416 (mh-spamassassin-blacklist, mh-spamassassin-blacklist)
417 (mh-spamassassin-blacklist, mh-spamassassin-whitelist)
418 (mh-spamassassin-whitelist, mh-bogofilter-blacklist)
419 (mh-spamprobe-blacklist): Add progress messages. Change "Couldn't"
420 to "Unable" in error messages. Run bogofilter and spamprobe in
421 the foreground to prevent a large number of processes from
424 2003-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
426 * mh-e.el (mh-prompt-for-refile-folder): Marking the whole folder
427 and then refiling all messages throws an error, since this
428 function expects point to be on a valid scan line. The change
429 relaxes this requirement, thereby avoiding the above problem.
431 2003-12-14 Satyaki Das <satyaki@theforce.stanford.edu>
433 * mh-comp.el (mh-ascii-buffer-p): New function that checks if a
434 buffer is entirely composed of ASCII.
435 (mh-send-letter): Encode the draft if it contains non-ASCII
438 2003-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
440 * mh-customize.el (mh-invisible-headers): Keep only unique fields
441 in list of header fields to hide. This avoids problems in XEmacs.
443 2003-12-10 Satyaki Das <satyaki@theforce.stanford.edu>
445 * mh-seq.el (mh-thread-print-scan-lines): The imenu index was not
446 getting created for threaded index buffers. The change fixes this.
448 * mh-index.el (mh-index-insert-folder-headers): Always create the
450 (mh-index-create-imenu-index): Set which-func-mode to t. If
451 which-function-mode is turned on after the folder buffer has been
452 prepared, display of the folder info was being inhibited. The
455 2003-12-09 Satyaki Das <satyakid@stanford.edu>
457 * mh-comp.el (mh-letter-mode): Setup mh-mail-header-separator
458 based on draft contents.
459 (mh-letter-mode, mh-letter-mail-header-end-marker)
460 (mh-letter-header-end): Remove use of the variable
461 mh-letter-mail-header-end-marker. Instead use
462 mh-mail-header-separator. This avoids problems in font locking
463 draft buffers (closes SF #855479).
465 2003-12-09 Satyaki Das <satyakid@stanford.edu>
467 * mh-index.el (mh-index-insert-folder-headers): Modified so that
468 imenu--index-alist is updated.
469 (mh-index-create-imenu-index): New function that generates an
470 index usable by imenu. This adds which-func-mode support to index
471 folders (closes SF #855520).
473 * mh-e.el (which-func, which-func-modes): Tell which-func that
474 mh-folder-mode supports it.
475 (mh-folder-mode): Add support for imenu.
477 2003-11-22 Peter S Galbraith <psg@debian.org>
479 * Makefile: renamed mh-startup.el to mh-e-autoloads.el
481 * README: renamed mh-startup.el to mh-e-autoloads.el
483 * .cvsignore: Added mh-e-autoloads.el
485 2003-11-18 Bill Wohler <wohler@newt.com>
487 * Released MH-E version 7.4.3.
489 * MH-E-NEWS, README: Updated for release 7.4.3.
491 * mh-e.el (Version, mh-version): Updated for release 7.4.3.
493 * This patch release contains the following two patches:
495 * mh-identity.el (mh-identity-make-menu): Removed condition on
496 mh-auto-fields-list. Use it to enable or disable menu item
499 * mh-customize.el (mh-identity-list): Removed defvar and moved
500 defcustom before mh-auto-fields-list so that defvar wouldn't
501 clobber user's customization settings.
503 2003-11-17 Jeffrey C Honig <jch@honig.net>
505 * mh-print.el (mh-print-msg): Do not print a message on deprecated
506 usage, the bindings have been removed.
508 * mh-e.el (mh-folder-mode-map): Remove "l" binding for
511 * mh-utils.el (mh-show-mode-map): Remove "l" binding for
514 2003-11-16 Satyaki Das <satyakid@stanford.edu>
516 * mh-comp.el (mh-beginning-of-word): Use the function
517 mh-mail-abbrev-make-syntax-table instead of the function
518 mail-abbrev-make-syntax-table.
520 * mh-gnus.el (mh-mail-abbrev-make-syntax-table): Add a wrapper
521 function that calls mail-abbrev-make-syntax-table if available.
522 This is needed so that MH-E built with CVS Emacs will work with
523 released versions of Emacs21 and vice versa.
525 2003-11-14 Peter S Galbraith <psg@debian.org>
527 * mh-customize.el (mh-invisible-header-fields-internal): Add
528 "X-NAI-Spam-" and "X-Spam-Report:".
530 2003-11-14 Mark D. Baushke <mdb@gnu.org>
532 * mh-customize.el (mh-invisible-header-fields-internal):
533 Add X-AntiAbuse and X-MailScanner.
534 (Patch from Stephen Gildea.)
536 2003-11-13 Peter S Galbraith <psg@debian.org>
538 * mh-identity.el (mh-identity-handler-attribution-verb): New
539 function. A new Identity handler for the attribution verb (e.g.
540 "wrote:") to allow for different identities to use different
542 (mh-identity-insert-attribution-verb): New function. Insert the
543 attribution verb, placing special markers so it can be deleted and
545 (mh-identity-attribution-verb-start): New variable. Holds the
546 marker for the start of the attribution verb.
547 (mh-identity-attribution-verb-end): New variable. Holds the
548 marker for the end of the attribution verb.
550 * mh-customize.el (mh-identity-handlers): Add new
551 ":attribution-verb" tag for the attribution-verb handler.
552 (mh-identity-list): Idem.
554 * mh-comp.el (mh-yank-cur-msg): Insert attribution verb using
555 mh-identity-insert-attribution-verb.
556 (mh-extract-from-attribution): Extract only the name from the From
557 line, without appending `mh-extract-from-attribution-verb' since
558 markers need to be inserted around that now.
560 2003-11-12 Bill Wohler <wohler@newt.com>
562 * mh-e.el (mh-rmail, mh-nmail): Well, actually, we run in both GNU
563 Emacs and XEmacs, so removed the "GNU" in the docstrings unless
564 one is strictly talking about GNU Emacs.
566 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
569 2003-11-11 Bill Wohler <wohler@newt.com>
571 * mh-customize.el (mh-customize): Minor docstring change.
572 (mh, mh-e): The short description for MH-E is: The GNU Emacs
573 Interface to the MH Mail System. Therefore, updated docstrings
576 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
579 * mh-e.el (mh-rmail, mh-nmail): Ditto.
581 2003-11-10 Satyaki Das <satyakid@stanford.edu>
583 * mh-mime.el (mh-mml-to-mime): In case errors happen in
584 mml-to-mime, restore contents of the draft buffer (closes SF
587 2003-11-07 Bill Wohler <wohler@newt.com>
589 * mh-customize.el (mh-letter-mode-hook): Moved to mh-sending-mail
590 group (where it is now documented in the manual).
591 (mh-pick-mode-hook): Moved to mh-index group (where it is now
592 documented in the manual).
594 * mh-loaddefs.el: Deleted per our discussion on mh-e-devel. No
595 more conflicts! No more check-ins! Anyone pulling CVS MH-E is
596 expected to compile. This file shall be added to the tarball so
597 that users of the distribution are not.
599 2003-11-07 Mark D. Baushke <mdb@gnu.org>
601 * mh-loaddefs.el: Regenerated.
603 * mh-customize.el (mh-forward-hook): Define new hook.
604 * mh-comp.el (mh-forward): Use it.
606 2003-11-07 Satyaki Das <satyakid@stanford.edu>
608 * mh-loaddefs.el: Regenerated.
610 * mh-utils.el (mh-show-toggle-mime-buttons)
611 (mh-show-display-with-external-viewer): New interactive functions
612 callable from the show buffer.
613 (mh-show-mime-map): Add bindings for "K t" and "K e".
614 (mh-show-msg): Propagate change to
615 mh-display-buttons-for-inline-parts-flag to the show buffer.
617 * mh-mime.el (mh-display-with-external-viewer): New interactive
618 function to display MIME parts with external viewer (closes SF
621 * mh-e.el (mh-folder-mode): Make the variable
622 mh-display-buttons-for-inline-parts-flag buffer-local so that
623 display of MIME buttons can be toggled.
624 (mh-toggle-mime-buttons): New interactive function to toggle
625 display of MIME buttons.
626 (mh-mime-map): Modified to add bindings for "K t" and "K e".
628 2003-11-04 Steve Youngs <sryoungs@bigpond.net.au>
630 * Makefile (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
632 (XEMACS_LOADDEFS_COOKIE): Ditto.
633 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
634 (xemacs): Add target to build mh-loaddefs.el in XEmacs
635 (clean-xemacs): Remove `mh-loaddefs.el*'
636 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
638 2003-11-02 Peter S Galbraith <psg@debian.org>
640 * mh-init.el (mh-variant-set-variant): Reset `mh-x-mailer-string'
641 when we select an MH variant.
643 2003-11-02 Jeffrey C Honig <jch@honig.net>
645 * mh-loaddefs.el: Regenerated.
647 * mh-funcs.el (mh-print-msg): Move to mh-print.el.
649 * mh-e.el (mh-folder-mode-map): Add mh-print-msg ("l") back, it
650 will print a message that this usage is deprecated.
652 * mh-print.el (require, mh-ps-print-msg, mh-ps-print-msg-file):
653 Require mh-funcs for mh-note-printed. PS print functions were not
654 setting the printed notation. Move mh-print-msg here for
655 consistency. Print message if mh-print-msg invoked via deprecated
658 2003-11-01 Peter S Galbraith <psg@debian.org>
660 * Makefile: Add target to make `mh-startup.el', a file containg
661 usual entry commands into MH-E to be used for users installing
662 MH-E separately from Emacs.
664 * README: Document the above for users.
666 2003-10-29 Jeffrey C Honig <jch@honig.net>
668 * mh-utils.el (mh-show-ps-print-map): Add "?" and "l" to
669 mh-show-ps-print-map.
671 * mh-e.el (mh-ps-print-map, mh-help-messages): Add "?" and "l" to
672 mh-ps-print-map. Add "l" to help message.
674 2003-10-27 Bill Wohler <wohler@newt.com>
676 * Makefile (MH-E-SRC): Moved mh-xemacs.el to new variable
678 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
679 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
680 (clean): Moved XEmacs-specific code to clean-xemacs.
681 (xemacs): Added clean-xemacs prerequisite. Moved down to
682 XEmacs section of file.
683 (clean-xemacs): New target to remove XEmacs-specific files.
684 (compile-xemacs): Added $(MH-E-XEMACS-SRC) prerequisite.
685 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
687 2003-10-27 Satyaki Das <satyakid@stanford.edu>
689 * mh-loaddefs.el: Regenerated.
691 * mh-index.el (mh-indexer-choices): Remove option for the non-free
692 glimpse indexer (closes SF #831276).
693 (mh-glimpse-binary, mh-glimpse-directory)
694 (mh-glimpse-execute-search, mh-glimpse-next-result): Functions
695 and variables to implement glimpse support are removed.
697 * mh-customize.el (mh-index-program): Remove option for glimpse.
699 2003-10-24 Satyaki Das <satyakid@stanford.edu>
701 * mh-customize.el: Remove top-level test for toolbar enabled
702 XEmacs since it is not needed.
703 (mh-tool-bar-define): Add test for XEmacs toolbar in the functions
704 mh-toolbar-init, mh-tool-bar-letter-buttons-set and
705 mh-tool-bar-folder-buttons-set. This enables proper compilation
706 irrespective of whether the XEmacs was built with toolbar support
709 * mh-comp.el (mh-letter-mode): Remove conditional since it is not
712 * mh-e.el (mh-folder-mode): Same as above.
714 * mh-utils.el (mh-show-mode): Same as above.
716 * mh-xemacs.el (mh-xemacs-icon-map): Remove condition on toolbar
717 presence since we want the build to work if XEmacs without
718 toolbars is used during compilation.
720 2003-10-23 Bill Wohler <wohler@newt.com>
722 * mh-customize.el: The Great Reorganization. Sorted groups
723 alphabetically. Aligned variables in customization groups with
724 manual sections. Group docstrings changed to match manual chapter
727 2003-10-22 Satyaki Das <satyakid@stanford.edu>
729 * mh-speed.el (timer): Avoid compiler warning in XEmacs.
731 2003-10-22 Steve Youngs <sryoungs@bigpond.net.au>
733 * Makefile (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner
735 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
737 (AUTOLOAD_PACKAGE_NAME): New.
738 (AUTOLOAD_FILE): New.
739 (all): Don't set $EMACS_HOME if building with XEmacs.
740 (xemacs): Use 'compile-xemacs' instead of 'compile'.
741 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
743 (custom-load.elc): Allow for '-no-autoloads'.
744 (compile-xemacs): New. It allows for the '-no-autoloads' option
745 and byte-compiles all the source files with a single instance of
748 * mh-e.el (mh-folder-mode): Only load the toolbar in XEmacs if
749 toolbar support is available.
751 * mh-comp.el (mh-letter-mode): Only load the toolbar in XEmacs if
752 toolbar support is available.
754 * mh-customize.el: Require 'mh-xemacs' at toplevel when
755 'mh-xemacs-flag' is non-nil.
756 Wrap all the toolbar code in a test that is true if using
757 GNU/Emacs or a toolbar-enabled XEmacs.
759 * mh-print.el (mh-ps-spool-a-msg): Comment out
760 `clean-message-header-flag' because it isn't used anywhere.
762 * mh-utils.el (mh-show-mode): Only load the toolbar in XEmacs if
763 toolbar support is available.
765 * mh-xemacs.el: Autoload `regexp-opt', `customize-group',
766 `view-mode', `with-electric-help', `pp', `sort-numeric-fields',
767 `reverse-region', and `goto-address' at compile time.
768 (mh-xemacs-has-toolbar-flag): New. This is non-nil when XEmacs
770 (mh-xemacs-toolbar-*-icon): Use it.
772 2003-10-21 Mark D. Baushke <mdb@gnu.org>
774 * mh-identity.el (mh-identity-field-handler): Fields that begin
775 with ":" must have an mh-identity-handler defined or the user
778 2003-10-17 Peter S Galbraith <psg@debian.org>
780 * mh-customize.el (mh-identity-list): This change affects users!
781 The keyword "signature" becomes ":signature". The recently added
782 keyword "pgg-default-user-id" becomes ":pgg-default-user-id".
783 (mh-auto-fields-list): The keyword "Identity" becomes ":identity".
784 (mh-identity-handlers): Idem for signature and pgg-default-user-id.
786 * mh-comp.el (mh-insert-auto-fields): Idem for Identity.
788 2003-10-17 Peter S Galbraith <psg@debian.org>
790 * mh-xemacs.el: Add eval-and-compile call to (load "toolbar" t t) to
791 make sure `toolbar-make-button-list' is defined. We can't use
792 require because Emacs doesn't have this library.
794 2003-10-16 Bill Wohler <wohler@newt.com>
796 * mh-customize.el (mh-signature-file-name)
797 (mh-letter-insert-signature-hook): Merge docstring with manual.
799 * mh-comp.el (mh-file-is-vcard-p): Checkdoc fix.
800 (mh-insert-signature): Merge docstring with manual.
802 * mh-customize.el (mh-junk): Changed manual link in defgroup from
803 Customizing mh-e to Junk.
804 (mh-junk-function-alist): Moved SpamAssassin to first in list on
805 the hunch that it is the most popular and should be chosen if
806 other anti-spam programs exist.
807 (mh-junk-mail-folder): Since the variable can accept values other
808 than folder names, renamed to mh-junk-disposition to more
809 accurately reflect the content. Merge docstring with manual.
810 (mh-junk-program): Moved SpamAssassin to the top of the menu for
811 the same reason presented in mh-junk-function-alist. Also, fixed
812 case of spam programs to match official usage. Merge docstring
815 * mh-junk.el (mh-junk-blacklist):
816 s/mh-junk-mail-folder/mh-junk-disposition/. Merge docstring with
818 (mh-junk-whitelist): Merge docstring with manual.
819 (mh-bogofilter-blacklist): No longer suggest using automatic
820 classification so use -s instead of -Ns.
821 (mh-bogofilter-whitelist): No longer suggest using automatic
822 classification so use -n instead of -Sn.
823 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Merge
824 docstring with manual. Moved spamassassin functions to top of file
825 so functions appear in same order that they are presented in menu.
827 2003-10-09 Peter S Galbraith <psg@debian.org>
829 * mh-customize.el (mail-citation-hook): Moved from mh-comp.el and
830 made into a defcustom.
832 2003-10-09 Satyaki Das <satyakid@stanford.edu>
834 * mh-loaddefs.el: Regenerated.
836 * mh-comp.el (mh-get-header-field): Add autoload cookie.
838 * mh-utils.el (mh-show-ps-print-toggle-mime)
839 (mh-show-ps-print-toggle-color, mh-show-ps-print-toggle-faces)
840 (mh-show-ps-print-msg-file, mh-show-ps-print-msg)
841 (mh-show-ps-print-msg-show): New interactive functions callable
842 from the show buffer.
843 (mh-show-ps-print-map): New key map for printing.
845 * mh-e.el (mh-folder-mode-map): Remove key binding for
847 (mh-ps-print-map): Add new key map for printing.
849 * Makefile (MH-E-SRC): Add mh-print.el.
851 2003-10-07 Satyaki Das <satyakid@stanford.edu>
853 * mh-utils.el (mh-x-image-url-fetch-image): In XEmacs,
854 make-temp-file is not present. So to avoid security problems, use
855 a temporary file in the user's home directory. This avoids issues
856 in creating files in a world-writable directory.
858 * mh-mime.el (mh-signature-highlight): In Emacs, arrange for the
859 overlay to be freed when it is no longer needed. Also, implement
860 signature highlighting in XEmacs.
862 2003-10-05 Satyaki Das <satyakid@stanford.edu>
864 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Respect the
865 value of `mm-verify-option' and `mm-decrypt-option'.
866 (mh-mime-display-security): Rearrange code a bit to avoid too many
867 new lines being inserted when message verification/decryption is
868 carried out while the message is being read. Also use the
869 point-m{in|ax}-marker functions to make the function easier to read.
870 (mh-mime-security-press-button): Extend the function so that the
871 user can verify/decrypt messages while reading them.
873 * mh-gnus.el (mm-possibly-verify-or-decrypt): Added to avoid
874 compiler warning with old Gnus.
876 * mh-utils.el (mh-x-image-url-sane-p): New function which checks
877 if the URL in X-Image-URL is something we can handle.
878 (mh-x-image-url-display): Don't display image if the URL looks
881 2003-10-04 Mark D Baushke <mdb@gnu.org>
883 * mh-comp.el (mh-letter-menu): Simplify menu heading.
885 2003-10-03 Mark D Baushke <mdb@gnu.org>
887 * mh-mime.el (mh-mml-query-cryptographic-method): Avoid
888 revisionist history and still provide a good default.
890 * mh-comp.el (mh-letter-menu): Remove the Disable Security
891 parenthetical comment.
893 * mh-loaddefs.el: Regenerated.
895 * mh-customize.el (mh-mml-method-default): What method should be
896 used in secure directives.
898 * mh-mime.el (mh-secure-message): New function used to generate
899 the mml security tags.
900 (mh-mml-unsecure-message): New wrapper function around
901 mml-unsecure-messages.
902 (mh-mml-secure-message-sign-pgpmime): Remove function.
903 (mh-mml-secure-message-encrypt-pgpmime): Ditto.
904 (mh-mml-cryptographic-method-history): New variable.
905 (mh-mml-query-cryptographic-method): New function.
906 (mh-mml-secure-message-encrypt): Ditto.
907 (mh-mml-secure-message-signencrypt): Ditto.
908 (mh-mml-secure-message-sign): Ditto.
910 * mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
911 (mh-letter-mode-map): Update to use new functions.
913 2003-09-26 Satyaki Das <satyakid@stanford.edu>
915 * mh-seq.el (mh-interactive-range): The function has been
916 extended so that it now takes a default result to return if no
917 interactive prefix arg is given and no region is active.
919 * mh-e.el (mh-add-sequence-notation): If transient-mark-mode is
920 on, then the active region is deactivated based on whether a user
921 sequence or a internal sequence is being notated. The change
922 removes this inconsistency.
923 (mh-catchup, mh-folder-map): A new interactive function to mark
924 messages as read has been added and bound to "F c" in the folder
927 * mh-utils.el (mh-show-catchup, mh-show-folder-map): New
928 interactive function callable from show mode buffers has been
931 2003-09-24 Bill Wohler <wohler@newt.com>
933 * mh-customize.el (mh-clean-message-header-flag)
934 (mh-invisible-header-fields-default, mh-invisible-header-fields):
935 Merge docstring with manual.
937 2003-09-24 Mark D. Baushke <mdb@gnu.org>
939 * mh-junk.el (mh-junk-blacklist): Junked messages should be put
940 into the mh-seen-list to avoid propagating the unseen sequence
941 into the spam folder.
943 * mh-loaddefs.el: Regenerated.
945 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Add an optional
946 dontsign argument to remove an existing secure message directive.
947 Update the docstring -- this fuction does not allow for
948 encrypt/sign, just sign directives.
950 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Use
951 mml-insert-tag directly to provide a sender if
952 mh-identity-pgg-default-user-id is set.
953 (mh-mml-secure-message-encrypt-pgpmime): Use mml-insert-tag
954 directly to provide a sender if this message is to be both signed
955 and encrypted and mh-identity-pgg-default-user-id is set.
957 2003-09-23 Bill Wohler <wohler@newt.com>
959 * mh-alias.el (Commentary): Removed as it is now in the manual.
960 (mh-alias-system-aliases): Moved here from mh-customize.el. By
961 definition, "system" definitions are not user-visible, and user
962 filenames are in the the Aliasfile: profile component, so this
963 variable really shouldn't be a defcustom
964 (mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
965 (mh-alias-add-alias, mh-alias-grab-from-field)
966 (mh-alias-add-address-under-point, mh-alias-apropos): Merge
967 docstring with manual.
968 (mh-alias-reload-maybe): Minor comment update.
969 (mh-alias-insert-file): Merge docstring with manual. Removed
970 "[press TAB]" from prompt since users should know about completion
971 and space can be used as well.
972 (mh-alias-for-from-p): No longer returns a surprising result (t if
973 there was **not** an alias for the From field) if the From header
974 field is missing. This function now returns what you would expect
975 a function of this name to return. Renamed from
976 mh-alias-from-has-no-alias-p since negatives in the function name
977 make logic harder to follow.
978 (mh-alias-add-alias-to-file): Merge docstring with manual.
979 Improved verbiage of prompt. Aliases are now inserted "[b]efore"
980 or "[a]fter" the existing alias instead of "[i]nsert" or
981 "[a]ppend." Note how the new usage flows better.
983 * mh-customize.el (mh-alias): Changed manual link in defgroup from
984 Customizing mh-e to Aliases.
985 (mh-alias-grab-from-field button): mh-alias-from-has-no-alias-p
986 renamed to mh-alias-for-from-p and no longer returns surprising
987 value if there isn't a From field. Therefore, enable button if
988 there is a From header field and mh-alias-for-from-p returns nil.
989 (mh-letter-complete-function)
990 (mh-alias-completion-ignore-case-flag, mh-alias-flash-on-comma)
991 (mh-alias-insert-file, mh-alias-insertion-location)
992 (mh-alias-local-users, mh-alias-local-users-prefix)
993 (mh-alias-passwd-gecos-comma-separator-flag): Merge docstring with
995 (mh-alias-system-aliases): Moved to mh-alias.el.
997 * mh-comp.el (mh-letter-complete-function-alist): Removed comment
998 about making this customizable since I didn't think it seemed
999 appropriate in the manual.
1000 (mh-letter-complete): Merge docstring with manual.
1002 2003-09-23 Satyaki Das <satyakid@stanford.edu>
1004 * mh-speed.el (mh-speed-flists): When exiting emacs, don't ask if
1005 the flists process should be killed.
1007 * mh-e.el (mh-folder-message-menu): Enable undo menu entry only
1008 if something can be undone.
1010 * mh-customize.el (undo): Enable undo button only if something
1013 2003-09-22 Peter S Galbraith <psg@debian.org>
1015 * mh-customize.el (mh-identity-handlers): New defcustom. Alist of
1016 Handler functions for mh-identity (downcased) fields.
1017 (mh-identity-list): Add support for pgg-default-user-id.
1019 * mh-identity.el (mh-insert-identity): Modified to use
1020 `mh-identity-handlers', adding hacking flexibility for those who
1022 (mh-identity-field-handler): New function. Return the handler for
1023 a FIELD or nil if none set. The field name is downcased.
1024 (mh-identity-handler-gpg-identity): New function; handler for pgg
1025 pgp identities. It sets a buffer-local value for
1026 `mh-pgg-default-user-id' which must be handled by mh-send-letter.
1027 (mh-identity-pgg-default-user-id): New buffer-local variable to
1028 hold the requested key ID.
1029 (mh-identity-handler-signature): New function; handler t insert
1030 and remove signature files.
1031 (mh-identity-handler-default): New function; the default handler
1032 to insert or remove generic field.
1033 (mh-identity-handler-top): Insert a field at the top of the
1035 (mh-identity-handler-bottom): Insert a field at the bottom of the
1037 (mh-header-field-delete): Make more robust wrt the field having a
1038 trailing colon or not.
1039 (mh-identity-make-menu): Add a "Customize Identities" menu entry.
1041 * mh-loaddefs.el: Regenerated.
1043 2003-09-21 Peter S Galbraith <psg@debian.org>
1045 * mh-init.el (mh-variant-set): Bug fix for mh-variant long names
1046 with version numbers.
1048 * mh-e.el (mh-scan-format): patch from Sergey Poznyakoff.
1049 GNU mailutils now supports the %(decode) format
1051 2003-09-20 Satyaki Das <satyakid@stanford.edu>
1053 * mh-gnus.el (mh-mm-text-html-renderer): New function to query
1054 which HTML renderer is being used by Gnus.
1056 * mh-mime.el (mh-signature-highlight): Renderers used to display
1057 HTML parts garble the signature separator in various ways. The
1058 function has been modified to take that into account.
1059 (mh-mime-display-single, mh-mm-display-part): Pass the new
1060 optional argument to `mh-signature-highlight'.
1062 2003-09-19 Mark D. Baushke <mdb@gnu.org>
1064 * mh-mime.el (mh-have-file-command, mh-file-mime-type): Made an
1065 mh-autoload as they are used in mh-comp.el.
1067 * mh-loaddefs.el: Regenerated.
1069 2003-09-18 Peter S Galbraith <psg@debian.org>
1071 * mh-comp.el (mh-insert-fields): Make sure field has a colon.
1073 2003-09-18 Satyaki Das <satyakid@stanford.edu>
1075 * mh-seq.el (mh-toggle-tick): Don't hardcode the name of the tick
1076 sequencence in the function. This would have caused improper
1077 highlighting of the tick sequence if the user had changed its
1080 2003-09-15 Satyaki Das <satyakid@stanford.edu>
1082 * mh-e.el (mh-folder-message-menu): Fix a little bug which shows
1083 up as a problem during compilation (closes SF #806577).
1085 2003-09-15 Mark D. Baushke <mdb@gnu.org>
1087 * mh-customize.el (mh-invisible-header-fields-internal): Added
1088 a new field for GNU mailutils per Sergey Poznyakoff.
1090 2003-09-09 Satyaki Das <satyakid@stanford.edu>
1092 * mh-utils.el (vcard): Unconditionally load vcard.el, if
1093 available, so that vcards are always inlined.
1095 2003-09-09 Peter S Galbraith <psg@debian.org>
1097 * mh-mime.el (mh-file-mime-type-substitutions): Add entry to
1098 convert text/plain .vcf files to text/x-vcard.
1099 (mh-mime-content-types): Add text/x-vcard.
1101 2003-09-09 Bill Wohler <wohler@newt.com>
1103 * mh-comp.el (mh-rejected-letter-start): Added strings for qmail
1104 and exim (addresses SF #404965).
1106 2003-09-09 Satyaki Das <satyakid@stanford.edu>
1108 * mh-gnus.el (mm-inline-text-vcard): Make vcard display work with
1109 Gnus-5.9. The extra file vcard.el is still needed.
1111 * mh-mime.el (mh-signature-highlight): New function that
1112 highlights message signatures.
1113 (mh-mm-display-part, mh-mime-display-single): Highlight signatures
1114 using `mh-signature-highlight' (closes SF #802722). More work is
1116 (mh-mime-display): Highlight signature in non-MIME email too.
1118 * mh-customize.el (mh-show-signature-face): New face used to
1119 display message signature.
1121 2003-09-08 Peter S Galbraith <psg@debian.org>
1123 * mh-e.el (mh-version): Do something sensible when
1124 mh-variant-in-use is undefined.
1125 * mh-junk.el (mh-spamassassin-blacklist)
1126 (mh-spamassassin-whitelist): Change options to be compatoble with
1127 old version of spamassassin (V2.20).
1129 2003-09-07 Mark D. Baushke <mdb@gnu.org>
1131 * mh-mime.el (mh-access-types): Per RFC 2049, the "afs"
1132 access-type for message/external-body has been removed.
1133 Update the comments to reference the current MIME RFCs
1134 2045, 2046 and 2049 rather than the obsolete RFC 1521.
1136 2003-09-05 Peter S Galbraith <psg@debian.org>
1138 * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs.
1140 2003-09-04 Satyaki Das <satyakid@stanford.edu>
1142 * mh-utils.el (mh-picon-directory-list, mh-picon-directory): The
1143 mh-picon-directory-list variable supersedes mh-picon-directory.
1144 (mh-picon-existing-directory-list): New variable that contains
1145 the list of picon directories that actually exist.
1146 (mh-picon-set-directory-list): New function to update
1147 mh-picon-existing-directory-list from mh-picon-directory-list.
1148 (mh-picon-get-image): The function has been modified to search a
1149 list of possible picon source directories. The regexp to extract
1150 the username from the email address has been made smarter so that
1151 it can recognize email addresses of the form user+random@foo.net
1152 and extract "user" from there.
1153 (mh-picon-file-contents): The file type recognition code has been
1154 moved from mh-picon-get-image into this function.
1155 (mh-picon-generate-path): The function has been generalized so
1156 that searching multiple paths is now feasible.
1158 * mh-pick.el, mh-e.el: Checkdoc fixes.
1160 2003-09-02 Satyaki Das <satyakid@stanford.edu>
1162 * mh-identity.el (eval-when): It seems that the mh-comp-loaded
1163 code isn't required any more.
1165 2003-08-30 Satyaki Das <satyakid@stanford.edu>
1167 * mh-init.el (mh-variant-set): Replace `error' with `message' so
1168 that Emacs CVS will compile without errors if no MH variant is
1171 2003-08-29 Satyaki Das <satyakid@stanford.edu>
1173 * mh-init.el (mh-variant-set): Add interactive spec to the
1176 * mh-mime.el (mh-mhn-compose-external-type): Optional arguments
1177 are prompted for only if prefix arg is given.
1179 2003-08-29 Mark D. Baushke <mdb@gnu.org>
1181 * mh-mime.el (mh-mhn-compose-external-type): Modified to be
1182 interactive and prompts for many of the fields. Made an
1184 (mh-access-types): New table derived from RFC2017, RFC1521 and
1185 RFC1738, used in a completing-read in
1186 mh-mhn-compose-external-type.
1188 * mh-loaddefs.el: Regenerated.
1190 2003-08-26 Satyaki Das <satyakid@stanford.edu>
1192 * mh-utils.el (mh-picon-image-types, mh-picon-get-image): Avoid
1194 (mh-sub-folders-actual): Parsing of the output from folders has
1195 been modified, so that it also works for MH (closes SF #792300).
1197 * mh-junk.el (mh-spamassassin-whitelist): Avoid calling
1198 ietf-drums-parse-address if it isn't present.
1199 (mh-spamassassin-identify-spammers): Avoid use of puthash so that
1200 Emacs20 doesn't complain.
1202 * mh-e.el (mh-colors-available-p): Wrap call to
1203 display-color-cells in a mh-funcall-if-exists to avoid compiler
1206 2003-08-25 Satyaki Das <satyakid@stanford.edu>
1208 * mh-e.el (mh-colors-available-flag, mh-folder-mode): New
1209 variable to track if colors are available and it is set
1210 appropriately in mh-folder-mode.
1211 (mh-colors-available-p, mh-colors-in-use-p): Two functions to
1212 check whether colors are available and if they are actually being
1214 (mh-add-sequence-notation): Just changing a scan line doesn't
1215 make font-lock refontify the line in Emacs20. So explicitly
1216 refontify the scan line in such a situation.
1217 (mh-internal-seq): If colors aren't being used then treat the
1218 tick sequence like a normal user sequence.
1220 * mh-seq.el (mh-put-msg-in-seq): Do font-lock highlighting after
1221 the messages have been added to the sequence.
1222 (mh-toggle-tick): Modified so that highlighting of the ticked
1223 messages will be properly done. If font-lock isn't being used or
1224 if colors aren't supported by the Emacs where MH-E is running,
1225 then the `%' character is used to annotate ticked messages.
1227 * mh-utils.el (mh-picon-image-types): Since Emacs20 doesn't have
1228 image-type-available-p, wrap calls to that function in
1230 (mh-add-msgs-to-seq): Do the font-lock highlighting after the
1231 messages have been added.
1233 2003-08-24 Bill Wohler <wohler@newt.com>
1235 * Makefile (MH-E-SRC): Replaced mh-xemacs-compat.el and
1236 mh-xemacs-icons.el with mh-xemacs.el.
1238 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
1239 The XEmacs stuff gets required by mh-customize.el which is
1240 required by mh-utils.el which is required by mh-e.el. This all
1241 happens before mh-xemacs-compat was required, so all should be
1244 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
1245 mh-xemacs-icons.el with mh-xemacs.el.
1247 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
1248 and mh-xemacs-icons.el which were removed since their names
1249 exceeded DOS 8+3 limits.
1251 * mh-customize.el (mh-compose-skipped-header-fields): Use
1252 uppercase for field names.
1254 2003-08-21 Bill Wohler <wohler@newt.com>
1256 * mh-customize.el (mh-sequences): Introduced new customization
1257 group for sequences.
1258 (mh-refile-preserves-sequences-flag, mh-tick-seq)
1259 (mh-update-sequences-after-mh-show-flag): Moved option from
1260 mh-folder to mh-sequences group. Synced docstring with manual.
1261 (mh-index-ticked-messages-folders): Since mh-tick-seq is
1262 customizable, use it instead of tick in the docstring.
1264 * mh-index.el (mh-index-ticked-messages): Since mh-tick-seq is
1265 customizable, use it instead of tick in the docstring.
1267 * mh-seq.el (mh-msg-is-in-seq): Can now specify an alternate
1268 message number with a prefix argument.
1269 (mh-narrow-to-tick): Since mh-tick-seq is customizable, use it
1270 instead of tick in the docstring. Also, use mh-tick-seq instead of
1271 tick in warning message.
1273 2003-08-20 Peter S Galbraith <psg@debian.org>
1275 * mh-customize.el: setq mh-variant to 'none when byte-compiling,
1276 since we don't care what MH variant (if any) is on the system at
1279 * mh-init.el (mh-variant-set): Don't probe for MH variant when
1280 mh-variant is set to'none (during byte-compilation).
1282 2003-08-19 Peter S Galbraith <psg@debian.org>
1284 * mh-pick.el (mh-pick-single-dash): New defconst. Search
1285 components that are supported by single-dash option in
1287 (mh-pick-regexp-builder): Use `mh-pick-single-dash' and adapt
1288 patch from Sergey Poznyakoff.
1290 * mh-comp.el (mh-reply): mu-mh supports `repl -group', thanks to
1293 * mh-init.el: checkdoc fixes.
1295 2003-08-19 Bill Wohler <wohler@newt.com>
1297 * mh-seq.el: (mh-edit-pick-expr): Renamed from mh-read-pick-regexp
1298 since the new name is more indicative of what the function does.
1299 Prompt now says "Pick expression" instead of "Pick regexp".
1300 (mh-narrow-to-subject): Rewrote function to behave like other
1302 (mh-narrow-to-header-field, mh-narrow-to-range)
1303 (mh-narrow-to-tick): s/regexp/pick-expr/.
1304 (mh-widen, mh-narrow-to-from, mh-narrow-to-cc, mh-narrow-to-to):
1305 Synced docstrings with manual
1307 2003-08-19 Bill Wohler <wohler@newt.com>
1309 * Released MH-E version 7.4.2.
1311 * MH-E-NEWS, README: Updated for release 7.4.2.
1313 * mh-e.el (Version, mh-version): Updated for release 7.4.2.
1315 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1316 (mh-folder-size-flist): If flist is not present use folder to find
1317 the number of messages in the folder. Also the .mh_sequences file
1318 is read to find the number of unseen messages (patch from 1.349
1319 and branched for 7.4.2, closes SF #791021).
1321 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce a
1322 new variable to test for the presence of the flists program and
1323 set it in mh-find-progs.
1324 (mh-collect-folder-names): Use folders instead of flists. One
1325 advantage is that folders is available on MH while flists is not.
1326 Another is that if an explicit -sequence argument isn't given and
1327 Unseen-Sequence profile is not present then flists croaks while
1329 (mh-collect-folder-names-filter): Don't consider folder names that
1330 start with a `.' character. This is needed since the folders
1331 command doesn't filter them out like flists does.
1332 (patches from 1.307 and 1.309 and branched for 7.4.2, closes SF
1335 2003-08-18 Bill Wohler <wohler@newt.com>
1337 * mh-index.el (mh-index-sequenced-messages)
1338 (mh-index-new-messages, mh-index-ticked-messages): Updated
1339 docstrings from manual (closes SF #718833).
1341 * mh-customize.el (mh-variant): Checkdoc fix.
1342 (mh-index-new-messages-folders): Don't mention defvar in
1343 docstring, use `+inbox' instead.
1344 (mh-index-ticked-messages-folders): Don't mention defvar in
1345 docstring, use `tick' instead.
1347 * mh-comp.el (mh-repl-group-formfile): Checkdoc fix.
1349 2003-08-18 Peter S Galbraith <psg@debian.org>
1351 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-info): Add
1352 support for GNU mailutils.
1353 (mh-variant-mu-mh-info): New function to detect mu-mh and return
1354 info about it for `mh-variants'.
1356 * mh-e.el (mh-regenerate-headers): mu-mh has different error
1357 message for a invalid mesage list.
1359 2003-08-18 Peter S Galbraith <psg@debian.org>
1361 * mh-customize.el (mh-e): New defgroup. Sort of an alias for the
1362 'mh group that a user might be more likely to find.
1364 2003-08-18 Bill Wohler <wohler@newt.com>
1366 * mh-comp.el (mh-insert-auto-fields-done-local): Docstring tweak.
1367 (mh-compose-and-send-mail): Do not call mh-insert-auto-fields.
1368 This should be done only once in mh-send-letter.
1370 2003-08-18 Peter S Galbraith <psg@debian.org>
1372 * mh-comp.el (mh-letter-mode): Call `mh-find-path unconditionally,
1373 like elsewehere in MH-E.
1375 * mh-utils.el (mh-find-path): Run setup code only if
1376 `mh-find-path-run' is nil such that this is only done once.
1377 Also remove the `setq' for `read-mail-command' and `mail-user-agent'.
1379 2003-08-18 Peter S Galbraith <psg@debian.org>
1381 * mh-e.el: require 'mh-utils first
1383 * mh-customize.el (mh-variant): defcustom moved here.
1385 * mh-init.el (mh-variants): Made an mh-autoload.
1387 2003-08-18 Peter S Galbraith <psg@debian.org>
1389 * Makefile (MH-E-SRC): Added mh-init.el to MH-E-SRC.
1391 * mh-utils.el (mh-find-progs): Deleted. Make obsolete by mh-init.el.
1392 (mh-find-path): Call `mh-variants' instead of now obsolete
1394 (mh-path-search): Deleted. Was only used by `mh-find-progs'.
1396 * mh-e.el: require mh-init.el.
1397 (mh-version): Use simpler `mh-variant-in-use'.
1398 (mh-scan-format): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1400 * mh-comp.el (mh-insert-x-mailer): Use simpler `mh-variant-in-use'.
1402 * mh-utils.el (mh-progs, mh-lib, mh-lib-progs)
1403 (mh-flists-present-flag): Moved to mh-init.el.
1404 (mh-nmh-flag): Deleted. Use (mh-variant-p 'nmh) instead.
1406 * mh-comp.el (mh-repl-group-formfile, mh-forward, mh-reply)
1407 (mh-send-letter): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1409 * mh-mime.el (mh-edit-mhn, mh-mime-save-parts): Use (mh-variant-p
1410 'nmh) instead of mh-nmh-flag.
1412 2003-08-16 Bill Wohler <wohler@newt.com>
1414 * mh-customize.el (mh-folder-selection): New group to hold
1415 variables described in Folder Selection section in manual.
1416 (mh-default-folder-list, mh-default-folder-must-exist-flag,
1417 mh-default-folder-prefix): Moved to mh-folder-selection group.
1418 Updated docstrings per manual update.
1419 (mh-default-folder-for-message-function): New defcustom. Was a
1420 defvar in mh-utils.el. Updated docstring per manual update.
1422 * mh-utils.el (mh-default-folder-for-message-function): Moved to
1425 * mh-e.el (mh-folder-from-address, mh-prompt-for-refile-folder):
1426 Updated docstrings per manual update.
1428 * mh-unit.el (mh-unit-files): Added mh-init.el.
1430 2003-08-16 Peter S Galbraith <psg@debian.org>
1432 * mh-init.el: New file. Code to initialize the MH-E back-end.
1434 (mh-variant): New defcustom. Users may customize `mh-variant' to
1435 switch between available variants.
1436 (mh-variants): Available MH variants are described in this variable.
1437 (mh-variant-in-use, mh-variant-p): Developers may check which
1438 variant is currently in use with the variable `mh-variant-in-use'
1439 or the function `mh-variant-p'.
1441 2003-08-15 Bill Wohler <wohler@newt.com>
1443 * mh-customize.el (mh-auto-fields-list): The manual uses Fcc
1444 instead of fcc, so I've changed the user-visible text
1445 accordingly. I've left the const alone for backwards
1448 2003-08-14 Bill Wohler <wohler@newt.com>
1450 * mh-identity.el (mh-insert-identity): Changed signature deletion
1451 test to test for both markers, rather than testing to see if the
1452 start marker is bound. Since the start marker is defined in this
1453 file, it should always be bound. Suggestion by Satyaki.
1455 * mh-comp.el (mh-send-letter): Go to the top of the draft so that
1456 the user can see which header fields have been inserted. I think
1457 this is more important than leaving point alone or going to the
1458 end to see the signature since Mail-Followup-To or Bcc or cc could
1459 have some deleterious effects.
1461 * mh-customize.el (mh-auto-fields-prompt-flag): New variable.
1462 Non-nil means to prompt before sending if fields inserted.
1464 * mh-comp.el (mh-insert-auto-fields): Now return t if fields
1465 inserted; otherwise nil.
1466 (mh-send-letter): Deleted obsolete documentation about adding
1467 X-Mailer and X-Face. Prompt before sending if auto fields added
1468 and mh-auto-fields-prompt-flag is t.
1470 * mh-customize.el (mh-identity-list): Allow signature to come from
1471 mh-signature-file-name. In this case, the "signature" value is set
1472 to nil. This might not be the best implementation. Suggestions
1475 * mh-identity.el (mh-insert-identity): Now that the signature can
1476 be a nil value, moved test higher up in cond so that the test for
1477 a nil value would not be executed first prevening signature
1478 handling. Handle nil signature value by calling
1479 mh-insert-signature with no arguments which means to use
1480 mh-signature-file-name.
1482 * mh-comp.el (mh-insert-signature): Changed text of message if no
1485 * mh-customize.el (mh-identity-list): Changed "Signature" constant
1486 back to "signature" so it *won't* be backwards-incompatible any
1487 more. I discovered one could use the :tag keyword to get headline
1488 captalization in the menu.
1490 * mh-identity.el (mh-insert-identity): Ditto.
1492 * mh-identity.el (mh-identity-make-menu): Always build menu.
1493 Always create Insert Auto Fields menu item. Just don't enable it
1494 if mh-auto-fields-list is nil. Enable radio buttons always. Make
1495 None a radio button choice with the other identities.
1497 * mh-comp.el (mh-letter-menu): Removed cond on fboundp
1498 'easy-menu-define. We don't do this elsewhere.
1500 2003-08-13 Bill Wohler <wohler@newt.com>
1502 * mh-identity.el (mh-identity-make-menu, mh-insert-identity): Use
1503 headline capitalization in menu items. Even the internal names are
1504 exposed in the customize interface, so they need to be uppercase
1506 (mh-insert-identity): Rather than goto-char to
1507 mh-identity-signature-start before deleting, simply pass it to
1508 delete-region. When setting markers, use point-min-marker and
1509 point-max-marker instead of moving point. Set marker type of
1510 mh-identity-signature-start to t to fix a bug where changing
1511 identity deleted user's text.
1513 * mh-customize.el (mh-identity-list, mh-auto-fields-list):
1514 Reworked docstring. Use headline capitalization. Commented out
1515 implementation details for later deletion or resurrection upon
1516 popular demand. N.B. If your mh-identity-list contains "signature"
1517 then you will need to either edit your .emacs file manually, or
1518 delete your existing "signature" which will become a regular field
1519 with this change and create a new signature. I figured I could get
1520 away with this since 8.0 is a major release, and coinciding with
1521 the manual update will be a MAJOR release. I apologize profusely
1522 that I didn't catch this before it was released.
1523 (mh-identity-default): Use headline capitalization in example.
1525 2003-08-12 Jeffrey C Honig <jch@honig.net>
1527 * mh-customize.el (mh-alias-reloaded-hook): Define
1528 `mh-alias-reloaded-hook'.
1530 * mh-alias.el (mh-alias-reload): Run `mh-alias-reloaded-hook'
1531 after reloading the aliases.
1533 2003-08-12 Mark D. Baushke <mdb@gnu.org>
1535 * mh-comp.el (mh-insert-signature): Use functionp to avoid
1536 the possibility of doing a funcall on a void function.
1538 2003-08-12 Bill Wohler <wohler@newt.com>
1540 * mh-customize.el (mh-identity): Point group manual link to new
1542 (mh-signature-separator-flag): New variable which can be used to
1543 suppress the output of the signature separator.
1545 * mh-comp.el (mh-insert-signature): Use
1546 mh-signature-separator-flag.
1548 * mh-identity.el (mh-insert-identity): If the identity's signature
1549 file didn't exist, an fboundp error was thrown. This was fixed by
1550 removing signature tests that were redundant and out of date with
1551 the tests in mh-insert-signature. Removed second signature
1552 condition as it is now handled in the first signature condition.
1554 2003-08-12 Peter S Galbraith <psg@debian.org>
1556 * mh-identity.el (mh-insert-identity): Don't insert new lines on
1559 * mh-comp.el (mh-insert-signature): Make sure signature file is
1560 readable before trying to insert it.
1562 2003-08-11 Bill Wohler <wohler@newt.com>
1564 * mh-comp.el (mh-insert-signature): Unconditionally insert a
1565 newline so that signatures are inserted consistently, and so that
1566 there isn't any text after the cursor so that the user can start
1567 typing his message immediately. Use new variable and function
1568 mh-signature-separator and mh-signature-separator-p.
1570 * mh-customize.el (mh-delete-yanked-msg-window-flag): Checkdoc
1572 (mh-signature-file-name): Updated docstring now that this variable
1573 can be a function. Added cross-references to
1574 mh-signature-separator, mh-signature-separator-regexp, and
1575 mh-signature-separator-p which might be used in such functions.
1577 * mh-identity.el (mh-insert-identity): Don't include signature if
1578 signature separator already present. Useful when running
1581 * mh-mime.el (mh-inline-vcard-p): Use mh-signature-separator-p.
1583 * mh-utils.el (mh-signature-separator-regexp): New variable
1584 containing "^-- $" which should be used when looking for the
1585 signature separator.
1586 (mh-signature-separator): New variable containing "-- \n" which
1587 should be used when inserting the signature separator.
1588 (mh-signature-separator-p): New function that returns non-nil if
1589 mh-signature-separator-regexp is found in the buffer.
1591 2003-08-09 Satyaki Das <satyakid@stanford.edu>
1593 * mh-utils.el (mh-x-image-scaling-function): Variable that
1594 contains function used to scale images. Possible choices are
1595 mh-x-image-scale-with-convert and mh-x-image-scale-with-pnm.
1596 (mh-convert-executable): Removed.
1597 (mh-x-image-scale-with-pnm, mh-x-image-scale-with-convert): New
1598 functions that scale images using pnm tools or ImageMagick.
1599 (mh-x-image-scale-and-display, mh-x-image-url-display): Use
1600 mh-x-image-scaling-function instead of mh-convert-executable.
1602 2003-08-08 Peter S Galbraith <psg@debian.org>
1604 * mh-comp.el (mh-insert-signature): Bug fix. Handle case of nil
1605 `mh-signature-file-name' and hooks correctly.
1607 * mh-identity.el (mh-insert-identity): Refactor to use
1610 * mh-comp.el (mh-signature-separator-p): Removed.
1612 * mh-comp.el (mh-insert-signature): Merge MIME awareness from
1613 mh-insert-identity into this command. Allow
1614 `mh-signature-file-name' to be a function to call. See if "-- "
1615 needs to be inserted only after hooks have run.
1617 2003-08-07 Bill Wohler <wohler@newt.com>
1619 * mh-customize.el (mh-compose-skipped-header-fields): Added
1621 (mh-autoload): Removed cookies. They aren't necessary in
1622 mh-e.el, mh-utils.el, or mh-customize.el.
1624 * mh-e.el (mh-autoload): Removed cookies. They aren't necessary in
1625 mh-e.el, mh-utils.el, or mh-customize.el.
1627 * mh-identity.el (mh-insert-identity): Made regexp for signature
1628 separator more explicit. Hmmm, maybe we should create
1629 mh-signature-separator-regexp...
1631 * mh-index.el (mh-replace-string): Moved to mh-utils.el.
1633 * mh-utils.el (mh-replace-string): Moved here from mh-index.el.
1634 (mh-autoload): Removed cookies. They aren't necessary in mh-e.el,
1635 mh-utils.el, or mh-customize.el.
1637 * mh-comp.el (mh-insert-signature): Added file argument to insert
1638 a file other than mh-signature-file-name. Insert signature
1639 separator, unless file already contains one.
1641 2003-08-06 Satyaki Das <satyakid@stanford.edu>
1643 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1644 (mh-folder-size-flist): If flist is not present use folder to
1645 find the number of messages in the folder. Also the .mh_sequences
1646 file is read to find the number of unseen messages.
1648 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce
1649 a new variable to test for the presence of the flists program and
1650 set it in mh-find-progs.
1652 2003-08-06 Peter S Galbraith <psg@debian.org>
1654 * mh-customize.el: Change the order of `mh-identity-list' and
1655 `mh-auto-fields-list' and remove byte-compilation defvar for
1656 `mh-identity-list'. This fixes a customization bug for
1657 `mh-identity-list', where it wasn't set correctly.
1659 * mh-identity.el (mh-identity-make-menu): mh-auto-fields-list may
1660 not be bound yet when initially loaded.
1662 2003-08-06 Bill Wohler <wohler@newt.com>
1664 * mh-alias.el (mh-alias-add-address-under-point): Removed trailing
1665 period from messages. The conventions say that errors should not
1666 end with a period and that "Foo...done" messages should not end in
1667 a period, but they aren't explicit about messages in general.
1668 Given what the conventions *do* say, and because most of our
1669 messages don't end with a period, let's just say that messages in
1670 general don't end in a period, just like error messages.
1672 * mh-comp.el (mh-extract-rejected-mail, mh-letter-mode-message):
1675 * mh-e.el (mh-refile-a-msg): Ditto.
1677 * mh-funcs.el (mh-undo-folder): Ditto.
1679 * mh-mime.el (mh-mime-save-parts): Ditto.
1681 * mh-seq.el (mh-subject-to-sequence-unthreaded)
1682 (mh-narrow-to-subject, mh-delete-subject): Ditto.
1684 * mh-index.el (mh-index-sequenced-messages)
1685 (mh-index-new-messages, mh-index-ticked-messages): Discovered that
1686 in general we should only use question marks in yes-or-no-p or
1687 y-or-n-p prompts, but not in other prompts that use
1688 completing-read and offer defaults. In these cases, use colons
1689 instead (closes SF #730470).
1691 * mh-mime.el (mh-mime-save-parts): Ditto.
1693 * mh-utils.el (mh-prompt-for-folder): Ditto.
1695 * mh-alias.el (mh-alias-apropos): Multiple messages are usually
1696 shown one at a time rather than appended. Send output to
1697 mh-aliases-buffer instead of *Help*.
1698 (mh-alias-local-users): Checkdoc fix.
1700 * mh-funcs.el (mh-undo-folder): Removed commented-out code since
1701 its deadline had expired.
1703 * mh-utils.el (mh-aliases-buffer): New buffer name, used in
1706 2003-08-06 Satyaki Das <satyakid@stanford.edu>
1708 * mh-utils.el (mh-x-image-url-cache-canonicalize): Make this
1709 function work for XEmacs too.
1710 (mh-collect-folder-names): Use folders instead of flists. One
1711 advantage is that folders is available on MH while flists is not.
1712 Another is that if an explicit -sequence argument isn't given and
1713 Unseen-Sequence profile is not present then flists croaks while
1715 (mh-collect-folder-names-filter): Don't consider folder names that
1716 start with a `.' character. This is needed since the folders
1717 command doesn't filter them out like flists does.
1719 * mh-index.el (mh-replace-string): Add autoload for it.
1721 2003-08-05 Satyaki Das <satyakid@stanford.edu>
1723 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw)
1724 (mh-mml-forward-message): The variable mh-sent-from-msg can be a
1725 list. So check that the value is really a number before using it
1728 * mh-comp.el (mh-insert-letter): Same as above.
1730 * mh-utils.el (mh-picon-get-image): Make the code that finds the
1731 address of the sender more robust.
1732 (mh-face-display-function): Make it work with XEmacs.
1733 (mh-picon-image-types): A new variable that stores what image
1736 2003-08-05 Satyaki Das <satyakid@stanford.edu>
1738 * mh-customize.el (mh-tool-bar-define): Make the save button such
1739 that is activated only if the buffer needs to saved.
1741 * mh-utils.el (mh-face-display-function, mh-picon-get-image): Some
1742 domains, for instance cs.cmu.edu, don't have xpm files. So we need
1743 to search for all three files. The change does that.
1744 (mh-picon-file-contents): A utility function to return the
1745 contents of a file as a string.
1746 (mh-picon-get-image): Write it as a loop to make it simpler.
1747 (mh-x-image-set-download-state): Make the link simpler.
1749 2003-08-04 Satyaki Das <satyakid@stanford.edu>
1751 * mh-utils.el (mh-x-image-url-display): Don't bother to try to
1752 download image if we don't have the necessary tools to display
1754 (mh-face-display-function): Add preliminary support for "domain"
1756 (mh-picon-get-image, mh-picon-generate-path): Functions to find
1757 best match for domain in the From header field.
1759 * mh-e.el (mh-previous-unread-msg): If some of the messages in the
1760 unseen sequence are not present in the folder buffer then calling
1761 this function gets stuck and can't skip over them. The change
1763 (mh-next-unread-msg): Same as above.
1765 2003-08-04 Bill Wohler <wohler@newt.com>
1767 * mh-utils.el (mh-show-mode): Added cross reference to
1768 mh-folder-mode in docstring (closes SF #728638). Added
1769 \\{mh-show-mode-map} to show keymap.
1771 * mh-e.el (mh-folder-mode): Added information about ranges to
1772 docstring (closes SF #728638).
1774 * mh-speed.el (mh-speed-refresh): New function that calls
1775 mh-speed-flists and mh-invalidate-map.
1776 (mh-folder-speedbar-key-map): Replaced keybindings for
1777 mh-speed-invalidate-map and mh-speed-flists with a single binding
1778 for mh-speed-refresh.
1779 (mh-folder-speedbar-menu-items): Replaced menu items for Run
1780 Flists and Invalidate Cached Folders with the single menu item
1781 Refresh Speedbar in order to simplify the UI.
1783 * mh-customize.el (mh-fetch-x-image-url): Added DOS as another
1784 reason not to set this to t.
1786 2003-08-04 Satyaki Das <satyakid@stanford.edu>
1788 * mh-e.el (mh-scan-folder): Handle ranges from user input properly.
1790 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1792 * mh-utils.el (mh-find-msg-get-num): Removed. If threading isn't
1793 present, the messages are sorted by index. So `mh-goto-msg' was
1794 implemented as a binary search and this function was used in that
1795 implementation. So this isn't needed any more.
1796 (mh-msg-search-pat): Removed. Before the advent of message
1797 threading, this function was used to generate a regexp used to
1798 search for a particular message. It isn't used anymore. The
1799 variable `mh-scan-msg-number-regexp' should be updated and used in
1800 `mh-goto-msg' instead of hardcoding the regexp in the code. Then
1801 we might be able to better support other scan line formats in the
1804 * mh-seq.el (mh-map-to-seq-msgs, mh-notate-seq): Removed. These
1805 functions were used to notate user sequences. But calling
1806 `mh-goto-msg' inside of a loop is inefficient. So the sequence
1807 notation code was rewritten thereby making these functions
1809 (mh-copy-line-to-point): Removed. This function was used in the
1810 implementation the now removed function `mh-copy-seq-to-point'.
1811 That function was problematic and was replaced by the less general
1812 `mh-copy-seq-to-eob'. This makes `mh-copy-line-to-point'
1814 (mh-region-to-msg-list): Removed since this is a special case of
1815 the more general `mh-range-to-msg-list'.
1817 * mh-loaddefs.el: Regenerated.
1819 2003-08-03 Jeffrey C Honig <jch@honig.net>
1821 * mh-customize.el (mh-invisible-header-fields-default): Added
1822 several new fields to hide. Sorted the list with sort-lines.
1824 2003-08-03 Peter S Galbraith <psg@debian.org>
1826 * mh-customize.el (mh-invisible-headers): Variable renamed to
1827 `mh-invisible-header-fields-compiled'.
1828 (mh-invisible-headers): Implement above change.
1830 * mh-utils.el (mh-display-msg): Idem.
1832 * mh-mime.el (mh-mm-inline-message): Idem.
1834 * mh-comp.el (mh-insert-letter): Idem.
1836 2003-08-03 Bill Wohler <wohler@newt.com>
1838 * mh-speed.el (mh-folder-speedbar-menu-items): Added separator
1839 between standard and MH-E menu items. Use headline capitalization
1842 * mh-utils.el (mh-temp-fetch-buffer): New constant to hold
1843 buffer name for wget output.
1844 (mh-x-image-url-fetch-image): Use mh-temp-fetch-buffer instead
1845 of hard-coded buffer name. Use make-temp-file to avoid race
1846 conditions and subsequent security issues raised in make-temp-name
1849 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1851 * mh-utils.el (mh-wget-executable, mh-wget-choice, mh-wget-option)
1852 (mh-x-image-url-fetch-image): Support the use of `curl' and
1853 `fetch' as alternatives to `wget'.
1854 (mh-wget-choice): Change order of search.
1855 (mh-x-image-url-fetch-image): Rename buffer.
1857 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1859 * mh-utils.el (mh-x-image-set-download-state)
1860 (mh-x-image-get-download-state): Specially named symbolic links
1861 are used to keep track of whether a X-Image-URL header field needs
1862 to downloaded the next time it is seen. These functions get and
1863 set the symlinks appropriately.
1864 (mh-x-image-url-fetch-image): Simplified since the query has been
1865 moved to `mh-x-image-url-display'. Also if wget isn't present then
1866 try again next time since the user might install wget before
1868 (mh-x-image-scale-and-display): Handle absence of the `convert'
1869 program better. If it isn't present then we will try to display
1870 the image the next time it is encountered. Also use the -geometry
1871 option to convert since the -resize option isn't present in older
1873 (mh-x-image-url-display): Move all the code that decides whether
1874 an X-Image-URL header field will be fetched in this function. Also
1875 remember the user's decision so that if the image couldn't be
1876 fetched the first time, we will try to fetch it later on without
1879 2003-08-02 Peter S Galbraith <psg@debian.org>
1881 * mh-alias.el (mh-alias-local-users): Exclude all aliases already
1882 in mh-alias-alist from `ali' (closes SF #772595).
1884 2003-08-01 Satyaki Das <satyakid@stanford.edu>
1886 * mh-utils.el (mh-x-image-display, mh-x-image-url-display): Avoid
1887 a race. The X-Image-URL is displayed asynchronously. Suppose a
1888 message with a image is shown with `mh-show'. If a different
1889 message is displayed before the image can be fetched, then the new
1890 message will have the image displayed. With this change the race
1891 is less likely to happen.
1893 2003-08-01 Peter S Galbraith <psg@debian.org>
1895 * mh-inc.el (mh-inc-spool-map): Fix what `mh-inc-spool-map-help'
1896 must look like as a fake `mh-help-messages' in order to work
1897 correctly in mh-help.
1899 2003-07-31 Bill Wohler <wohler@newt.com>
1901 * mh-inc.el (mh-inc-spool-map): Use mh-help instead of
1902 mh-ephem-message in order to display help in its own buffer
1903 instead of minibuffer.
1905 * mh-utils.el (mh-help-buffer): New variable to hold the name of
1906 the MH-E help buffer name.
1908 * mh-funcs.el (mh-help, mh-prefix-help): Use with-electric-help to
1909 display help messages. I observed a friend with a vision
1910 disability and the 5 seconds the help appeared on the screen was
1911 not long enough for him to lock on it. I've therefore changed the
1912 help function to display the help in its own buffer called *MH-E
1913 Help* (closes SF #493740 and SF #656631).
1915 * mh-customize.el (mh-fetch-x-image-url): Changed default from nil
1916 to 'ask. Updated docstring from manual.
1917 (mh-invisible-header-fields-internal): Added X-Image-URL.
1918 (mh-show-use-xface-flag): Updated docstring from manual.
1919 (mh-x-face-file): Ditto.
1921 * mh-mime.el (mh-mhn-compose-external-type): Don't insert the
1922 directory parameter if it's nil. The mhbuild man page indicates
1923 that this parameter is optional, so this should be fine.
1925 * mh-comp.el (mh-letter-mode-map): Added keybindings for
1926 mh-mhn-compose-anon-ftp and
1927 mh-mhn-compose-external-compressed-tar.
1928 (mh-letter-menu): Uncommented menu items for same.
1930 2003-07-30 Satyaki Das <satyakid@stanford.edu>
1932 * mh-loaddefs.el: Regenerated.
1934 * mh-pick.el (mh-do-pick-search): Removed since the function
1935 `mh-pick-do-search' performs the same action as this function.
1937 * mh-index.el (mh-index-update-unseen): Removed since the
1938 generalized sequence synchronization code that keeps sequences in
1939 index folders in sync with the sequences in the source folders
1940 makes this function redundant.
1942 * mh-e.el (mh-folder-unseen-seq-name, mh-folder-unseen-seq-list):
1943 Removed. These two functions were used in the unseen sequence
1944 highlighting before the sequence highlighting code was
1945 generalized. In any event calls to the function
1946 `mh-folder-unseen-seq-name' can be replaced by the variable
1947 `mh-unseen-seq' and calls to `mh-folder-unseen-seq-list' can be
1948 replaced with (cdr (assoc mh-unseen-seq mh-seq-list)).
1949 (mh-unmark-all-headers): Removed since this function has been
1950 superseded by mh-remove-all-notation.
1951 (mh-map-over-seqs): Removed since we now have the generalized
1952 iteration over message ranges (the `mh-iterate-on-range' macro)
1953 that can be used instead.
1954 (mh-notate-if-in-one-seq): Removed. This function was used for
1955 changing the `%' notation for user sequences. It can't be used for
1956 that purpose any more, since we have a different scheme now.
1958 * mh-unit.el (mh-unit-tests): Removed since it isn't needed any
1960 (mh-unit): Run all function that start with the string
1963 2003-07-30 Bill Wohler <wohler@newt.com>
1965 * mh-customize.el (mh-invisible-header-fields): Checkdoc fix.
1967 * mh-utils.el (mh-x-image-url-cache-canonicalize): Shortened using
1968 example in files.el:make-backup-file-name-1.
1969 (mh-face-display-function): Added X-Image-URL to docstring.
1971 * mh-unit.el (mh-unit-x-image-url-cache-canonicalize): New
1972 function to test mh-x-image-url-cache-canonicalize since it lent
1973 itself well to unit testing. Had to start somewhere!
1974 (mh-unit-equal): New function that throws an error if RESULT
1975 doesn't equal EXPECTED.
1976 (mh-unit): Call mh-unit-x-image-url-cache-canonicalize.
1978 2003-07-29 Satyaki Das <satyakid@stanford.edu>
1980 * mh-unit.el (mh-unit-update-call-graph): Make the function work
1981 better with dotted lists, that is lists of the form (a b c . d)
1982 where `d' isn't nil. With this we are able to avoid marking some
1983 functions as unused even though they are actually used in alists.
1985 2003-07-28 Peter S Galbraith <psg@debian.org>
1987 * mh-comp.el (mh-insert-letter): Remove `mh-visible-headers'
1990 * mh-mime.el (mh-mm-inline-message): Same.
1992 * mh-utils.el (mh-display-msg): Same.
1993 (mh-clean-msg-header): Make a note of above change.
1995 * mh-customize.el (mh-invisible-header-fields-internal): Renamed
1996 from prior `mh-invisible-header-fields-default'.
1997 (mh-invisible-header-fields-default): Renamed from prior
1998 `mh-invisible-header-fields-default-override'.
1999 (mh-invisible-header-fields): Renamed from prior
2000 `mh-invisible-header-fields-user'.
2001 (mh-visible-headers): Removed! We use invisible fields only now.
2002 (mh-visible-header-fields): Removed!
2004 2003-07-28 Peter S Galbraith <psg@debian.org>
2006 * mh-customize.el (mh-invisible-header-fields-default): Added 3
2009 2003-07-28 Satyaki Das <satyakid@stanford.edu>
2011 * mh-utils.el (mh-show): Add an extra argument to the function so
2012 that interactive use will always force redisplay of the message.
2014 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Bind the
2015 variables `mm-verify-option' and `mm-decrypt-option' so that
2016 verification and decryption of mail can happen without any
2017 additional tinkering.
2019 2003-07-25 Peter S Galbraith <psg@debian.org>
2021 * mh-customize.el (mh-invisible-header-fields-default): New defvar
2022 holding default fields to hide. This replaces the old
2023 `mh-invisible-header-fields' defcustom.
2024 (mh-invisible-header-fields-user): New defcustom. Users add
2025 fields to suppress that we didn't include in
2026 `mh-invisible-header-fields-default'. This could be named simply
2027 `mh-invisible-header-fields' and it wouldn't really break anything
2028 for users who have customized it to a long list now redundant with
2029 `mh-invisible-header-fields-default'.
2030 (mh-invisible-header-fields-default-override): New defcustom.
2031 Users check off the fields they want displyed from what we
2032 included in `mh-invisible-header-fields-default'.
2033 (mh-invisible-headers): Function adapted to new variables.
2035 2003-07-25 Satyaki Das <satyakid@stanford.edu>
2037 * mh-e.el (mh-inc-folder): If the user is in a different folder
2038 displaying a message and runs mh-inc-folder, then the folder
2039 changes to +inbox but the show window continues to display the
2040 message in the old folder. The change fixes this.
2041 (mh-visit-folder): Make the handling of the show window similar to
2042 that of mh-inc-folder.
2044 2003-07-24 Satyaki Das <satyakid@stanford.edu>
2046 * mh-e.el (mh-folder-message-menu, mh-folder-folder-menu): Use the
2047 predicate mh-outstanding-commands-p instead of its exapansion.
2048 Also use the same label in both menus.
2049 (mh-outstanding-commands-p): Generalized so that it will work in
2050 mh-show-mode buffers as well.
2052 * mh-customize.el (mh-tool-bar-define): Enable tool-bar button for
2053 mh-execute-commands only if there are pending deletes or refiles.
2055 2003-07-19 Satyaki Das <satyakid@stanford.edu>
2057 * mh-utils.el (mh-show-msg): If a unseen message is first marked
2058 for deletion/refiling and then displayed, the bold highlighting
2059 does not go away. This change fixes that.
2061 * mh-seq.el (mh-msg-is-in-seq): Fix a bug in the function. If any
2062 message was marked for refiling, then the function would have you
2063 believe that every message in the folder is being refiled.
2065 2003-07-17 Bill Wohler <wohler@newt.com>
2067 * mh-e.el: Removed email address for Stephen Gildea's in Change
2068 Log at his request (damn spammers). Removed other email addresses
2069 while I was at it since the SourceForge URL should be sufficient
2070 contact information.
2072 (mh-scan-format-*mh): Fixed typo in comment above these variables.
2073 These variables are used if mh-scan-format-file is t, not nil.
2074 Also mh-scan-format-file is no longer "above" (courtesy Stephen
2077 2003-07-17 Satyaki Das <satyakid@stanford.edu>
2079 * mh-mime.el (mh-mhn-quote-unescaped-sharp): New function that
2080 quotes `#' characters in the first column that aren't part of a
2082 (mh-mhn-directive-present-p): Generalized to allow the function
2083 to search for MHN directives in a part of the buffer.
2084 (mh-edit-mhn): Quote unescaped `#' characters in the draft (closes
2087 2003-07-16 Satyaki Das <satyakid@stanford.edu>
2089 * mh-alias.el (mh-alias-read-address-map): If
2090 mh-alias-flash-on-comma is nil when mh-alias is loaded, then
2091 setting mh-alias-flash-on-comma to t later on doesn't turn on
2092 address completion display till Emacs is restarted. The change
2095 2003-07-15 Bill Wohler <wohler@newt.com>
2097 * mh-utils.el (mh-cmd-note): Cleaned up docstring (changed phrase
2098 to sentences). Moved to Scan Line Formats section.
2099 (mh-scan-msg-number-regexp)
2100 (mh-scan-msg-overflow-regexp, mh-scan-msg-format-regexp)
2101 (mh-scan-msg-format-string, mh-scan-msg-search-regexp): Cleaned up
2102 docstrings (changed phrases to sentences).
2103 (mh-note-seq): Cleaned up docstring (changed phrase to sentences).
2104 Also, this variable is now a character and not a string. Moved to
2105 Scan Line Formats section.
2107 * mh-funcs.el (mh-note-copied, mh-note-printed): Cleaned up
2108 docstrings (changed phrases to sentences). Also, these variables
2109 are now characters and not strings.
2111 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Filled. I was
2112 hoping to quote the hint `t' but checkdoc wouldn't let me.
2113 (mh-note-deleted, mh-note-refiled, mh-note-cur): Moved to Scan
2114 Line Formats section.
2115 (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
2116 (mh-scan-refiled-msg-regexp, mh-scan-valid-regexp)
2117 (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
2118 (mh-scan-rcpt-regexp, mh-scan-body-regexp)
2119 (mh-scan-subject-regexp, mh-scan-format-regexp): Cleaned
2120 up docstrings (changed phrases to sentences).
2121 (mh-scan-cur-msg-regexp): Marked this variable as obsolete; it
2122 should be removed for 8.0.
2124 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Cleaned
2125 up docstrings (changed phrases to sentences). Also, these
2126 variables are now characters and not strings.
2128 2003-07-15 Satyaki Das <satyakid@stanford.edu>
2130 * mh-index.el (mh-index-update-single-msg)
2131 (mh-index-create-sequences): Handle the situation where there are
2132 copies of the exact same message correctly.
2134 2003-07-15 Satyaki Das <satyakid@stanford.edu>
2136 * mh-seq.el (mh-thread-update-scan-line-map): Modified since
2137 notation is already a character.
2139 * mh-utils.el (mh-note-seq): Convert from string to character.
2140 (mh-notate): Modified since characters are used to notate instead
2141 of strings of length one.
2143 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Convert
2144 from string to characters.
2146 * mh-e.el (mh-note-deleted, mh-note-refiled, mh-note-cur): Same as
2147 above (closes SF #770772).
2148 (mh-unmark-all-headers): Modified since mh-note-* variables are
2150 (mh-remove-sequence-notation): The mh-notate function remembers
2151 the previous notation. Before the change to the mh-note-*
2152 variables, mh-notate would only remember the change if a string
2153 was used to notate the message. Now mh-notate is always called
2154 with a character notation. So the deletion has to take place
2157 2003-06-28 Bill Wohler <wohler@newt.com>
2159 * mh-mime.el (mh-mhn-directive-present-p): If shell comments are
2160 present that have a space after the # but no content, then this
2161 function would throw an error. This has been fixed (closes SF
2164 2003-06-27 Satyaki Das <satyakid@stanford.edu>
2166 * mh-index.el (mh-index-search): Use the new and improved
2167 mh-index-new-folder.
2168 (mh-index-new-folder): Improved so that redoing the same search
2169 will reuse the old index folder.
2170 (mh-index-folder-search-regexp): New function which that extracts
2171 out the search expression that produced the index folder.
2173 2003-06-24 Bill Wohler <wohler@newt.com>
2175 * mh-e.el (Version, mh-version): Set to 7.4.1+cvs.
2177 2003-06-25 Bill Wohler <wohler@newt.com>
2179 * Released MH-E version 7.4.1.
2181 * MH-E-NEWS, README: Updated for release 7.4.1.
2183 * mh-e.el (Version, mh-version): Updated for release 7.4.1.
2185 2003-06-25 Bill Wohler <wohler@newt.com>
2187 * mh-unit.el (require 'cl): Added. Needed when compiling
2190 * Makefile (clean): Now a double-colon rule. Added a second clean
2191 target to remove mh-unit.elc.
2192 (compile): Removed mh-unit.elc.
2193 (mh-unit.elc): New target used to compile mh-unit.
2195 2003-06-24 Bill Wohler <wohler@newt.com>
2197 * mh-e.el (Version, mh-version): Set to 7.4+cvs.
2199 2003-06-24 Bill Wohler <wohler@newt.com>
2201 * Released MH-E version 7.4.
2203 * MH-E-NEWS, README: Updated for release 7.4.
2205 * mh-e.el (Version, mh-version): Updated for release 7.4.
2207 2003-06-24 Bill Wohler <wohler@newt.com>
2209 * mh-alias.el (mh-alias-gecos-name, mh-alias-local-users)
2210 (mh-alias-suggest-alias): s/gcos/gecos. The original acronym was
2211 GECOS but was later renamed to GCOS (see
2212 http://info.astrian.net/jargon/terms/g/GCOS.html). But the term
2213 really needs to match the field named pw_gecos in struct passwd in
2216 * mh-customize.el (mh-letter-faces): New group to house
2217 mh-letter-header-field-face.
2218 (mh-interpret-number-as-range-flag)
2219 (mh-kill-folder-suppress-prompt-hook): Use "you" instead of "the
2220 user" to make text more friendly.
2221 (mh-index-ticked-messages-folders, mh-visible-headers)
2222 (mh-visible-header-fields): Alphabetized.
2223 (mh-alias-passwd-gcos-comma-separator-flag): Alphabetized and
2225 (mh-alias-local-users-prefix): Fixed docstring. Prefixes are
2226 prepended, not appended. Additional checkdoc fix.
2227 (mh-letter-header-field-face): Set group to new group
2228 mh-letter-faces and moved option into this group.
2230 * mh-index.el (mh-index-sequenced-messages): Improved wording of
2231 docstring and mentioned use of prefix argument.
2233 * mh-seq.el (mh-widen): Made docstring more accurate (hopefully!).
2235 2003-06-18 Satyaki Das <satyakid@stanford.edu>
2237 * mh-index.el (mh-replace-string): Modified to preserve case of
2239 (mh-index-parse-search-regexp): Preserve case of search terms.
2240 This is needed to take advantage of the acronym indexing in
2241 swish++ (closes SF #755718).
2243 2003-06-13 Satyaki Das <satyakid@stanford.edu>
2245 * mh-utils.el (mh-show-index-sequenced-messages): Interactive
2246 function callable from the show buffer.
2247 (mh-show-folder-map): Add key binding for "F q".
2249 * mh-e.el (mh-folder-map): Same as above.
2251 * mh-index.el (mh-index-sequenced-messages): Add interactive spec
2252 to the function (closes SF #718833).
2254 2003-06-13 Bill Wohler <wohler@newt.com>
2256 * mh-index.el (mh-flists-execute): Needed to expand mhpath too.
2258 2003-06-12 Satyaki Das <satyakid@stanford.edu>
2260 * mh-index.el (mh-flists-execute): Modified so that flists
2261 present in mh-progs is called.
2263 2003-06-07 Jeffrey C Honig <jch@honig.net>
2265 * mh-comp.el (mh-forward, mh-forward): Use (mh-mail-header-end) to
2266 find the end of headers instead of doing an re-search-forward
2267 based on mh-mail-header-separator.
2269 2003-06-06 Satyaki Das <satyakid@stanford.edu>
2271 * mh-comp.el (mh-letter-toggle-header-field-display): Make the
2272 function callable from the show buffer. This means that the
2273 buffer is temporarily made writable and the modification status
2274 of the buffer restored to the original value.
2276 2003-06-06 Peter S Galbraith <psg@debian.org>
2278 * mh-utils.el (mh-address-mail-regexp): Bug fix! It wasn't a true
2279 copy of the goto-addr variable. My modification only recognized
2280 addresses with one dot after the @. Sorry about that.
2282 2003-06-05 Satyaki Das <satyakid@stanford.edu>
2284 * mh-utils.el (mh-replace-in-string): Move comment into doc
2285 string to satisfy checkdoc.
2287 * mh-alias.el (mh-alias-apropos): Checkdoc fix.
2289 2003-06-05 Bill Wohler <wohler@newt.com>
2291 * mh-customize.el (mh-identity-list): Fixed typo in docstring.
2293 2003-06-05 Peter S Galbraith <psg@debian.org>
2295 * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to.
2297 2003-06-04 Peter S Galbraith <psg@debian.org>
2299 * mh-comp.el (mh-letter-complete-function-alist): Add dcc.
2301 2003-06-03 Peter S Galbraith <psg@debian.org>
2303 * mh-utils.el (mh-replace-in-string): New function name instead of
2304 `dired-replace-in-string'.
2305 * mh-alias.el (mh-alias-gcos-name): Use it.
2307 * mh-alias.el (mh-alias-apropos): New command. Show all aliases
2308 that match REGEXP either in name or content.
2310 * mh-alias.el (mh-alias-suggest-alias): Add no-comma-swap optional
2312 (mh-alias-canonicalize-suggestion): Change a comma to a period in
2314 (mh-alias-local-users): Call `mh-alias-suggest-alias' with
2315 `no-comma-swap' arg set to t.
2317 * mh-alias.el (mh-alias-local-users): Fix case of nil
2318 `mh-alias-passwd-gcos-comma-separator-flag'.
2320 * mh-alias.el (mh-alias-gcos-name): Fix for case of empty gcos
2322 (mh-alias-local-users): Fix same.
2324 * mh-alias.el (mh-alias-canonicalize-suggestion): Replace use by
2325 verbose `replace-regexp' by a looped `replace-match'
2327 2003-06-02 Peter S Galbraith <psg@debian.org>
2329 * mh-utils.el (dired-replace-in-string): Bind if not already
2330 defined. Borrowed from dired.el
2332 * mh-alias.el (mh-alias-gcos-name): switch to using
2333 dired-replace-in-string.
2335 2003-06-02 Satyaki Das <satyakid@stanford.edu>
2337 * mh-utils.el (mh-letter-font-lock-keywords): Fontify header
2338 fields in the draft buffer that aren't skipped when navigating
2339 with TAB (or S-TAB).
2341 * mh-customize.el (mh-clean-message-header-flag)
2342 (mh-invisible-headers, mh-invisible-header-fields)
2343 (mh-alias-passwd-gcos-comma-separator-flag): Checkdoc fix.
2344 (mh-letter-header-field-face): New face to fontify the header
2347 * mh-comp.el (mh-insert-auto-fields-done-local): Checkdoc fix.
2348 (mh-letter-mode, mh-letter-mail-header-end-marker): Remember the
2349 end of the message header in a marker. This is used to fontify the
2351 (mh-font-lock-field-data, mh-letter-header-end): Functions used
2352 to fontify message header fields.
2354 * mh-alias.el (mh-alias-gcos-name): Checkdoc fix.
2356 2003-06-02 Peter S Galbraith <psg@debian.org>
2358 * mh-alias.el (mh-alias-gcos-name): New function. Return a usable
2359 address string from a GCOS-NAME and USERNAME.
2360 (mh-alias-local-users): Use it.
2362 * mh-customize.el (mh-alias-passwd-gcos-comma-separator-flag): New
2363 defcustom. Whether the gcos field in the passwd file uses comma as
2366 * mh-customize.el (mh-alias-local-users-prefix): New
2367 defcustom. String to append to the real names of users from the
2368 passwd file. If nil, use the username string unmodified instead of
2369 the real name from the gcos field of the passwd file.
2371 * mh-alias.el (mh-alias-local-users): Use it to generate aliases
2372 which by default are now the real name prefixed by "local."
2374 2003-06-01 Peter S Galbraith <psg@debian.org>
2376 * mh-comp.el (mh-modify-header-field): Bug fix. Calling with with
2377 a value that was already inserted causes it to get inserted a
2378 second time. I have wrapped the value around \b word delimiters.
2379 Hope there are no side effects for other code.
2381 * mh-comp.el (mh-insert-auto-fields): Attempt regardless of
2382 `mh-insert-auto-fields-done-local' flag in interactive use.
2384 * mh-comp.el (mh-insert-auto-fields-done-local): Keep track of
2385 whether `mh-insert-auto-fields' was called in a buffer.
2386 (mh-insert-auto-fields): Set it and use it. Also, don't enter an
2387 identity if one was already entered manually.
2388 (mh-send-letter): Call `mh-insert-auto-fields' again when sending
2390 (mh-compose-and-send-mail): Call `mh-insert-auto-fields' _after_
2391 `mh-letter-mode' so `mh-identity-local' doesn't get cleared by the
2394 2003-06-01 Satyaki Das <satyakid@stanford.edu>
2396 * mh-loaddefs.el: Regenerated.
2398 * mh-seq.el (mh-thread-parse-scan-line): The value of
2399 mh-scan-field-from-start-offset was hardcoded in one place. The
2402 * mh-utils.el (mh-show-mode): Setup mh-show-mode to display
2403 elipsis for truncated header fields and to skip over them quickly.
2404 (mh-clean-msg-header): Make another pass over the message header
2405 fields truncating long headers.
2407 * mh-comp.el (mh-letter-complete): Remove unnecessary autoload.
2408 (mh-letter-toggle-header-field-display): Take into account that
2409 an empty line can also end the message header. The function was
2410 originally written with the draft buffer in mind.
2412 2003-06-01 Mark D. Baushke <mdb@gnu.org>
2414 * mh-comp.el (mh-letter-mode-map): Do not steal C-t. Use C-c C-t
2415 for the mh-letter-toggle-header-field-display command.
2417 2003-05-31 Peter S Galbraith <psg@debian.org>
2419 * mh-customize.el (mh-visible-headers): Changed to a defvar that
2420 will be set using new `mh-visible-headers' function using
2421 `mh-visible-header-fields' as input.
2422 (mh-visible-headers): New function, described above.
2423 (mh-visible-header-fields): New defcustom. The UI to set
2424 `mh-visible-headers'.
2425 (mh-invisible-header-fields-set): Deleted. Code merged into
2426 defcustom since it's so short.
2428 2003-05-31 Satyaki Das <satyakid@stanford.edu>
2430 * mh-comp.el (mh-letter-toggle-header-field-display): Extended to
2431 truncate headers if they are too long.
2432 (mh-letter-truncate-header-field): Make code that would be
2433 duplicated into a function.
2434 (mh-letter-hide-all-skipped-fields): Modified so that fields that
2435 are important are hidden if they are too long.
2437 2003-05-31 Satyaki Das <satyakid@stanford.edu>
2439 * mh-utils.el ("tool-bar"): Since tool-bar isn't available on
2440 XEmacs, requiring it causes problems. So load it instead.
2441 (mh-do-at-event-location): New macro to do stuff at location of
2442 events. This has been refactored out of mh-push-button.
2444 * mh-mime.el (mh-push-button): Simplified since it now uses the
2445 mh-do-at-event-location macro.
2447 * mh-comp.el (mh-hidden-header-keymap): Keymap to make mouse
2448 clicks on header toggle its display.
2449 (mh-letter-toggle-header-field-display-button): Interactive
2450 function to toggle header display when mouse button is clicked.
2452 2003-05-31 Peter S Galbraith <psg@debian.org>
2454 * mh-e.el (mh-folder-mode): Remove conditional on tool-bar-mode.
2456 * mh-comp.el (mh-letter-mode): Same.
2458 * mh-utils.el (mh-show-mode): Same.
2460 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2462 * mh-utils.el (tool-bar): Load tool-bar explicitly. This avoids
2463 problems with incorrect initialization of tool-bar-map otherwise.
2465 2003-05-30 Peter S Galbraith <psg@mixed.dyndns.org>
2467 * mh-comp.el (mh-modify-header-field): Minor fix of spaces for
2468 when an entry already existed.
2469 (mh-insert-auto-fields): Make interactive. Add optional `quiet'
2470 arg for use when called systematically on every buffer. Won't be
2471 used interactively for more verbose output.
2472 (mh-letter-mode-map): Add \C-c\M-d keybinding for
2473 mh-insert-auto-fields.
2475 * mh-identity.el (mh-identity-make-menu): Add a menu entry in
2476 Identity menu for mh-insert-auto-fields.
2478 * mh-customize.el (mh-invisible-header-fields): Add entries for
2479 `Envelope-to' and `X-Original-To'.
2481 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2483 * mh-comp.el (mh-letter-mode): Skip over invisible text quickly.
2485 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2487 * mh-comp.el (mh-letter-mode): Use text properties to achieve
2488 invisibility. This is more portable and the same code can be used
2489 for all Emacs versions.
2490 (mh-letter-toggle-header-field-display): Rewritten to use text
2492 (mh-dead-overlay-p, mh-letter-hidden-header-fields)): Removed.
2494 2003-05-29 Satyaki Das <satyakid@stanford.edu>
2496 * mh-comp.el (mh-letter-hidden-header-fields, mh-letter-mode): Add
2497 a hash table, initialized it in mh-letter-mode, to remember the
2498 overlays introduced to hide long headers fields.
2499 (mh-insert-x-mailer): checkdoc fix.
2500 (mh-compose-and-send-mail): Hide unimportant message header
2502 (mh-letter-header-field-regexp, mh-letter-header-field-at-point)
2503 (mh-letter-next-header-field, mh-letter-previous-header-field):
2504 Add a variable that contains the header-field name regexp and use
2505 it instead of the regexp directly.
2506 (mh-letter-toggle-header-field-display, mh-letter-mode-map): Add
2507 new key binding in mh-letter-mode that toggles display of long
2508 header fields, in mh-letter-mode.
2509 (mh-dead-overlay-p): A predicate which checks if a given header
2510 field has an active overlay hiding it.
2511 (mh-letter-hide-all-skipped-fields): New function that shortens
2512 uninteresting headers.
2514 2003-05-29 Eric Ding <ericding@acorn.bethesda.net>
2516 * mh-comp.el (mh-letter-next-header-field-or-indent): Call
2517 indent-relative rather than indent-for-tab-command.
2519 2003-05-29 Satyaki Das <satyakid@stanford.edu>
2521 * mh-comp.el (mh-letter-complete-or-space): The meaning of the
2522 customizable variable was reversed. Also make the doc string more
2525 2003-05-28 Satyaki Das <satyakid@stanford.edu>
2527 * mh-customize.el (mh-compose-skipped-header-fields): New
2528 customizable variable that lists headers that are skipped.
2529 (mh-compose-space-does-completion-flag): Option to do completion
2530 with space (closes SF #745634).
2532 * mh-comp.el (mh-insert-x-mailer): Check the value of
2533 mh-insert-x-mailer-flag in this function instead of in its caller.
2534 (mh-compose-and-send-mail, mh-send-letter): Insert X-Mailer and
2535 X-Face headers when the draft is first presented to the user
2536 instead of when the mail is sent (closes SF #745624).
2537 (mh-letter-complete-or-space): Allow for this key binding to be
2539 (mh-letter-next-header-field): Fix a problem with multiline header
2541 (mh-letter-next-header-field, mh-letter-previous-header-field):
2542 Make these functions skip unwanted header fields.
2543 (mh-letter-skipped-header-field-p): New predicate that checks if a
2544 header field is to be skipped.
2546 * mh-seq.el (mh-thread-inc): Inc'ing email in threaded mode was
2547 causing duplication of the current notation. The change fixes that.
2549 2003-05-28 Satyaki Das <satyakid@stanford.edu>
2551 * mh-comp.el (mh-beginning-of-word): Generalize it to skip
2552 arbitrary number of words.
2553 (mh-letter-complete-or-space): New interactive function that
2554 allows space character to be used for completion.
2555 (mh-letter-mode-map): Add key binding to allow space to be used
2558 2003-05-27 Satyaki Das <satyakid@stanford.edu>
2560 * mh-customize.el (mh-compose-prompt-flag): Customizable variable
2561 that controls whether the user is prompted when composing a draft.
2562 It replaces mh-dont-prompt-for-address-flag (closes SF #745622).
2564 * mh-comp.el (mh-letter-next-header-field): If the point is in
2565 the header field name, then go the start of the header field
2566 instead of the next field.
2567 (mh-interactive-read-address, mh-interactive-read-string)
2568 (mh-letter-adjust-point): Use mh-compose-prompt-flag instead of
2569 mh-dont-prompt-for-address-flag.
2571 2003-05-27 Satyaki Das <satyakid@stanford.edu>
2573 * mh-customize.el (mh-tool-bar-define): Fix incorrect usage of
2574 set-specifier (closes SF #745655). Also the button enabling code
2575 interacts poorly with font-lock in XEmacs. So disable that.
2577 2003-05-26 Satyaki Das <satyakid@stanford.edu>
2579 * mh-e.el (mh-folder-from-address): The function
2580 message-fetch-field expects that the buffer is narrowed to the
2581 mail header. The change makes sure that this is indeed the case.
2583 * mh-mime.el (mh-add-missing-mime-version-header)
2584 (mh-decode-message-body): Same as above.
2586 2003-05-25 Satyaki Das <satyakid@stanford.edu>
2588 * mh-alias.el (mh-alias-minibuffer-confirm-address): Modified to
2589 use mh-beginning-of-word.
2591 * mh-comp.el (mh-letter-confirm-address): Calling
2592 mh-alias-reload-maybe can be expensive. So do it only if we really
2595 2003-05-25 Satyaki Das <satyakid@stanford.edu>
2597 * mh-loaddefs.el: Regenerated.
2599 * mh-comp.el (mh-letter-confirm-address): Load aliases if not yet
2602 * mh-alias.el (mh-alias-reload-maybe): Autoload it since it is
2605 2003-05-24 Satyaki Das <satyakid@stanford.edu>
2607 * mh-comp.el (mh-letter-skip-leading-whitespace-in-header-field):
2608 New function to skip leading space and tab characters when placing
2609 point in a header field.
2610 (mh-letter-next-header-field, mh-letter-previous-header-field):
2611 Skip leading whitespace when using TAB to navigate to header
2613 (mh-letter-confirm-address): New interactive function that
2614 displays the last expansion of the last alias when "," is typed.
2615 (mh-letter-mode-map): Add key binding for "," (closes SF #745634).
2617 2003-05-23 Satyaki Das <satyakid@stanford.edu>
2619 * mh-comp.el (mh-edit-again, mh-forward, mh-send)
2620 (mh-send-other-window, mh-send-sub): Modified so that if
2621 mh-dont-prompt-for-address-flag is non-nil, then MH-E won't prompt
2622 for addresses to send mail to and instead directly jump to the
2623 draft (closes SF #745622).
2624 (mh-letter-complete-function-alist): An alist that is used to
2625 decide which completion function to use in which header. This
2626 variable should probably be customizable.
2627 (mh-letter-complete): Now uses mh-letter-complete-function-alist.
2628 (mh-letter-header-field-at-point, mh-letter-next-header-field)
2629 (mh-letter-next-header-field-or-indent)
2630 (mh-letter-previous-header-field): Commands for easier navigation
2632 (mh-dont-prompt-for-address-flag): Variable which controls
2633 whether MH-E prompts for addresses.
2634 (mh-interactive-read-address, mh-interactive-read-string): Two
2635 functions to ask user for input depending on the value of the
2637 (mh-letter-adjust-point): New function that sets point to the
2639 (mh-letter-mode-map): Add key bindings for TAB and S-TAB (closes
2642 2003-05-23 Satyaki Das <satyakid@stanford.edu>
2644 * mh-loaddefs.el: Regenerated.
2646 * mh-comp.el (mh-complete-word): New function which is
2647 approximately equivalent to mail-abbrev-complete-alias.
2648 (mh-beginning-of-word): Refactor repeated code into its own
2650 (mh-folder-expand-at-point): Make Fcc completion work in XEmacs
2651 by not using mail-abbrev-complete-alias.
2653 * mh-alias.el (mh-alias-letter-expand-alias): Make alias
2654 expansion work in XEmacs. Replace the use of the function
2655 mail-abbrev-complete-alias, which isn't present in XEmacs.
2657 * mh-mime.el (mh-mml-to-mime): If a MIME message is created
2658 immediately after starting MH-E then invoking mh-mml-to-mime
2659 causes an error because "message" isn't being loaded. The change
2660 works around this problem.
2661 (mh-mime-maybe-display-alternatives): Give better indication of
2662 which MIME parts are alternatives.
2664 2003-05-22 Satyaki Das <satyakid@stanford.edu>
2666 * mh-e.el (mh-add-sequence-notation, mh-remove-sequence-notation):
2667 Just delete and add the same character in the scan line to make
2668 font-lock refontify it. The previous trick of removing all text
2669 properties didn't work in XEmacs.
2671 * mh-seq.el (mh-put-msg-in-seq): Complain if the user tries to
2672 create an invalid MH sequence.
2674 * mh-mime.el (mh-mime-display-alternative): Modified to
2675 optionally display alternatives as buttons.
2676 (mh-mime-maybe-display-alternatives): New function which displays
2677 alternative MIME parts as buttons.
2678 (mh-mime-save-part): Initially mh-mime-save-parts-directory is
2679 nil and calling file-name-as-directory with nil arg leads to an
2680 error. So fall back on the default-directory in that case.
2682 * mh-customize.el (mh-display-buttons-for-alternatives-flag): New
2683 customizable variable that controls display of the alternative
2684 MIME parts (closes SF #741288).
2686 2003-05-22 Peter S Galbraith <psg@debian.org>
2688 * mh-customize.el (mh-invisible-header-fields): Commented out
2689 "User-Agent:". It's similar to X-Mailer, so display it.
2691 2003-05-21 Satyaki Das <satyakid@stanford.edu>
2693 * mh-customize.el (mh-tool-bar-define): Add an optional argument
2694 to the button description that can dynamically enable/disable
2696 (mh-tool-bar-define): The alias grabbing button is disabled if the
2697 current message doesn't have a From header or if the sender is
2698 already in the user's alias. This functionality was inadvertently
2699 lost when the Emacs/XEmacs toolbar unification took place.
2701 2003-05-20 Satyaki Das <satyakid@stanford.edu>
2703 * mh-unit.el (mh-unit-construct-call-graph): Be more aggressive
2704 and flag interactive functions that aren't autoloaded or have no
2706 (mh-unit-interactive-function-p): Remove now unused function.
2707 (mh-unit, mh-unit-construct-call-graph): Replace mh-files with
2710 2003-05-20 Bill Wohler <wohler@newt.com>
2712 * mh-unit.el (mh-prune-trailing-spaces): Renamed to
2713 mh-unit-prune-trailing-spaces to clean up the namespace.
2714 (mh-files): Renamed to mh-unit-files. Ditto.
2715 (mh-unit): Checkdoc fix.
2717 * mh-index.el (mh-index-p): Added autoload cookie since mh-index-p
2718 is used by mh-customize.el. This calls for another mh-unit test
2719 that looks for mh-autoloads for functions that are no longer used
2722 * mh-loaddefs.el: Regenerated.
2724 2003-05-20 Satyaki Das <satyakid@stanford.edu>
2726 * mh-unit.el (mh-unit-construct-call-graph): Factor out the code
2727 to read the lisp files to a separate function. Also change it to
2728 construct a function call-graph. Autoloaded functions are taken
2730 (mh-unit-find-all-used-functions, mh-unit-called-functions)
2731 (mh-unit-find-all-unused-functions): Find all unused functions by
2732 computing a fixed point starting from the set of top level
2734 (mh-unit-analyze-block): Removed.
2735 (mh-unit-update-call-graph): mh-unit-functions-called was renamed
2736 with modifications to update the function call graph.
2738 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2740 * mh-loaddefs.el: Regenerated.
2742 * mh-utils.el (mh-notate): Modified to keep track of notation
2743 that was replaced when sequence notation is added. Thus when the
2744 sequence is deleted, the original notation is recovered.
2745 (mh-add-msgs-to-seq): Modified to work with the new sequence
2748 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Simplified since
2749 we don't need to handle tick and unseen sequences specially any
2751 (mh-narrow-to-seq): Don't need to call mh-notate-user-sequences
2752 since mh-copy-seq-to-eob already does that.
2753 (mh-widen): Remove sequence notation, so that notation when
2754 messages are replied to aren't lost.
2755 (mh-copy-seq-to-eob): Simplified with the use of
2756 mh-iterate-on-range.
2757 (mh-thread-inc): This function doesn't need to notate user
2758 sequences since its callers already do that.
2759 (mh-thread-parse-scan-line): Simplified since mh-note-seq doesn't
2760 appear in scan lines it is given as arguments.
2761 (mh-thread-update-scan-line-map): Remove the test, since its
2762 caller already does the required check.
2763 (mh-thread-folder): Simplified by the use of mh-iterate-on-range.
2764 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick):
2765 These functions aren't needed any more, since overlays aren't used
2766 any more. Also overlays aren't portable to XEmacs, so nasty
2767 conditional code that used overlays in Emacs and extents in Xemacs
2768 have been eliminated.
2769 (mh-toggle-tick): Generalize it to work on a range of messages
2770 like the other interactive messages.
2772 * mh-funcs.el (mh-undo-folder): Use mh-remove-all-notation
2773 instead of mh-unmark-all-headers.
2775 * mh-e.el (mh-folder-font-lock-keywords): The entry for unseen
2776 sequence highlighting is now done by the macro.
2777 (mh-generate-sequence-font-lock): New macro to highlight any
2778 arbitrary sequence. This macro is invoked twice to get the
2779 highlighting for unseen and tick sequences.
2780 (mh-sequence-notation-history, mh-folder-mode): New variable that
2781 keeps track of the old notation when a message is notated with
2783 (mh-regenerate-headers, mh-get-new-mail): Add appropriate calls to
2784 mh-notate-user-sequences and mh-remove-all-notation.
2785 (mh-unmark-all-headers): Add comment that this function shouldn't
2787 (mh-add-sequence-notation, mh-remove-sequence-notation): New
2788 functions to notate message with mh-note-seq and to remove it.
2789 (mh-remove-all-notation): Simplified to use mh-iterate-on-range.
2790 (mh-process-commands): Use mh-remove-all-notation instead of
2791 mh-unmark-all-headers.
2792 (mh-notate-user-sequences, mh-delete-msg-from-seq): Simplified
2793 since the tick and unseen sequences don't need special handling
2795 (mh-internal-seq): Make it possible to dynamically change what
2796 sequences are treated as internal (internal means font lock is
2797 used to highlight the sequence).
2798 (mh-clear-text-properties): Removed since it isn't needed
2801 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2803 * mh-unit.el (mh-unit-analyze-block, mh-unit-interactive-function-p)
2804 (mh-unit-find-all-unused-functions): Change argument name bl to
2807 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2809 * mh-unit.el (mh-unit-find-all-unused-functions): New interactive
2810 function to find all unused functions in MH-E.
2811 (mh-unit-analyze-block, mh-unit-interactive-function-p)
2812 (mh-unit-functions-called): Functions used by
2813 mh-unit-find-all-unused-functions do its job.
2815 * Makefile (compile): Byte-compile mh-unit.el, since the analysis
2816 to find unused code runs faster when compiled.
2818 2003-05-18 Satyaki Das <satyakid@stanford.edu>
2820 * mh-loaddefs.el: Regenerated.
2822 * mh-seq.el (mh-notate-deleted-and-refiled): Add autoload
2823 declaration since this function is used in mh-index.el.
2825 * mh-e.el, mh-customize.el, mh-utils.el: Adjust require/provide
2826 statements so that mh-e.el isn't loaded twice.
2828 2003-05-15 Satyaki Das <satyakid@stanford.edu>
2830 * mh-utils.el (mh-defun-show-buffer): Arrange for the current
2831 line in the folder buffer to be highlighted even when we are in
2834 2003-05-14 Satyaki Das <satyakid@stanford.edu>
2836 * mh-seq.el (mh-read-range): Allow this to work on invalid
2837 sequences that only MH-E knows about.
2839 * mh-index.el (mh-create-sequence-map, mh-index-add-to-sequence)
2840 (mh-index-delete-from-sequence): Don't consider sequences that
2841 aren't valid MH sequences.
2843 * mh-e.el (mh-valid-seq-p): New predicate to check if a symbol
2844 could be a MH sequence.
2845 (mh-undefine-sequence, mh-define-sequence): Don't execute "mark"
2846 unless the sequence name is a valid MH sequence.
2848 * mh-utils.el (mh-exec-cmd): In case an error happens in the
2849 call-process and non-strings are present in ARGS, then the error
2850 message isn't properly displayed. The change fixes this.
2852 2003-05-14 Peter S Galbraith <psg@debian.org>
2854 * mh-mime.el (mh-mime-save-part): Bug Fix: Make sure
2855 `mm-default-directory' gets a trailing "/" if
2856 `mh-mime-save-parts-directory' doesn't have one. Otherwise the
2857 default in the prompt of `mh-mm-save-part' will be wrong. Perhaps
2858 `mh-mm-save-part' needs to do this check itself.
2860 2003-05-14 Satyaki Das <satyakid@stanford.edu>
2862 * mh-index.el (mh-unpropagated-sequences): New function and
2863 variable to keep track of sequences that shouldn't be propagated.
2864 (mh-create-sequence-map, mh-index-add-to-sequence)
2865 (mh-index-delete-from-sequence): Use mh-unpropagated-sequences to
2866 stop changes to some sequences being reflected back to the source
2869 2003-05-13 Satyaki Das <satyakid@stanford.edu>
2871 * mh-loaddefs.el: Regenerated.
2873 * mh-e.el (mh-process-commands): Preserve sequences when messages
2874 are refiled (closes SF #737128).
2876 * mh-index.el (mh-create-sequence-map)
2877 (mh-index-create-sequences): Refactor code that is reused into a
2880 * mh-customize.el (mh-refile-preserves-sequences-flag): New
2881 customizable flag that controls whether sequences are preserved
2882 when messages are refiled.
2884 2003-05-13 Eric Ding <ericding@alum.mit.edu>
2886 * mh-e.el (mh-scan-format): The argument for scan format files
2887 should be -form, not -format.
2889 2003-05-13 Satyaki Das <satyakid@stanford.edu>
2891 * mh-seq.el (mh-widen): The scan line map stack was not being
2892 properly updated when ALL-FLAG is non-nil. The change fixes that.
2894 * mh-e.el (mh-reset-threads-and-narrowing): The change resets the
2895 scan line map stack.
2897 2003-05-12 Satyaki Das <satyakid@stanford.edu>
2899 * mh-loaddefs.el: Regenerated.
2901 * mh-seq.el (mh-thread-scan-line-map-stack)
2902 (mh-thread-old-scan-line-map): Instead of the old scan line map,
2903 now we need to maintain a stack of scan line maps.
2904 (mh-narrow-to-seq): Modified so that multiple level of narrowings
2905 can be done. We now maintain a stack of old views instead of
2906 hiding the old scan lines. This makes it possible to have
2907 multiple levels of narrowings.
2908 (mh-widen): A optional prefix arg was added to allow undoing all
2910 (mh-read-seq-default, mh-read-range): Don't use
2911 mh-narrowed-to-seq, since it doesn't exist any more.
2912 (mh-thread-initialize-hash, mh-thread-initialize): The
2913 mh-thread-initialize function has been refactored.
2914 (mh-thread-update-scan-line-map): Maintain notations in the stack
2916 (mh-notate-tick, mh-toggle-tick): Simplified, since we don't have
2917 mh-narrowed-to-seq any more. This means there is a slight loss of
2918 functionality. Earlier if we narrowed to the tick sequence the
2919 ticked messages weren't highlighted. This feature isn't present
2922 * mh-e.el (mh-execute-commands, mh-reset-threads-and-narrowing)
2923 (mh-folder-sequence-menu, mh-get-new-mail): Use
2924 mh-folder-view-stack instead of the now removed
2926 (mh-narrowed-to-seq, mh-tick-seq-changed-when-narrowed-flag):
2927 These variables have been removed.
2928 (mh-folder-view-stack): New variable to keep track of a stack of
2930 (mh-execute-commands, mh-get-new-mail): Add extra argument to
2931 mh-widen so that all narrowings are undone.
2933 * Makefile (MH-E-SRC, MH-E-OTHERS): Move mh-gnus.el from MH-E-SRC
2934 to MH-E-OTHERS so that it isn't byte compiled.
2936 2003-05-10 Satyaki Das <satyakid@stanford.edu>
2938 * mh-seq.el (mh-read-seq): Improve the function a bit by adding
2939 history to the sequence prompt.
2941 2003-05-09 Satyaki Das <satyakid@stanford.edu>
2943 * mh-gnus.el: New file that won't be byte-compiled. From now on
2944 having different Gnus versions at run-time and compile-time won't
2945 cause errors in MH-E.
2947 * mh-mime.el (mh-small-show-buffer-p, mh-display-smileys)
2948 (mh-display-emphasis): Handle all legal values of
2949 font-lock-maximum-size. The existing code assumed didn't consider
2950 the case where it could be an alist.
2951 (mh-small-image-p): Simplified, so that aliasing XEmacs functions
2952 in Emacs isn't necessary any more.
2953 (mh-mm-display-part): Remove unnecessary call to fboundp. The
2954 mh-funcall-if-exists does that for us any way.
2955 (mh-defun-compat, gnus-local-map-property, mm-merge-handles)
2956 (mm-set-handle-multipart-parameter, mm-readable-p)
2957 (mm-long-lines-p, mm-keep-viewer-alive-p, mm-destroy-parts)
2958 (mh-mm-save-part, mm-handle-multipart-ctl-parameter): These
2959 compatibility functions have been moved to mh-gnus.el.
2961 * Makefile (MH-E-SRC): Add mh-gnus.el.
2963 * mh-seq.el (mh-narrow-to-header-field)
2964 (mh-current-message-header-field): Checkdoc fixes.
2966 * mh-e.el (mh-undefine-sequence): Since mh-coalesce-msg-list
2967 returns a list, apply is needed.
2969 2003-05-09 Noel Cragg <noel@red-bean.com> (tiny change)
2971 * mh-junk.el (mh-spamassassin-blacklist): Separate "--local" and
2972 "--no-rebuild" arguments to call-process.
2973 [Patch committed by satyaki]
2975 2003-05-08 Satyaki Das <satyakid@stanford.edu>
2977 * mh-seq.el (mh-translate-range): Take into account differnt
2978 semantics of split-string in Emacs and XEmacs.
2979 (mh-read-pick-regexp, mh-narrow-to-from, mh-narrow-to-cc)
2980 (mh-narrow-to-to, mh-narrow-to-header-field)
2981 (mh-current-message-header-field, mh-narrow-to-range): New
2982 narrowing functions that can select messages based on different
2985 * mh-utils.el (mh-show-limit-map): Add new narrowing functions
2986 callable from the show buffer.
2988 * mh-e.el (mh-help-messages): Add help text for new functions.
2989 (mh-limit-map): Add new narrowing functions (closes SF #732823).
2991 2003-05-07 Satyaki Das <satyakid@stanford.edu>
2993 * mh-utils.el (mh-collect-folder-names): Use mh-exec-daemon to
2994 run flists. This means we don't have to remember to expand the MH
2995 executable in the mh-progs path.
2996 (mh-exec-cmd-daemon): Return the new process object produced.
2998 2003-05-06 Satyaki Das <satyakid@stanford.edu>
3000 * mh-e.el (mh-folder-font-lock-unseen): Use mh-seq-list to do
3001 unseen sequence highlighting instead of reading the .mh_sequences
3002 file from disk every time.
3004 2003-05-05 Satyaki Das <satyakid@stanford.edu>
3006 * mh-utils.el (mh-show-sequence-map): Add key binding for S'
3007 (closes SF #732825).
3009 * mh-e.el (mh-sequence-map): Ditto.
3010 (mh-help-messages): Updated for S'.
3012 2003-05-04 Satyaki Das <satyakid@stanford.edu>
3014 * mh-index.el (mh-index-write-data): The with-temp-buffer macro
3015 is a bit better than write-file, so use that instead.
3017 2003-05-03 Satyaki Das <satyakid@stanford.edu>
3019 * mh-index.el (mh-index-update-maps, mh-index-search)
3020 (mh-index-sequenced-messages): Write index data to disk. This
3021 allows us to recover index folder information if Emacs is
3022 restarted, or the index folder is visited after the buffer has
3023 been killed (closes SF #701762).
3024 (mh-index-write-data, mh-index-read-data)
3025 (mh-index-write-hashtable, mh-index-read-hashtable): Functions to
3026 store and read index data information to disk.
3027 (mh-index-insert-folder-headers, mh-index-group-by-folder): We
3028 can no longer use object identity to compare strings, since they
3029 might have been read back from disk.
3031 * mh-e.el (mh-index-data-file): New variable that stores the name
3032 of the file that keeps track of index folder data.
3033 (mh-make-folder): Read index folder data if available.
3035 * mh-utils.el (mh-show, mh-summary-height, mh-modify): Make
3038 * mh-seq.el (mh-tick-add-overlay): Rearrange code to make code
3041 * mh-loaddefs.el: Regenerated.
3043 2003-05-02 Satyaki Das <satyakid@stanford.edu>
3045 * mh-seq.el (mh-tick-add-overlay): If a message with a short scan
3046 line is ticked, then the highlighting didn't extend to the right
3047 margin. This change fixes that.
3049 2003-05-01 Bill Wohler <wohler@newt.com>
3051 * mh-e.el (mh-help-messages): Added brackets around / and
3052 downcased limit to be consistent with other commands with
3053 punctuation keybindings. Don't document aliases.
3055 2003-05-01 Satyaki Das <satyakid@stanford.edu>
3057 * mh-loaddefs.el: Regenerated.
3059 * mh-seq.el (mh-read-range): Fix comment.
3061 2003-04-30 Mark D. Baushke <mdb@gnu.org>
3063 * mh-e.el (mh-help-messages): Better documentation for the F map.
3065 2003-04-30 Satyaki Das <satyakid@stanford.edu>
3067 * mh-utils.el (mh-find-path): Cache folder names so that
3068 folder name completion is always fast.
3069 (mh-flists-partial-line, mh-flists-process): Variables used for
3070 pre-caching folder names.
3071 (mh-collect-folder-names, mh-collect-folder-names-filter)
3072 (mh-populate-sub-folders-cache): Functions to pre-cache folder
3074 (mh-exec-cmd): Produce more info in *MH-E Log*.
3076 * mh-index.el (mh-index-search): Call the correct function.
3077 (mh-index-sequenced-messages): If folders is nil, then all mail
3078 is searched. The change restores that.
3080 2003-04-30 Peter S Galbraith <psg@debian.org>
3082 * mh-customize.el (mh-summary-height): Move variable integer out
3083 of defcustom, and instead specify that `nil' means to calculate
3084 that size dynamically. Fixes SF #723267.
3086 * mh-utils.el (mh-summary-height): New function. Return ideal
3087 mh-summary-height value for current frame height.
3088 (mh-show-msg): Use it.
3090 2003-04-30 Mark D. Baushke <mdb@gnu.org>
3092 * mh-index.el (mh-index-ticked-messages): Fix prompt and
3094 (mh-index-new-messages): Ditto.
3096 * mh-loaddefs.el: Regenerated.
3098 * mh-index.el (mh-index-sequenced-messages): Renamed from
3099 mh-index-new-messages with minor argument change.
3100 (mh-index-new-messages): Implement by calling
3101 mh-index-sequenced-messages with the appropriate arguments.
3102 (mh-index-ticked-messages): New function. Does the same thing as
3103 mh-index-new-messages, but on its own set of folders and using the
3104 mh-tick-seq instead of mh-unseen-seq.
3106 * mh-e.el (mh-folder-map): Add "F'" to the map for
3107 mh-index-ticked-messages.
3108 (mh-help-messages): Replace broken [t]hread with [n]ew messages.
3110 * mh-customize.el (mh-index-ticked-messages-folders): New user
3111 customizable flag that controls the folders to be searched by
3112 mh-index-ticked-messages.
3114 * mh-utils.el (mh-show-index-ticked-messages): Wrapper for
3115 mh-index-ticked-messages.
3116 (mh-show-folder-map): Add "F'" to the map for
3117 mh-index-ticked-messages.
3119 2003-04-30 Satyaki Das <satyakid@stanford.edu>
3121 * mh-index.el (mh-index-search): The old cur in the source folder
3122 might not exist. This could cause mh-exec-cmd to fail. So don't
3123 add an error message in that case.
3125 2003-04-29 Satyaki Das <satyakid@stanford.edu>
3127 * mh-e.el (mh-folder-from-address): Modified to allow multiple
3128 Cc: headers to work properly.
3129 (mh-inc-folder, mh-visit-folder): Fix an off by one error.
3131 * mh-utils.el (mh-notate): Update the scan line map. This fixes a
3132 tiny bug. In threaded view, if a message is replied to then the
3133 message is notated with a "-". Now if inc is done then the "-"
3134 added is lost. The change fixes this.
3136 * mh-seq.el (mh-translate-range): Use the correct function.
3137 (mh-thread-update-scan-line-map): New function that updates the
3138 scan line map when a message is notated.
3140 2003-04-28 Satyaki Das <satyakid@stanford.edu>
3142 * mh-index.el (mh-index-parse-search-regexp): Avoid compiler
3143 warning in GNU Emacs 21.3.
3145 * mh-seq.el (mh-widen): Ditto.
3147 2003-04-28 Satyaki Das <satyakid@stanford.edu>
3149 * mh-customize.el (mh-interpret-number-as-range-flag): New user
3150 customizable flag that controls whether a single number, N is
3151 interpreted as the range last:N.
3153 * mh-seq.el (mh-read-range): Generalize it for use when reading
3155 (mh-interactive-range): Modified to use the new mh-read-range.
3157 * mh-speed.el (mh-speed-view): Use mh-read-range instead of the
3158 now removed mh-read-msg-range function.
3160 * mh-funcs.el (mh-pack-folder): Ditto.
3162 * mh-e.el (mh-rescan-folder, mh-visit-folder): Ditto.
3163 (mh-read-msg-range): Removed.
3165 * mh-loaddefs.el: Regenerated
3167 2003-04-27 Satyaki Das <satyakid@stanford.edu>
3169 * mh-loaddefs.el: Regenerated.
3171 * mh-seq.el (mh-range-completion-function): Fix checkdoc warning.
3172 (mh-iterate-on-range): Mention that the macro can iterate over a
3173 MH message range too.
3175 2003-04-27 Bill Wohler <wohler@newt.com>
3177 * mh-unit.el (mh-unit): As it turns out, lm-crack-copyright has
3178 been updated to handle multiple-line copyrights in 21.3, so
3179 updated code to run lm-verify only if user has 21.3 or greater.
3180 Delete buffers after use, unless user already had buffer open.
3182 2003-04-27 Satyaki Das <satyakid@stanford.edu>
3184 * mh-loaddefs.el: Regenerated.
3186 * mh-index.el (mh-index-search): The MH command "refile" changes
3187 cur. The change restores cur in source folders.
3188 (mh-index-new-messages): Use the appropriate arguments for
3191 * mh-seq.el (mh-read-seq-default, mh-read-seq): Restore these
3192 functions to just read sequence names.
3193 (mh-range-seq-names, mh-range-history, mh-range-completion-map)
3194 (mh-range-completion-function, mh-read-range): New function which
3195 reads MH range with completion and history.
3196 (mh-interactive-range): Use mh-read-range instead of
3197 mh-read-seq-default.
3198 (mh-put-msg-in-seq): Change documentation about MH message range.
3200 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Change
3201 documentation about MH message range.
3203 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3205 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion)
3206 (mh-refile-msg, mh-undo, mh-delete-msg-from-seq): Ditto.
3208 * mh-comp.el (mh-forward): Ditto.
3210 2003-04-26 Satyaki Das <satyakid@stanford.edu>
3212 * mh-comp.el, mh-e.el, mh-funcs.el, mh-junk.el, mh-seq.el:
3213 Replace msg-or-seq with range everywhere.
3215 * mh-loaddefs.el: Regenerated.
3217 2003-04-25 Satyaki Das <satyakid@stanford.edu>
3219 * mh-e.el (mh-index-sequence-search-flag, mh-folder-mode): New
3220 local variable to remember that a folder buffer contains results
3221 from a sequence search. This is needed so that "C-u F i" will work
3223 (mh-visit-folder): Create sequences in the index folder.
3224 (mh-process-commands, mh-delete-msg-from-seq): If speedbar is on
3225 then update the speedbar message counts immediately.
3226 (mh-delete-msg-from-seq): Make the code faster by calling "mark"
3227 just once. Also update source folder sequence if messages are
3228 being deleted from a sequence in an index folder.
3229 (mh-undefine-sequence): Simplified to remove the speedbar updating
3230 code. Also DTRT and don't change any sequence when called with an
3231 empty list of messages.
3232 (mh-refile-msg, mh-delete-msg): Move to next message only if the
3233 current message has been deleted or refiled, as the case may be.
3235 * mh-utils.el (mh-show-msg): Update the message counts in the
3236 speedbar, if it is on, immediately.
3237 (mh-speed-flists-active-p, mh-speed-flists-inhibit-flag): A new
3238 flag has been added which inhibits updating of the speedbar. This
3239 is used to avoid needless speedbar updates when
3240 mh-execute-commands is called in index folders.
3242 * mh-speed.el (mh-speed-flists): Extended so that multiple
3243 folders can be given as arguments. Also the code that kept track
3244 of the current folder, needed since flists adds an extra ?+ char
3245 at the end of the current folder name, wasn't entirely correct.
3246 That has also been fixed.
3248 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Modified so that
3249 sequence in source folder is updated if we delete a sequence in an
3251 (mh-read-seq, mh-read-seq-default, mh-translate-range)
3252 (mh-interactive-msg-or-seq): The mh-interactive-msg-or-seq
3253 function can read in an arbitrary MH message range.
3254 (mh-iterate-on-msg-or-seq): The macro has been extended to work on
3256 (mh-subject-to-sequence, mh-subject-to-sequence-unthreaded)
3257 (mh-subject-to-sequence-threaded, mh-thread-find-msg-subject): Fix
3258 the mh-subject-to-sequence function so that it will work in
3259 threaded folders too.
3260 (mh-tick-add-overlay): Fix a leak of overlays.
3261 (mh-toggle-tick): Ticking, or unticking, messages in the index
3262 folder is propagated to the source folders (closes SF #709664).
3264 * mh-index.el (mh-flists-results-folder, mh-flists-sequence)
3265 (mh-flists-called-flag): New variables to implement searching for
3266 arbitrary sequences.
3267 (mh-index-generate-pretty-name): Updated so that folder names are
3268 generated for flists search that can take any sequence name.
3269 (mh-index-search): Since sequences are now properly maintained the
3270 unseen-flag argument isn't needed and hence removed. Also redoing
3271 a sequence search with "C-u F i" is handled correctly. Finally
3272 the speedbar is updated to reflect the new index folder created.
3273 (mh-index-create-sequences): New function that creates sequences
3274 in the index folder.
3275 (mh-index-matching-source-msgs, mh-index-execute-commands):
3276 Improved so that scan lines for refiled/deleted messages are
3277 removed from the source folders as well.
3278 (mh-index-add-to-sequence, mh-index-delete-from-sequence): New
3279 functions to update sequences in source folder to reflect changes
3281 (mh-index-quote-for-shell): A utility function to that quotes
3282 characters with special meaning to /bin/sh.
3283 (mh-flists-execute, mh-index-new-messages): Updated to search for
3284 arbitrary sequences (closes SF #718833).
3286 * mh-loaddefs.el: Regenerated.
3288 2003-04-25 Bill Wohler <wohler@newt.com>
3290 * mh-customize.el (mh-kill-folder-suppress-prompt-hook): New hook
3291 used by mh-kill-folder to suppress the prompt.
3293 * mh-funcs.el (mh-kill-folder): Suppress prompt not if
3294 mh-index-data is non-nil, but if any functions in
3295 mh-kill-folder-suppress-prompt-hook return non-nil.
3297 * mh-index.el (mh-index-p): New function with returns non-nil if
3298 the current folder was generated by an index search for use by
3299 mh-kill-folder-suppress-prompt-hook
3301 * mh-unit.el (mh-unit): Commented out lm-verify step until code
3302 updated to handle split Copyright lines.
3304 * mh-e.el (mh-version): Set to 7.3+cvs.
3306 2003-04-24 Bill Wohler <wohler@newt.com>
3308 * Released MH-E version 7.3.
3310 * MH-E-NEWS, README: Updated for release 7.3.
3312 * mh-e.el (Version, mh-version): Updated for release 7.3.
3314 2003-04-24 Satyaki Das <satyakid@stanford.edu>
3316 * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
3317 time, since the mh-do-in-xemacs macro is used.
3319 * mh-inc.el (cl): Require cl at compile time since we are using
3320 the loop and setf macros.
3322 2003-04-24 Satyaki Das <satyakid@stanford.edu>
3324 * mh-unit.el (mh-files): Fix the list of files to check.
3326 2003-04-24 Bill Wohler <wohler@newt.com>
3328 * ChangeLog: Appended copyright to end of file.
3330 * Makefile: Added copyright and license.
3332 * README: Added copyright.
3334 * import-emacs: Changed copyright from Newt Software to Bill
3335 Wohler and use license from mh-e.el, except that this file is
3336 a part of MH-E, not GNU Emacs.
3338 * mh-alias.el: Updated copyright so that it doesn't wrap upon
3339 advice from Richard Stallman who said to use two-digit years when
3340 they are surrounded by 4-digit years that are in the same century
3341 and to break up copyrights on multiple lines.
3342 * mh-comp.el: Ditto.
3344 * mh-funcs.el: Ditto.
3345 * mh-identity.el: Ditto.
3346 * mh-mime.el: Ditto.
3348 * mh-utils.el: Ditto.
3349 * mh-xemacs-compat.el: Ditto.
3351 * mh-unit.el: New file. Unit tests for MH-E. This version merely
3352 runs checkdoc and lm-verify which is useful before releasing the
3353 software. It can and should be expanded to do real unit tests.
3355 2003-04-22 Mark D Baushke <mdb@gnu.org>
3357 * mh-alias.el: Update Copyright.
3358 * mh-comp.el: Ditto.
3359 * mh-customize.el: Ditto.
3361 * mh-funcs.el: Ditto.
3362 * mh-identity.el: Ditto.
3363 * mh-index.el: Ditto.
3364 * mh-mime.el: Ditto.
3365 * mh-pick.el: Ditto.
3367 * mh-speed.el: Ditto.
3368 * mh-utils.el: Ditto.
3369 * mh-xemacs-compat.el: Ditto.
3371 2003-04-22 Satyaki Das <satyaki@theforce.stanford.edu>
3373 * mh-utils.el (mh-normalize-folder-name): Make the completion
3374 code work properly with XEmacs. This change is neeeded since
3375 split-string behaves differently in XEmacs than it does in GNU
3377 (mh-exec-cmd-error): Add a comment, so that we change it later on.
3379 2003-04-18 Steve Youngs <youngs@xemacs.org>
3381 * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
3382 not 'mh-xemacs-toolbar'.
3384 * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
3385 now called 'mh-xemacs-icons' and it is required from
3388 * mh-customize.el: Require 'mh-xemacs-icons' instead of
3389 'mh-xemacs-toolbar'.
3391 2003-04-17 Peter S Galbraith <psg@debian.org>
3393 * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
3396 * mh-xemacs-toolbar.el: Deleted.
3398 * Makefile: Incorporate the file renaming.
3400 2003-04-15 Bill Wohler <wohler@newt.com>
3402 * mh-comp.el (mh-forward): Pass a list of messages into
3403 mh-compose-and-send-mail instead of msg-or-seq.
3404 (mh-annotate-msg): The previous version called
3405 mh-iterate-on-msg-or-seq in the letter buffer. The new version
3406 simply adds the ability to operate on message lists. Thanks to
3407 Satyaki for the fix and suggestion for passing a list from
3410 2003-04-14 Bill Wohler <wohler@newt.com>
3412 * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
3413 mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
3414 which in turn passed the msg-or-seq to mh-annotate-msg. In
3415 particular, forwarding a region failed. Note that the msgs
3416 argument in much of mh-comp.el should really be converted to
3417 msg-or-seq accordingly. But not now, unless something is broken as
3418 was the case here. We can revamp after the release.
3420 2003-04-13 Bill Wohler <wohler@newt.com>
3422 * mh-funcs.el (mh-kill-folder): Added space after prompt to give
3423 the (yes or no) bit a little elbow room.
3425 * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
3426 Reinstated Steve's copyright.
3428 2003-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
3430 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
3431 indentation hooks for the macros.
3433 2003-04-11 Bill Wohler <wohler@newt.com>
3435 * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
3436 mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
3437 Merged in changes from CVS GNU Emacs. These included the removal
3438 of trailing whitespace.
3440 * mh-customize.el: The "anti-entropy" check-in. Moved groups
3441 around slightly to reflect commentary. Moved defcustoms around
3442 to preserve alphabetization. Big diff, little content.
3443 (mh-xemacs-use-toolbar-flag): Doc fix.
3444 (mh-xemacs-toolbar-position): Fixed typo in docstring.
3445 (mh-default-folder-list): Updated docstring to reflect new Check
3446 Recipient tag. Also, set type of Address to regexp.
3447 (mh-x-mailer-string): Moved to mh-comp.el where it is used.
3449 * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
3450 Not quite sure how it got to mh-customize.el in the first place.
3452 * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
3455 * mh-utils.el (mh-show-folder-menu): Ditto.
3457 * mh-inc.el: Added Change Log comment (lm-verify fix).
3459 * mh-index.el (mh-index-search): Added documentation about prefix
3460 argument for users, in addition to documentation for programmers.
3462 * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
3463 fixes germaine to the change whereby we now check for MIME
3464 directives before sending.
3466 * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
3467 (lm-verify fix). Added standard MH-E local variables. Removed
3470 2003-04-11 Satyaki Das <satyaki@theforce.stanford.edu>
3472 * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
3474 2003-04-10 Satyaki Das <satyaki@theforce.stanford.edu>
3476 * mh-index.el (mh-index-visit-folder): Prompt before reusing
3477 existing folder buffer.
3479 * mh-xemacs-toolbar.el (require): Require mh-utils at compile
3480 time to avoid compilation error when doing "make bootstrap" in
3483 * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
3484 time warning is avoided when doing "make bootstrap" in CVS Emacs.
3486 2003-04-10 Peter S Galbraith <psg@debian.org>
3488 * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
3489 of a defmacro, applying Satyaki's patch.
3490 (mh-inc-spool-def-key): same.
3491 (mh-inc-spool-make): same.
3493 * mh-utils.el: define-key "I" in mh-show-mode-map for
3496 * mh-comp.el (mh-modify-header-field): Remove debug message.
3498 2003-04-10 Peter S Galbraith <psg@debian.org>
3500 * mh-inc.el (mh-inc-spool-map-help): Default to nil.
3501 (mh-inc-spool-map): Make "?" key display message when
3502 `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
3503 containing the message).
3505 * mh-e.el: require mh-inc.el
3506 * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
3507 (mh-help-messages): Add help string for "I" key.
3509 2003-04-09 Peter S Galbraith <psg@debian.org>
3511 * mh-inc.el: New file. New feature to `inc' mail from various
3512 spool files into different folders.
3514 * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
3516 * Makefile (MH-E-IMG): Add highlight icon.
3517 (MH-E-SRC): Add mh-inc.el file.
3519 * mh-customize.el (mh-inc-spool-list): New variable for new
3520 feature to `inc' mail from various spool files into different
3523 2003-04-09 Satyaki Das <satyaki@theforce.stanford.edu>
3525 * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
3526 mh-mail-delivery-buffer.
3528 * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
3530 * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
3531 avoid compiler warning in GNU Emacs.
3533 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3535 * mh-mime.el (mh-small-image-p): Make the function slightly more
3536 error-resistant in XEmacs.
3538 * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
3539 the show buffer if needed. This allows us to display the widen
3540 button in the show buffer only when the folder is narrowed.
3542 * mh-customize.el (mh-tool-bar-define): Changed so that a
3543 separate tool-bar-map is used in show-mode when folder is
3544 narrowed to a sequence.
3546 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3548 * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
3549 make-symbol since using gensym causes compiler warnings in CVS
3552 2003-04-08 Bill Wohler <wohler@newt.com>
3554 * mh-comp.el (mh-forward): Function didn't handle a region of
3555 messages. Use new function mh-msg-or-seq-to-msg-list to get a list
3556 of messages in all circumstances. Also, use mh-coalesce-msg-list
3557 on message list before submitting to forw since this should always
3558 be done when calling a program to reduce the chance of exceeding
3559 command-line limits.
3561 * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
3562 change. A nil msg-or-seq should mean no messages, and Satyaki is
3563 going to use gensym instead of make-symbol.
3564 (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
3565 to a list of message numbers.
3567 * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
3570 * mh-funcs.el (mh-print-msg): Can now print regions, message
3571 lists, sequences and, of course, single messages. This version
3572 works a little differently from the old version. Instead of
3573 calling mhl | lpr once on all messages, mhl | lpr is called once
3574 per message in order to put each message's number in the header.
3575 Thanks to Satyaki for some code and ideas.
3577 * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
3578 can now be nil which means the current message. Make local symbols
3579 so that local variables don't step on user's symbols (the msgs
3582 2003-04-06 Bill Wohler <wohler@newt.com>
3584 * mh-comp.el (mh-forward): Updated docstrings to indicate that a
3585 list of messages is acceptable as well.
3587 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
3588 (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
3590 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3592 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
3594 * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
3595 (mh-interactive-msg-or-seq): Ditto.
3597 2003-04-06 Satyaki Das <satyaki@theforce.stanford.edu>
3599 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
3600 mh-refile-a-msg and mh-delete-a-msg with nil as the message
3601 number since that is more efficient.
3603 * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
3604 handle lists of messages numbers as well.
3605 (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
3608 * mh-funcs.el (mh-copy-msg): Same as above.
3610 * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
3611 mh-refile-a-msg avoids needing to re-search-forward to that
3613 (mh-undo): Fix typo in interactive spec.
3614 (mh-notate-user-sequences): Generalize the function to take a
3615 msg-or-seq as argument.
3616 (mh-delete-msg-from-seq): Extend the function so that it is now
3617 able to subtract messages belonging in one sequence from another.
3618 (mh-undo): Unify the region and sequence handling. The message
3619 number branch of the function does extra stuff, so we can't merge
3622 2003-04-06 Bill Wohler <wohler@newt.com>
3624 * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
3625 consistent verbiage in docstring for msg-or-seq.
3626 (mh-reply): Don't mention default in opening line in all
3629 * mh-e.el (mh-delete-msg, mh-refile-msg)
3630 (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
3631 Inserted consistent verbiage in docstring for msg-or-seq. In
3632 mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
3634 * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
3635 mh-interactive-msg-or-seq. Inserted consistent verbiage in
3636 docstring for msg-or-seq.
3638 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
3639 consistent verbiage in docstring for msg-or-seq.
3641 * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
3642 line in all docstrings.
3643 (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
3644 consistent verbiage in docstring for msg-or-seq.
3646 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
3647 Rewritten to use new mh-interactive-msg-or-seq function and
3648 mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
3649 ability to operate on regions.
3651 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
3652 use new mh-interactive-msg-or-seq function and
3653 mh-iterate-on-msg-or-seq macro thereby gaining the ability to
3654 operate on sequences or regions.
3656 * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
3657 on a message, a region of messages, or a sequence. This macro
3658 should be in all functions that operate on messages to provide a
3660 (mh-interactive-msg-or-seq): New function used in interactive
3661 calls to obtain a message number, region, or sequence. This
3662 function should be in all functions that operate on messages to
3663 provide a uniform interface.
3665 * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
3666 'defun lisp-indent-hook property instead of 1 to fix indentation
3669 2003-04-05 Peter S Galbraith <psg@debian.org>
3671 * mh-loaddefs.el: Regenerated.
3672 * mh-funcs.el (mh-ephem-message): autoload.
3674 2003-04-04 Peter S Galbraith <psg@debian.org>
3676 * mh-e.el (mh-folder-from-address): Minor Fix. Wrong ending of
3679 2003-04-04 Satyaki Das <satyaki@theforce.stanford.edu>
3681 * mh-mime.el (mh-mml-directive-present-p): The regexp has been
3682 modified to recognize directives to encrypt/sign messages.
3684 2003-04-03 Mark D. Baushke <mdb@gnu.org>
3686 * mh-e.el (mh-folder-from-address): E-mail messages missing the
3687 To: field, but which have a Cc: field should also be handled.
3689 2003-04-03 Bill Wohler <wohler@newt.com>
3691 * mh-e.el (mh-inc-folder): Modified the prompt text to read
3694 * mh-comp.el (mh-forward): Deleted local variable `compose'.
3695 Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
3696 (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
3697 obsolete. mh-{mmh|mml}-compose-insert-flag.
3698 (mh-letter-mode): Deleted obsolete setting of
3699 mh-{mmh|mml}-compose-insert-flag.
3700 (mh-send-letter): This function now automatically runs the
3701 directive-to-MIME conversion if any directives are detected,
3702 rather than relying on the unreliable
3703 mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
3706 * mh-identity.el (mh-insert-identity): Use
3707 mh-{mmh|mml}-directive-present-p instead of obsolete.
3708 mh-{mmh|mml}-compose-insert-flag.
3710 * mh-loaddefs.el: Regenerated.
3712 * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
3713 (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
3714 (mh-mml-forward-message, mh-mml-attach-file)
3715 (mh-mml-secure-message-sign-pgpmime)
3716 (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
3717 of mh-{mmh|mml}-compose-insert-flag.
3718 (mh-mml-directive-present-p): Checkdoc fix.
3720 * mh-utils.el (mh-mhn-compose-insert-flag,
3721 mh-mml-compose-insert-flag): Deleted. Replaced by
3722 mh-{mhn|mml}-directive-present-p.
3724 2003-04-03 Mark D. Baushke <mdb@gnu.org>
3726 * mh-e.el (mh-folder-from-address): Fix minor problem with To:
3729 * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
3732 2003-04-03 Peter S Galbraith <psg@debian.org>
3734 * mh-e.el (mh-inc-folder): Add second optional argument for the
3735 folder to inc new mail into instead of mh-inbox.
3737 2003-04-03 Peter S Galbraith <psg@debian.org>
3739 * mh-e.el (mh-folder-from-address): The first match found in
3740 `mh-default-folder-list' is used.
3742 * mh-customize.el (mh-default-folder-list): Tweak docs
3744 2003-04-03 Satyaki Das <satyaki@theforce.stanford.edu>
3746 * mh-loaddefs.el: Regenerated.
3748 * mh-mime.el (mh-mhn-directive-present-p): New function to test if
3749 a MHN directive is present in the current buffer.
3750 (mh-mml-directive-present-p): New function to test if a MML
3751 directive is present in the current buffer.
3753 * mh-comp.el (mh-letter-mode): Originally this function checked if
3754 a #forw directive was present and set mh-mhn-compose-insert-flag
3755 to t. The modification generalizes this test so that one of the
3756 variables mh-{mml|mhn}-compose-insert-flag will get set if we have
3757 any sort of MHN or MML directive is already present.
3759 * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
3760 warnings in CVS version of GNU Emacs.
3762 * mh-utils.el (tool-bar-map): Same as above.
3764 * mh-e.el (tool-bar-map): same as above.
3766 2003-04-02 Satyaki Das <satyaki@theforce.stanford.edu>
3768 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
3769 Change color to match mh-folder-tick-face.
3771 * highlight.xpm: Same as above.
3773 2003-04-02 Peter S Galbraith <psg@debian.org>
3775 * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
3776 for cases against the recipient instead of the originator.
3778 * mh-customize.el (mh-default-folder-list): Add extra boolean flag
3779 to conditionally check the recipient address instead of the
3782 2003-04-02 Peter S Galbraith <psg@debian.org>
3784 * mh-customize.el (mh-folder-tick-face): Change tick highlight
3785 face to a background yellow-green, as suggested by Bill.
3787 2003-04-01 Peter S Galbraith <psg@debian.org>
3789 * highlight.xpm: New icon for mh-toggle-tick.
3791 * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
3793 (mh-xemacs-toolbar-toggle-tick-icon): New constant.
3795 * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
3797 2003-03-31 Satyaki Das <satyaki@theforce.stanford.edu>
3799 * mh-loaddefs.el: Regenerated.
3801 * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
3802 (mh-show-sequence-menu): Add new interactive function
3803 mh-show-narrow-to-tick callable from the show buffer and arrange
3804 for a key binding and a menu entry.
3806 * mh-seq.el (mh-narrow-to-tick): New interactive function that
3807 narrows to the tick sequence.
3809 * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
3810 key binding and a menu entry for mh-narrow-to-tick.
3812 * mh-comp.el (mh-letter-mode): Enable undo since we could be
3813 reusing a show buffer where undo is disabled (closes SF #712777).
3815 2003-03-31 Peter S Galbraith <psg@debian.org>
3817 * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
3819 * mh-utils.el (mh-show-sequence-menu): Add entry for
3820 mh-show-toggle-tick.
3822 2003-03-28 Satyaki Das <satyaki@theforce.stanford.edu>
3824 * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
3825 "S k" then the highlighting wasn't getting removed. The change
3828 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
3830 * mh-e.el (mh-notate-user-sequences): Extend it so that only the
3831 messages in a part of the folder are notated.
3832 (mh-delete-msg-from-seq): Extend it so that it will delete all
3833 messages in the marked region.
3834 (mh-delete-a-msg-from-seq): New function that deletes a single
3835 message from a sequence.
3836 (mh-clear-text-properties): If there is a ticked unseen message
3837 and the message is removed from the unseen list with "S d" then
3838 unticking the message doesn't change the highlight. This change
3841 2003-03-27 Peter S Galbraith <psg@debian.org>
3843 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
3844 24x24 icons, changing background only.
3846 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
3848 * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
3849 variable buffer-exists.
3850 (mh-spamassassin-identify-spammers): Remove unused variable user.
3852 * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
3855 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3857 * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
3858 condition when messages from the last source folder had been
3859 removed was incorrect. This caused a folder header to appear
3860 without any messages listed under it. This change fixes this.
3861 (mh-thread-forget-message): Remove the entry from the scan line
3862 table as well. This is needed for proper display of threaded view
3865 2003-03-26 Bill Wohler <wohler@newt.com>
3867 * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
3868 mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
3869 mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
3870 mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
3871 mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
3872 (closes SF #680731).
3875 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3877 * mh-index.el: Fix commentary to mention that mairix is supported
3880 * mh-loaddefs.el: Regenerated.
3882 * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
3883 Interactive functions callable from the show buffer.
3884 (mh-show-junk-map): Key bindings in show mode.
3886 * mh-e.el (mh-junk-map): Key bindings to call spam program.
3887 (mh-help-messages): Update help text.
3889 * mh-customize.el (mh-junk): New customization group for spam
3891 (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
3892 Functions and variables that decide which junk program is used.
3893 (mh-junk-program, mh-junk-mail-folder): User customizable
3894 variables that control the choice of spam program and the action
3895 performed on received spam.
3897 * Makefile (MH-E-SRC): Add mh-junk.el.
3899 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3901 * mh-loaddefs.el: Regenerated.
3903 * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
3904 interactive function callable from the show buffer and a key
3907 * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
3908 (mh-put-msg-in-seq): Disable adding messages to tick sequence.
3909 (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
3910 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
3911 (mh-toggle-tick): New functions to highlight/unhighlight tick
3912 sequence and the interactive function that is used to toggle
3915 * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
3916 that remembers if we are narrowed to the tick sequence. In that
3917 case the highlighting isn't shown, since it adds no extra info.
3918 (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
3919 (mh-notate-user-sequences): Notate the tick sequence.
3920 (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
3921 (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
3922 (mh-folder-mode-map): Add key binding for "'"
3924 * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
3925 customizable variables that contain the name of the tick sequence
3926 and the face to use to highlight it.
3928 2003-03-25 Satyaki Das <satyaki@theforce.stanford.edu>
3930 * mh-loaddefs.el: Regenerated.
3932 * mh-seq.el (mh-thread-print-scan-lines): New function which
3933 prints out thread tree. It maintains the original folder info if
3934 the folder was created by index search (closes SF #709672).
3935 (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
3936 factored out function mh-thread-print-scan-lines.
3937 (mh-toggle-threads): Since threading is allowed in index folders
3938 there can be lines in the folder which aren't valid message scan
3939 lines. So it is OK for mh-get-msg-num to fail once in a while.
3941 * mh-index.el (mh-index-update-maps): Make the parsing of messages
3942 that need to annotated with the X-MHE-Checksum header more robust.
3943 If the search yielded no results then an error was being produced.
3944 (mh-index-search): Enable automatic threading of index folders if
3945 mh-show-threads-flag is non-nil (closes SF #709667).
3946 (mh-index-next-folder): Relax error checking since index folder
3947 can be threaded while the source folder info is visible.
3948 (mh-index-group-by-folder): New function that is used in
3949 mh-thread-folder to keep source folder info visible during
3952 2003-03-25 Bill Wohler <wohler@newt.com>
3954 * mh-loaddefs.el: Regenerated.
3956 * mh-customize.el (mh-index-new-messages-folders): New variable
3957 that controls which folders "F n (mh-index-new-messages)"
3958 accesses. Was mh-flists-search-folders.
3960 * mh-index.el (mh-flists-search-folders): Still used internally,
3961 but users now use new option mh-index-new-messages-folders.
3962 Removed documentation since to avoid duplication with
3963 mh-index-new-messages-folders.
3964 (mh-flists-recursive-search-flag): Deleted. Use
3965 mh-recursive-folders-flag instead.
3966 (mh-flists-execute): Updated docs to specify which global
3967 variables are used. Use mh-recursive-folders-flag instead of
3968 mh-flists-recursive-search-flag.
3969 (mh-index-new-messages): Edited doc, and refer to new option
3970 mh-index-new-messages-folders. Ditto within code. Don't need to
3971 prepend + to folder name as flists does that for us. Use
3973 2003-03-24 Satyaki Das <satyaki@theforce.stanford.edu>
3975 * mh-e.el (mh-refile-msg): Add optional argument that controls
3976 whether mh-last-destination-folder is updated or not.
3978 2003-03-22 Satyaki Das <satyaki@theforce.stanford.edu>
3980 * mh-customize.el (mh-tool-bar-define): Fix a problem in the
3981 XEmacs version which caused the show mode toolbar to have the
3982 buttons in the reverse order. Also the add-hooks are no longer
3983 needed since mh-toolbar-init is called in the appropriate modes.
3985 * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
3988 * mh-utils.el (mh-show-mode): Same as above.
3990 * mh-e.el (mh-folder-mode): Same as above.
3992 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
3994 * mh-utils.el (mh-exec-cmd-env-daemon): New function which
3995 executes a command asynchronously with its own environment.
3997 * mh-comp.el (mh-redistribute): The function has been modified so
3998 that /bin/sh isn't used to run send. It has also been refactored
3999 so that the same code isn't repeated.
4001 2003-03-21 Bill Wohler <wohler@newt.com>
4003 * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
4006 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4008 * mh-loaddefs.el: Regenerated.
4010 * mh-xemacs-toolbar.el: Remove the code since that gets generated
4011 when mh-tool-bar-define is expanded.
4012 (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
4013 actual icons to be used in XEmacs. This is used in
4016 * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
4017 (mh-tool-bar-item-*): All these constants have been removed since
4018 they aren't needed in the new scheme.
4019 (mh-tool-bar-reply-3-buttons-flag): This variable has been
4021 (mh-tool-bar-search-function): This is now used in XEmacs as well.
4022 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
4023 (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
4024 (mh-tool-bar-letter-set): These functions aren't defined at the
4026 (mh-tool-bar-reply-generator): A macro to generate the required
4027 functions for the three reply buttons.
4028 (mh-tool-bar-search, mh-tool-bar-customize)
4029 (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
4030 (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
4031 (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
4032 (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
4033 interactive functions that are called when tool bar buttons are
4035 (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
4036 Additional customizable variables that are present only for
4038 (mh-tool-bar-define): A macro that generates the required code
4039 for GNU Emacs and XEmacs tool bar.
4040 (mh-tool-bar-define): Define the MH-E tool bar.
4042 2003-03-17 Satyaki Das <satyaki@theforce.stanford.edu>
4044 * mh-seq.el (mh-notate-cur): Notate current message only if it
4045 hasn't been marked for deletion or refiling.
4047 2003-03-15 Bill Wohler <wohler@newt.com>
4049 * mh-customize.el (mh-invisible-header-fields): Added
4050 X-Spam-Checker-Version.
4051 (mh-auto-fields-list): checkdoc fix.
4053 2003-03-12 Satyaki Das <satyaki@theforce.stanford.edu>
4055 * mh-index.el (mh-index-new-messages): If the destination folder
4056 where the unseen messages are supposed to be copied to was
4057 already present, but MH-E doesn't have it open, then a new folder
4058 was being created. The change fixes this.
4059 (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
4062 * mh-loaddefs.el: Regenerated.
4064 2003-03-11 Satyaki Das <satyaki@theforce.stanford.edu>
4066 * mh-index.el (mh-flists-results-folder): Subfolder under
4067 +mhe-index where the results of the flists call is put.
4068 (mh-index-generate-pretty-name): Make sure that normal index
4069 searching will never use the folder reserved for the flists
4071 (mh-index-search): Add an extra parameter that marks all the
4072 messages in the index folder to the unseen sequence.
4073 (mh-index-update-unseen): Function to keep unseen sequence of
4074 index folder synced with the actual folders from where the
4075 messages were copied. This works only if the unseen messages are
4076 displayed with mh-show. Killing the unseen sequence in the index
4077 folder or adding/removing messages to it doesn't change the
4078 unseen sequence in the source folders yet.
4079 (mh-flists-search-folders): Variable that decides the folders on
4080 which flists is run.
4081 (mh-flists-recursive-search-flag): If non-nil, flists is passed
4082 the -recurse option.
4083 (mh-flists-execute): Function which uses /bin/sh to execute
4084 flists and then print out the list of message files that match.
4085 (mh-index-new-messages): New interactive function which searches
4086 for messages in the unseen sequence (closes SF #701756).
4088 * mh-utils.el (mh-show-folder-map): Add binding for
4089 mh-index-new-messages.
4090 (mh-show-msg): Update the unseen sequence in the source folder.
4092 * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
4093 the end of buffer is reached when there isn't a valid scan line
4094 on the current line. This doesn't work in the index folder since
4095 we have lines containing the folder name and empty lines in
4096 between the actual scan lines. The modification removes this
4098 (mh-folder-map): Add key binding for "Fn"
4100 * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
4101 not at the beginning of the line, then the first message in the
4102 region would be missed. The fix avoids this.
4104 * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
4105 we don't have the right libraries.
4107 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4109 * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
4110 (mh-next-msg): Add optional argument wait-after-complaining-flag.
4111 If non-nil and there are no undeleted messages after (or before)
4112 the current one, then pause for a second after printing out the
4114 (mh-refile-or-write-again): Modify call to mh-next-msg to use the
4115 wait-after-complaining-flag.
4117 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4119 * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
4120 a message to go to it prints out a diagnostic, which overwrites
4121 the diagnostic about the folder the message was refiled to. The
4124 2003-03-09 Satyaki Das <satyaki@theforce.stanford.edu>
4126 * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
4127 mh-narrowed-to-seq before notating sequences. This is a bit
4128 helpful for mh-tick.el.
4129 (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
4130 be notated -- the original code was doing the right thing only for
4131 the "unseen" sequence.
4133 * mh-index.el (mh-index-choose): Add autoload cookie for
4134 mh-index-choose. This is needed for GNU Emacs 20.5.
4136 * mh-loaddefs.el: Regenerated.
4138 2003-03-09 Bill Wohler <wohler@newt.com>
4140 * mh-mime.el (mh-display-smileys): This function originally had a
4141 test to see if font-lock-maximum-size was bound, but this was
4142 recently removed. The test was put in for a reason; if
4143 font-lock-maximum-size isn't bound, void-variable errors would
4144 ensue. I put the bound test back in.
4146 2003-03-08 Steve Youngs <youngs@xemacs.org>
4148 * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
4151 2003-03-07 Satyaki Das <satyaki@theforce.stanford.edu>
4153 * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
4154 Emacs, so that we don't get so many compiler warnings. Also
4155 surround calls to set-specifier and toolbar-make-button-list with
4156 mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
4157 this file in the first place.
4159 * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
4160 mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
4161 (mh-xemacs-push-button): Removed.
4163 * mh-mime.el (mh-mime-button-map): Use the generalized
4164 mh-push-button function.
4165 (mh-push-button): Enhance it so that it works on XEmacs too.
4167 2003-03-08 Steve Youngs <youngs@xemacs.org>
4169 * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
4171 (mh-modeline-glyph): Use it.
4173 2003-03-08 Steve Youngs <youngs@xemacs.org>
4175 * mh-xemacs-toolbar.el: New file that defines and displays a
4178 * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
4180 * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
4182 * mh-customize.el (mh-toolbar):
4183 (mh-tool-bar-letter-buttons):
4184 (mh-tool-bar-letter-buttons-set):
4185 (mh-tool-bar-folder-buttons):
4186 (mh-tool-bar-folder-buttons-set):
4187 (mh-tool-bar-search-function):
4188 (mh-tool-bar-reply-3-buttons-flag):
4189 (mh-tool-bar-item-inc):
4190 (mh-tool-bar-item-save-mime):
4191 (mh-tool-bar-item-prev-msg):
4192 (mh-tool-bar-item-page-msg):
4193 (mh-tool-bar-item-next-msg):
4194 (mh-tool-bar-item-delete):
4195 (mh-tool-bar-item-refile):
4196 (mh-tool-bar-item-undo):
4197 (mh-tool-bar-item-perform):
4198 (mh-tool-bar-item-toggle-show):
4199 (mh-tool-bar-item-reply-from):
4200 (mh-tool-bar-item-reply-to):
4201 (mh-tool-bar-item-reply-all):
4202 (mh-tool-bar-item-reply):
4203 (mh-tool-bar-item-alias):
4204 (mh-tool-bar-item-compose):
4205 (mh-tool-bar-item-rescan):
4206 (mh-tool-bar-item-repack):
4207 (mh-tool-bar-item-search):
4208 (mh-tool-bar-item-visit):
4209 (mh-tool-bar-item-prefs):
4210 (mh-tool-bar-item-help):
4211 (mh-tool-bar-item-widen):
4212 (mh-tool-bar-item-send):
4213 (mh-tool-bar-item-attach):
4214 (mh-tool-bar-item-spell):
4215 (mh-tool-bar-item-save):
4216 (mh-tool-bar-item-undo-op):
4217 (mh-tool-bar-item-kill):
4218 (mh-tool-bar-item-copy):
4219 (mh-tool-bar-item-paste):
4220 (mh-tool-bar-item-kill-draft):
4221 (mh-tool-bar-item-comp-prefs):
4222 The MH-E toolbar for XEmacs is defined differently from the
4223 GNU/Emacs version, so only define these if we're in GNU/Emacs.
4224 XEmacs doesn't need to see them and it's always good to cut down
4227 2003-03-08 Steve Youngs <youngs@xemacs.org>
4229 * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
4230 `mh-xemacs-push-button' in XEmacs.
4231 (mh-mime-security-button-map): Ditto.
4233 * mh-xemacs-compat.el: Shush the byte-compiler.
4234 (mh-xemacs-push-button): New function to make MIME buttons work in
4237 2003-03-08 Steve Youngs <youngs@xemacs.org>
4239 * mh-mime.el (mh-display-emphasis): Don't test
4240 `font-lock-maximum-size' to see if it is bound, just test for a
4241 non-nil value. This variable can have a nil value which makes it
4242 bound and dividing nil by 8 throws an error.
4243 This fixes a bug in MH-E under XEmacs when
4244 `font-lock-maximum-size' is nil that prevented article emphasis
4245 and smiley display which in turn was causing the "Flush changes in
4246 article x y/n" errors.
4247 (mh-display-smileys): Ditto.
4249 2003-03-08 Steve Youngs <youngs@xemacs.org>
4251 * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
4253 * mh-xemacs-compat.el (mh-modeline-glyph): New. The MH-E modeline
4256 2003-03-06 Satyaki Das <satyaki@theforce.stanford.edu>
4258 * mh-utils.el (mh-allow-root-folder-flag): New global variable
4259 that decides if "+" is an acceptable folder name.
4260 (mh-folder-completion-function): Refine the test for existing
4261 folders to take mh-allow-root-folder-flag into account.
4262 (mh-folder-completing-read, mh-prompt-for-folder): Use the
4263 allow-root-folder-flag argument of mh-prompt-for-folder and add a
4264 similar argument to mh-folder-completing-read.
4265 (mh-exec-cmd-error): Make the function nicer by using
4266 process-environment to pass the environment variable assignments.
4268 2003-03-05 Satyaki Das <satyaki@theforce.stanford.edu>
4270 * mh-mime.el (mh-push-button): Preserve point in the show buffer
4271 if the mouse is used to expand/contract a button.
4273 * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
4276 * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
4277 X-Image-URL header field.
4279 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4281 * mh-utils.el (mh-face-display-function): Modified to facilitate
4282 display of X-Image-URL images.
4283 (mh-find-path): Initialize X-Image-URL cache directory.
4284 (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
4285 (mh-x-image-scale-and-display, mh-x-image-url-display)
4286 (mh-x-image-display): New functions for X-Image-URL image display
4287 and cache management.
4289 * mh-customize.el (mh-show-use-xface-flag): Add info about
4290 requirements for X-Image-URL display.
4291 (mh-fetch-x-image-url): New customizable variable that controls
4292 fetching of X-Image-URL.
4294 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4296 * mh-utils.el (mh-make-local-hook): New macro which works around
4297 API changes in add-hook. Version of GNU Emacs before 21.1 and
4298 XEmacs require a call to make-local-hook and just the LOCAL
4299 argument of add-hook is not sufficient.
4300 (mh-show-mode): Make kill-buffer-hook buffer local.
4302 * mh-e.el (mh-folder-mode): Same as above.
4304 * mh-comp.el (mh-compose-and-send-mail): Same as above.
4306 2003-03-02 Satyaki Das <satyaki@theforce.stanford.edu>
4308 * mh-mime.el (mh-push-button): Clicking on a MIME button used to
4309 cause the window with the show buffer to be selected. With this
4310 change the selected window doesn't change.
4312 2003-03-01 Satyaki Das <satyaki@theforce.stanford.edu>
4314 * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
4315 When flists is called manually, or when an unseen message is read,
4316 mh-speed-partial-line was not reinitialized.
4318 * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
4319 the folder currently being visited (effectively doing a rescan)
4320 then mh-previous-window-config is erroneously set. The change
4323 * mh-customize.el (mh-index-show-hook): Remove unused variable.
4325 2003-02-28 Satyaki Das <satyaki@theforce.stanford.edu>
4327 * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
4328 only after the user has replied to question. This avoids premature
4329 clearing of the folder.
4330 (mh-rescan-folder, mh-visit-folder): Remove calls to
4331 mh-reset-threads-and-narrowing since it is now called in
4332 mh-scan-folder anyway.
4334 * mh-funcs.el (mh-sort-folder): Same as above.
4336 2003-02-26 Satyaki Das <satyaki@theforce.stanford.edu>
4338 * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
4339 so that it is different from the empty list, which could also
4340 mean that there are no aliases.
4341 (mh-alias-reload-maybe): Change test so that empty alist of
4342 aliases is properly handled (closes SF #693859).
4344 2003-02-25 Satyaki Das <satyaki@theforce.stanford.edu>
4346 * mh-mime.el (mh-decode-message-header): The message header could
4347 be encoded, for instance the author's name could contain
4348 characters not in ASCII. This function will decode such header
4350 (mh-mm-inline-message): Use mh-decode-message-header.
4352 * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
4353 (mh-message-number-width): Use mh-scan-prog instead of "scan".
4355 * mh-loaddefs.el: Regenerated.
4357 2003-02-24 Satyaki Das <satyaki@theforce.stanford.edu>
4359 * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
4360 function will do the right thing even if called from a buffer
4361 other than mh-log-buffer.
4363 2003-02-22 Peter S Galbraith <psg@debian.org>
4365 * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
4366 This functions needs to strip brackets on standalone addresses as
4369 2003-02-21 Satyaki Das <satyaki@theforce.stanford.edu>
4371 * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
4372 definition since it isn't used any more.
4374 2003-02-20 Peter S Galbraith <psg@debian.org>
4376 * mh-alias.el (mh-alias-which-file-has-alias): Bug fix. Needed to
4377 specify `noerror' on search.
4379 * mh-alias.el (mh-alias-suggest-alias): Add condition for input
4380 string being an email address in brackets. We need to strip out
4381 the brackets. (closes SF #690216)
4383 2003-02-20 Satyaki Das <satyaki@theforce.stanford.edu>
4385 * mh-pick.el (mh-search-folder): The function was setting the
4386 global value of the variables mh-current-folder and
4387 mh-previous-window-config. This can lead to problems in code which
4388 assumes that these variables are nil when we aren't in a folder
4389 buffer. So make the variables local before setting them.
4391 2003-02-19 Satyaki Das <satyaki@theforce.stanford.edu>
4393 * mh-mime.el (mh-mime-display): All the MIME display code has been
4394 wrapped in a condition-case so that if something goes wrong, the
4395 raw message will be displayed.
4397 * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
4400 * mh-e.el (mh-scan-folder): Messages marked for deletion or
4401 refiling weren't getting annotated properly. The change fixes
4403 (mh-process-or-undo-commands): Change prompt to reflect what
4404 really happens in the code.
4406 2003-02-18 Satyaki Das <satyaki@theforce.stanford.edu>
4408 * mh-comp.el (mh-folder-expand-at-point): The function
4409 mail-abbrev-complete-alias often returns nil. This had the
4410 unfortunate consequence of always causing an error. The change
4413 * mh-alias.el (mh-alias-canonicalize-suggestion): New function
4414 which obviates the our need replace-regexp-in-string.
4415 (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
4416 eliminate calls to replace-regexp-in-string. This avoids problems
4419 * mh-utils.el (mh-notate): Handle the case when nil is passed as
4420 notation gracefully.
4421 (mh-speed-flists-active-p): New function that returns non-nil if
4422 flists is being used in the speedbar to update message counts.
4424 * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
4425 impossible to add messages to the unseen sequence. Also adding
4426 messages to the unseen sequence will now update the speedbar
4427 message counts immediately.
4429 * mh-e.el (mh-get-new-mail, mh-process-commands)
4430 (mh-undefine-sequence): Update speedbar message counts, if the
4431 speedbar is active and is displaying message counts.
4432 (mh-delete-msg-from-seq): In addition to updating message counts,
4433 unhighlight the message so that interactively removing messages
4434 from the unseen sequence makes the bold highlight of unseen
4435 messages in the scan buffer go away.
4436 (mh-clear-text-properties): New function that removes all text
4437 properties from the current scan line.
4439 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4441 * mh-utils.el (mh-face-display-function): Wrap call of
4442 insert-image in mh-funcall-if-exists. This avoids a compiler
4445 * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
4446 compiler warning in Emacs20.
4447 (mh-speedbar-change-expand-button-char): Wrap call of
4448 speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
4449 function isn't present in the speedbar that ships with Emacs20, so
4450 calling it there causes an error.
4452 * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
4453 compiler warning in XEmacs. The XEmacs compiler should be improved
4454 so that such spurious warnings from builtin macros are suppressed.
4456 * mh-index.el (mh-index-search): Same as above.
4458 * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
4461 * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
4462 will get it and then MH-E will just use it.
4463 (tool-bar-mode, tool-bar-map): These declarations are needed for
4465 (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
4466 Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
4467 can be used instead.
4469 * mh-alias.el (require): Avoid autoloading functions that may not
4471 (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
4472 mh-funcall-if-exists.
4474 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4476 * mh-loaddefs.el: Regenerated.
4478 * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
4479 (mh-speed-toggle): Reuse markers instead of creating more of them.
4480 (mh-speed-flists-folder, mh-speed-flists): Add optional folder
4481 argument to mh-speed-flists so that message counts are updated
4482 only for that one folder.
4483 (mh-speed-parse-flists-output): If no change in counts then avoid
4486 * mh-index.el (mh-index-execute): Rewritten to use a temporary
4487 buffer that is not left behind.
4489 * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
4490 special purpose *Store Output* buffer.
4492 2003-02-14 Satyaki Das <satyaki@theforce.stanford.edu>
4494 * mh-customize.el (mh-show-xface-face): Make it always be black
4495 foreground on a white background (the reverse of that can make
4496 some X-Face images look creepy).
4498 * mh-utils.el (mh-truncate-log-buffer): Modify the function to
4499 return the current size of mh-log-buffer. Also we are now a bit
4500 more careful in adding separators between consecutive messages.
4501 (mh-exec-cmd): Fix a bug where the the log buffer would be
4502 displayed even if no error happened in the current command but
4503 the log buffer had messages from a previous error.
4505 * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
4508 * mh-alias.el (mh-alias-local-users): Add a space between parens.
4510 2003-02-14 Steve Youngs <youngs@xemacs.org>
4512 * mh-utils.el (mh-face-display-function): Call
4513 `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
4515 * mh-xemacs-compat.el (replace-regexp-in-string): New.
4517 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4519 * mh-utils.el (mh-log-buffer-lines): New variable that keeps
4520 track of the number of lines to keep in mh-log-buffer.
4521 (mh-truncate-log-buffer): New function that is used to make sure
4522 that the log buffer doesn't grow to unbounded size.
4523 (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
4524 mh-truncate-log-buffer instead of erase-buffer to keep some
4525 number of previous log messages around (closes SF #685476).
4527 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4529 * mh-e.el (tool-bar-mode): Declare it in XEmacs.
4530 (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
4532 * mh-utils.el (mh-funcall-if-exists): New macro that calls a
4533 function only if it exists.
4534 (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
4535 to call the functions find-image and deactivate-mark.
4537 * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
4538 (mh-mm-display-part): Use mh-funcall-if-exists to call the
4539 functions image-size and remove-images.
4541 * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
4543 (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
4544 mail-abbrev-complete-alias if it exists.
4546 * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
4547 future extensibility.
4549 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4551 * mh-utils.el (mh-logo-display): The function find-image is
4552 present only in GNU Emacs.
4553 (mh-defun-show-buffer): The function deactivate-mark is present
4555 (default-enable-multibyte-characters): Declare it in XEmacs to
4556 avoid compiler warning.
4557 (mh-face-display-function): Avoid inserting space if there isn't
4558 any Face or X-Face header field to display.
4560 * mh-seq.el (mh-thread-last-ancestor): Move declaration of
4561 variable before its first use to silence XEmacs warning.
4563 * mh-mime.el (default-enable-multibyte-characters, dots, type):
4564 Declare these in XEmacs to remove compiler warnings in XEmacs.
4565 (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
4567 (mh-small-image-p): Call image-size only in GNU Emacs.
4569 * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
4571 (mh-swish++-regexp-builder): Remove the unused binding meta.
4573 * mh-e.el (mh-folder-size): Pass on an extra value to remove
4575 (mh-folder-mode): Surround calls to hl-line-mode and
4576 tool-bar-mode with mh-do-in-gnu-emacs since these functions
4577 aren't present in XEmacs.
4579 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
4580 (mh-tool-bar-folder-set): These functions call tool-bar-*
4581 functions which are present only in GNU Emacs. So surround them
4582 with mh-do-in-gnu-emacs.
4584 * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
4585 call these functions in GNU Emacs.
4586 (mail-abbrevs): Declare it in XEmacs.
4588 * mh-alias.el (mh-read-address): Call completing-read-multiple
4590 (mail-abbrevs): Declare it in XEmacs.
4591 (mh-alias-add-alias-to-file): Remove unused code.
4593 2003-02-14 Ville Skyttä <scop@xemacs.org>
4595 * mh-comp.el: Add autoloaded auto-mode-alist association.
4597 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4599 * mh-utils.el (mh-face-display-function): Make the XEmacs part a
4602 2003-02-14 Steve Youngs <youngs@xemacs.org>
4604 * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
4605 ':inherit' keyword for defface, rewrite with sane defaults.
4607 * mh-utils.el (mh-face-display-function): Fix bug that was
4608 corrupting xface images when displayed with XEmacs' internal
4609 xface image support. Also make XEmacs honour 'mh-show-xface-face'
4610 when using internal xface image support.
4612 2003-02-12 Peter S Galbraith <psg@debian.org>
4614 * mh-comp.el (mh-modify-header-field): New function. To header
4615 FIELD add VALUE. If OVERWRITE-FLAG is non-nil then the old value,
4616 if present, is discarded. This is more flexible than before.
4617 (mh-insert-auto-fields): Use it. This and the new function are a
4618 courtesy of Satyaki. Thanks!
4620 * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
4623 2003-02-12 Satyaki Das <satyaki@theforce.stanford.edu>
4625 * mh-comp.el (mh-folder-expand-at-point): Tweak the error
4626 message. Completion in the Fcc header field is only supported in
4629 2003-02-12 Peter S Galbraith <psg@debian.org>
4631 * mh-customize.el (mh-auto-fields-list): Reorder after
4632 `mh-identity-list' since it needs it to be defined. Move to
4633 mh-identity customization group.
4635 2003-02-11 Peter S Galbraith <psg@debian.org>
4637 * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
4639 (mh-insert-mail-followup-to-list): Removed. Obsolete. Use
4640 `mh-auto-fields-list' instead, which is a more general solution.
4641 (mh-auto-fields-list): New defcustom. Alist of addresses for
4642 which header lines are automatically inserted. Replaces
4643 `mh-insert-mail-followup-to-list'.
4645 * mh-comp.el (mh-insert-mail-followup-to): Removed. Obsolete.
4646 (mh-insert-auto-fields): New function. Insert custom fields if To
4647 or Cc match `mh-auto-fields-list', replacing
4648 mh-insert-mail-followup-to with a more general solution.
4649 (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
4650 mh-insert-mail-followup-to. Also don't call mh-insert-identity to
4651 insert default setting if mh-insert-auto-fields inserted an
4654 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
4656 * mh-utils.el (mh-show-xface-function): Try to load the external
4657 x-face library only if XEmacs doesn't have xface support.
4658 (mh-face-display-function): Renamed. Also handle various
4659 permutations of x-face and xface support in XEmacs better.
4661 * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
4662 major version is greater than or equal to 21 supports display of
4663 X-Face and Face header fields.
4665 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
4667 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
4668 execute code only in GNU Emacs and XEmacs respectively.
4669 (mh-emacs21-face-display-function): Refactor to make it slightly
4670 nicer. Get rid of compiler warnings in GNU Emacs by using the
4671 above macros. Also check for presence of xface feature (in XEmacs
4672 specific code) before trying to display X-Face header field image.
4674 2003-02-11 Steve Youngs <youngs@xemacs.org>
4676 * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
4677 can't find the external x-face pkg still enable X-Face images if
4678 feature 'xface is present.
4679 Update the doc string.
4681 * mh-utils.el (mh-emacs21-face-display-function): Make it work in
4683 (mh-show-xface-function): If using XEmacs without xface support,
4684 use x-face.el pkg. If using XEmacs with xface support, or Emacs
4685 21, use mh-emacs21-face-display-function.
4687 2003-02-11 Mark D. Baushke <mdb@gnu.org>
4689 * mh-customize.el (mh-invisible-header-fields): Add
4690 "X-Notes-Item:" which is generated by Lotus Notes Domino. See
4691 URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
4692 /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
4693 ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
4694 users may disable (restore the default) generation of these headers.
4696 2003-02-10 Satyaki Das <satyaki@theforce.stanford.edu>
4698 * mh-comp.el (mh-folder-expand-at-point): Add function doc string
4699 and produce a nicer error message for Emacs versions that lack
4700 mail-abbrev-complete-alias.
4702 * mh-utils.el (mh-handle-process-error): Check doc fix.
4704 * mh-e.el (mh-folder-from-address): Same as above.
4706 2003-02-10 Peter S Galbraith <psg@debian.org>
4708 * mh-comp.el: require mailabbrev, except in XEmacs.
4709 (mh-mail-abbrev-make-syntax-table): New defmacro to call
4710 mail-abbrev-make-syntax-table introduced in Emacs21.
4711 (mh-folder-expand-at-point): Handle nested folders.
4712 All of the above was written by Satyaki. I just applied the patch
4715 2003-02-09 Satyaki Das <satyaki@theforce.stanford.edu>
4717 * mh-comp.el: Fixes to keep the byte compiler happy.
4719 * mh-customize.el (mh-invisible-header-fields): Modified to
4720 remove space after ":" in header field names.
4722 2003-02-09 Peter S Galbraith <psg@mixed.dyndns.org>
4724 * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
4725 (mh-folder-expand-at-point): Do completion at point for folder
4726 name. Like `mh-alias-letter-expand-alias' for aliases, it doesn't
4727 work on XEmacs because it relies on `mail-abbrev-complete-alias'
4728 to do completion. Maybe Steve could update XEmacs' mailabbrev.el?
4730 2003-02-09 Peter S Galbraith <psg@debian.org>
4732 * mh-customize.el (mh-invisible-header-fields): Remove trailing
4733 space in "X-Face: " and "Face: " entries since those line often
4736 2003-02-08 Satyaki Das <satyaki@theforce.stanford.edu>
4738 * mh-utils.el (mh-emacs21-face-display-function): Use
4739 mh-show-xface-face to colorize X-Face image.
4741 * mh-customize.el (mh-invisible-header-fields): Add extra headers
4743 (mh-show-xface-face): Allow customization of the X-Face colors.
4745 2003-02-07 Satyaki Das <satyaki@theforce.stanford.edu>
4747 * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
4748 the path of the uncompface executable so that we don't need to
4749 search for it every time.
4750 (mh-emacs21-face-display-function): If more than one X-Face (or
4751 Face) header field was present then the fields would get
4752 concatenated, leading to garbled output. The change only displays
4755 * mh-customize.el (mh-x-face-file): Change documentation since it
4756 can now be used to insert a Face header field.
4758 * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
4759 of Face header field.
4761 2003-02-06 Bill Wohler <wohler@newt.com>
4763 * mh-utils.el (mh-emacs21-face-display-function): Updated
4764 docstring. It is a common mistake to refer to a header field as a
4765 header. The term header refers to the entire header while the term
4766 header field refers to a single field.
4768 * mh-customize.el (mh-show-use-xface-flag): Ditto.
4770 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
4772 * mh-utils.el (mh-show-xface-function): Modified to use
4773 mh-emacs21-face-display-function if we are running GNU Emacs 21.
4774 (mh-face-to-png): New function to convert a Face header to a png
4776 (mh-uncompface): New function which converts an X-Face header to
4778 (mh-icontopbm): New function that does the job of icontopbm.
4779 (mh-emacs21-face-display-function): New function that displays
4780 Face/X-Face image in GNU Emacs 21.
4781 (mh-show-xface): Modified to test if we are running in X.
4782 Otherwise face display is suppressed.
4784 * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
4785 MH-E supports face display natively on Emacs 21. Also remove the
4786 check for window-system since it doesn't belong in a customizable
4789 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
4791 * mh-utils.el (sendmail): Require it so that XEmacs can find
4793 (mh-mail-header-end): A substitute for mail-header-end that
4794 doesn't widen the buffer. This is essential to avoid problems when
4795 dealing with nested messages.
4796 (mh-in-header-p, mh-letter-header-font-lock)
4797 (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
4798 (mh-show-unquote-From): Use mh-mail-header-end instead of
4801 * mh-mime.el (mh-decode-message-body): same as above (closes SF
4804 * mh-comp.el (mh-yank-cur-msg): same as above.
4806 2003-02-05 Satyaki Das <satyaki@theforce.stanford.edu>
4808 * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
4809 headers are cleaned. This means that any surviving X-Face header
4810 can be removed unconditionally in mh-clean-msg-header.
4811 (mh-clean-msg-header): Since the function is now called with a
4812 read-only buffer, make the buffer temporarily writable.
4814 * mh-mime.el (mh-mm-inline-message): Do X-Face display before
4815 invisible headers are removed.
4817 * mh-customize.el (mh-invisible-headers): Simplified since the
4818 X-Face header isn't treated specially any more.
4819 (mh-invisible-header-fields): Add Face: and X-Face: to list of
4822 * mh-mime.el (mh-mime-display): If body is empty the headers would
4823 be treated like the body. The change fixes this (closes SF #681162).
4824 (mh-mime-display): This change really fixes the above problem.
4826 2003-02-04 Satyaki Das <satyaki@theforce.stanford.edu>
4828 * mh-utils.el (mh-current-folder-name): Global variable that
4829 keeps track of current folder.
4830 (mh-normalize-folder-name): Substitute @ with
4831 mh-current-folder-name (closes SF #666774).
4832 (mh-prompt-for-folder): Bind mh-current-folder-name. Also
4833 invalidate cache if we are visiting a folder that wasn't found in
4834 the sub-folder cache. This is an indication that folders may have
4835 been created outside of MH-E and so the cache may be stale.
4837 2003-02-03 Satyaki Das <satyaki@theforce.stanford.edu>
4839 * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
4840 (mh-display-msg): Remove the use of the above function.
4841 (mh-normalize-folder-name): Leading "/" characters were being
4842 lost. The change fixes this (closes SF #676890).
4844 * mh-mime.el (mh-decode-message-body): New function, factored out
4845 from mh-mime-display and enhanced, to decode message based on
4846 charset and content-transfer-encoding. This eliminates the need
4847 for the external mimencode (closes SF #674857).
4848 (mh-mime-display): Use mh-decode-message-body.
4850 * mh-e.el (mh-header-display): Don't need the binding since the
4851 variable isn't present any more.
4852 (mh-inc-folder): Avoid calling mh-show if point is not on a valid
4853 scan line (closes SF #678115).
4856 (mh-decode-content-transfer-encoded-message-flag): Removed.
4858 2003-02-03 Bill Wohler <wohler@newt.com>
4860 * import-emacs: MH-E now has its own directory in Emacs.
4862 * mh-e.el: (mh-version): Set to 7.2+cvs.
4864 2003-02-03 Bill Wohler <wohler@newt.com>
4866 * Released MH-E version 7.2.
4868 * MH-E-NEWS, README: Updated for release 7.2.
4870 * mh-e.el (Version, mh-version): Updated for release 7.2.
4872 2003-02-03 Bill Wohler <wohler@newt.com>
4874 * Makefile (dist): mkdir needs to happen *before* files are
4877 * MH-E-NEWS: Fixed some awkward verbiage.
4879 2003-02-02 Bill Wohler <wohler@newt.com>
4881 * mh-customize.el (mh-invisible-headers): Surround regexp-opt
4882 expression in parens to avoid problems viewing certain messages.
4884 2003-01-30 Satyaki Das <satyaki@theforce.stanford.edu>
4886 * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
4887 The original was inadvertently searching for flists in the user's
4890 2003-01-27 Bill Wohler <wohler@newt.com>
4892 * mh-customize.el (mh-default-folder-must-exist-flag): Changed
4893 default to t according to the principle of least surprise.
4895 2003-01-26 Bill Wohler <wohler@newt.com>
4897 * mh-utils.el: Checkdoc fixes.
4899 * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
4901 * mh-loaddefs.el: Regenerated (lm-verify fixes).
4903 * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
4905 * mh-alias.el: lm-verify fix.
4907 * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
4908 lisp/mh-e directory.
4909 (MH-E-ETC-ETC): Removed ChangeLog.
4910 (dist): Moved creation of mail directory next to copy of files
4911 into mail directory.
4912 (install-emacs): Copy $(MH-E-SRC) into new directory
4913 $(EMACS_HOME/lisp/mh-e.
4914 (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
4915 include MH-E-LOADDEFS there too.
4916 (mh-loaddefs.el): Added lines so that lm-verify passes.
4917 (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
4919 2003-01-26 Jeffrey C Honig <jch@honig.net>
4921 * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
4922 Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
4924 2003-01-25 Jeffrey C Honig <jch@honig.net>
4926 * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
4927 (mh-process-daemon): Use mh-log-buffer for the output of commands
4930 * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
4931 loose the -temp from their buffer names as they are interesting to
4934 * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
4935 it is intended to be interesting to the user.
4937 * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
4938 is intended to be interesting to the user.
4940 * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
4941 mh-recipients-buffer constant. Add a kill buffer hook to delete
4942 the recipients buffer when a draft buffer is killed.
4944 2003-01-25 Satyaki Das <satyaki@theforce.stanford.edu>
4946 * mh-customize.el (mh-customize): New interactive argument
4947 deletes other windows.
4948 (mh-tool-bar-show-set, mh-tool-bar-letter-set)
4949 (mh-tool-bar-folder-set): Modified so that clicking the customize
4950 and help buttons deletes the other windows in the frame.
4952 * mh-mime.el (mh-mm-inline-message): Remove unused code.
4954 * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
4955 the wrong notation was being used.
4956 (mh-toggle-threads): The function had a bug if you did the
4957 following starting from an unthreaded wide folder:
4958 (1) Create a sequence with S p
4959 (2) Narrow to new sequence with S n
4960 (3) Thread narrowed folder with T t
4961 (4) Kill sequence with S k
4962 (5) Unthread narrowed folder with T t
4963 At this point we would have an empty folder. The change fixes
4965 (mh-toggle-threads): Fix documentation.
4967 * mh-customize.el (mh-invisible-header-fields): Add
4968 X-MHE-Checksum to invisible headers.
4970 * mh-comp.el (mh-insert-x-mailer): Slightly more informative
4973 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
4975 * mh-e.el (mh-header-display): Modified so that quoted-printable
4976 or base64 encoded messages are left untouched.
4978 * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
4979 the Content-Transfer-Encoding header so that the MIME decoding
4980 routines of Gnus doesn't get confused.
4981 (mh-display-msg): Use insert-file-contents-literally so that
4982 display will work for non-ascii.
4984 * mh-mime.el (mh-mime-display): Use charset info to decode
4985 message file (closes SF #655123).
4987 2003-01-24 Bill Wohler <wohler@newt.com>
4989 * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
4990 error message and added parens around error function.
4992 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
4994 * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
4995 (mh-decode-content-transfer-encoded-message-flag): This replaces
4996 mh-decode-quoted-printable-flag.
4998 * mh-utils.el (mh-decode-content-transfer-encoded-message): New
4999 function which handles messages that are encoded as base64 or
5000 quoted-printable (closes SF #674190).
5001 (mh-decode-quoted-printable): Removed.
5002 (mh-display-msg): Use mh-decode-content-transfer-encoded-message
5003 instead of mh-decode-quoted-printable.
5005 2003-01-23 Satyaki Das <satyaki@theforce.stanford.edu>
5007 * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
5008 that would occasionally cause angles ('<' and '>') to appear at
5011 2003-01-21 Satyaki Das <satyaki@theforce.stanford.edu>
5013 * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
5016 * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
5017 that a '>' is displayed in text mode.
5019 2003-01-20 Satyaki Das <satyaki@theforce.stanford.edu>
5021 * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
5022 so that a space is always maintained in the beginning of the scan
5025 * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
5026 faster by cutting down on the use of mh-goto-msg.
5027 (mh-toggle-threads): Add call to mh-notate-cur, since inserting
5028 the folder names in a search results folder screws up the
5029 location of the overlay arrow.
5031 * mh-index.el (mh-index-delete-folder-headers): Position the
5032 point on a message line if possible.
5034 * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
5037 * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
5039 * mh-loaddefs.el: Regenerated.
5041 * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
5042 suppresses the annotation of the sequence since it is
5045 * mh-seq.el (mh-delete-seq): Speed up the part of the function
5046 that removes the sequence notation.
5047 (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
5048 mh-iterate-on-messages-in-region to make the function fasters when
5049 operating on regions. The key idea is to loop over the folder
5050 buffer exactly once and do all annotations. The existing algo
5051 would walk over the buffer multiple times thereby slowing things
5053 (mh-iterate-on-messages-in-region): Added an extra parameter which
5054 is bound to the message index as the loop is executed.
5055 (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
5056 the new mh-iterate-on-messages-in-region macro.
5058 * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
5060 (mh-notate-user-sequences): Change algorithm to make notating of
5061 user sequences fast.
5063 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5065 * mh-logo.xpm: New image file that contains the MH-E logo.
5066 Change foreground color to the blue in the MH-E logo.
5068 * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
5070 * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
5071 keep space in the beginning for the logo.
5072 (mh-logo-cache): New variable that caches the logo image file
5074 (mh-logo-display): Display the MH-E logo on the mode line.
5075 (mh-display-msg): Display logo in mh-show-mode.
5077 * mh-e.el (mh-make-folder-mode-line): Display logo in
5080 * mh-comp.el (mh-compose-and-send-mail): Display logo in
5083 * mh-loaddefs.el: Regenerated.
5085 * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
5086 iterate on all messages in a region.
5087 (mh-region-to-msg-list): Simplified since it uses
5088 mh-iterate-on-messages-in-region now.
5090 * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
5091 to pass the region that is to be deleted when appropriate.
5092 (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
5093 regions directly without creating the list of messages to be
5095 (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
5096 parameter in these functions can now be nil. If so, the current
5097 message is deleted, refiled or undone respectively. Avoids the
5098 use of mh-goto-msg in this case and speeds up operations on
5099 regions quite a bit.
5101 2003-01-19 Peter S Galbraith <psg@debian.org>
5103 * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
5104 it would always prompt using "To: " instead of using the command
5105 argument (closes SF #670913).
5107 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5109 * mh-utils.el (mh-folder-completion-function): If there is a
5110 +foo/bar folder and the user types foo//bar then the completion
5111 function would say a match happened without showing the
5112 normalized folder name. This change fixes that.
5114 2003-01-18 Satyaki Das <satyaki@theforce.stanford.edu>
5116 * mh-e.el (mh-rmail): Modified so that new and unseen messages
5117 are shown (closes SF #667542).
5119 2003-01-17 Satyaki Das <satyaki@theforce.stanford.edu>
5121 * mh-index.el (mh-index-generate-pretty-name): Generate nicer
5122 names. In particular all '-' characters are removed.
5124 2003-01-16 Satyaki Das <satyaki@theforce.stanford.edu>
5126 * mh-customize.el (mh-index-program): Documentation fix.
5128 * mh-loaddefs.el: Regenerated.
5130 * mh-customize.el (mh-index-program): Add choices for mairix and
5133 * mh-index.el (mh-indexer-choices): Add search interfaces for
5135 (mh-index-search): Add links for mairix and pick.
5136 (mh-index-pick-folder, mh-pick-binary): Variables needed to
5137 implement pick support.
5138 (mh-pick-execute-search, mh-pick-next-result): New functions to
5139 implement pick support.
5140 (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
5141 variables for mairix support.
5142 (mh-mairix-execute-search, mh-mairix-next-result)
5143 (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
5144 functions for mairix.
5146 * mh-funcs.el (mh-kill-folder): Move message to the end.
5148 * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
5149 overlay-arrow-string local variables so that the arrow will
5150 remain even if some other folder is visited.
5151 (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
5152 required any more since overlay-arrow-position is local.
5153 (mh-goto-cur-msg): Remove overlay arrow if current message
5156 * mh-seq.el (mh-notate-cur): Don't need to set
5157 overlay-arrow-string any more since it is local and has been set
5160 2003-01-15 Satyaki Das <satyaki@theforce.stanford.edu>
5162 * mh-speed.el (mh-speed-current-folder): Keep track of current
5163 folder when flists is called.
5164 (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
5165 ambiguity when folders are present with + at the end of the name.
5166 Unfortunately it can't always be avoided.
5168 * mh-e.el (mh-folder-size): Remove the unnecessary error check.
5169 (mh-parse-flist-output-line): Add extra argument which
5170 occasionally avoid problems with folder names that end with '+'.
5172 * mh-utils.el (mh-sub-folders-actual): Fix the folder name
5173 parsing so that it doesn't get confused by trailing '+' chars in
5176 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5178 * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
5179 now handle ".." and "." correctly during folder name completion.
5180 (mh-normalize-folder-name): Avoid error in boundary condition
5181 where the folder string is empty.
5183 2003-01-14 Mark D. Baushke <mdb@gnu.org>
5185 * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
5186 the `mh-read-msg-range' function as the optional
5189 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5191 * mh-utils.el (mh-normalize-folder-name): New function that
5192 normalizes folder names.
5193 (mh-sub-folders): Use mh-normalize-folder-name. Also the function
5194 has been modified so that a trailing slash is only added if the
5195 folder potentially has subfolders.
5196 (mh-sub-folders-actual): Simplified since the folder has already
5197 been normalized in mh-sub-folders.
5198 (mh-remove-from-sub-folders-cache): Modified so that the cached
5199 results of two of the folders ancestors are invalidated.
5200 (mh-folder-completion-map): Ugly hack to make the error go away
5201 when minibuffer-complete-word is called.
5202 (mh-folder-completion-function): The completion function will now
5203 be more selective in adding '/' at the end of completed folder
5205 (mh-folder-completing-read): The folder name is normalized before
5206 return. The minibuffer-local-completion-map is shadowed to avoid
5207 error with SPC (bound to minibuffer-complete-word). We really
5208 need a better solution.
5210 2003-01-13 Bill Wohler <wohler@newt.com>
5212 * mh-seq.el: Edited comment and docstring text to conform with RFC
5213 2822 terminology. Message-ID is the header field. It contains a
5216 2003-01-13 Satyaki Das <satyaki@theforce.stanford.edu>
5218 * mh-utils.el (mh-sub-folders): Add an argument that returns
5219 sub-folders with a / character appended at the end.
5220 (mh-folder-completion-function): Modify the function so that one
5221 tab is now sufficient to complete the folder name and add a
5223 (mh-folder-completing-read): Remove the trailing / that the
5224 completion function now adds to the folder name. Also multiple /
5225 characters in the folder input are removed. So if the user inputs
5226 +foo///bar//baz///// then that will be converted to +foo/bar/baz.
5227 This will improve the performance of caching.
5229 * mh-seq.el (mh-notate-cur): Check that a valid current message
5230 exists before trying to notate (closes SF #667331).
5231 (mh-message-id-regexp): New variable to store regexp to recognize
5233 (mh-thread-generate): Use mh-message-id-regexp to filter out non
5234 message-id's from the References: header.
5236 2003-01-12 Satyaki Das <satyaki@theforce.stanford.edu>
5238 * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
5239 aren't on a graphic display.
5241 2003-01-11 Satyaki Das <satyaki@theforce.stanford.edu>
5243 * mh-seq.el (mh-notate-cur): New function to notate the current
5244 message. The marker in the fringe is updated too.
5245 (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
5246 the specialized function mh-notate-cur instead of mh-notate-seq.
5248 * mh-e.el (mh-arrow-marker): New buffer local variable to store
5249 the position where the marker in the fringe is going to be
5250 displayed (closes SF #664824).
5251 (mh-folder-mode): Create a marker for the fringe.
5252 (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
5253 specialized function mh-notate-cur instead of mh-notate-seq or
5255 (mh-remove-cur-notation, mh-remove-all-notation): Reset the
5256 overlay-arrow-position if needed.
5258 * mh-loaddefs.el: Regenerated.
5260 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5262 * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
5263 creating nested folders doesn't produce inconsistent results.
5264 (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
5266 * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
5267 called on a folder holding index search results. Also the now
5268 removed mh-folder-list-change-hook is called no more.
5270 * mh-customize.el (mh-auto-folder-collect-flag)
5271 (mh-folder-list-change-hook): Removed.
5273 * mh-loaddefs.el: Regenerated.
5275 2003-01-10 Bill Wohler <wohler@newt.com>
5277 * mh-customize.el (mh-default-folder-must-exist-flag): New
5278 variable to suppress suggested folder if the folder doesn't
5279 already exist (closes SF #657096).
5280 (mh-default-folder-list): New variable that
5281 holds mapping between an address and the desired folder for
5282 filing (closes SF #657096).
5283 (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
5284 docstring, refer to documentation for mh-prompt-for-refile-folder
5285 and mh-folder-from-address.
5286 (mh-highlight-citation-p, mh-compose-insertion,
5287 (mh-insert-mail-followup-to-list, mh-index-program,
5288 (mh-identity-default): Fixed case of tags.
5290 * mh-e.el (mh-folder-from-address): Use new variable
5291 mh-default-folder-must-exist-flag to return nil if this variable
5292 is t and the folder doesn't already exist. In addition, can now
5293 look up a default folder in the new variable
5294 mh-default-folder-list (closes SF #657096).
5295 (mh-prompt-for-refile-folder): In docstring, refer to
5296 documentation in mh-folder-from-address.
5298 * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
5299 the FileRules filename in the sample config file. Otherwise, the
5300 users don't see the backslash at all, and no files are indexed!
5301 (closes SF #665888).
5303 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5305 * mh-seq.el (mh-thread-folder): Get headers for exactly the
5306 messages that are present. If only messages 1-10 and 3800-3900
5307 are being shown then we will now scan exactly those messages and
5308 not the full range from 1-3900 as was being done earlier.
5309 (mh-toggle-threads): When converting from threaded to normal view
5310 only the messages present in the buffer are scanned. Earlier all
5311 messages from the minimum to the maximum would be scanned (closes
5314 * mh-pick.el (mh-search-folder): Fix typo.
5315 (mh-pick-do-search): Fix bug from cut and paste. Also set window
5318 * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
5319 it to accept + as a folder name. This allows the user to search
5320 all folders when "Fs" is used.
5322 * mh-pick.el (mh-search-folder): Fix interactive spec of function.
5323 (mh-pick-do-search): Rewritten to call pick in one go. This will
5324 make adding pick as a default index search program easier. Also
5325 pick now accepts the same query syntax as the index search
5326 programs (closes SF #664816).
5327 (mh-next-pick-field): Removed.
5328 (mh-pick-parse-search-buffer): New function to parse the search
5330 (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
5331 to produce a pick query from the parsed representation.
5333 * mh-index.el (mh-index-do-search): Refactor the search pattern
5334 parser into a new function and use that instead.
5336 * mh-loaddefs.el: Regenerated.
5338 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5340 * mh-loaddefs.el: Regenerated.
5342 * mh-utils.el (mh-remove-from-sub-folders-cache)
5343 (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
5344 mh-remove-from-sub-folders-cache.
5345 (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
5347 * mh-pick.el (mh-searching-function): New buffer local variable
5348 that keeps track of the default searching function to be used.
5349 (mh-pick-mode): Make mh-searching-function buffer local.
5350 (mh-search-folder): Set mh-searching-function to use pick.
5351 (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
5352 (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
5353 mh-do-pick-search to mh-pick-do-search. But keep
5354 mh-do-pick-search as a deprecated function.
5355 (mh-do-search): New interactive function that performs the
5357 (mh-pick-mode-map): Update keymap.
5359 * mh-index.el (mh-index-search): Set mh-searching-function to do
5361 (mh-index-new-folder): Replace mh-update-sub-folders-cache with
5362 mh-remover-from-sub-folders-cache.
5364 * mh-funcs.el (mh-kill-folder): Same as above.
5366 * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
5369 * mh-customize.el: Fixes to make byte compiler in CVS Emacs
5372 2003-01-09 Bill Wohler <wohler@newt.com>
5374 * mh-e.el (mh-folder-from-address): New function that proposes the
5375 name of a folder with an alias for the address in the current message.
5376 (mh-prompt-for-refile-folder): Use it (closes SF #657096).
5378 * mh-customize.el (mh-default-folder-prefix): New variable used by
5379 mh-folder-from-address.
5380 (mh-invisible-header-fields): Edited docstring.
5382 * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
5383 cookie (used by mh-folder-from-address in mh-e.el). Edited text in
5386 * mh-utils.el: Provided naming conventions for buffer and buffer
5388 (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
5389 (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
5390 (mh-info-buffer): Renamed from mh-temp-info-buffer.
5391 (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
5392 buffer which is expected to be used for the output of MH commands.
5393 Perhaps we always create this buffer at initialization and append
5394 to it rather than erase it each time?
5396 * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
5397 temporary and working buffers. As long as the buffer naming
5398 conventions are followed, new buffers will be automatically
5400 (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
5402 * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
5405 2003-01-09 Satyaki Das <satyaki@theforce.stanford.edu>
5407 * mh-e.el (mh-folder-size): If the user doesn't have a
5408 Unseen-Sequence definition in .mh_profile then an error was
5409 produced. This change fixes that.
5411 * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
5412 with a temporary buffer which is cleaned up when the function
5415 * mh-e.el (mh-prompt-for-refile-folder): New function which
5416 refactors out the intelligent folder guessing code from
5418 (mh-refile-msg): Use mh-prompt-for-refile-folder.
5420 * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
5421 do the same intelligent destination folder guessing as
5422 mh-refile-msg (closes SF #664829).
5424 * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
5425 (mh-folder-list-temp, mh-folder-list-partial-line)
5426 (mh-set-folder-list): Removed.
5427 (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
5428 Moved over from mh-speed.el to implement hierarchical completion.
5429 (mh-update-sub-folders-cache): Utility function called when
5430 new folders are created or folders are removed.
5431 (mh-folder-completion-function): New function is the folder name
5432 completion function used in completing-read.
5433 (mh-folder-completing-read): A thin wrapper function that is used
5434 instead of completing-read directly. In the future we might want
5435 to allow the user a customizable variable which will turn off
5436 folders based completion.
5437 (mh-prompt-for-folder): Use mh-folder-completing-read to read in
5438 the folder name with hierachical completion (closes SF #664821).
5440 * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
5441 (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
5442 mh-sub-folders-cache and mh-sub-folders-actual respectively.
5443 (mh-speed-invalidate-map, mh-speed-invalidate-map)
5444 (mh-speed-add-folder): Use the new names.
5446 * mh-funcs.el (mh-kill-folder): Remove code that used to update
5447 mh-folder-list which is no longer present. Instead
5448 mh-update-sub-folders-cache is called.
5450 * mh-index.el (mh-index-new-folder): Same as above.
5452 2003-01-08 Satyaki Das <satyaki@theforce.stanford.edu>
5454 * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
5455 controls what is done with the process output.
5457 * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
5458 restore window configuration. Also the call to mh-exec-cmd-daemon
5459 only displays output if an error happened (closes SF #664828).
5460 (mh-rmf-daemon): Check rmf output and display it only if
5461 something went wrong.
5462 (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
5464 * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
5465 argument to mh-exec-cmd-daemon so that the functions will behave
5468 * mh-pick.el (mh-search-folder): The current window config is
5470 (mh-make-pick-template): Make the message headers read-only.
5471 (mh-pick-mode-help-messages): Update help message.
5472 (mh-do-pick-search): Fix problem when buffer isn't showing any
5474 (mh-next-pick-field): Use buffer-substring-no-properties is
5476 (mh-pick-mode-map): Add key bindings (partially addresses
5479 * mh-index.el (mh-indexer-choices): Add a new field for each
5480 index program choice. If it is non-nil then it is the name of a
5481 function that given a lisp expression to search for generates a
5482 pattern that is acceptable to the search program.
5483 (mh-index-regexp-builder): New variable that stores the function
5484 to be used to convert from the lisp expression syntax to
5485 something that the search program understands.
5486 (mh-index-generate-pretty-name): Generalized so that it can take
5487 a list of strings as input.
5488 (mh-index-search): Modified so that if the configured program has
5489 a corresponding regexp-builder then a search buffer like pick
5490 search is produced. Otherwise the previous behavior is maintained.
5491 (mh-index-do-search): New interactive function that takes the
5492 contents of the search buffer, generates an appropriate query and
5493 produces the search results buffer by calling mh-index-search.
5494 (mh-replace-string, mh-index-parse-search-regexp)
5495 (mh-index-add-implicit-ops, mh-index-evaluate): New functions
5496 which parses the infix search expression that the user enters. A
5497 parse tree from which queries for different search programs can
5498 be produced is produced.
5499 (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
5500 internal form of the query and produces input suitable for
5503 * mh-loaddefs.el: Regenerated.
5505 2003-01-08 Bill Wohler <wohler@newt.com>
5507 * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
5508 Useful to see if an Emacs developer has changed MH-E.
5510 * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
5512 * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
5513 buffer that contains version info.
5515 * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
5516 mh-temp-buffer since version information was getting clobbered by
5517 the aliasing code before it could be seen (closes SF #664467).
5518 (mh-quit): Delete mh-temp-info-buffer.
5520 * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
5521 version info instead of mh-temp-buffer. You kind of need this
5524 2003-01-07 Bill Wohler <wohler@newt.com>
5526 * mh-e.el (Version, mh-version): Set to 7.1+cvs.
5528 2003-01-07 Bill Wohler <wohler@newt.com>
5530 * Released MH-E version 7.1.
5532 * MH-E-NEWS, README: Updated for release 7.1.
5534 * mh-e.el (Version, mh-version): Updated for release 7.1.
5536 2003-01-07 Bill Wohler <wohler@newt.com>
5538 * mh-customize.el (mh-auto-folder-collect-flag,
5539 mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
5541 * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
5543 * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
5546 2003-01-07 Satyaki Das <satyaki@theforce.stanford.edu>
5548 * mh-utils.el (mh-search-from-end): New function that is used to
5549 replace our usage of the CL function search.
5550 (font-lock): The library is loaded to avoid compilation warning
5553 * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
5554 (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
5555 mh-search-from-end instead of search.
5557 * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
5559 (mh-thread-process-in-reply-to): Use mh-search-from-end instead
5562 * mh-index.el (mh-md5-parser): Fix name of function.
5563 (mh-index-update-single-msg, mh-index-update-maps): Avoid using
5564 destructuring-bind since Emacs-20.7 can't handle this particular
5566 (mh-namazu-next-result): Use mh-search-from-end instead of
5569 * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
5570 emacs which doesn't have the variable defined causes a compiler
5572 (mh-refile-a-msg): Rewritten to avoid using pushnew.
5573 (mh-undo-msg): Use loop instead of remove-if.
5575 * mh-comp.el (mh-show-buffer-message-number): Use
5576 mh-search-from-end instead of search.
5578 2003-01-01 Satyaki Das <satyaki@theforce.stanford.edu>
5580 * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
5581 all messages are displayed. Documentation modified so that this is
5583 (mh-visit-folder): Really fix it this time.
5585 2003-01-01 Mark D Baushke <mdb@gnu.org>
5587 * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
5588 mh-autoload comment or mh-customize may have problems finding the
5591 * mh-loaddefs.el: Regenerated.
5593 2002-12-28 Satyaki Das <satyaki@theforce.stanford.edu>
5595 * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
5597 2002-12-28 Bill Wohler <wohler@newt.com>
5599 * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
5600 variable in docstring, explain how to expand directives, and
5601 don't mention mh-mhn-compose-insertion which isn't used directly
5603 (mh-send-letter): Mention that X-Mailer and X-Face are inserted
5604 automatically so that a user isn't tempted to do so himself in
5605 mh-before-send-letter-hook.
5606 (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
5607 now that we have both a function and a variable. Clarified
5610 2002-12-26 Satyaki Das <satyaki@theforce.stanford.edu>
5612 * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
5613 the emacs is not XEmacs.
5615 * mh-index.el (mh-index-new-folder): The folder created should
5616 always be added to mh-folder-list. Otherwise folder name
5617 completion doesn't find the new folder created.
5619 2002-12-24 Satyaki Das <satyaki@theforce.stanford.edu>
5621 * mh-customize.el (mh-clean-message-header-flag)
5622 (mh-visible-headers, mh-invisible-headers)
5623 (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
5625 * mh-loaddefs.el: Regenerated.
5627 * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
5628 Handle nil value of mh-large-folder properly.
5630 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5631 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
5632 (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
5634 (mh-large-folder): Updated to allow for infinity. If
5635 mh-large-folder is nil then all folders are deemed small.
5637 2002-12-23 Satyaki Das <satyaki@theforce.stanford.edu>
5639 * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
5640 threading was suppressed because the number of messages exceed
5643 2002-12-23 Peter S Galbraith <psg@debian.org>
5645 * mh-utils.el (mh-invisible-headers): Deleted. Moved to
5648 * mh-customize.el (mh-invisible-header-fields): New
5649 defcustom. Simple user interface to change mh-invisible-headers.
5650 (mh-invisible-header-fields-set): New function called when
5651 mh-invisible-header-fields is set.
5652 (mh-invisible-headers): New function. Does the actual work of
5653 building the variable mh-invisible-headers from
5654 mh-invisible-header-fields.
5655 (mh-invisible-headers): defvar moved from mh-utils.el
5657 2002-12-22 Satyaki Das <satyaki@theforce.stanford.edu>
5659 * mh-speed.el (mh-speed-folder-size): Removed. Something very
5660 similar appears as mh-folder-size.
5661 (mh-speed-view): Simplified since the range selection logic has
5662 been moved to mh-read-msg-range.
5663 (mh-speed-parse-flists-output-line): Moved to mh-e.el as
5664 mh-parse-flist-output-line.
5666 * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
5668 * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
5669 (mh-parse-flist-output-line): Moved from mh-speed.el where this
5670 function was called mh-speed-parse-flists-output-line.
5671 (mh-folder-size): Renamed from mh-speed-folder-size. The function
5672 has been made more general and can be called from any buffer and
5673 not just the speedbar buffer.
5674 (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
5676 (mh-read-msg-range): Rewritten.
5678 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
5680 * mh-seq.el (mh-delete-subject-or-thread): New interactive
5681 function that intelligently deletes messages based on threading,
5682 if the folder is threaded, or on subject if folder isn't threaded.
5684 * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
5685 function, callable from the show buffer, to intelligently delete
5686 messages based on threading info or subject.
5687 (mh-show-mode-map): Change binding of "k" to call
5688 mh-show-delete-subject-or-thread.
5690 * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
5691 mh-delete-subject-or-thread.
5693 * mh-comp.el (mh-letter-mode-map): Add key binding for
5696 * mh-loaddefs.el: Regenerated.
5698 2002-12-21 Peter S Galbraith <psg@debian.org>
5700 * mh-customize.el (mh-tool-bar-letter-set): Bug fix. The
5701 `tool-bar-add-item-from-menu' items were broken. I can't use my
5704 2002-12-21 Peter S Galbraith <psg@debian.org>
5706 * mh-alias.el (mh-alias-insert-file): Bug fix. I never checked
5707 that an AliasFile entry existed in .mh_profile.
5709 2002-12-21 Peter S Galbraith <psg@debian.org>
5711 * mh-customize.el (mh-alias-insertion-location): New defustom.
5712 Specifies where new aliases are entered in alias files.
5714 * mh-alias.el (mh-alias-add-alias-to-file): Use it.
5716 2002-12-21 Peter S Galbraith <psg@debian.org>
5718 * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
5719 exactly, prompt to [i]nsert before old value or [a]ppend after it.
5720 (mh-alias-insert-file): Make sure we don't edit the passwd file.
5721 Add optional argument for alias; If ALIAS is specified and it
5722 already exists, try to return the file that contains it.
5723 (mh-alias-which-file-has-alias): New function. Return the name of
5724 writable file which defines ALIAS from list FILE-LIST.
5725 (mh-alias-add-alias): Remove prompts for case of alias already
5726 defined; done in mh-alias-add-alias-to-file.
5728 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
5730 * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
5731 folder names that have spaces in them. The original function would
5732 truncate the folder name at the first space.
5733 (mh-speed-flists): Add -sequence option to flists. This guards
5734 against the user specifying something other than the unseen
5735 sequence in his .mh_profile.
5736 (mh-speed-parse-flists-output-line): New function that parses a
5737 single line in the output of flists to find the folder name and
5738 the counts of unseesn and total messages.
5739 (mh-speed-parse-flists-output): Fix parsing bug which truncates
5740 the folder names at the first space.
5742 * mh-index.el (mh-index-generate-pretty-name): New function which
5743 generates a nicer name for the search results. It trims white
5744 space at the beginning and end and replaces white space with
5745 underscores within the search regexp.
5746 (mh-index-search): Use mh-index-generate-pretty-name.
5748 * mh-loaddefs.el: Regenerated.
5750 2002-12-20 Satyaki Das <satyaki@theforce.stanford.edu>
5752 * mh-index.el (mh-index-new-folder): Add new folder to
5753 mh-folder-list to enable name completion.
5754 (mh-glimpse-execute-search, mh-swish-execute-search)
5755 (mh-swish++-execute-search): Fix documentation.
5757 * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
5758 folder could get 'scan'ed when generating the threaded view.
5760 * mh-index.el (mh-index-search): If optional prefix arg is given
5761 then the search in the current index buffer is redone.
5762 (mh-glimpse-execute-search, mh-swish-execute-search)
5763 (mh-namazu-execute-search): Documentation fixes.
5765 * mh-e.el (mh-index-previous-search): New buffer local variable
5766 stores parameters of search that created the buffer.
5767 (mh-folder-mode): Make mh-index-previous-search buffer local.
5768 (mh-visit-folder): Tweak the function so that only a single window
5769 with the folder buffer is shown if mh-showing-mode is nil.
5771 * mh-loaddefs.el: Regenerated.
5773 2002-12-19 Peter S Galbraith <psg@debian.org>
5775 * mh-alias.el (mh-alias-add-alias): Bug fix.
5777 2002-12-19 Peter S Galbraith <psg@debian.org>
5779 * mh-alias.el (mh-alias-add-alias): New interactive command. Add
5780 ALIAS for ADDRESS in personal alias file.
5781 (mh-alias-grab-from-field): New interactive command. Add ALIAS for
5782 ADDRESS in personal alias file.
5783 (mh-alias-add-address-under-point): New interactive
5784 command. Insert an alias for email address under point.
5785 (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
5786 (mh-alias-insert-file): New function. Return the alias file to
5787 write a new entry in.
5788 (mh-alias-address-to-alias): New function. Return the ADDRESS
5789 alias if defined, or nil."
5790 (mh-alias-from-has-no-alias-p): New function. Return t is From has
5791 no current alias set. Used as tool-bar button enable function.
5792 (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
5793 in alias FILE without alias check or prompts.
5795 * alias.xpm, alias.pbm: New tool-bar icon for
5796 mh-alias-grab-from-field.
5798 * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
5799 Return t if the message under point in folder-mode is in the show
5802 * mh-utils.el (mh-goto-address-find-address-at-point): New
5803 function copied from goto-addr.el, which we don't want to
5804 force-load on users. Find e-mail address around or before point.
5805 (mh-address-mail-regexp): New defvar. A regular expression
5806 probably matching an e-mail address.
5808 * mh-customize.el (mh-alias-insert-file): New defcustom.
5809 Filename to use to store new MH-E aliases.
5810 (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
5812 * mh-comp.el (mh-extract-from-header-value): New function.
5813 Extract From: string from header.
5815 2002-12-19 Satyaki Das <satyaki@theforce.stanford.edu>
5817 * mh-index.el (mh-index-update-single-msg): New defvar controls
5818 max number of command line args.
5819 (mh-index-execute): New function which is to be used
5820 instead of xargs so that we don't give the shell too many command
5822 (mh-index-update-maps): Use mh-index-execute instead of xargs.
5823 (mh-index-search): Remove unused code. Also the first message in
5824 folder buffer is made current.
5826 2002-12-18 Peter S Galbraith <psg@debian.org>
5828 * mh-loaddefs.el: Regenerated.
5830 * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
5832 * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
5834 * mh-utils.el (mh-get-msg-num): autoloaded.
5835 (mh-show-tool-bar-map): Moved to mh-customize.el
5837 * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
5838 tool-bar setup and customization.
5839 (mh-tool-bar-folder-buttons-set): New function to setup the
5840 tool-bar after customization.
5841 (mh-tool-bar-folder-buttons): New defcustom to specify which icons
5842 appears in the tool-bar.
5843 (mh-tool-bar-letter-buttons-set): New function to setup the
5844 tool-bar after customization.
5845 (mh-tool-bar-letter-buttons): New defcustom to specify which icons
5846 appears in the tool-bar.
5847 (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
5848 (mh-tool-bar-letter-set): New function to setup
5849 mh-letter-tool-bar-map.
5851 2002-12-18 Satyaki Das <satyaki@theforce.stanford.edu>
5853 * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
5854 and backtab to call mh-index-next-folder and
5855 mh-index-previous-folder as appropriate.
5857 * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
5858 New interactive functions which jumps to search results of next
5859 and previous folders respectively.
5861 * mh-loadddefs.el: Regenerated.
5863 * mh-index.el (mh-index-delete-folder-headers): Arrange for
5864 mh-goto-cur-msg to just go to the current message.
5866 * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
5867 buffer anyway, we don't need to delete the folder headers. Also
5868 index-data is non-nil only when the buffer folder doesn't exist.
5869 So we need to call mh-make-folder.
5870 (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
5871 not being made buffer local!
5873 2002-12-17 Satyaki Das <satyaki@theforce.stanford.edu>
5875 * mh-e.el (mh-visit-folder): Fix bug.
5877 * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
5878 (mh-index-folder-first, mh-index-folder-last)
5879 (mh-index-original-msg-list): Convenience macros aren't needed
5880 anymore since the data structure has been changed.
5881 (mh-index-update-single-msg): New function to update maps that
5882 relate MD5 checksums to actual messages and vice-versa for a
5884 (mh-index-update-maps): Do the above for all messages. If some
5885 messages don't have MD5 checksums, they are annotated with the
5887 (mh-index-search): Updated for the new version of mh-index-data.
5888 (mh-msg-exists-p): New function to test a message exists.
5889 (mh-index-insert-folder-headers): Updated for new mh-index-data.
5890 (mh-index-delete-folder-headers): New function used to eliminate
5891 original folder names from the buffer and make it look like a
5892 plain folder buffer. This is used from mh-process-commands.
5893 (mh-index-visit-folder): Use new version of mh-index-data.
5894 (mh-index-match-checksum): New function which checks if the
5895 X-MHE-Checksum header of a message matches.
5896 (mh-index-execute-commands): New function that rmm's the original
5897 messages. Then after mh-execute-commands executes it will seem
5898 that the original messages were executed upon. This completes the
5900 (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
5901 (mh-checksum-cmd, mh-checksum-parser): New globals to allow
5902 different checksum programs to be used.
5903 (mh-checksum-choose): New functions to find a checksum program.
5904 (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
5905 parse the output of md5, md5sum and openssl.
5906 (mh-index-update-maps): Use checksum parsing function.
5907 (mh-index-search): Set checksum choice. Add a call to recenter,
5908 otherwise the window point in the index buffer doesn't get set
5911 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
5912 functions in folders created by index search.
5914 * mh-e.el (mh-index-msg-checksum-map)
5915 (mh-index-checksum-origin-map): New buffer local variables that
5916 keep track of message checksums (used to implement
5917 refiling/deletion for folders created by index folders).
5918 (mh-last-msg): Make the function behave like mh-first-msg.
5919 (mh-visit-folder): Add new optional argument which initializes
5920 folders created by mh-index-search.
5921 (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
5922 mh-index-checksum-origin-map buffer local.
5923 (mh-process-commands): Call mh-index-execute-commands when called
5924 from an index search buffer. This will reflect the changes being
5925 made in the search folder to the original folders.
5927 * mh-loaddefs.el: Regenerated.
5929 2002-12-16 Satyaki Das <satyaki@theforce.stanford.edu>
5931 * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
5932 caused the folder buffer to be marked as modified after rescanning
5935 2002-12-15 Satyaki Das <satyaki@theforce.stanford.edu>
5937 * mh-e.el (mh-visit-folder): The function should insert folder
5938 names if it is visiting a folder created by index search.
5940 * mh-index.el (mh-index-insert-folder-headers): The function now
5941 maintains the old value of buffer-modified-p and temporarily makes
5942 the buffer writable.
5944 * mh-utils.el (mh-show-index-visit-folder): New interactive
5945 function callable from show buffer that displays search results
5947 (mh-show-mode-map): Key binding for "v".
5949 * mh-speed.el: Fix credits.
5950 (mh-index-folder-speedbar-buttons)
5951 (mh-index-show-speedbar-buttons)
5952 (mh-index-folder-speedbar-key-map)
5953 (mh-index-show-speedbar-key-map)
5954 (mh-index-folder-speedbar-menu-items)
5955 (mh-index-show-speedbar-menu-items): Removed since the modes
5956 mh-index-folder-mode and mh-index-show-mode no longer exist.
5957 (mh-speed-extract-folder-name): Remove the bits about
5958 mh-index-folder-mode and mh-index-show-mode.
5960 * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
5961 index search results.
5962 (mh-region-to-msg-list): Skip over non-scan lines.
5963 (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
5964 non-scan lines when populating mh-thread-scan-line-map.
5965 (mh-thread-folder, mh-toggle-threads): Move the check for buffer
5966 modification from mh-thread-folder to mh-toggle-threads.
5967 (mh-toggle-threads): When returning to unthreaded view insert the
5968 folder names if called from a index folder.
5970 * mh-index.el: Fix credits and update commentary.
5971 (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
5972 (mh-index-ma-x-msg-index, mh-index-other-buffer)
5973 (mh-index-matches, mh-index-previous-window-configuration)
5974 (mh-index-current-msg, mh-index-folder-mode-keymap)
5975 (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
5976 eliminated variables.
5977 (mh-index-folder): New variable sets the MH folder under which the
5978 index searches are stored.
5979 (mh-index-folder-first, mh-index-folder-last)
5980 (mh-index-original-msg-list): Convenience macros used to pull data
5981 elements out of a list. If needed setf can be used to change them
5983 (mh-index-search): Rewritten to create real folders where all the
5984 normal folder operation. This partially fixes SF #623321 (refiles
5985 and deletes doesn't work on original messages).
5986 (mh-index-find-max-width, mh-index-search-again)
5987 (mh-index-insert-scan, mh-index-callback, mh-index-search)
5988 (mh-index-notate, mh-index-show, mh-index-header-display)
5989 (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
5990 Functions, macros and modes removed.
5991 (mh-folder-exists-p): New function to check if a folder exists.
5992 (mh-index-new-folder): Generate a new folder name from a given
5993 base string that mimics the way emacs generates buffer names.
5994 (mh-index-insert-folder-headers): Insert folder names among the
5996 (mh-index-visit-folder): New interactive function to show the
5997 search results of one individual folder.
5998 (mh-swish++-execute-search): Update documentation.
6000 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
6001 functions if index search results are being viewed.
6003 * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
6005 (mh-index-data): New buffer local variable that will be used to
6006 store info about index search results.
6007 (mh-rescan-folder): Implement rescanning for index search results.
6008 (mh-folder-mode): Make mh-index-data buffer local.
6009 (mh-remove-all-notation): Modified to take into account not all
6010 lines in the folder buffer are normal scan lines.
6011 (mh-folder-mode-map): Add key binding for "v" to jump to original
6012 folder narrowed to search results.
6014 * mh-customize.el (mh-index-folder-face): Make it bold so that it
6015 will look like before.
6017 * mh-loaddefs.el: Regenerated.
6019 2002-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
6021 * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
6022 a list of messages in addition to a sequence.
6023 (mh-region-to-sequence, mh-region-to-msg-list): The function
6024 mh-region-to-msg-list replaces mh-region-to-sequence. The new
6025 function avoids creating a dummy sequence in MH-E.
6026 (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
6027 to use mh-region-to-msg-list.
6029 * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
6031 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
6032 mh-region-to-msg-list.
6034 * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
6035 The buffer-local variable mail-header-separator is no longer
6036 bound. This fixes a bug where the default value of
6037 mail-header-separator gets used if mh-forward is called in a fresh
6039 (mh-annotate-msg): Update this so that it will handle message
6041 (mh-insert-letter): Make the test stronger. Since %d is being used
6042 the argument better be an integer.
6044 * mh-loaddefs.el: Regenerated.
6046 2002-12-11 Satyaki Das <satyaki@theforce.stanford.edu>
6048 * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
6049 If mark is active and transient-mark-mode is enabled then all the
6050 messages in the region are copied.
6052 * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
6053 messages in sequence nicely. The prompt for the folder is removed
6054 (the current folder is always used) and the output is made nicer
6055 by not overflowing the screen width.
6057 * mh-loaddefs.el: Regenerated.
6059 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6061 * mh-comp.el (mh-letter-complete): Checkdoc fix.
6063 * mh-seq.el (mh-thread-current-indentation-level): New function
6064 which returns the thread indentation level of current message.
6065 (mh-thread-next-sibling, mh-thread-previous-sibling): New
6066 interactive functions to jump to the next and previous siblings in
6067 thread tree respectively.
6068 (mh-thread-immediate-ancestor): New function to jump to ancestor
6069 of current message in thread tree.
6070 (mh-thread-ancestor): New interactive function to jump to
6071 immediate ancestor or to root message of current thread depending
6072 on optional argument.
6074 * mh-utils.el (mh-show-thread-ancestor)
6075 (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
6076 Interactive functions callable from the show buffer.
6077 (mh-show-thread-map): Bindings for Tu, Tp and Tn.
6079 * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
6081 * mh-loaddefs.el: Regenerated.
6083 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6085 * mh-seq.el (mh-region-to-sequence): Change name of region
6086 sequence created to 'mhe-region. This avoids any chance of
6087 collision with actual MH sequences.
6088 (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
6089 name of region sequence used to 'mhe-region. Also delete the
6090 'mhe-region sequence when done.
6092 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
6094 * mh-comp.el (mh-forward): Same as above.
6096 * mh-loaddefs.el: Regenerated.
6098 2002-12-08 Bill Wohler <wohler@newt.com>
6100 * mh-alias.el: Edited documentation. Broke up file into 2
6101 sections: Alias Loading and Alias Expansion. Made terminology
6102 consistent (replaced expand, substitute, and translate with
6104 (mh-alias-reload): Brought message in line with coding conventions
6105 and made more concise too.
6106 (mh-alias-translate): Renamed to mh-alias-expand.
6107 (mh-alias-substitute-aliases-flag): Renamed to
6108 mh-alias-expand-aliases-flag.
6109 (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
6110 Now just returns an alist of local users rather than have
6112 (mh-alias-reload): Set timestamp at beginning of function to catch
6113 edge case when alias added just after ali runs. Changed logic to
6114 reflect return value of mh-alias-local-users.
6116 * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
6117 mh-alias-expand-aliases-flag.
6118 (mh-alias-local-users): Fixed documentation.
6120 * mh-loaddefs.el: Regenerated
6122 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6124 * mh-e.el (require): Load Gnus at compile time so that the
6125 constant gnus-version is defined when MH-E is being compiled.
6126 (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
6127 Use the constant gnus-version instead of the function gnus-version
6128 to find out about gnus version information.
6129 (gnus-version): Remove the autoload since it is not needed any
6132 2002-12-08 Bill Wohler <wohler@newt.com>
6134 * mh-e.el (mh-version): Moved compilation information in front of
6135 Emacs information. The idea is that you start at MH-E and move
6136 outwards. Show N/A if Gnus not compiled (be explicit). Matched
6137 coding style with other output statements. (Aside: not that
6138 efficiency matters here, but fewer calls to format have to be
6139 faster, right? ;-). Matched output style of old output to new
6140 statement--liked Satyaki's indentation better ;-).
6142 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6144 * mh-e.el (gnus-version): Autoload the function for use in
6146 (mh-macro-expansion-time-gnus-version): New macro that finds the
6147 Gnus version at macro expansion time.
6148 (mh-run-time-gnus-version): New function to find the Gnus version
6150 (mh-version): Add information about Gnus versions available at
6151 compile time and run time.
6153 2002-12-07 Peter S Galbraith <psg@debian.org>
6155 * mh-alias.el (mh-alias-ali): Add optional argument. if USER is
6156 t, then assume ALIAS is an address and call ali with option -user.
6158 * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
6159 files from `mh-alias-system-aliases' to output list obtained from
6160 mhparam output user list only.
6161 (mh-alias-tstamp): Use it.
6163 2002-12-05 Satyaki Das <satyaki@theforce.stanford.edu>
6165 * mh-mime.el (mh-inline-vcard-p): A new function which decides if
6166 a vcard should be displayed inline.
6167 (mh-mime-display-single): Use mh-inline-vcard-p to display
6168 attached vcard as a signature if no other signature is present
6169 (this partially addresses SF #649216).
6171 2002-12-05 Peter S Galbraith <psg@debian.org>
6173 * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
6174 getting run if variable `mh-mml-compose-insert-flag' is set.
6175 (mh-get-header-field): use buffer-substring-no-properties instead
6176 of buffer-substring.
6178 2002-12-04 Peter S Galbraith <psg@debian.org>
6180 * mh-loaddefs.el: Regenerated.
6182 * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
6184 2002-12-04 Peter S Galbraith <psg@debian.org>
6186 * mh-loaddefs.el: Regenerated.
6188 * mh-comp.el (mh-letter-complete): New command to do alias or word
6189 completion in letter-mode.
6190 (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
6192 * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
6193 Replaced by mh-letter-complete command.
6194 (mh-alias-reload-maybe): New function to rebuild alias table if
6196 (mh-alias-letter-expand-alias): No longer interactive. Use
6197 mh-letter-complete instead.
6199 2002-12-04 Peter S Galbraith <psg@debian.org>
6201 * mh-customize.el (mh-letter-complete-function): New defcustom.
6202 Function to call when completing outside of fields specified to
6205 * mh-alias.el (mh-alias-filenames):
6206 s/mh-mhparam-component/mh-profile-component/
6207 (mh-profile-component): Move to mh-utils.el and make interactive.
6208 (mh-read-address): Make it autoloaded.
6210 * mh-loaddefs.el: Regenerated.
6212 * mh-comp.el (mh-read-address): Removed. Replaced by mh-alias
6215 * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
6217 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6219 * mh-seq.el (mh-msg-is-in-seq): Formatting change.
6221 * mh-index.el (mh-index-insert-scan): Remove unused variable.
6223 2002-12-04 Bill Wohler <wohler@newt.com>
6225 * mh-loaddefs.el: Regenerated.
6227 * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
6228 this was causing a cycle.
6229 (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
6230 (emacs): Reintroduced autoloads.
6231 (autoloads): We're baaa-aack!
6232 (dist, install-emacs): Use MH-E-LOADDEFS.
6234 * mh-comp.el (mh-customize): Moved to mh-customize.el.
6236 * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
6237 more sense, doesn't it?
6239 * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
6240 mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
6241 interactive functions.
6243 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6245 * Makefile (world): Remove target.
6246 (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
6247 regenerate mh-loaddefs.el.
6249 * mh-make.el: Removed.
6251 2002-12-04 Mark D. Baushke <mdb@gnu.org>
6253 * mh-e.el (recursive-load-depth-limit): Only modify the limit
6254 if it is an integer.
6256 2002-12-04 Peter S Galbraith <psg@debian.org>
6258 * mh-utils.el (mh-header-field-beginning): New function. Move to
6259 the beginning of the current header field.
6261 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6263 * mh-make.el (mh-files): Read in the MH-E filenames from the
6264 environment variable where the Makefile puts it.
6265 (mh-generate-autoloads, step2): Simplified since we now have the
6266 complete file names.
6268 * Makefile (world): Pass the MH-E files into the script, so that
6269 the filenames don't need to be repeated in the script.
6271 2002-12-04 Bill Wohler <wohler@newt.com>
6273 * mh-loaddefs.el: New file. Check in automatically generated file
6274 and include in package for the benefit of those who don't want to
6277 * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
6278 in and will be packaged.
6279 (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
6280 sufficient to build it.
6281 (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
6282 emacs so that Emacs is only invoked once to compile files. This
6283 speeds things up by a factor of 3. It would be nice to only pass
6284 those files that have been modified, but Emacs 21.4 will have
6285 batch-byte-compile-if-not-done which we might be able to copy into
6286 mh-make.el (or my proposed mh-e-dev.el which would be more
6288 (.SUFFIXES): Removed. Now that compile works directly on the
6289 sources, the implicit rule is obsolete.
6290 (autoloads): Deleted. See emacs change above.
6292 2002-12-03 Bill Wohler <wohler@newt.com>
6294 * Makefile (MH-E-SRC, emacs):
6296 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6298 * mh-make.el (mh-emacs): Make failing condition more strict.
6299 (mh-loaddefs-end): Remove redundant statement.
6301 * Makefile (world): A little typo. The bug didn't seem to make any
6304 * mh-make.el: New script that compiles MH-E.
6305 (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
6306 file in between. Only save at the end.
6307 (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
6308 (mh-generate-autoloads): Replace the separate functions in Emacs
6309 and XEmacs with one that works in both variants. This simplifies
6311 (mh-generate-autoloads): doc fix.
6313 * Makefile (world): New target which works for both GNU Emacs and
6316 2002-12-03 Peter S Galbraith <psg@debian.org>
6318 * mh-alias.el (mh-mhparam-component): Don't raise error if call to
6321 * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
6322 not already available.
6324 2002-12-03 Bill Wohler <wohler@newt.com>
6326 * mh-customize.el (mh-show-threads-flag): Alphabetized.
6328 2002-12-03 Jeffrey C Honig <jch@honig.net>
6330 * Makefile: Moved .PHONY rule after all rule for compatibility
6331 with BSD/OS's old pmake.
6333 2002-12-03 Mark D Baushke <mdb@gnu.org>
6335 * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
6336 (mh-add-cur-notation): Remove unnecessary function.
6338 2002-12-03 Peter S Galbraith <psg@debian.org>
6340 * mh-identity.el (mh-identity-make-menu): Check if
6341 'mh-letter-mode-map' is bound, since this code also gets run when
6342 mh-customize.el is loaded at startup.
6344 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6346 * mh-customize.el (mh-show-threads-flag): New customizable
6347 variable which controls if new folders start of in threaded mode
6348 (closes SF #646794).
6350 * mh-e.el (mh-rescan-folder): Fix the function so that threading
6351 is preserved across rescans.
6352 (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
6353 already threaded or if mh-show-threads-flag is non-nil and the
6354 number of scan lines is fewer than mh-large-folders (closes SF
6357 2002-12-02 Mark D Baushke <mdb@gnu.org>
6359 * mh-e.el (mh-add-cur-notation): New function to mark the
6360 current message with the mh-note-cur character.
6361 (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
6362 mh-remove-cur-notation if there was no new mail (closes SF #647681).
6364 * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
6365 value (closes SF #643701).
6367 2002-12-02 Peter S Galbraith <psg@debian.org>
6369 * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
6370 (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
6371 (mh-alias-passwd-alist): New variable, holding aliases extracted
6372 from the passwd file.
6373 (mh-alias-tstamp): New variable storing the timestamp for alias
6375 (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
6377 (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
6378 (mh-alias-translate): New function. Return translation for alias,
6379 checking if in blind or passwd list.
6380 (mh-alias-letter-expand-alias): Rewrite using
6381 mail-abbrev-complete-alias from mailabbrev.el
6382 (mh-alias-expand-alias-map): New variable.
6383 (mh-alias-ali): New function. Return formatted string of
6384 translated ALIAS from ali.
6385 (mh-mhparam-component): New function. Return COMPONENT value from
6386 mhparam, or nil if unset.
6387 (mh-alias-filenames): New function. Provide list of alias
6388 filenames from mhparam, or nil if none are set.
6390 * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
6392 (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
6394 2002-12-02 Bill Wohler <wohler@newt.com>
6396 * Makefile (mh-loaddefs.el): Suppress creation of backup file.
6398 2002-12-02 Mark D. Baushke <mdb@gnu.org>
6400 * Makefile (mh-loaddefs.el): Simplify rule.
6402 * Makefile (clean): Remove mh-loaddefs.el* for good measure.
6403 ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
6404 (autoloads, mh-loaddefs.el): Revamp rules.
6405 (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
6407 * mh-e.el (recursive-load-depth-limit): Do not try to
6408 bump the value unless the variable exists.
6410 * mh-e.el (recursive-load-depth-limit): Bump value of
6411 recursive-load-depth-limit to 50 to allow emacs 21.1 which
6412 normally has a default value of 10 to be able to compile MH-E.
6414 2002-12-02 Satyaki Das <satyaki@theforce.stanford.edu>
6416 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
6417 so that threading is preserved (needed for SF #646794).
6419 * mh-identity.el (mh-identity-signature-start)
6420 (mh-identity-signature-end): Checkdoc fixes.
6422 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
6425 2002-12-01 Satyaki Das <satyaki@theforce.stanford.edu>
6427 * mh-identity.el (compile): Make mh-identity.el compile without
6430 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
6431 interactive functions that go to next and previous unread
6432 messages (closes SF #630328).
6433 (mh-folder-mode-map): Add key bindings for M-n and M-p to
6436 * mh-utils.el (mh-show-next-unread-msg)
6437 (mh-show-previous-unread-msg): New interactive functions that go
6438 to the next and previous unread messages respectively. These are
6439 callable from the show buffer.
6440 (mh-show-mode-map): Add key bindings for M-n and M-p to
6443 2002-12-01 Bill Wohler <wohler@newt.com>
6445 * mh-mime.el (mh-defun-compat): Make it indent like a defun.
6447 * mh-index.el (mh-defun-index): Make it indent like a defun.
6449 * mh-customize.el: New file (closes SF #643722).
6451 * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
6453 * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
6454 mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
6455 mh-customize.el (closes SF #643722).
6457 * mh-utils.el (mh-xemacs-flag): Moved here from below since
6458 needed by mh-customize.el.
6459 (mh-customize): Required. mh-invisible-headers)
6460 (mh-bury-show-buffer-flag, mhl-formfile):
6461 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6462 (closes SF #643722) .
6464 * mh-identity.el (mh-comp-loaded): New variable in a desparate
6465 attempt to prevent an infinite loop.
6466 (eval-when-compile): Was able to remove these defvars as they are
6467 now predefined in mh-loaddefs and mh-customize.
6468 (mh-identity-list-set): Added ;;;###mh-autoload cookie.
6469 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6470 (closes SF #643722).
6472 * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
6473 is in mh-customize which is required by mh-utils which is required
6475 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6476 (closes SF #643722).
6478 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
6480 * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
6482 (mh-help-messages): Update help message for prefix map.
6483 (mh-help-messages): Doc fix.
6484 (mh-help-messages): Really fix it.
6486 * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
6487 interactive functions corresponding to mh-thread-delete and
6488 mh-thread-refile callable from the show buffer.
6489 (mh-show-thread-map): Add key bindings for "Td" "To".
6491 * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
6492 (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
6493 mh-autoload cookies.
6494 (mh-thread-find-children): New function which finds the region
6495 containing all children of a message.
6496 (mh-thread-delete): New interactive function that marks for
6497 deletion the current message and its children.
6498 (mh-thread-refile): New interactive function that marks for
6499 refiling the current message and its children.
6501 2002-11-30 Bill Wohler <wohler@newt.com>
6503 * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
6504 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6505 Added ;;;###mh-autoload tag to selected functions so that
6506 autoloads for those functions can be automatically created in
6507 mh-loaddefs.el (closes half of SF #643722).
6509 * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
6510 Added ;;;###mh-autoload tag to selected functions so that
6511 autoloads for those functions can be automatically created in
6512 mh-loaddefs.el (closes half of SF #643722)..
6514 * mh-utils.el (mh-loaddefs): Added require.
6515 (mh-buffer-data): Moved here from mh-mime.el as it is used in
6517 (mh-set-cmd-note): Moved to mh-e.el.
6518 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6519 Added ;;;###mh-autoload tag to selected functions so that
6520 autoloads for those functions can be automatically created in
6521 mh-loaddefs.el (closes half of SF #643722)..
6523 * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
6524 uses mh-scan-format-file which is defined here.
6525 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6526 Added ;;;###mh-autoload tag to selected functions so that
6527 autoloads for those functions can be automatically created in
6528 mh-loaddefs.el (closes half of SF #643722)..
6530 * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
6531 provided via mh-e.el.
6532 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6533 Added ;;;###mh-autoload tag to selected functions so that
6534 autoloads for those functions can be automatically created in
6535 mh-loaddefs.el (closes half of SF #643722)..
6537 * Makefile (emacs): Add dependency on autoloads.
6538 (clean): Remove mh-loaddefs.el too.
6539 (autoloads): New target. Builds mh-loaddefs.el.
6540 (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
6541 (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
6542 (autoloads-gen): Runs batch-update-autoloads to populate
6543 mh-loaddefs.el (closes half of SF #643722)..
6544 (auto-autoloads.elc): Renamed from autoloads to be explicit about
6545 file that's created.
6546 (custom-load.elc): Ditto.
6548 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
6550 * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
6551 track of oldest ancestor of last message. If due to narrowing the
6552 common ancestor of two messages is lost then one of them is
6553 promoted to be the parent of the other. This variable helps in
6555 (mh-thread-generate-scan-lines): Group messages which belong to
6556 the same thread tree, even if a common ancestor is no longer
6558 (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
6559 mh-thread-last-ancestor to nil when calling
6560 mh-thread-generate-scan-lines.
6562 * mh-mime.el (font-lock): Font-lock required at compile time to
6563 avoid warning about font-lock-maximum-size
6564 (mh-display-smileys, mh-display-emphasis): Show graphical smileys
6565 and emphasis only if message isn't too large.
6567 * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
6568 been threaded or narrowed confuses MH-E. Even though the folder is
6569 displayed as not threaded and not narrowed, MH-E still believes
6570 the folder is in the previous state. This can cause problems when
6571 trying to narrow/thread the folder. The change fixes this.
6573 * mh-mime.el (mh-mime-display-alternative): The setting of
6574 mh-display-buttons-for-inline-parts-flag was not being used when
6575 displaying one of the alternatives. This change fixes that.
6577 * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
6579 (mh-filter-out-non-text): When filtering out MIME buttons from
6580 yanked text, the last line of the MIME part was getting lost. The
6581 fix avoids that and removes only the last new line instead.
6583 2002-11-29 Peter S Galbraith <psg@debian.org>
6585 * Makefile (MH-E-SRC): Add mh-alias.
6587 * mh-alias.el: Assign copyright to FSF instead of myself.
6588 (mh-read-address): Add support for emacs-21's
6589 completing-read-multiple to prompt for multiple entries.
6590 (mh-alias-PC-complete-address): Deleted.
6591 (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
6592 (mh-alias-letter-mode-expand-alias-hook): Simplify.
6593 (mh-alias-hostname): Deleted.
6594 (mh-alias-substitute-aliases-flag): Change default to nil.
6595 (mh-alias-display-blind-name-on-completion-flag) Change default to
6597 (mh-alias-alist): Now holds alias values.
6598 (mh-alias-lowercase-alist): Deleted.
6599 (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
6600 (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
6601 new mh-alias-alist instead of old mh-alias-lowercase-alist.
6603 * mh-alias.el: Moved from contrib/ directory. Now part of MH-E!
6605 * Makefile (MH-E-SRC): Add mh-identity.
6607 * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
6608 (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
6609 Moved to mh-comp.el.
6611 * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
6612 (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
6613 (mh-identity-menu): Added from mh-identity.el
6615 2002-11-29 Bill Wohler <wohler@newt.com>
6617 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
6618 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
6619 Ran indent-region, reformatted long lines, ran untabify.
6620 (indent-tabs-mode): Set file local variable to nil.
6622 2002-11-29 Bill Wohler <wohler@newt.com>
6624 * Released MH-E version 7.0.
6626 * mh-e.el (Version, mh-version): Updated for release 7.0.
6628 * mh-comp.el (subseq, search): Require cl instead of autoloading
6629 these due to compilation warnings in CVS Emacs.
6631 2002-11-23 Bill Wohler <wohler@newt.com>
6633 * MH-E-NEWS: Emphasize the renaming of the variables at the top of
6636 2002-11-22 Satyaki Das <satyaki@theforce.stanford.edu>
6638 * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
6639 is not needed and the binding is more useful to toggle display of
6642 * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
6643 and "o" from MIME buttons.
6644 (mh-insert-mime-button): Change comment to reflect change in
6647 2002-11-21 Bill Wohler <wohler@newt.com>
6649 * Released MH-E version 6.1.91.
6651 * mh-e.el (Version, mh-version): Updated for release 6.1.91.
6653 * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
6655 2002-11-21 Mark D. Baushke <mdb@gnu.org>
6657 * mh-comp.el (mh-letter-insert-signature-hook): This should be in
6658 customize-group mh-compose.
6660 2002-11-21 Satyaki Das <satyaki@theforce.stanford.edu>
6662 * mh-utils.el (load): Load mm-view.el here so that
6663 mm-inline-text-html would be defined if available.
6664 (mh-mm-inline-media-tests): If mm-inline-text-html is available
6665 then use it, otherwise fall back on using mm-inline-text (closes
6668 * mh-mime.el (load): Remove the load of mm-view here since it
6669 happens in mh-utils.el now.
6671 2002-11-15 Bill Wohler <wohler@newt.com>
6673 * Released MH-E version 6.1.90.
6675 * README (Compile): New section. Users must now compile MH-E due
6676 to the vagaries of the various versions of gnus.
6678 * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
6679 reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
6680 (MH-E-ETC-ETC): Added Makefile and README.
6681 (dist): Depend on all, so clean happens. Don't add .elc files to
6682 tarball as they are built upon installation now.
6684 2002-11-15 Satyaki Das <satyaki@theforce.stanford.edu>
6686 * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
6687 If called in threaded mode, cur was always getting set to the last
6688 message in the folder.
6690 2002-11-14 Bill Wohler <wohler@newt.com>
6692 * mh-e.el (Version, mh-version): Updated for release 6.1.90.
6694 * MH-E-NEWS, README: Updated for release 7.0.
6696 * mh-utils.el (mh-index-search): Added full docstring which new
6697 users will need before they run a search!
6698 (mh-swish++-execute-search, mh-swish-execute-search,
6699 mh-namazu-execute-search mh-glimpse-execute-search): Added
6700 autoloads with full docstrings for the same reason!
6702 * mh-e.el (mh-limit-map): Removed / / alias for
6703 mh-narrow-to-subject.
6705 * mh-utils.el (mh-show-thread-map): Removed / / alias for
6706 mh-show-narrow-to-subject.
6708 * mh-seq.el (mh-delete-subject): Checkdoc fix.
6710 * mh-e.el (mh-help-messages): Added / prefix character to help
6711 string. Tweaked / helpstring a little.
6713 2002-11-14 Mark D. Baushke <mdb@gnu.org>
6715 * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
6716 width for cosmetic reasons.
6718 2002-11-14 Peter S Galbraith <psg@debian.org>
6720 * mh-identity.el (mh-insert-identity): Fix a few things undone by
6722 (mml-insert-tag): Add autoload.
6724 2002-11-13 Mark D. Baushke <mdb@gnu.org>
6726 * mh-identity.el (mh-insert-identity): A value of either nil or
6727 "" should cause the field to be removed.
6728 (mh-identity-list): Update the docstring.
6730 2002-11-13 Peter S Galbraith <psg@debian.org>
6732 * mh-e.el (mh-limit-map): New key map for limits (subject for now).
6733 * mh-utils.el (mh-show-limit-map): Same.
6735 * mh-seq.el (mh-delete-subject): Renamed from
6736 mh-delete-subject-sequence.
6737 (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
6738 (mh-next-unseen-subject-sequence): Removed. :-(
6740 * mh-seq.el: Use 'em.
6742 2002-11-13 Mark D. Baushke <mdb@gnu.org>
6744 * mh-e.el (mh-alt-show): New defalias for mh-show.
6745 (mh-alt-refile-msg): New defalias for mh-refile-msg.
6746 (mh-alt-send): New defalias for mh-send.
6747 (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
6748 mh-alt-send for the alias bindings.
6749 (mh-alt-visit-folder): New defalias for mh-visit-folder.
6750 (mh-folder-map): Use it.
6751 (mh-folder-message-menu): Revert previous change.
6753 2002-11-13 Peter S Galbraith <psg@debian.org>
6755 * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
6756 menu for mh-refile-msg.
6758 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
6760 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
6761 scan lines of duplicate messages were too long. The change fixes
6764 2002-11-13 Bill Wohler <wohler@newt.com>
6766 * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
6769 * mh-speed.el (mh-speed-run-flists-flag): While documenting this
6770 variable in the release notes, I was unsure what would happen if
6771 set to nil. So, I clarified the docstring and indicated
6772 implications of setting this variable to nil, and offered manual
6775 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
6777 * mh-index.el (mh-index-quit): Fix documentation and run
6778 mh-before-quit-hook and mh-quit-hook.
6780 2002-11-13 Bill Wohler <wohler@newt.com>
6782 * mh-utils.el (with-mh-folder-updating): Renamed local variable
6783 mh-save-modification-flag to save-modification-flag.
6785 2002-11-12 Bill Wohler <wohler@newt.com>
6787 * mh-index.el (mh-index-keymap): Renamed to
6788 mh-index-folder-mode-keymap to be a closer to the usual keymap
6789 naming convention. Since we want our own keymap and not inherit
6790 the one in mh-folder-mode, we need to use a suffix other than
6793 * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
6795 (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
6797 (mh-folder-folder-menu): Aligned symbols.
6799 * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
6801 * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
6803 (mh-show-message-menu): s/Msg/Message. Removed redundant refile
6805 (mh-show-folder-menu): Aligned symbols.
6807 2002-11-12 Satyaki Das <satyaki@theforce.stanford.edu>
6809 * mh-index.el (mh-index-matches, mh-index-current-match): Remove
6810 these variables since they were only used for glimpse and grep.
6811 Now the functionality of all the indexing programs will be
6813 (mh-index-search, mh-index-insert-scan, mh-defun-index)
6814 (mh-index-show): Simplify functions since matches are no longer
6816 (mh-index-parse-match): Remove function.
6818 * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
6819 (mh-scan-date-width, mh-scan-date-flag-width)
6820 (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
6821 variables to keep track of the widths of the different fields in
6823 (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
6824 (mh-scan-field-subject-start-offset): Offsets that are computed
6825 from the scan line widths.
6827 * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
6828 (mh-thread-parse-scan-line): Use new variables that remember the
6829 various offsets in place of integer constants.
6830 (mh-thread-generate-scan-lines): Space shouldn't be added here!
6832 2002-11-12 Bill Wohler <wohler@newt.com>
6834 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
6835 first column is column number 0 and changed "sixth column" to
6836 "fifth column" accordingly.
6838 * mh-index.el (mh-index-folder-mode): Clarified method of replying
6839 in mode documentation.
6840 (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
6842 * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
6843 variable mh-cmd-note in docstrings.
6845 * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
6846 Reworded docstring so it doesn't mention internal variable
6847 mh-cmd-note. Added information about using fixed-width message
6849 (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
6850 that it is updated dynamically only if mh-scan-format-file is t.
6851 (mh-set-cmd-note): Grammer fix in docstring.
6852 (mh-cmd-note): Noted that the first column is column number 0.
6854 * mh-e.el (mh-scan-format-file): Added information about
6855 mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
6857 * mh-index.el (mh-index-keymap): Added bindings for i
6858 (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
6859 appear to be supported and are found in the toolbar.
6860 (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
6861 (mh-visit-folder) alias, and v (mh-visit-folder).
6862 (mh-index-folder-mode-help-messages): Changes for above.
6863 (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
6864 menus. I decided to delete the unavailable items since greying out
6865 implies that the user can do something to access them. In this
6866 case, that's not the case. Well, that's not entirely true--the
6867 user could write code for those functions ;-).
6868 (mh-index-folder-mode): Use new menus.
6870 * mh-utils.el (mh-prompt-for-folder): Added optional argument
6871 default-string which can be used in case the string for default
6872 isn't intuitive enough.
6874 * mh-index.el (mh-index-search): Made default prompt more
6875 intuitive (I hope!).
6877 2002-11-11 Peter S Galbraith <psg@debian.org>
6879 * mh-identity.el (mh-header-field-delete): Remove save-excursion.
6880 Strange that this worked for me before... Thanks to Jeff for the
6882 (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
6883 adds a nicer-looking MIME header for signatures inserted after
6886 2002-11-11 Satyaki Das <satyaki@theforce.stanford.edu>
6888 * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
6889 so that it can take a string containing the scan-line as argument
6890 in addition to using the line at point.
6891 (mh-thread-add-spaces): New function to pad each scan line to the
6892 appropriate length. This is called when mh-cmd-note is increased.
6894 * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
6895 folder by using mh-thread-add-spaces to pad the pre-existing lines
6896 in mh-thread-scan-line-map appropriately.
6897 (mh-thread-add-spaces): Autoload from mh-seq.
6899 2002-11-11 Mark D. Baushke <mdb@gnu.org>
6901 * mh-index.el: Fix checkdoc nit.
6903 * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
6904 from mh-display-buttons-for-inline-parts.
6905 (mh-mime-display-single): Use it.
6906 This addresses part of SF #627015.
6908 * mh-e.el (mh-print-background-flag): Renamed from
6909 mh-print-background.
6910 * mh-funcs.el (mh-print-msg): Use it.
6911 This addresses part of SF #627015.
6913 * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
6914 mh-delete-yanked-msg-window.
6915 (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
6916 This addresses part of SF #627015.
6918 * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
6919 from mh-update-sequences-after-mh-show.
6920 (mh-show-msg): Use it.
6921 This addresses part of SF #627015.
6923 * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
6924 mh-decode-quoted-printable
6925 (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
6927 This addresses part of SF #627015.
6929 * mh-utils.el (mh-recursive-folders-flag): Renamed from
6930 mh-recursive-folders.
6931 (mh-make-folder-list-background): Use it.
6932 * mh-funcs.el (mh-list-folders): Ditto.
6933 This addresses part of SF #627015.
6935 * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
6936 mh-auto-folder-collect.
6937 (mh-find-path): Use it.
6938 This addresses part of SF #627015.
6940 * mh-utils.el (mh-decode-mime-flag): Renamed from
6942 * mh-utils.el (mh-show-mode, mh-show-xface)
6943 (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
6944 * mh-mime.el (mh-graphical-smileys-flag)
6945 (mh-graphical-emphasis-flag): Ditto.
6946 * mh-index.el (mh-index-search, mh-index-show): Ditto.
6947 * mh-e.el (mh-header-display): Ditto.
6948 This addresses part of SF #627015.
6950 * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
6951 to get back to the current message.
6953 2002-11-10 Satyaki Das <satyaki@theforce.stanford.edu>
6955 * mh-index.el (mh-index-keymap, mh-index-page-msg)
6956 (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
6958 (mh-index-keymap, mh-index-previous-page): Replace
6959 mh-index-scroll-down with mh-index-previous-page.
6961 2002-11-09 Satyaki Das <satyaki@theforce.stanford.edu>
6963 * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
6964 loaded. This fixes the infinite load loop. I am not sure what the
6965 actual problem is. Also removed the nop requires/autoloads.
6966 (mh-defun-index): Use the right argument for mh-recenter.
6967 Otherwise it misbehaves for the default value of
6970 * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
6971 used on first line of index folder buffer.
6973 2002-11-09 Peter S Galbraith <psg@debian.org>
6975 * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
6977 (mh-index-folder-mode): Use it.
6978 (mh-index-keymap): Added mouse-2 binding, like in regular
6981 2002-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
6983 * mh-index.el (mh-index-folder-mode): Fix doc string for major
6984 mode. It was pointing to the wrong keymap.
6985 (mh-index-show-mode): Fix doc string for mode. Also add mh-help
6988 * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
6989 mh-mark-active-p instead. This does the right thing for different
6991 (mh-yank-cur-msg): Add a space between sexprs.
6993 * mh-utils.el (mh-mark-active-p): New macro which papers over
6994 diffences between GNU Emacs and XEmacs. The variables mark-active
6995 and transient-mark-mode are used in GNU Emacs while zmacs-regions
6996 and region-active-p are used in XEmacs.
6998 * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
6999 mh-mark-active-p as above.
7001 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
7002 mh-mark-active-p as above.
7004 2002-11-06 Peter S Galbraith <psg@debian.org>
7006 * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs. It didn't work
7007 with a selected region, and left the inserted text selected (in
7008 reverse video). I didn't use SF patch #402315 to implement this.
7010 2002-11-05 Peter S Galbraith <psg@debian.org>
7012 * mh-utils.el (mh-show-tool-bar-map): Change call to
7013 mh-tool-bar-search-command such that user can customize it for the
7016 * mh-e.el (mh-folder-tool-bar-map): Same.
7018 2002-11-05 Bill Wohler <wohler@newt.com>
7020 * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
7021 mh-tool-bar-search-command.
7023 * mh-index.el (mh-index-search): Backed out previous change to
7024 prompt. There ain't no folder named "all."
7026 * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
7027 and mh-index-search to the docstring so that user can easily click
7028 on them for more information.
7030 * mh-pick.el (mh-search-folder): Mention that this function uses
7031 the MH pick command to give the user more information when
7032 choosing between mh-search-folder and mh-index-folder.
7034 * mh-index.el (mh-index-search): Edited the docstring. Direct the
7035 user to mh-index-program if necessary.
7036 (mh-index-program): Edited this docstring too. Viewing the help
7037 in a *Help* buffer really exposes grammatical flaws.
7039 2002-11-05 Peter S Galbraith <psg@debian.org>
7041 * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
7042 what search function to use in tool-bar.
7043 (mh-show-tool-bar-map): Use it.
7045 * mh-e.el (mh-folder-tool-bar-map): Use it.
7047 2002-11-05 Bill Wohler <wohler@newt.com>
7049 * mh-index.el (mh-index-search): Changed default prompt from "+"
7050 to "all". mh-prompt-for-folder doesn't seem to mind.
7052 * mh-e.el (mh-folder-folder-menu): Added menu entry for
7055 * mh-utils.el (mh-show-folder-menu): Added menu entry for
7058 * mh-index.el: Added commentary on supported search engines and
7059 for getting started (initializing database).
7061 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7063 * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
7064 binding of "i" to "Fi".
7065 (mh-index-folder-mode-help-messages): Change help message to
7066 reflect above change.
7068 2002-11-04 Bill Wohler <wohler@newt.com>
7070 * mh-index.el (mh-index-program, mh-indexer): Swapped names since
7071 the former seems like a better user variable name. If you've
7072 customized mh-indexer, be sure to toss it out and customize
7075 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7077 * mh-index.el (mh-indexer-choices): Not having the quotes in the
7078 binary names is a bit nicer since that maintains uniformity with
7080 (mh-index-choose): Use symbol-value instead of eval. Eval should
7081 be avoided except when it can't be :-).
7083 2002-11-04 Bill Wohler <wohler@newt.com>
7085 * mh-index.el (mh-index-program): New variable to hold the name of
7086 the indexer that was found; use this instead of clobbering
7087 user-customizable variable mh-indexer.
7088 (mh-index-search): Use it. Added comments to keep others from
7089 doing what I had done (fortunately, I caught myself before
7091 (mh-index-choose): Set mh-index-program instead of mh-indexer.
7092 Update docstring to describe side-effects.
7094 * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
7095 are good that if someone has both swish++ and swish, they want to
7096 use the much faster, much smaller swish, so move it up in the
7098 (mh-indexer-choices): Ditto for rationale for moving swish++ up in
7099 priority over swish. Also, use -binary symbols instead of
7100 hard-coding binary names. This allows package installers to
7101 customize the location of the binaries in site-lisp and still have
7102 the auto-detection code work. It also allows one to have alternate
7103 binary names (see mh-swish++-binary).
7104 (mh-index-search): Ditto (moving swish++ up).
7105 (mh-swish++-binary): Look for search++, then search. The rationale
7106 is that a package maintainer may rename search to search++ if
7107 search is already in use (e.g., Debian) so try it first.
7108 (mh-swish++-execute-search): Replaced Satyaki's path with dummy
7109 path in docstring. Also removed RecurseSubdirs since this is the
7110 default. Added comment that index might be named index++ on some
7111 systems (e.g., Debian).
7112 (mh-index-choose): Updated to work with new mh-indexer-choices.
7114 2002-11-04 Peter S Galbraith <psg@debian.org>
7116 * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
7117 here, since that adds the menu to the Customize buffer in XEmacs.
7119 2002-11-04 Peter S Galbraith <psg@debian.org>
7121 * mh-comp.el (mh-mhn-compose-insert-flag)
7122 (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
7124 * mh-mime.el (mh-mhn-compose-insert-flag)
7125 (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
7126 Fixes mh-letter-menu for XEmacs.
7128 2002-11-04 Eric Ding <eding@rational.com>
7130 * mh-comp.el (mh-rejected-letter-start): add another string
7132 2002-11-04 Eric Ding <ericding@alum.mit.edu>
7134 * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
7135 regexps as args, only regular strings
7137 2002-11-04 Peter S Galbraith <psg@debian.org>
7139 * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
7140 pre-existing M-F-T field. If a nmh replgroupcomps propagates a
7141 M-F-T field in a message reply, then we have to have it alone.
7143 2002-11-02 Bill Wohler <wohler@newt.com>
7145 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7146 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
7147 mh-xemacs-compat.el: Added Local Variables section. Defined
7148 sentence-end-double-space to be nil so that those who might not
7149 buy my setting of this variable can at least run checkdoc without
7150 a whole lot of noise.
7152 2002-11-02 Peter S Galbraith <psg@debian.org>
7154 * mh-identity.el: New file. Multiple Identify support for MH-E.
7155 Used to easily set different fields such as From and Organization,
7156 as well as diffrent signature files. This file won't be included
7159 2002-11-02 Bill Wohler <wohler@newt.com>
7161 * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
7162 from Gnus 5.10 to make it explicit which code has been
7164 (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
7165 code from Gnus 5.10.
7167 2002-11-02 Peter S Galbraith <psg@debian.org>
7169 * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
7170 mention related variables mh-reply-show-message-flag and
7171 mh-delete-yanked-msg-window.
7172 (mh-reply): Change the "Reply to whom" prompt.
7174 2002-11-01 Bill Wohler <wohler@newt.com>
7176 * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
7177 (mh-folder-list-change-hook): Converted this from defvar in other
7178 files to defcustom here. It is called, not documented as
7179 obsolete, and might as well be documented.
7180 (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
7181 mh-process-commands, mh-update-unseen): Added missing
7182 documentation about hook, or made verbiage about hook consistent
7183 throughout, even if the function isn't interactive.
7185 * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
7186 and made it a defcustom.
7187 (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
7188 but this is the place where it is called).
7189 (mh-show-hook): Moved here from mh-e.el since it's called here.
7190 (mh-show-mode): Call mh-show-mode-hook.
7191 (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
7192 mh-prompt-for-folder, mh-set-folder-list): Added missing
7193 documentation about hook, or made verbiage about hook consistent
7194 throughout, even if the function isn't interactive.
7196 * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
7198 (mh-insert-prefix-string): Made docstring more descriptive of what
7201 * mh-funcs.el (mh-kill-folder): Added missing documentation about
7204 * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
7205 (mh-index-show): Made verbiage about hook consistent throughout.
7207 * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
7208 (mh-edit-mhn): Added missing documentation about hook.
7210 * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
7211 throughout. Call the damn hook.
7213 2002-11-01 Satyaki Das <satyaki@theforce.stanford.edu>
7215 * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
7216 it will look right in info.
7218 * mh-index.el (mh-index-search): Change argument name from
7219 new-buffer-p to new-buffer-flag.
7220 (mh-index-search-again, mh-index-search): New index-buffers were
7221 being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
7223 (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
7224 show buffers (after the first one) was broken.
7225 (mh-index-quit): Bury show buffer instead of killing it. Killing
7226 it, without killing the corresponding folder buffer, can cause
7227 confusion with two folder buffers trying to display in the same
7230 * mh-seq.el (mh-thread-prune-containers): Rewritten without
7231 recursion. Also removed the top-level-p argument since it isn't
7233 (mh-thread-sort-containers): New function factored out from
7234 previous definition of mh-thread-prune-containers. It sorts
7235 message containers in ascending order wrt their message indices.
7236 (mh-thread-generate): Use new mh-thread-prune-containers.
7238 * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
7241 2002-10-31 Bill Wohler <wohler@newt.com>
7243 * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
7244 mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
7245 mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
7247 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7249 * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
7250 sequence notation and leave notation for other things alone. This
7251 ensures that threading doesn't lose notations for replied-to
7254 * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
7255 instead do it in mh-get-new-mail. This way the widening happens
7256 only if new mail is incorporated.
7257 (mh-generate-new-cmd-note): The function now returns the point
7258 from which the new messages start. This will allow threading to do
7260 (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
7261 adaptive scan mode leaves two messages marked as current in
7262 certain cases. Fix indentation of if statement. If there are
7263 messages to be incorporated, the folder is widened. If mh-cmd-note
7264 changes set start-of-inc correctly.
7265 (mh-remove-all-notation): Change this function to only remove user
7266 sequence notation and leave notation for replied-to messages and
7267 similar notation alone. This means operations like narrowing to
7268 subject sequence and widening don't lose notations.
7270 2002-10-31 Bill Wohler <wohler@newt.com>
7272 * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
7273 docstring and other minor edits. Checkdoc removed trailing spaces.
7274 (mh-insert-signature): Checkdoc flagged docstring. Reverted to
7275 previous value. Added specific name of hook that is run.
7276 (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
7279 2002-10-31 Jeffrey C Honig <jch@honig.net>
7281 * mh-e.el (mh-show-mode-hook): Remove the unused
7282 mh-show-mode-hook, mh-show-hook is the one that is used.
7284 * mh-utils.el (mh-show-mode): Change the documentation to refer to
7285 mh-show-hook instead of the unused mh-show-mode-hook.
7287 2002-10-31 Peter S Galbraith <psg@debian.org>
7289 * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
7290 and include example in doc string.
7292 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7294 * mh-index.el (mh-indexer): Add customization choice for swish++.
7295 (mh-indexer-choices): Add swish++ choice.
7296 (mh-index-search): Change doc to reflect addition of swish++ option.
7297 (mh-swish++-binary, mh-swish++-directory): New variables for
7299 (mh-swish++-execute-search): New function to execute swish++
7301 (mh-swish++-next-result): Function aliased to mh-swish-next-result
7302 since the result format of swish++ is the same as that of swish-e.
7303 (mh-index-search): Always overwrite window-configuration with new
7304 value. This is needed since we don't kill the index-buffer when
7305 quitting which means the window configuration wasn't getting set
7307 (mh-index-search-again): If index buffer is reused, reset the old
7308 window config to its original value.
7310 2002-10-30 Bill Wohler <wohler@newt.com>
7312 * Makefile (emacs, xemacs): New targets.
7313 (all): Use these targets instead of calling specific targets.
7314 (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
7315 target and moved pieces into their own sections.
7318 2002-10-30 Peter S Galbraith <psg@debian.org>
7320 * mh-utils.el (mh-show-font-lock-keywords): Wrap an
7321 'eval-and-compile around its defvar, otherwise byte-compilation
7322 fails on `mh-show-font-lock-keywords-with-cite'.
7324 2002-10-29 Jeffrey C Honig <jch@honig.net>
7326 * mh-comp.el (mh-letter-insert-signature-hook)
7327 (mh-insert-signature): Add a hook to be called before inserting
7328 the signature. Do not attempt to insert the signature if
7329 mh-insert-signature-file-name is nil.
7331 2002-10-29 Peter S Galbraith <psg@debian.org>
7333 * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
7334 (Closes SF #629233: inc in narrowed folder suboptimal)
7336 * mh-comp.el (mh-insert-letter): Stop using mhl to include a
7337 message before it mangles the header, and supercite fails
7338 (Closes SF #629153: mh-insert-letter uses mhl?).
7339 (mh-insert-prefix-string): Leave point at beginning instead of
7340 end, since that's what sc-cite-original does.
7341 (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
7343 2002-10-30 Steve Youngs <youngs@xemacs.org>
7345 * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
7346 when in XEmacs so we don't do font-locking unconditionally.
7348 * mh-utils.el (mh-show-mode): Ditto.
7350 2002-10-29 Peter S Galbraith <psg@debian.org>
7352 * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
7353 (mh-folder-to-face, mh-folder-body-face): Define faces instead of
7354 copying them from font-lock faces. This mh-e will look the same
7355 in XEmacs as it does in Emacs.
7356 * mh-utils.el (mh-show-cc-face, mh-show-date-face)
7357 (mh-show-header-face): Ditto.
7359 2002-10-29 Jeffrey C Honig <jch@honig.net>
7361 * mh-comp.el (mh-send-letter): I meant to use
7362 mh-goto-header-field, not mh-get-header-field. The former returns
7363 nil if the header is not found and doesn't need a conditional.
7365 2002-10-29 Peter S Galbraith <psg@debian.org>
7367 * mh-comp.el (mh-forward): Bug fix. Change 'kill-line for a
7368 'delete-region, because I don't want that text yanked with C-y.
7370 * mh-seq.el (mh-put-msg-in-seq): Add support for selected
7371 region (Closes SF feature request #630324).
7373 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7375 * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
7376 general so that a subject of the form "Re[218]: howdy" would be
7379 * mh-mime.el (mh-mime-save-part): Copy function definition of
7380 mm-save-part from cvs gnus since that function is buggy in gnus
7381 that comes with emacs21.2.
7383 2002-10-28 Peter S Galbraith <psg@debian.org>
7385 * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
7386 optional bracketed number after "Re", such as in "Re[2]:"
7387 (Patch by Satyaki; I checked it and applied).
7388 (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
7389 * mh-seq.el (mh-subject-to-sequence): Ditto.
7391 * mh-e.el (mh-folder-sequence-menu): Remove "Toggle Subject
7392 Thread" from menu. mh-toggle-threads is in the Folder menu.
7394 * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
7396 * mh-utils.el (mh-show-update-sequences): Added to
7397 mh-defun-show-buffer builds; needed for menu.
7398 (mh-show-sequence-menu, mh-show-message-menu)
7399 (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
7400 the menus used in mh-folder-mode.
7401 (mh-show-mode): easy-menu-add the 3 menus.
7403 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7405 * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
7406 go to the right message. In a threaded folder message 2 may be
7407 present after 26 and the previous regexp would go to 26 when we
7408 really wanted to go to 2!
7410 * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
7413 2002-10-28 Bill Wohler <wohler@newt.com>
7415 * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
7416 (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
7417 of mh-show-mime-save-parts.
7419 2002-10-28 Peter S Galbraith <psg@debian.org>
7421 * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
7423 * mh-utils.el (mh-show-tool-bar-map): Same.
7424 * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
7426 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7428 * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
7429 its behavior like that of mh-narrow-to-seq.
7431 2002-10-27 Bill Wohler <wohler@newt.com>
7433 * mh-mime.el (mh-mime-save-parts): Renamed from
7434 mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
7435 bug whereby mh-mime-save-parts-directory was not getting
7436 initialized properly from a string-valued
7437 mh-mime-save-parts-default-directory.
7438 (mh-mime-save-parts-default-directory): Ditto. Check your
7440 (mh-mime-save-parts-directory): Ditto.
7442 * mh-utils.el (mh-show-mime-save-parts): Renamed from
7443 mh-store-mime-parts.
7444 (mh-show-mime-map): Added keybinding "K a" for
7445 mh-show-mime-save-parts.
7447 * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
7448 (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
7449 (mh-help-messages): Added help for "K a".
7451 2002-10-27 Peter S Galbraith <psg@debian.org>
7453 * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
7454 the first to the second (and recode a bit).
7455 (mh-insert-mail-followup-to): Use it.
7457 2002-10-27 Bill Wohler <wohler@newt.com>
7459 * mh-utils.el (mh-invisible-headers): Backed out change. Removed
7460 Mail-Followup-To due to objections from Peter and Mark.
7462 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7464 * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
7465 whether the message being queried about has been marked to be
7468 * mh-mime.el (mh-insert-mime-security-button): Make
7469 pressed-details a local.
7471 2002-10-27 Steve Youngs <youngs@xemacs.org>
7473 * .cvsignore: New file.
7475 2002-10-26 Steve Youngs <youngs@xemacs.org>
7477 * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
7478 variable 'dest', it isn't used anywhere.
7480 * mh-pick.el (mh-do-pick-search): Don't bind local variable
7481 'finding-messages', it isn't used anywhere.
7483 * mh-utils.el: Byte-compiler warning suppression.
7484 (mh-gnus-article-highlight-citation): Rather than redefining
7485 'gnus-cite-face-list', just re-order it.
7486 (mh-show-mode): Force turning on font-lock in XEmacs.
7488 * mh-seq.el: Byte-compiler warning suppression.
7490 * mh-index.el: Byte-compiler warning suppression.
7492 * mh-comp.el: Byte-compiler warning suppression.
7494 * mh-xemacs-compat.el: Add defaliases for 'timerp' &
7495 'cancel-timer' to the equivalent 'itimer' functions.
7496 (rfc822): Require it for 'rfc822-goto-eoh'.
7497 Byte-compiler warning suppression.
7499 * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
7500 (mh-toggle-threads): Remove duplicate autoload.
7501 Byte-compiler warning suppression.
7502 (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
7503 in XEmacs when font-lock is on.
7504 (mh-folder-unseen-seq-name): Ditto.
7506 2002-10-27 Mark D. Baushke <mdb@gnu.org>
7508 * Makefile: Reorganize to allow for building also compiling for
7509 XEmacs too. Sanitize so that it will work using least-common
7510 denominator versions of 'make'. Tested using GNU make, Solaris make,
7512 (all): Use recursive invokation based on the emacs or xemacs
7513 executable passed on the 'make EMACS=xemacs' command line.
7514 (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
7515 to compile things properly.
7516 (AUTO_PRELOADS): Magic XEmacs glue.
7519 (custom-loads): Ditto.
7521 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7523 * mh-e.el (mh-last-msg): Add call to mh-recenter.
7525 2002-10-26 Peter S Galbraith <psg@debia.org>
7527 * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
7528 `mh-re-search-to-cc' in favour of more generalized new function
7529 `mh-search-addr-regexp'.
7530 (mh-insert-mail-followup-to): Use it.
7532 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7534 * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
7535 folder is already threaded. This is more efficient and also avoids
7536 problems when the folder is widened.
7537 (mh-thread-inc): Don't try to restore the point to original
7538 location since mh-inc-folder from where this is called changes
7539 point location after calling this function.
7541 * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
7544 2002-10-26 Peter S Galbraith <psg@debian.org>
7546 * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
7548 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7550 * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
7551 of dest. The problem was pointed out by Steve as well.
7553 * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
7554 pointed out by Steve.
7556 2002-10-26 Bill Wohler <wohler@newt.com>
7558 * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
7560 2002-10-26 Peter S Galbraith <psg@debian.org>
7562 * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
7565 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
7567 * mh-e.el (mh-remove-all-notation): New function that removes all
7570 * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
7571 remove all notation. This avoids stale notation hanging around.
7572 Also changes in show buffer and position in folder buffer are
7573 avoided if possible.
7574 (mh-widen): When widening the scan-lines are notated based on the
7575 current state of the folder. This means any changes made when the
7576 folder was narrowed are shown consistently.
7577 (mh-notate-deleted-and-refiled): Update the documentation.
7578 (mh-thread-parse-scan-line): For some reason the ASCII value of
7579 the space character was being used here. This is fixed.
7580 (mh-thread-inc, mh-toggle-threads): Avoid change of point in
7581 folder and message being displayed in shown buffer.
7583 * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
7584 blank lines when point is towards the end of the folder buffer.
7586 2002-10-25 Peter S Galbraith <psg@debian.org>
7588 * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
7589 defcustom to append a Mail-Followup-To field to the header. The
7590 insertion is done if the To: or Cc: fields matches an entry in
7591 `mh-insert-mail-followup-to-list'."
7592 (mh-insert-mail-followup-to-list): New defvar. List of addresses
7593 for which a Mail-Followup-To field is inserted.
7594 (mh-re-search-to-cc): New function. Search for REGEXP in To: and
7596 (mh-insert-mail-followup-to): New function. Insert
7597 Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
7598 (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
7599 mh-insert-mail-followup-to-flag is true.
7601 2002-10-25 Mark D. Baushke <mdb@gnu.org>
7603 * mh-utils.el (mh-show-maximum-size): New variable to control
7604 the display of large messages.
7605 (mh-display-msg): Use it (Closes SF #488696).
7607 * mh-seq.el (mh-toggle-threads): Checkdoc fix.
7609 * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
7611 * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
7612 mh-insert-x-mailer-p. Update docstring.
7613 (mh-send-letter): Use it.
7614 (mh-reply-show-message-flag): Renamed from
7615 mh-reply-show-message-p. Update docstring.
7617 This addresses part of SF #627015.
7619 * mh-e.el (mh-recenter-summary-flag): Renamed from
7620 mh-recenter-summary-p. Update docstring.
7621 (mh-set-scan-mode): Use it.
7622 This addresses part of SF #627015.
7624 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
7626 * mh-e.el (mh-reset-threads-and-narrowing): New function which
7627 resets all thread and narrowing state to completely unthreaded and
7628 widened state. As a side effect, the folder buffer is erased.
7629 (mh-rescan-folder): Reset threads and narrowing state.
7631 * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
7633 * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
7634 threading is over so that if user aborts threading, it doesn't
7635 leave mh-e in an inconsistent state.
7636 (mh-toggle-threads): Use mh-scan-folder to populate the folder
7637 buffer instead of mh-rescan-folder which resets threading and
7640 2002-10-24 Bill Wohler <wohler@newt.com>
7642 * mh-e is completely checkdoc clean now.
7644 * mh-utils.el (mh-clean-message-header-flag): Renamed from
7645 mh-clean-message-header.
7646 (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
7647 (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
7648 This addresses part of SF #627015.
7650 * mh-mime.el (mh-clean-message-header-flag): Renamed from
7651 mh-clean-message-header.
7652 Checkdoc fixes. This addresses part of SF #627015.
7654 * mh-index.el (mh-clean-message-header-flag): Renamed from
7655 mh-clean-message-header. This addresses part of SF #627015.
7657 * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
7658 mh-do-not-confirm. This addresses part of SF #627015.
7660 * mh-e.el (mh-do-not-confirm-flag): Renamed from
7662 (mh-clean-message-header-flag): Renamed from
7663 mh-clean-message-header.
7664 This addresses part of SF #627015.
7666 * mh-comp.el: checkdoc fixes.
7668 2002-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
7670 * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
7671 fresh instead of yanking from buffer. This is needed to get
7672 correct threading in copied sequence.
7673 (mh-thread-inc, mh-thread-update-scan-line-map)
7674 (mh-thread-parse-scan-line): Eliminate the use, and hence the
7675 definition of, the kludgy mh-thread-update-scan-line-map. Instead
7676 the functions mh-notate-deleted-and-refiled and
7677 mh-notate-user-sequences are used to get the message marks right.
7678 (mh-thread-generate-scan-lines): Updated to allow the thread tree
7679 to be used in a narrowed folder buffer.
7680 (mh-thread-folder, mh-toggle-threads): Remove
7681 mh-folder-threaded-view-flag.
7682 (mh-thread-old-scan-line-map): New buffer-local variable that
7683 remembers the original scan-line map so that the sequence thread,
7684 narrow, widen will work.
7685 (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
7686 narrowing and restore it when widening.
7688 * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
7689 (mh-regenerate-headers, mh-get-new-mail)
7690 (mh-make-folder-mode-line, mh-process-commands)
7691 (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
7692 Instead (memq 'unthread mh-view-ops) is used to test if the folder
7695 * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
7696 since we want to do emphasis on the whole of the region and not
7697 just after the first blank line.
7698 (mh-mm-display-part): When displaying a text part show smilies and
7701 * mh-index.el (mh-index-insert-scan): Attempt to keep number of
7702 args to scan small if there are lots of adjacent matches.
7703 (mh-index-quit): Bury index-buffer on quit instead of killing it.
7704 This behavior is more like that of mh-quit.
7706 * mh-seq.el (mh-widen): If folder was threaded after narrowing
7707 then make mh-widen undo the threading instead of erroring out.
7709 2002-10-24 Peter S Galbraith <psg@debian.org>
7711 * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
7712 Satyaki) to properly unthread a narrowed-to-sequence.
7714 * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
7715 breakage from partial switch to mh-container-real-child-flag and
7718 * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
7719 (eq t mh-yank-from-start-of-msg) when that's what we want.
7721 2002-10-24 Mark D. Baushke <mdb@gnu.org>
7723 * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
7724 subject-pruned-flag.
7725 (mh-thread-inc): Renamed old-buffer-modified-p as
7726 old-buffer-modified-flag.
7727 (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
7728 This addresses part of SF #627015.
7730 * mh-index.el (mh-index-advance): Renamed backward-p
7731 local variable as backward-flag.
7732 (mh-index-next-button): Renamed backward-p
7733 argument as backward-flag.
7734 (mh-index-show): Renamed display-headers-p argument as
7735 display-headers-flag.
7736 This addresses part of SF #627015.
7738 * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
7739 (mh-folder-mime-action): Renamed include-security-p
7740 argument as include-security-flag.
7741 (mh-goto-next-button, mh-next-button): Renamed backward-p
7742 argument as backward-flag.
7743 (mh-get-new-mail): Renamed new-mail-p local variable as
7745 (mh-goto-cur-msg): Renamed minimal-changes-p argument as
7746 minimal-changes-flag.
7747 (redraw-needed-flag): Renamed redraw-needed-p local variable as
7749 (mh-seq-containing-msg): Renamed include-internal-p argument as
7750 include-internal-flag.
7751 (mh-page-msg): Use mh-page-to-next-msg-flag.
7752 This addresses part of SF #627015.
7754 * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
7755 mh-mhn-compose-insert-p. Make it buffer-local.
7756 (mh-mhn-compose-type, mh-mhn-compose-external-type,
7757 mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
7758 (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
7759 mh-mime-display-part, mh-mime-display-single): Use
7760 mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
7761 (mh-mime-display-single): Renamed small-image-p local
7762 variable as small-image-flag.
7763 (mh-mime-inline-part): Renamed local variable inserted-p as
7765 (mh-mime-inline-part): Renamed local variable displayed-p as
7767 This addresses part of SF #627015.
7769 * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
7770 mh-mhn-compose-insert-flag.
7771 (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
7772 renamed from mh-nmh-p.
7773 (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
7774 (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
7775 mh-gnus-pgp-support-p.
7776 (mh-mml-secure-message-sign-pgpmime): Use
7777 mh-gnus-pgp-support-flag.
7778 This addresses part of SF #627015.
7780 * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
7781 mh-page-to-next-msg-p.
7782 (mh-show-msg): Use mh-page-to-next-msg-flag.
7783 (mh-gnus-pgp-support-flag): Renamed from
7784 mh-gnus-pgp-support-p.
7785 (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
7786 (with-mh-folder-updating): Renamed argument
7787 save-modification-flag-p as mh-save-modification-flag.
7788 (mh-prompt-for-folder): Renamed new-file-p local
7789 variable as new-file-flag.
7790 This addresses part of SF #627015.
7792 2002-10-24 Mark D Baushke <mdb@gnu.org>
7794 * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
7795 in last commit to be mh-mml-compose-insert-flag.
7796 (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
7798 2002-10-24 Jeffrey C Honig <jch@honig.net>
7800 * mh-comp.el (mh-forward): Add support for transient-mark mode.
7801 When using nmh, always specify -mime so as to preserve the
7802 original message(s). If mh-compose-insertion is 'gnus, convert
7803 the mhbuild format forwarding directives into MML.
7805 2002-10-24 Eric Ding <ericding@alum.mit.edu>
7807 * mh-comp.el (mh-send-letter): Fix for earlier change that added
7808 "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
7809 at least no longer triggered for every outgoing message!
7811 2002-10-24 Peter S Galbraith <psg@debian.org>
7813 * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
7816 * mh-comp.el (mh-yank-cur-msg): Fix for supercite. Someone played
7817 with the point and mark setting prior to the call to
7818 'mh-insert-prefix-string and that broke supercite. I put comments
7819 to make it obvious to future coders why those settings exists.
7820 Note that supercite is still broken when a region is selected in
7821 the show buffer. Presumably it's been like that for a long time.
7822 We need to insert the header as well as the selected region oin
7823 that case. I'll submit an SF bug.
7825 2002-10-24 Jeffrey C Honig <jch@honig.net>
7827 * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
7828 flag to reply when 'autosupercite or 'autoattrib are specified to
7829 prevent duplicate cites of the body of a message.
7831 2002-10-23 Satyaki Das <satyaki@theforce.stanford.edu>
7833 * mh-utils.el (font-lock-default-fontify-region): Add autoload to
7834 avoid compiler warning.
7836 2002-10-23 Peter S Galbraith <psg@debian.org>
7838 * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
7839 own 'mh-fill-paragraph-function instead of simply
7840 'mail-mode-fill-paragraph (because it doesn't handle a non-nil
7841 fill-prefix correctly).
7842 (mh-fill-paragraph-function): New function for mh-letter-mode
7843 fill-paragraph-function in order to handle non-nil fill-prefix.
7844 Call sendmail's mail-mode-fill-paragraph if in the mail header,
7845 else call default fill-paragraph with fill-prefix set to nil.
7848 * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
7849 used in show-mode. The reason is that gnus uses static text
7850 properties which are not appropriate for a buffer that will be
7851 edited. So the choice here is either fontify the citations and
7852 header or the header only.
7854 * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
7855 in mh-show-mode to the header. Used when mh-highlight-citation-p
7856 is set to gnus, leaving the body to be dealt with by gnus
7857 highlighting. This fixes gnus text emphasis in mh-show-mode.
7858 (mh-show-mode): In font-lock-defaults, set
7859 font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
7861 2002-10-23 Bill Wohler <wohler@newt.com>
7863 * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
7864 be Disposition, not Content-Type. The Content-Type has been
7865 determined automatically.
7867 2002-10-23 Mark D. Baushke <mdb@gnu.org>
7870 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7871 s/mh-show-use-xface/mh-show-use-xface-flag/
7872 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
7873 This addresses part of SF #627015.
7876 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
7877 s/mh-xemacs-p/mh-xemacs-flag/
7878 (mh-letter-menu): Use mh-mml-compose-insert-flag.
7879 (mh-insert-x-mailer): Use mh-xemacs-flag.
7880 (mh-mml-compose-insert-flag): Renamed from
7881 mh-mml-compose-insert-p.
7882 (mh-send-letter): Use mh-mml-compose-insert-flag.
7883 This addresses part of SF #627015.
7886 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
7887 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7888 s/mh-xemacs-p/mh-xemacs-flag/
7889 (mh-folder-threaded-view-flag): Renamed from
7890 mh-folder-threaded-view-p. Make it buffer local.
7891 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
7892 (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
7893 (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
7894 mh-adaptive-cmd-note-flag.
7895 (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
7896 mh-make-folder-mode-line, mh-process-commands,
7897 mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
7898 This addresses part of SF #627015.
7901 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7902 (mh-index-search): Use mh-adaptive-cmd-note-flag.
7903 This addresses part of SF #627015.
7906 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
7907 s/mh-xemacs-p/mh-xemacs-flag/
7908 (mh-mml-compose-insert-flag): Renamed from
7909 mh-mml-compose-insert-p. Make it buffer local.
7910 (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
7911 mh-mml-secure-message-encrypt-pgpmime): Use it.
7912 (gnus-local-map-property): Use mh-xemacs-flag.
7913 This addresses part of SF #627015.
7916 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
7917 (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
7918 mh-folder-threaded-view-flag.
7919 This addresses part of SF #627015.
7922 s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
7923 s/mh-speed-refresh-p/mh-speed-refresh-flag/
7924 (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
7925 (mh-folder-speedbar-buttons): Use it.
7926 (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
7927 (mh-speed-update-current-folder, mh-speed-invalidate-map,
7928 mh-speed-add-folder): Use it.
7929 This addresses part of SF #627015.
7932 s/mh-xemacs-p/mh-xemacs-flag/
7933 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
7934 s/mh-show-use-xface/mh-show-use-xface-flag/
7935 (mh-xemacs-flag): Renamed from mh-xemacs-p.
7936 (mh-show-xface-function): Use it.
7937 (mh-tool-bar-reply-3-buttons-flag): Renamed from
7938 mh-tool-bar-reply-3-buttons.
7939 (mh-show-tool-bar-map): Use it.
7940 (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
7941 (mh-cmd-note): Use it in description.
7942 (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
7944 (mh-show-xface): Use mh-show-use-xface-flag.
7945 This addresses part of SF #627015.
7947 2002-10-23 Bill Wohler <wohler@newt.com>
7949 * Makefile (all): Rather than have to run "make clean all" all the
7950 time, make the default target do a clean so all you have to say is
7953 * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
7956 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
7958 * mh-index.el (mh-indexer-choices, mh-swish-binary): The
7959 executable swish-e can be used to search (just like swish-search).
7960 However the Makefile in swish-e-2.2.2 doesn't install
7961 swish-search. So it is preferable to use swish-e.
7963 2002-10-22 Bill Wohler <wohler@newt.com>
7965 * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
7966 For example, you now have "C-c C-m C-i" in addition to "C-c C-m
7969 2002-10-22 Mark D. Baushke <mdb@gnu.org>
7971 * mh-mime.el (mh-graphical-smileys-flag): Renamed from
7972 mh-graphical-smileys-p.
7973 (mh-display-smileys): Use it.
7974 (mh-graphical-emphasis-flag): Renamed from
7975 mh-graphical-emphasis-p.
7976 (mh-display-emphasis): Use it. This addresses part of SF #627015.
7978 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
7980 * mh-mime.el (mh-insert-mime-security-button): A message is
7981 produced if PGP decryption/verification fails. This addresses
7984 2002-10-21 Bill Wohler <wohler@newt.com>
7986 * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
7987 The info node (elisp) Coding Conventions says: "An error message
7988 should start with a capital letter but should not end with a
7991 * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
7992 defcustom to mh-utils because I got an error about a nil value for
7993 mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
7995 * mh-comp.el, mh-funcs,el, mh-mime.el, mh-pick.el: Moved (provide)
7996 to the end of the file to be consistent with most other files (see
7997 additional rationale in mh-e.el description below).
7999 * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
8000 here too (because the remove-if generated a warning in CVS Emacs).
8001 Moved (provide) to the end of the file to be consistent with most
8002 other files. My guess is that this is good to keep a feature from
8003 being "provided" if the file craps out while being loaded.
8005 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8007 * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
8009 (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
8012 * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
8014 (mh-valid-view-change-operation-p): New function that checks if
8015 the widening or unthreading that we are about to perform is
8017 (mh-widen): Check if widening is applicable.
8018 (mh-thread-inc, mh-thread-folder): Use delete-region instead of
8019 erase-buffer. This means if the buffer is narrowed then the hidden
8020 parts aren't removed. This allows widening of the folder later on.
8021 (mh-toggle-threads): Maintain mh-view-ops.
8023 * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
8024 that keeps track of the sequence in which threading and narrowing
8025 of the folder buffer has been carried out. This is needed so that
8026 narrowing followed by threading (or vice versa) behaves in a
8028 (mh-regenerate-headers): Use delete-region instead of
8030 (mh-make-folder-mode-line): Change mh-first-msg-num and
8031 mh-last-msg-num conservatively. This might show a larger range in
8032 the mode-line but allows the unthreading to not miss messages
8035 2002-10-21 Bill Wohler <wohler@newt.com>
8037 * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
8038 docstring, as well as the source of the strings,
8039 gnus-emphasis-alist.
8040 (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
8043 2002-10-21 Peter S Galbraith <psg@debian.org>
8045 * mh-utils.el (mh-show-mode): Invoke new toolbar.
8046 (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
8049 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8051 * mh-utils.el (mh-display-msg): Call the smiley display function
8052 after the call to mh-show-mode. This is needed since mh-show-mode
8053 kills all buffer-local variables and resets the variable that
8054 controls display of graphical smileys.
8056 2002-10-21 Bill Wohler <wohler@newt.com>
8058 * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
8060 * mh-comp.el (mh-mml-to-mime autoload): Ditto.
8062 2002-10-21 Mark D Baushke <mdb@gnu.org>
8064 * mh-mime.el (smiley-region): Use load for a non-fatal dependency
8065 on the smiley library.
8067 2002-10-21 Jeffrey C Honig <jch@honig.net>
8069 * mh-comp.el (mh-forward): Search for a blank line as well as
8070 mail-header-separator.
8071 (mh-letter-mode): Search for a blank line as well as
8072 mail-header-separator.
8073 (mh-send-letter): The default BCC encapsulation will make a MIME
8074 message unreadable. If we are running nmh and the letter contains
8075 a Bcc: and a Content-Type: field, add the -mime switch to to the
8078 2002-10-21 Peter S Galbraith <psg@debian.org>
8080 * mh-utils.el: Add a mh-defun-show-buffer call to define
8081 mh-show-pack-folder.
8083 2002-10-21 Peter S Galbraith <psg@debian.org>
8085 * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
8087 * mh-e.el (mh-help-messages): Update help message for changed
8090 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8092 * mh-speed.el (mh-speed-invalidate-map): Invalidate
8093 mh-speed-folders-cache before it is used by mh-speed-folders. Also
8094 fix indentation of if statement.
8095 (mh-speed-folder-size): The folder name should be extracted from
8096 the speedbar buffer and not from the temp buffer has was happening
8098 (mh-speed-folder-size): Harden the function some more. It
8099 shouldn't produce errors any more unless flist really didn't work.
8101 2002-10-21 Bill Wohler <wohler@newt.com>
8103 * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
8104 in there is because I was trying to use mh-put-msg-in-seq and
8105 mh-msg-is-in-seq non-interactively and found that although the
8106 docstring says it uses the current message by default, I got
8107 errors if I passed in nil for the message. Is this expected, or is
8108 this a bug? I suppose the fix would be to make the arguments
8109 optional, right? This would cause the arguments in
8110 mh-put-msg-in-seq to be reversed, however. Might be a backwards
8111 compatibility problem.
8113 * mh-speed.el (mh-speed-view): Convert default size to string
8114 before passing it to read-string. This was done because XEmacs
8115 can't handle a numeric value for the default.
8117 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8119 * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
8120 (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
8121 (mh-show-digest-map, mh-show-mime-map): Interactive functions
8122 callable in show buffer are now prefixed with mh-show.
8124 * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
8125 changes to mh-refile-list and the removal of the 'deleted
8127 (mh-toggle-threads): Changing from threaded to normal view doesn't
8128 try to push out message refiles and deletions to MH.
8130 * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
8131 argument to both functions that prevents them from carrying out
8132 pending refiles and deletes.
8133 (mh-undo): Remove dead code.
8134 (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
8135 The same information is present in mh-delete-list any way.
8136 (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
8137 semantics of mh-refile-list to make it self-contained. This
8138 variable now contains a list of lists. The first element of each
8139 sublist is the destination folder name. The remaining elements are
8140 the messages that are to be refiled to the destination folder.
8141 (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
8142 instead of mh-thread-folder.
8144 2002-10-20 Peter S Galbraith <psg@debian.org>
8146 * mh-mime.el (mh-store-mime-parts): Bug fix? Make this command
8147 work when in the show buffer, and not just in the folder buffer
8148 pointing to a message.
8150 2002-10-20 Peter S Galbraith <psg@debian.org>
8152 * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
8153 mh-narrow-to-subject-thread.
8154 (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
8155 (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
8156 (mh-next-unseen-subject-sequence): Renamed from
8157 mh-next-unseen-subject-thread.
8158 (mh-toggle-subject-thread): Removed. :-(
8160 * mh-e.el: s/subject-thread/subject-sequence/
8161 (mh-thread-map): Bind mh-widen to "w".
8163 * mh-utils.el: s/subject-thread/subject-sequence/
8164 (mh-show-thread-map): Bind mh-widen to "w".
8166 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8168 * mh-seq.el (mh-thread-folder): This function is no longer
8169 interactive. The mh-toggle-threads is the interactive function
8170 that gets called by the user. Also the already computed values in
8171 mh-first-msg-num and mh-last-msg-num are used instead of
8172 recomputing the first and last message indices in the current
8174 (mh-toggle-threads): New interactive function that toggles
8175 threaded view of the folder.
8177 * mh-utils.el (mh-letter-toggle-threads): New interactive function
8178 which toggles thread view from show buffer. This function replaces
8179 mh-letter-thread-folder.
8180 (mh-show-folder-map): Use mh-letter-toggle-threads instead of
8181 mh-letter-thread-folder.
8183 * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
8186 2002-10-20 Bill Wohler <wohler@newt.com>
8188 * mh-e.el (mh-scan-folder): Formatting only.
8189 (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
8190 where there isn't a current message. Since I've started using the
8191 speedbar to read my mh-e mail, I've had to use M-< every time to
8192 go to the beginning of the new messages. Very annoying! Thus, if
8193 there isn't a current message, the cursor is left alone, which
8194 sounds like the right thing to do anyway.
8196 2002-10-19 Peter S Galbraith <psg@debian.org>
8198 * mh-seq.el (mh-subject-thread-to-sequence): Bug fix. After
8199 making the 'subject sequence real, I now have to delete it globally.
8201 * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
8202 scan exactly mh-widen (removed moving to current message).
8204 * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
8205 sequence a real one, exported to MH. This means you can, for
8206 example, mh-forward it. But it also shows up with a mark in the
8207 scan output. (Closes SF #489445).
8209 2002-10-19 Bill Wohler <wohler@newt.com>
8211 * mh-speed.el (mh-speed-view): If there weren't any unseen
8212 messages, and you specified a string (a sequence like "last") when
8213 prompted for the number of messages to display, you got an error.
8214 This has been fixed.
8216 2002-10-19 Mark D Baushke <mdb@gnu.org>
8218 * mh-e.el (mh-last-destination-folder): Destination of last refile
8220 (mh-last-destination-write): Destination of last write command.
8221 (mh-refile-msg): Use 'mh-last-destination-folder and update both it
8222 and 'mh-last-destination.
8223 (mh-write-msg-to-file): Use 'mh-last-destination-write and update
8224 both it and 'mh-last-destination (Closes SF #580772).
8226 2002-10-19 Bill Wohler <wohler@newt.com>
8228 * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
8230 (mh-letter-mode-map): Removed commented-out keybindings as well as
8231 alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
8233 * mh-utils.el: Removed autoload of help. It no longer appears to
8234 be necessary in cvs Emacs (21.4).
8236 2002-10-18 Bill Wohler <wohler@newt.com>
8238 * mh-e.el (mh-execute-commands): Doc fix.
8239 (mh-compat-write-file-hook): Renamed to
8240 mh-write-file-functions-compat.
8241 (mh-folder-mode): Add mh-write-file-functions-compat instead of
8242 mh-compat-write-file-hook
8244 2002-10-18 Peter S Galbraith <psg@debian.org>
8246 * mh-utils.el (mh-invisible-headers-show-xface): Killed this
8248 (mh-invisible-headers): Use 'mh-show-use-xface instead of
8249 'mh-invisible-headers-show-xface to determine whether to render
8250 the X-Face header line visible or not.
8252 2002-10-18 Satyaki Das <satyaki@theforce.stanford.edu>
8254 * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
8255 macro mh-compat-write-file-hook to use write-file-functions for
8256 Emacs 21.4 and local-write-file-hooks for older versions.
8258 2002-10-18 Mark D Baushke <mdb@gnu.org>
8260 * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
8262 2002-10-18 Peter S Galbraith <psg@debian.org>
8264 * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
8265 a malformed composition if the description string is empty, so
8266 test for that and call mml-attach-file without that argument if
8267 it's an empty string (closes SF #625168).
8269 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8271 * mh-index.el (mh-index-keymap): Removed extra binding of " ".
8272 (mh-index-folder-mode-help-messages): Made the cheat sheet entry
8273 of quit like the others.
8274 (mh-index-search): If space was pressed in the index buffer before
8275 a search result has been shown with ".", the old show buffer would
8276 be scrolled. This is confusing since the index and show buffer
8277 contents are contradictory. Killing the show buffer here avoids
8279 (mh-index-configure-windows): Refine the window configuration
8280 logic. Avoid the two window view unless there is a message being
8281 displayed in the show buffer.
8282 (mh-index-scroll-up): Rewrite this function. The old version had a
8283 bizarre problem where the show buffer wouldn't be scrolled if the
8284 speedbar was present.
8285 (mh-index-scroll-down): Rewritten because of similar reason as
8288 2002-10-17 Peter S Galbraith <psg@debian.org>
8290 * mh-comp.el (mh-reply): Add an undo boundary in the undo list
8291 before calling 'mh-yank-cur-msg (closes SF #623693).
8293 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8295 * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
8296 write-file-hooks. This is required for XEmacs and also the right
8297 thing according to GNU Emacs21 documentation.
8299 2002-10-16 Satyaki Das <satyaki@theforce.stanford.edu>
8301 * mh-seq.el (mh-thread-generate): Get threading to work correctly
8302 on partial folders. The fix here disregards messages that aren't
8303 already present in the buffer.
8304 (mh-thread-folder): When querying scan about thread info try to
8305 avoid asking about messages that aren't present in the folder
8306 buffer. A more efficient fix would be to ask scan about just the
8307 messages that are present instead of a range of messages. However
8308 that runs the risk of sending long command lines to scan. Another
8309 change was to populate the mh-scan-line-map early so that the
8310 change in mh-thread-generate would work.
8311 (mh-thread-generate-scan-lines): In case duplicates are present
8312 make one of them the pseudo parent of the rest. This makes it look
8313 prettier if there are multiple duplicates at top level.
8315 * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
8316 reused then reinsert message file. This should fix SF #624283.
8318 * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
8319 always called when we want to remove the displayed MIME part.
8321 2002-10-16 Bill Wohler <wohler@newt.com>
8323 * mh-speed.el (mh-speed-folder-size): checkdoc fix.
8324 (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
8325 to view number of messages in folder rather than mh-large-folder.
8326 Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
8327 former was generating errors.
8329 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8331 * mh-speed.el (mh-large-folder): New customizable variable to
8332 control mh-e's perception of large folders.
8333 (mh-speed-folder-size): New function which computes the size of
8334 folder on current line.
8335 (mh-speed-view): Modified to handle large folders. If the folder
8336 being clicked has unseen messages then only those messages are
8337 shown. Otherwise if number of messages in folder is larger than
8338 mh-large-folders then the user is asked for the number of messages
8339 to be shown. If the folder satisfies neither of the above cases
8340 then it is displayed in its entirety
8342 2002-10-15 Bill Wohler <wohler@newt.com>
8344 * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
8345 Noticed that there were two key bindings for SPACE...
8347 * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
8350 Completed help in other modes:
8352 * mh-utils.el (mh-xemacs-p): Fixed doc.
8353 (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
8354 (mh-show-thread-map, mh-show-extract-map): Added binding for
8357 * mh-pick.el (mh-search-folder): Added startup help message.
8358 (mh-pick-mode-help-messages): New variable that contains help
8359 messages for pick buffer.
8360 (mh-pick-mode): Set local buffer variable mh-help-messages to
8361 mh-pick-mode-help-messages.
8363 * mh-index.el (mh-index-keymap): Added binding for mh-help
8364 (mh-index-folder-mode-help-messages): New variable that contains
8365 help messages for MH Index buffer.
8366 (mh-index-folder-mode): Set local buffer variable mh-help-messages
8367 to mh-index-mode-help-messages.
8369 * mh-funcs.el (mh-help, mh-prefix-help): Call
8370 substitute-command-keys on the help messages.
8372 * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
8373 (mh-help): This autoload doc is now used for more than just the
8374 MH-Folder, so drop that specific text.
8376 * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
8377 (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
8378 to display a help message at startup.
8379 (mh-letter-mode): Set local buffer variable mh-help-messages to
8380 mh-letter-mode-help-messages.
8381 (mh-letter-mode-help-messages): New variable with help messages
8382 for the MH-Letter buffer.
8383 (mh-letter-mode-message): New function that displays a startup
8385 (mh-letter-mode-map): Added binding for mh-help. Sorted.
8387 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8389 * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
8390 (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
8391 (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
8393 (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
8394 (mh-speed-add-buttons): Use the new faces.
8395 (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
8396 to bold face and back to normal face.
8397 (mh-speed-set-face): Removed.
8398 (mh-speed-highlight): Modified to allow it to be used instead of
8399 mh-speed-set-face. Also changes were made to fontify folders with
8401 (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
8402 (mh-speed-invalidate-map): Use mh-speed-highlight instead of
8405 2002-10-15 Bill Wohler <wohler@newt.com>
8407 * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
8408 the cl package has been restructured in 21.4 in such a way that
8409 the use of eval-when-compile no longer suppresses warnings when
8410 compiling so that (require 'cl) must be called directly (maybe
8411 this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
8412 needed. Now compiles clean under 21.4.
8414 * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
8415 deprecated in Emacs 21.4, so use add-hook write-file-functions (or
8416 write-file-hook for older versions) with the LOCAL argument
8417 instead. Now compiles clean under 21.4.
8419 * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
8420 the included text to make it easy to jump or delete to the other
8421 end of the included text.
8423 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8425 * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
8426 of set-mark and other related functions.
8428 2002-10-14 Bill Wohler <wohler@newt.com>
8430 * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
8431 isn't ignored if there is a region. It is still used for the
8433 (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
8434 entire message. Move the cursor to the end of the snarfed message
8435 if there is a region. In this case, push a mark so user can pop to
8436 the beginning of the snarfed fragment.
8437 (mh-insert-prefix-string): This calls set-mark which I find
8438 suspect since I found that my last user mark was deleted after
8439 yanking a message. Added a comment to this effect. Will probably
8442 * README (Installed, Supported versions): To appear in GNU Emacs
8443 21.3; supported on Emacs 21, 20.7 and XEmacs 21.
8445 * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
8446 (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
8447 (mh-ephem-message): Use "%s" in message.
8449 * mh-funcs.el (mh-concat-list): New function to concatenate a list
8450 of strings into a single string. I would have thought elisp
8451 already contained a function like this, but I couldn't find it.
8452 (mh-ephem-message): New function to display a message in the
8453 minibuffer ephemerally. minibuffer-message seemed like the right
8454 function, but it writes to the current buffer oddly enough.
8455 (mh-help, mh-prefix-help): New functions to display command
8456 cheat sheets in the minibuffer (closes SF #493740). It would be
8457 nice to refactor these two into a single function if possible.
8459 * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
8460 (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
8461 and `mh-prefix-help' (closes SF #493740).
8462 (mh-help-messages): New variable to hold various help messages.
8463 (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
8465 2002-10-13 Bill Wohler <wohler@newt.com>
8467 * mh-index.el (mh-glimpse-directory, mh-swish-directory,
8468 mh-namazu-directory): New variables that hold the name of the
8469 configuration and indexing directory. All are now hidden `.'
8472 * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
8473 mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
8474 docstrings, reworded some docstrings to conform to Emacs
8475 documentation conventions, and eliminated all checkdoc warnings
8476 (except for -flag, which we'll fix after 6.2 is released).
8478 2002-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
8480 * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
8481 where the lack of a trailing "/" caused the function to wrongly
8482 filter out correct hits. This should fix SF #622679.
8484 2002-10-12 Steve Youngs <youngs@xemacs.org>
8486 * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
8487 'defvaralias' and don't use 'running-xemacs'.
8489 2002-10-11 Bill Wohler <wohler@newt.com>
8491 * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
8492 converting comments to docstrings and rewording some docstrings to
8493 conform to Emacs documentation conventions.
8495 2002-10-11 Steve Youngs <youngs@xemacs.org>
8497 * mh-utils.el (mh-xemacs-p): New.
8498 (mh-show-use-xface): Use it.
8499 (mh-show-xface-function): Ditto.
8501 * mh-e.el (toplevel): Ditto.
8502 (mh-remove-xemacs-horizontal-scrollbar): Ditto.
8503 (mh-folder-mode-map): Ditto.
8505 * mh-comp.el (mh-insert-x-mailer): Ditto.
8507 * mh-mime.el (gnus-local-map-property): Ditto.
8508 (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
8509 (mh-prompt-for-folder): Autoloading this not needed because
8510 mh-utils is now required at toplevel.
8511 (mh-show-xface): Ditto.
8512 (mh-show-addr): Ditto.
8514 2002-10-11 Bill Wohler <wohler@newt.com>
8516 * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
8519 * mh-utils.el (mh-invisible-headers): Added various spam header
8521 (mh-path-search): Removed argument `func-p' and related code. It
8522 was not documented and no one used it.
8523 (Docstrings): Converted comments to docstrings, reworded some
8524 docstrings to conform to Emacs documentation conventions, and
8525 basically eliminated all checkdoc warnings (except for -flag
8528 2002-10-11 Satyaki Das <satyaki@theforce.stanford.edu>
8530 * mh-seq.el (mh-thread-generate): Kill dead code.
8532 2002-10-10 Satyaki Das <satyaki@theforce.stanford.edu>
8534 * mh-seq.el (mh-region-to-sequence): Don't include point-max in
8535 region (closes SF #621632).
8537 * mh-utils.el (mh-defun-show-buffer): Fix call of
8538 frame-first-window to work with XEmacs. Also avoid warning about
8539 cur-buffe-name in XEmacs.
8540 (mh-modify, mh-goto-msg): Remove dead code.
8542 * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
8545 * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
8546 mh-thread-generate, mh-thread-folder): Remove dead code.
8548 * mh-mime.el (mh-mm-inline-message): Remove dead code.
8550 * mh-index.el (mh-index-search): Remove dead code.
8552 * mh-comp.el (mh-open-line): Remove dead code.
8554 * mh-e.el (mh-folder-mode): Use the macro
8555 mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
8557 (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
8560 2002-10-10 Mark D Baushke <mdb@gnu.org>
8562 * Makefile (EMACS_OPTIONS): New macro for command-line compile
8564 (EMACS): Allow the user to specify which emacs command to use for
8566 (COMPILE_COMMAND): Combine the compile command with its options.
8567 (.el.elc): Use the new $(COMPILE_COMMAND).
8569 2002-10-10 Mark D Baushke <mdb@gnu.org>
8571 * mh-speed.el (mh-speed-select-attached-frame): Define a new
8572 compatibility macro for getting to the attached-frame.
8573 (mh-speed-update-current-folder): Use it.
8575 2002-10-10 Mark D Baushke <mdb@gnu.org>
8577 * mh-speed.el (mh-speed-update-current-folder): Use
8578 'dframe-select-attached-frame if we are in a newer speedbar
8579 version that no longer supports the 'speedbar-attached-frame
8582 2002-10-10 Steve Youngs <youngs@xemacs.org>
8584 * mh-speed.el (mh-speed-update-current-folder): Use
8585 'dframe-select-attached-frame' if we're in XEmacs.
8587 * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
8588 the MH-Folder buffer if we're in XEmacs.
8590 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
8592 * mh-utils.el (mh-show-xface-function): New global that stores
8593 what function needs to be called to display X-Face.
8594 (mh-show-xface): Rewritten to avoid compiler warning.
8596 2002-10-09 Peter S Galbraith <psg@debian.org>
8598 * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
8599 Simplify code for all emacsen to avoid byte-compilation warnings.
8601 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
8603 * mh-mime.el (mh-mm-display-part): If a sub-part of the current
8604 part is an inline image then clicking the button keeps the image
8605 around. The change fixes this bug.
8607 2002-10-09 Peter S Galbraith <psg@debian.org>
8609 * mh-utils.el (mh-exec-cmd-output): Use new function
8610 'mh-exchange-point-and-mark-preserving-active-mark instead of
8611 'exchange-point-and-mark. Fixes a bug in emacs20 and XEmacs21.
8612 (mh-exchange-point-and-mark-preserving-active-mark): New function.
8613 Does like 'exchange-point-and-mark but doesn't activate the mark.
8615 * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
8616 Compositions" menu entries when edits have really occurred.
8617 Works with "forw: -mime" mh_profile entry, so this fixes a bug.
8619 * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
8620 line-beginning-position and line-end-position instead of
8621 point-at-bol and point-at-eol XEmacs functions.
8622 * mh-xemacs-compat.el: Added line-end-position and
8623 line-beginning-position compatibility aliases.
8625 2002-10-08 Mark D. Baushke <mdb@gnu.org>
8627 * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
8629 (mh-scan-msg-format-string): Format to be used with the current
8630 maximum width of message number for the folder in the
8631 `mh-upate-scan-format' function.
8632 (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
8633 flexibility. The message number is no longer anchored to the
8634 beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
8635 strings. The `mh-update-scan-format' allows for using zero-filled
8638 2002-10-08 Peter S Galbraith <psg@debian.org>
8640 * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
8642 2002-10-07 Satyaki Das <satyaki@theforce.stanford.edu>
8644 * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
8647 * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
8649 (mh-speed-folders-actual): Same as above.
8651 2002-10-05 Steve Youngs <youngs@xemacs.org>
8653 * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
8656 * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
8657 defsubst using 'buffer-substring-no-properties' so we don't grab
8659 (rfc822-goto-eoh): Removed. This exists in the XEmacs mail-lib
8661 (mail-header-end): Ditto.
8662 (mail-mode-fill-paragraph): Ditto.
8664 2002-10-05 Satyaki Das <satyaki@theforce.stanford.edu>
8666 * mh-speed.el (mh-speed-invalidate-map): When called interactively
8667 the function will clear mh-speed-folders-cache.
8669 2002-10-02 Satyaki Das <satyaki@theforce.stanford.edu>
8671 * mh-mime.el (mh-insert-mime-button): Rewrite without using
8674 2002-10-01 Satyaki Das <satyaki@theforce.stanford.edu>
8676 * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
8677 avoid compiler warning.
8679 2002-10-01 Bill Wohler <wohler@newt.com>
8681 * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
8682 shouldn't get installed in Emacs.
8683 (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
8684 MH-E-IMG2 into Emacs' lisp/mail.
8686 2002-10-01 Peter S Galbraith <psg@debian.org>
8688 * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
8689 Non-nil means use three buttons for reply commands in tool-bar.
8690 If you have room on your tool-bar because you are using a large
8691 font, you may set this variable to expand the single reply
8692 button into three buttons that won't lead to minibuffer prompt
8693 about who to reply to.
8694 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
8695 decide how many buttons to use for replying.
8697 * mh-mime.el (mh-file-mime-type-substitutions)
8698 (mh-file-mime-type-substitute): Fix typos and doc strings.
8700 2002-09-30 Peter S Galbraith <psg@debian.org>
8702 * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
8703 by file command through mh-file-mime-type-substitute (see below).
8704 (mh-file-mime-type-substitute): Possibly change Content-Type
8705 string using mh-file-mime-type-substitutions variable. This is
8706 mostly because all MS-Office file are seen as application/msword
8707 by the file command.
8708 (mh-file-mime-type-substitutions): New variable. Defines
8709 substitutions to make for Content-Type returned from file command.
8711 2002-09-27 Bill Wohler <wohler@newt.com>
8713 * README: Moved Id to end of file since it broke outline mode at
8716 * import-emacs (release): Renamed "mainline" tag to
8717 "emacs-mainline" to correspond with existing CVS tag.
8718 (EMACS_HOME): Fixed typo in docstring.
8720 * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
8721 NIL and T in docstring.
8722 (mh-update-scan-format): Fixed typo.
8724 * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
8725 Emacs. The only new thing appears to be to downcase NIL and T in
8728 2002-09-26 Satyaki Das <satyaki@theforce.stanford.edu>
8730 * mh-seq.el (mh-thread-generate): The threading code will now be
8731 more resistant to corruption of messages. Before the change any
8732 corruption of message x would cause all messages with indices
8733 higher than x to be neglected when threading!
8735 2002-09-23 Peter S Galbraith <psg@debian.org>
8737 * mh-mime.el (mh-store-mime-parts): Don't store value into
8738 user-customizable variable mh-store-mime-parts-default-directory
8739 and use mh-store-mime-parts-directory instead.
8741 2002-09-20 Satyaki Das <satyaki@theforce.stanford.edu>
8743 * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
8744 make the subject pruning behave the way it is specified in the
8747 * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
8748 are not going to use the first element. This avoids a compilation
8749 warning with cvs emacs.
8751 2002-09-19 Satyaki Das <satyaki@theforce.stanford.edu>
8753 * mh-utils.el (mh-display-msg): Put the call to
8754 set-buffer-modified after mh-show-mode. This is needed for CVS
8755 emacs since calling mh-show-mode marks the buffer as modified if
8758 2002-09-17 Peter S Galbraith <psg@debian.org>
8760 * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
8761 mh-store-mime-parts-directory
8762 (mh-store-mime-parts-directory): Renamed from
8763 mh-store-mime-parts-directory-default.
8765 2002-09-16 Peter S Galbraith <psg@debian.org>
8767 * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
8769 2002-09-08 Satyaki Das <satyaki@theforce.stanford.edu>
8771 * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
8774 2002-09-03 Peter S Galbraith <psg@debian.org>
8776 * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
8777 Default directory to use for mh-store-mime-parts.
8778 (mh-store-mime-parts): New Command. Store the MIME parts of the
8780 (mh-store-mime-parts-directory-default): New internal working
8781 variable. Default to use for mh-store-mime-parts-directory, set
8784 * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
8788 2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
8790 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
8791 complete scan lines are printed for all messages (not just the
8792 ones at the top of a thread).
8794 * mh-index.el (mh-index-insert-scan): Replace use of kill-line
8795 since that pollutes the kill-ring.
8797 * mh-comp.el (autoloads): Add autoloads for search and subseq to
8798 get rid of compiler warnings.
8800 2002-08-19 Peter S Galbraith <psg@debian.org>
8802 * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
8803 reply-all.xpm, reply-all.bpm: New icons for various reply methods.
8804 * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
8805 that won't prompt for "from", "to" and "all".
8806 * mh-comp.el (mh-reply): Put variable reply-to in the interactive
8807 list since it's specified on the command line for the new toolbar.
8809 * mh-comp.el (mail-citation-hook): Tweak docs concerning
8810 historical usage for supercite.
8811 (mh-yank-from-start-of-msg): Add settings 'supercite and
8812 'autosupercite. Rename 'automatic to 'autoattrib.
8813 (mh-insert-prefix-string): Invoke sc-cite-original if
8814 mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
8816 2002-08-17 Satyaki Das <satyaki@theforce.stanford.edu>
8818 * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
8821 2002-08-17 Peter S Galbraith <psg@debian.org>
8823 * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
8824 Do as for `attribution' automatically when show buffer matches the
8825 message being replied-to.
8826 (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
8827 is set to 'automatic and show buffer matches message number being
8829 (mh-show-buffer-message-number): New helper function to get the
8830 message number of the current show-buffer.
8831 (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
8832 (mh-yank-cur-msg): Bug fix. It would bail on error if
8833 mh-show-buffer didn't exists.
8835 2002-08-16 Peter S Galbraith <psg@debian.org>
8837 * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
8838 was used even when XEmacs was used. Fixed so X-Mailer header is
8839 more exact about what we are using.
8841 2002-08-15 Peter S Galbraith <psg@debian.org>
8843 * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
8844 so X-Mailer header is more exact about what we are using.
8846 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
8847 mh-mml-attach-file):
8848 "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
8849 that "require" in emacs 20.3 doesn't handle 3 arguments. We
8850 use "load" at the top of file elsewhere anyway to handle such a
8851 case of non-essential loading, so switch to that here.
8853 2002-08-06 Satyaki Das <satyaki@theforce.stanford.edu>
8855 * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
8857 * mh-speed.el (mh-speed-add-folder): New function to make the
8858 speedbar aware of new folders when they are created by mh-e.
8860 * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
8861 tell speedbar that new folder is being created. Also use folder
8862 instead of mkdir to create new folders.
8864 2002-08-01 Peter S Galbraith <psg@debian.org>
8866 * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
8867 limit of search for quoted-printable. If we're using mm-decode
8868 for MIME decoding, it's possible that `mimedecode' could mess our
8869 message, so we only run a full search for quoted-printable parts
8870 when not using gnus' mm-decode. When using mm-decode, mimedecode
8871 can still help by handling the case of the whole message being
8872 quoted-printable as opposed to only a part.
8874 2002-07-31 Peter S Galbraith <psg@debian.org>
8876 * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
8877 the pulldown menu were broken in XEmacs21 from this variable being
8880 2002-07-28 Mark D. Baushke <mdb@gnu.org>
8882 * mh-utils.el (mh-show-mode): Use the default paragraph-start
8883 rather than the inherited text-mode value.
8885 2002-07-28 Satyaki Das <satyaki@theforce.stanford.edu>
8887 * mh-seq.el (mh-thread-duplicates): New hash table to track
8889 (mh-thread-get-message): Remove debug code.
8890 (mh-thread-canonicalize-id): Modified to handle messages without
8891 message-id header. Such messages are given distinct copies of the
8892 empty string as message-id.
8893 (mh-thread-generate): The function was inadvertently rebuilding
8894 the thread tree when message refiles and message deletes are
8895 processed. The change here fixes that. Also code has been added to
8896 keep track of duplicate message-id's.
8897 (mh-thread-generate-scan-lines): Modified to print scan lines for
8898 duplicate messages (that is messages with the same message-id).
8899 (mh-thread-forget-message): Modified to maintain
8900 mh-thread-duplicates.
8902 2002-07-22 Satyaki Das <satyaki@theforce.stanford.edu>
8904 * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
8905 instead of kill-region. Otherwise the kill ring gets polluted.
8907 2002-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
8909 * mh-seq.el (mh-thread-update-scan-line-map): New function to
8910 refresh the stale scan lines.
8911 (mh-thread-inc): Update old scan lines when mh-thread-inc is
8912 called. Otherwise notations for deleted and refiled messages get
8913 lost and the folder display gets out of sync with real mh-e state.
8915 * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
8916 code when text part is displayed. Otherwise buttonized text parts
8917 aren't correctly fontified when they are displayed.
8919 2002-07-15 Mark D. Baushke <mdb@gnu.org>
8921 * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
8922 on the mm-decode library.
8923 * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
8924 Non-fatal depencencies on the mm-decode, mm-uu and mm-view
8927 2002-07-15 Satyaki Das <satyaki@theforce.stanford.edu>
8929 * mh-utils.el (mh-require, mh-autoload): Remove these macros.
8930 (mh-decode-mime): Initialized to t iff the mm-decode library is
8931 present in the load-path.
8932 * mh-mime.el (mh-require): Don't use it anymore.
8934 2002-07-15 Mark D Baushke <mdb@gnu.org>
8936 * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
8937 with Xemacs as replace-match appears not to have identical
8938 functionality with FSF emacs.
8939 (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
8940 into the mh-update-scan-format function.
8942 2002-07-12 Satyaki Das <satyaki@theforce.stanford.edu>
8944 * mh-seq.el: Add message threading code.
8946 * mh-utils.el (mh-letter-thread-folder): New interactive function
8947 that allows switching to threaded view from show buffer.
8948 (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
8949 (mh-goto-msg): Replace the function to not assume that messages
8950 are sorted in the folder buffer.
8952 * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
8953 in the folder buffer that records whether threaded view is being
8955 (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
8956 working for threaded view as well.
8957 (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
8958 (mh-get-new-mail, mh-process-commands): Do incremental threading
8959 if folder is in threaded view.
8960 (mh-delete-scan-msgs): Update thread tables if folder is in
8962 (mh-folder-map): Add "F t" as key binding for mh-thread-folder
8964 * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
8965 has a meaningful value in the folder buffer.
8967 2002-07-11 Peter S Galbraith <psg@debian.org>
8969 * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
8970 actually exists (otherwise a back-traceable error occurred).
8972 * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
8973 mh-lib and mh-lib-progs are not all already set. This allows the
8974 user to set them using a simple setq prior to loading mh-e. This
8975 is useful for implementation of mh-e on win32. Note that many
8976 commands still call mh-find-path which also parses the mh_profile
8977 file (that may still fail on win32), so this is still done often.
8978 But it lets us change the mh_profile file and have mh-e see the
8979 changed file without exiting emacs and starting over so I left
8982 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
8984 * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
8985 caused it to lose track of point when called from show buffer.
8987 2002-07-04 Mark D. Baushke <mdb@gnu.org>
8989 * Makefile: Add more information and common methods to allow both
8990 GNU make and Berkeley make to properly build everything.
8992 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
8994 * mh-mime.el (mh-push-button): Bug fix for mime display with
8995 mouse. Select show window before executing the mime display
8998 2002-07-01 Mark D. Baushke <mdb@gnu.org>
9000 * Makefile: Use a conditional variable assignment operator rather
9001 than ifndef to let Makefile be used by both GNU make and Berkeley
9002 make (or similar versions of make). This does not help Solaris
9003 /usr/ccs/bin/make, but Solaris make has problems with the ifndef
9006 2002-07-01 Satyaki Das <satyaki@theforce.stanford.edu>
9008 * mh-index.el (mh-index-search): Check for mh-decode-mime before
9009 adding mh-mime-cleanup to kill-buffer-hook.
9011 * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
9013 2002-06-30 Mark D Baushke <mdb@gnu.org>
9015 * mh-utils.el (mh-update-scan-format): Add documentation string.
9016 (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
9017 (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
9018 update of mh-cmd-note is wrong. Do not assume that
9019 mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
9020 with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
9021 is now where the updated mh-cmd-note value is put into the scan
9024 * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
9025 (mh-scan-format): Use mh-update-scan-format to get updated copies
9026 of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
9027 (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
9028 mh-scan-format-file is equal to t.
9029 (mh-scan-format-nmh): No longer buffer local.
9030 (mh-scan-format-mh): No longer buffer local.
9032 2002-06-30 Satyaki Das <satyaki@theforce.stanford.edu>
9034 * mh-index.el (mh-index-max-msg-index): New variable to keep track
9035 of max message index among search results. If mh-adaptive-cmd-note
9036 is non-nil this is used to compute the width of the index field.
9037 (mh-index-search): Keep track of max index seen while parsing the
9038 search results and set it if mh-adaptive-cmd-note is non-nil.
9039 (mh-index-find-max-width): New function to find the required width
9040 of the message index field.
9041 (mh-defun-index): Binding buffer local variables is bad, so don't
9043 (mh-index-show): New argument display-headers-p decides whether
9044 the message is displayed in raw form or not.
9045 (mh-index-header-display): New interactive function bound to ","
9046 which shows the message in raw form.
9047 (mh-index-keymap): Add appropriate bindings for backtab and ",".
9048 (read-from-string): Add ignore-errors around it so that the code
9049 doesn't die when it gets unexpected input.
9051 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9053 * mh-index.el (mh-count-windows): This function works around the
9054 lack of the window-list builtin function in emacs20.
9056 2002-06-29 Mark D Baushke <mdb@gnu.org>
9058 * mh-utils.el (mh-message-number-width): New function to scan
9059 the last message of a folder and return its width.
9060 (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
9061 mh-set-cmd-note should be called with the message width for the
9063 (mh-cmd-note): Update documentation.
9064 (mh-update-scan-format): Helper function for updating the
9065 mh-scan-format-nmh and mh-scan-format-mh variables.
9066 (mh-scan-msg-overflow-regexp): New variable to help find problem
9067 messages after an inc.
9068 (mh-scan-msg-format-regexp): New variable to find the old message
9069 width in one of the mh-scan-format-nmh or mh-scan-format-mh
9071 (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
9072 (mh-set-cmd-note): New function to replace update mh-cmd-note
9075 * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
9076 non-nil, use mh-set-cmd-note on empty folder buffers.
9077 (mh-make-folder): Ditto.
9078 (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
9079 to fit when mh-get-new-mail gets message number truncation.
9080 (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
9081 mh-adaptive-cmd-note is Non-nil.
9083 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9085 * mh-speed.el (mh-speed-view): The display gets confused if the
9086 cursor is in the show buffer when mh-speed-view is called. This is
9089 2002-06-27 Satyaki Das <satyaki@theforce.stanford.edu>
9091 * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
9092 reverse-p. If there are no more undeleted messages the the point
9093 remains at its original position and a message is produced (closes
9095 (mh-previous-undeleted-msg): Change similar to
9096 mh-next-undeleted-msg.
9097 (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
9099 (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
9101 * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
9102 mh-letter-prev-button.
9104 * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
9105 mm-uu-dissect doesn't cause error.
9107 2002-06-27 Mark D Baushke <mdb@gnu.org>
9109 * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
9110 variable should be made via the new mh-set-default-cmd-note
9112 (mh-set-default-cmd-note): New function to setq-default the
9113 mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
9116 * mh-e.el (mh-scan-format-mh): Make buffer-local.
9117 (mh-scan-format-nmh): Ditto.
9118 (mh-scan-good-msg-regexp): Use a more general regular expression
9119 so that the width of message numbers, mh-cmd-note, may vary.
9120 (mh-scan-deleted-msg-regexp): Ditto.
9121 (mh-scan-refiled-msg-regexp): Ditto.
9122 (mh-scan-cur-msg-number-regexp): Ditto.
9123 (mh-scan-cur-msg-regexp): Ditto.
9124 (mh-scan-subject-regexp): Ditto.
9126 2002-06-26 Satyaki Das <satyaki@theforce.stanford.edu>
9128 * mh-speed.el: Speedbar support code.
9130 * Makefile: Add mh-speed.el to MH-E-SRC.
9132 * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
9133 speedbar is being used.
9135 * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
9138 * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
9139 functions so that speedbar can find them.
9141 2002-06-25 Satyaki Das <satyaki@theforce.stanford.edu>
9143 * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
9144 grep to be used to search mail.
9145 (mh-index-font-lock-keywords): Modified to avoid bug when using
9148 * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
9149 undeleted (or unrefiled) message exists in the current movement
9150 direction then try to find an undeleted (or unrefiled) message in
9151 the opposite direction instead.
9152 (mh-next-undeleted-msg): Added a new optional argument. If non-nil
9153 search for undeleted message backwards if none exists in the
9155 (mh-previous-undeleted-msg): Added an optional argument. If
9156 non-nil search for undeleted message in the forward direction if
9157 none exists in the backward direction.
9158 (mh-next-msg): Optional argument to change direction if undeleted
9159 messages are not found in the current direction.
9161 * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
9162 the index field size to 4.
9164 * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
9165 to do xface display and goto-addr interface to allow reuse by the
9167 (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
9168 mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
9169 (mh-modify): Use mh-letter-mode instead of mh-show-mode when
9172 * mh-mime.el (mh-mm-inline-message): Arrange for xface and
9173 highlighting to work in forwarded messages.
9175 2002-06-23 Peter S Galbraith <psg@debian.org>
9177 * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
9178 to add an attribution line in mh-yank-cur-msg.
9179 (mh-extract-from-attribution-verb): Verb to use for attribution
9180 when a message is yanked by mh-yank-cur-msg. Provides a method
9181 for setting a different language.
9182 (mh-yank-cur-msg): Add support for 'attribution' option.
9183 (mh-extract-from-attribution): Function to get the attribution
9184 line, or the sender from the From: line in the current show buffer.
9186 2002-06-20 Satyaki Das <satyaki@theforce.stanford.edu>
9188 * mh-index.el (mh-index-show): mh-display-msg was not being called
9189 in the show buffer. This causes weird results on some mime messages.
9191 * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
9192 pgp messages if gnus hasn't been used yet.
9194 * mh-comp.el (mh-letter-mode-map): Typo fix.
9196 2002-06-19 Satyaki Das <satyaki@theforce.stanford.edu>
9198 * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
9199 (compiler-warnings): Add autoloads to remove compiler warnings.
9201 * mh-index.el (autoload-fixes): Fix autoload forms.
9203 2002-06-18 Satyaki Das <satyaki@theforce.stanford.edu>
9205 * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
9206 to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
9207 (compiler-warnings): Add defvar to remove compiler-warning.
9209 2002-06-18 Peter S Galbraith <psg@debian.org>
9211 * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
9212 mh-gnus-pgp-support-p.
9214 * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
9215 (mh-compose-forward): cut&paste typo: s/messages/message/.
9216 (mml-minibuffer-read-file): autoload added.
9217 (mml-minibuffer-read-description): autoload added.
9218 (mml-insert-empty-tag): autoload added.
9219 (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
9220 (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
9222 2002-06-17 Peter S Galbraith <psg@debian.org>
9224 * mh-utils.el (mh-show-use-xface): Check for availability of
9225 `uncompface' executable on system.
9227 * mh-mime.el (mh-compose-forward): New front end for both
9228 mh-mml-forward-message and mh-mhn-compose-forw.
9229 (mh-compose-insertion): New front end for both mh-mml-attach-file
9230 and mh-mhn-compose-insertion.
9231 (mh-mml-to-mime): New function. Compose mime message from mml
9233 (mh-mml-forward-message): New function. Forward a message as
9235 (mh-mml-attach-file): New function. Attach a file to the outgoing
9237 (mh-mml-compose-insert-p): New variable. Buffer-local variable to
9238 know whether MIME insertion was done. Triggers an automatic call
9239 to `mh-mml-to-mime' in `mh-send-letter'.
9240 (mh-mml-secure-message-sign-pgpmime): New function.
9241 Front end to mml-secure-message-sign-pgpmime.
9242 (mh-mml-secure-message-encrypt-pgpmime): New function.
9243 Front end to mml-secure-message-encrypt-pgpmime.
9245 * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
9246 if mh-mml-compose-insert-p is set.
9247 (mh-letter-mode-map): Add keys for new mh-mime functions above.
9248 * mh-comp.el: Added autoloads for new mh-mime functions above.
9250 2002-06-17 Peter S Galbraith <psg@debian.org>
9252 * mh-utils.el (mh-show-use-xface): new defcustom to determine
9253 whether to call external package x-face to display the x-face.
9254 (mh-invisible-headers-show-xface): variable now defaults to value
9255 of mh-show-use-xface.
9256 (mh-show-mode): When mh-show-use-xface is t, invoke
9257 external package x-face to display the x-face.
9259 2002-06-15 Satyaki Das <satyaki@theforce.stanford.edu>
9261 * mh-e.el (mh-prev-button): New interactive function which moves
9262 point to the previous mime button in the show buffer.
9263 (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
9265 * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
9266 mh-letter-prev-button (which is analogous to mh-prev-button).
9267 (mh-gnus-pgp-support-p): New global variable to replace the
9268 variable mh-recent-gnus-p. The name better describes what it is
9271 * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
9272 mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
9274 2002-06-12 Satyaki Das <satyaki@theforce.stanford.edu>
9276 * mh-mime.el (mh-display-buttons-for-inline-parts): New
9277 customizable variable. When non-nil inline parts have are
9278 displayed with a button (that is initially expanded).
9279 (mh-maybe-insert-newline): The function has been removed.
9280 (mh-mime-display-single): Add code to display buttons for inline
9281 parts. Reduce the insertion of extra newlines between inline parts
9282 and also for pgp signature parts.
9283 (mh-mm-display-part): The function has been rewritten and cleaned
9284 up. There was a bug which could change the show buffer if the user
9285 pressed C-g while a mime part was being displayed has been fixed.
9286 (mh-press-button, mh-push-button): Use unwind-protect to make sure
9287 that set-buffer-modified-p is always called after mime display.
9288 (mh-mime-inline-part): The behavior of the function has been
9289 changed so that it toggles the display of the raw bytes.
9290 (mh-mime-display-security): Remove the display of too many
9292 (documentation): Remove most check-doc warnings.
9294 * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
9295 added around mime buttons have changed.
9297 2002-06-10 Satyaki Das <satyaki@theforce.stanford.edu>
9299 * mh-index.el (mh-index-last-search, mh-index-search): The default
9300 prompt in mh-index-search has been removed since currently there
9301 is no good way of reading "+" with mh-prompt-for-folder.
9302 (mh-index-folder-mode, mh-index-show-mode): New major modes
9303 derived from mh-folder-mode and mh-show-mode respectively. They
9304 use a restricted keymap compared to the parent modes.
9305 (mh-index-folder-face): New customizable face to display folder
9306 names in the index buffer.
9307 (documentation): Change two spaces after period back to one.
9309 2002-06-08 Satyaki Das <satyaki@theforce.stanford.edu>
9311 * mh-e.el (mh-folder-toggle-mime-part): New interactive function
9312 to control mime display from folder buffer.
9313 (mh-folder-inline-mime-part): New interactive function to inline
9314 raw mime part from folder buffer.
9315 (mh-folder-save-mime-part): New interactive function to save mime
9316 part from folder buffer.
9317 (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
9318 "K \t" to mh-folder-mode-map.
9319 (mh-goto-next-button): Modified to allow searching for next button
9320 that satisfies some condition.
9321 (mh-folder-mime-action): Support function for
9322 mh-folder-save-mime-part, mh-folder-inline-mime-part and
9323 mh-folder-toggle-mime-part.
9325 * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
9326 bindings for "K v", "K o", "K i" and "K \t".
9328 * mh-index.el (documentation): Fix docs according to checkdoc
9331 2002-06-07 Satyaki Das <satyaki@theforce.stanford.edu>
9333 * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
9334 instead add defvar for view-exit-action.
9336 2002-06-06 Satyaki Das <satyaki@theforce.stanford.edu>
9338 * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
9339 the call to mark returns error. So avoid using mark.
9341 * mh-index.el: Support for new interactive function
9344 * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
9345 mh-next-button so that the code may be reused by mh-index.el.
9346 (mh-folder-map): Add key "F i" to call mh-index-search.
9348 * mh-utils.el (mh-recent-gnus-p): Fix documentation.
9349 (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
9350 maps a MH folder name to the buffer displaying it. In normal
9351 operation the two names are identical but they are different in a
9352 folder buffer generated by index search. Minor modification to
9353 mh-display-msg to use mh-msg-folder to enable mh-index-search to
9355 (mh-show-mode-map): Add key "F i" to call mh-index-search.
9357 * Makefile: Add mh-index.el
9359 2002-06-05 Peter S Galbraith <psg@debian.org>
9361 * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
9363 2002-05-31 Satyaki Das <satyaki@theforce.stanford.edu>
9365 * mh-utils.el (mh-decode-quoted-printable): Only decode if the
9366 whole message is encoded. So restrict the search for the
9367 content-transfer-encoding header to the headers of the message
9370 * mh-mime.el (mh-mime-display-alternative): Make sure that point
9371 is moved after mm-display-part is called.
9373 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9375 * mh-mime.el (mh-mime-display-single): Fix the logic that
9376 determines when an attachment is buttonized. For inline parts that
9377 can't be displayed a button is now created.
9379 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9381 * mh-e.el (mh-regenerate-headers): Fix an error in which the
9382 mh-mode-line-annotation was not being set properly.
9384 * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
9385 mh-autoload are used to make sure that emacs20 doesn't croak when
9386 it tries to load non-existent mm-* files.
9387 (mh-decode-mime): Make it default to nil for Emacs major version
9390 2002-05-28 Satyaki Das <satyaki@theforce.stanford.edu>
9392 * mh-e.el (mh-regenerate-headers): Generalize the function to
9393 handle multiple ranges.
9395 2002-05-25 Satyaki Das <satyaki@theforce.stanford.edu>
9397 * compilation: Reduce use of eval-when-compile so that load-path
9398 is not changed if lisp files are loaded without compilation. Small
9399 changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
9400 mh-seq.el, mh-utils.el
9402 * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
9403 function to advance point to next MIME button. It is bound to TAB.
9405 * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
9406 interactive function mh-letter-next-button has been added to
9407 advance point to the next MIME button. It is bound to TAB.
9409 * mh-mime.el (comments): Added some comments.
9411 2002-05-24 Satyaki Das <satyaki@theforce.stanford.edu>
9413 * mh-mime.el (compilation): Replace (eval-when-compile ...) by
9414 (eval-when (compile) ...) to remove a bug when mh-e is loaded
9415 without compilation.
9417 2002-05-23 Satyaki Das <satyaki@theforce.stanford.edu>
9419 * mh-comp.el (compilation): Some code was rearranged to avoid
9422 * mh-e.el (compilation): Code rearrangement and extra autoloads to
9423 remove compiler warnings
9424 (mh-quit): Add call to mh-destroy-postponed-handles to remove
9425 handles that are associated with external viewers. Also fixed a
9426 bug that I accidentally introduced by adding an extra line when
9427 cut and pasting my changes.
9429 * mh-func.el (compilation): Code rearrangement to remove compiler
9432 * mh-mime.el (compilation): Code rearrangement to remove compiler
9434 (mh-defun-compat): New macro to define to useful functions that
9435 aren't present present in old Gnus.
9436 (mh-destroy-postponed-handles): New function to cleanup handles
9437 that are associated with external viewers.
9438 (mh-handle-set-external-undisplayer): New function to replace
9439 mm-handle-set-external-undisplayer. It associates handles for
9440 external viewers with the folder buffer. These are released when
9441 the user quits the folder.
9442 (mh-mime-display, mh-press-button, mh-push-button): Hook in
9443 mh-handle-set-external-undisplayer.
9444 (mh-maybe-insert-newline): New function to avoid inserting too
9445 many newlines between mime parts.
9446 (mh-mm-display-part): Workaround for Gnus bug which causes new
9447 lines to be inserted when images are shown inline.
9448 (mh-mime-display-security): Cut down on newlines inserted.
9450 * mh-pick.el (compilation): Code rearrangement to remove compiler
9453 * mh-seq.el (compilation): Code rearrangement to remove compiler
9455 (comments): Remove @SD from comments.
9457 * mh-utils.el (compilation): Slight code rearrangement.
9458 (mh-defun-show-buffer): Fix documentation so that the first line
9459 is not too long as was the case earlier. Use
9460 mh-previous-window-config to remember where the cursor should
9461 return functions like mh-reply.
9462 (mh-display-msg): Initialize handles data-structure for the folder
9463 buffer so that postponed handles can be added to it.
9464 (mh-add-msgs-to-seq): Always keep messages in the sequences
9465 sorted. This removes some unexpected behavior when working with
9466 sequences that go out of sync with the corresponding MH sequences.
9467 (mh-canonicalize-sequence): New function to sort and remove
9468 duplicates from mh-e sequence.
9470 2002-05-21 Satyaki Das <satyaki@theforce.stanford.edu>
9472 * mh-utils.el (require): Load mm-decode.el here so that
9473 mm-inline-media-tests is properly initialized.
9475 * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
9476 mime parts when yanking the message. This also fixes the problem
9477 of regions not being respected during the yank.
9479 2002-05-20 Satyaki Das <satyaki@theforce.stanford.edu>
9481 * mh-utils.el (compiler-warnings): Some code was rearranged to
9482 remove all compiler warnings.
9483 (mh-decode-mime): New defcustom to control whether
9484 mime attachments are shown using Gnus.
9485 (mh-globals-hash): New global variable which maps a given buffer
9486 to the corresponding mime data structures.
9487 (mh-recent-gnus-p): New global variable which checks if Gnus is
9488 recent enough so that PGP/GPG encrypted messages can be handled.
9489 (mh-mm-inline-media-tests): Tests to determine whether a mime part
9490 can be shown inline.
9491 (mh-gnus-article-highlight-citation): Shadow the Gnus function,
9492 gnus-article-add-button before gnus-article-highlight-citation is
9493 called. This prevents the insertion of useless buttons in the
9495 (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
9496 kill-buffer-hook to call mh-mime-cleanup.
9497 (mh-modify): Only the edit buffer is shown.
9498 (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
9499 mh-display-emphasis when mh-decode-mime is non-nil.
9501 * mh-mime.el (mh-buffer-data): New structure to keep track of
9502 per-buffer mime information.
9503 (compiler-warnings): Some code was rearranged to get rid of all
9505 (mh-graphical-smileys-p): New defcustom which controls whether
9506 graphical smileys are shown.
9507 (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
9508 (mh-max-inline-image-width, mh-max-inline-image-height): New
9509 defcustoms for inlining image.
9510 (gnus-local-map-property, mm-merge-handles): Copy utility
9511 functions for use with version of Gnus that ships with Emacs21.1.
9512 (mh-mime-cleanup): New function to free mime data-structures.
9513 (mh-add-missing-mime-version-header): New function to add missing
9514 Mime-Version header if a Content-Type header exists.
9515 (mh-display-smileys): New function to show graphical smileys.
9516 (mh-display-emphasis): New function to show graphical emphasis.
9517 (new-globals): New variables mh-mime-button-* and
9518 mh-mime-security-* were added to control mime buttons.
9519 (mh-mime-display): New function to display mime messages. The
9520 functions mh-mime-display-part, mh-mime-display-alternative,
9521 mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
9522 mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
9523 mh-press-button, mh-push-button, mh-mime-save-part,
9524 mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
9525 mh-mime-display-security, mh-mime-security-show-details,
9526 mh-mime-security-press-button and mh-insert-mime-security-button
9527 were added to support mh-mime-display.
9529 * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
9530 mh-show-msg is called, so that mime isn't decoded when headers are
9532 (mh-quit): The show buffer is killed instead of invalidating and
9535 * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
9537 (mh-filter-out-non-text): New function to filter out attachments
9538 from message being yanked.
9540 2002-05-20 Bill Wohler <Bill.Wohler@openwave.com>
9542 * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
9543 docstring was not entirely on first line so was truncated in
9544 customize and help buffers. Reworded so first sentence could fit
9545 within 80 columns per checkdoc recommendation.
9546 (mh-defun-show-buffer): Reworded per checkdoc recommendations.
9547 Removed @SD while I was in there.
9549 2002-05-18 Satyaki Das <satyaki@theforce.stanford.edu>
9551 * mh-seq.el (mh-narrow-to-seq): This function now removes the
9552 current message notation in the folder. Otherwise, two current
9553 message notations may be present after mh-widen is called. Also
9554 mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
9555 the latter has a bug.
9556 (mh-copy-seq-to-point): This function has a tricky problem. It
9557 calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
9558 assumes that the folder is sorted (since it uses binary
9559 search). The assumption isn't true, so it may not copy all the
9560 messages. Since this function is not used any more it has been
9562 (mh-copy-seq-to-eob): This function is a specialized (and
9563 hopefully correct) replacement for mh-copy-seq-to-point.
9565 2002-05-17 Satyaki Das <satyaki@theforce.stanford.edu>
9567 * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
9568 problem caused by low value of recursive-load-depth-limit in
9569 Emacs21.1 and CVS version of Gnus.
9570 (mh-show-mode-map): New keymap variable to facilitate use of
9571 summary commands from the show buffer.
9572 (mh-show-folder-buffer): New local variable which keeps track of
9573 the folder-buffer corresponding to the message being shown.
9574 (mh-defun-show-buffer): New macro to convert interactive functions
9575 callable in the summary buffer to interactive functions callable
9577 (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
9578 keymap (closes SF #527946).
9579 (mh-modify): New interactive function to edit a message in-place.
9581 * mh-e.el (mh-goto-cur-msg): Add an optional argument,
9582 minimal-changes-p. If non-nil, the function will just change
9583 the point to current message and do not change folder display.
9584 (mh-folder-mode-map): Make "M" call mh-modify.
9586 2002-05-07 Peter S Galbraith <psg@debian.org>
9588 * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
9589 variable. If non-nil, the X-Face header line will be excluded from
9590 the variable `mh-invisible-headers'. Set this when using a
9591 package such as x-face-el to display X-Face icons in mh-show-mode.
9592 This variable's setting will eventually be set automatically when
9593 mh-e does its own X-Face decoding (or this variable will be replaced
9594 by one telling mh-e to decode the X-Face). We may not ship the
9595 next release with this variable.
9597 2002-05-07 Peter S Galbraith <psg@debian.org>
9599 * mh-comp.el (mh-x-face-file): New defcustom variable. File name
9600 containing the encoded X-Face string to insert in outgoing mail.
9601 (mh-insert-x-face): New function. Appends an X-Face field to the
9602 header, but only if it doesn't already exist and if 'mh-x-face-file'
9603 is non-nil and points to an existing file.
9604 (mh-send-letter): Invoke mh-insert-x-face.
9606 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
9608 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
9609 whether XEmacs region is actually active (needed at least for 21.1).
9610 [Patch committed by psg]
9612 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
9614 * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
9615 from completing-read as XEmacs-21.1 doesn't have it (21.4 does
9616 however) and using the argument adds no functionality.
9617 [Patch committed by psg]
9619 2002-04-11 Peter S Galbraith <psg@debian.org>
9621 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
9622 XEmacs to act on selected region when active.
9624 2002-04-10 Peter S Galbraith <psg@debian.org>
9626 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
9627 check to see if mark-active is bound, because Mandrake Linux include
9628 XEmacs initialization code that binds transient-mark-mode. This
9629 fix gets around a problem in Mandrake only. It wasn't a problem
9630 on XEmacs generally. Fixes SF #541915.
9632 2002-04-08 Bill Wohler <wohler@newt.com>
9634 * Released mh-e version 6.1.
9636 * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
9637 Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
9638 to increase robustness.
9639 (mh-folder-unseen-seq-list): Use `expand-file-name' as
9640 `mh-expand-file-name' isn't needed and the former saves function
9642 (Version, mh-version): Updated for release 6.1.
9644 2002-04-08 Peter S Galbraith <psg@debian.org>
9646 * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
9647 call to mark command. Fixes a bug in which unseen messages
9648 weren't highlighted if "mark" wasn't in the path.
9650 2002-04-07 Bill Wohler <wohler@newt.com>
9652 * MH-E-NEWS: Updated for release 6.1.
9654 * README: Updated for release 6.1. Updated verbiage about reading
9657 * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9658 mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
9661 * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
9663 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9664 mh-utils.el: Fixed all checkdoc errors, except for no
9665 documentation, and documentation in comments. Also removed the-
9666 prefix from certain local variables.
9668 * mh-e.el: Fixed all checkdoc errors, except for no documentation,
9669 and documentation in comments. Also removed the- prefix from
9670 certain local variables.
9671 (mh-folder-unseen-seq-name): Refactored to make default sequence
9672 name more explicit and to handle undefined Unseen-Sequence MH
9673 profile entry better.
9675 2002-04-02 Peter S Galbraith <psg@debian.org>
9677 * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
9678 set it's value, and this happens also on byte-compilation (where
9679 it can fail if the user's MH environment is not setup correctly).
9680 I now set the value of mh-folder-unseen-seq-name at runtime when I
9681 first need it. This should fix Debian bugs
9682 http://bugs.debian.org/140232 and http://bugs.debian.org/140817
9684 2002-03-25 Peter S Galbraith <psg@debian.org>
9686 * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
9687 be at the bottom of the dependency tree.
9688 * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
9689 and use it as path to mhparam command in call-process.
9691 2002-01-23 Peter S Galbraith <psg@debian.org>
9693 * mh-e.el (mh-folder-font-lock-keywords): Add call to
9694 mh-folder-font-lock-unseen to fontify unseen messages in bold.
9695 (mh-folder-unseen-seq-name): Provide name of unseen sequence from
9696 mhparam. Used as default for variable of same name.
9697 (mh-folder-unseen-seq-list): Returns a list of unseen messages
9698 numbers for current folder.
9699 (mh-folder-unseen-seq-cache): Cache variable to hold list of
9700 unseen message numbers while font-lock iterates. This variable is
9702 (mh-folder-font-lock-unseen): Returns unseen message lines to
9703 font-lock one by one.
9705 2002-01-15 Peter S Galbraith <psg@debian.org>
9707 * mh-comp.el (mh-insert-prefix-string): Wrap a
9708 "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
9709 Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
9710 Indeed, this is how it appears in XEmacs-21's mh-comp.el.
9712 2001-12-16 Jeffrey C Honig <jch@honig.net>
9714 * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
9715 to before the assignment to `draft' as the later changes buffers
9716 and invalidates `mh-seq-list' (which is used in a function called
9717 by (mh-seq-to-msgs)). Resolves SF #489448.
9719 * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
9720 `mh-temp-sequences-buffer'.
9722 * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
9723 'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
9726 * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
9727 (a defcustom initialized to "*Folders*") for folder listing. Put
9728 into view mode and set it up to kill the buffer when exiting view
9731 * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
9732 (a defcustom initialized to "*Sequences") for sequences listing.
9733 Put into view mode and set it up to kill the buffer when exiting
9736 2001-12-16 Bill Wohler <wohler@newt.com>
9738 * Released mh-e version 6.0.
9740 * MH-E-NEWS: Be a little more specific about incompatible changes.
9741 Added info about outdated manual.
9742 Removed variables in mh-scan regexp table that did not exist in
9744 Added helpful documentation about finding relevant variables
9745 containing regexps to mh-scan-format-file's description.
9747 * mh-e.el (mh-scan-format-file): Added information about getting a
9748 list of regexp variables that you'll need to change if you
9749 customize your scan's output.
9750 (mh-folder-mode): Added documentation about `mh-scan-format-file'
9751 for those users who modify their scan formats.
9753 * README: New file. Describes packages and provides simple
9754 installation instructions.
9756 * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
9757 -rf (closes SF #488661).
9759 2001-12-14 Bill Wohler <wohler@newt.com>
9761 * Released mh-e version 5.0.93.
9763 * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
9764 (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
9766 (MH-E-IMG2): New variable to hold images in mail sub-directory.
9767 (dist): Updated target to make mail sub-directory and copy
9768 MH-E-IMG2 images there.
9770 * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
9772 * mh-e.el: Reorganized variables having to do with the scan line.
9773 Moved some random variables that were interspersed out of the
9774 middle. Moved `mh-scan-format-file' first and let the variables
9777 As the number of variables increases, it is becoming important to
9778 organize the mh-e namespace. Several variables having to do with
9779 the format of scan lines were renamed, as follows:
9780 (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
9781 (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
9782 (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
9783 (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
9784 (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
9785 (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
9786 (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
9787 (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
9788 (mh-folder-scan-font-lock-face): Renamed to
9789 mh-folder-scan-format-face.
9790 (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
9792 2001-12-13 Bill Wohler <wohler@newt.com>
9794 * mh-utils.el (mh-msg-number-regexp): Renamed to
9795 mh-scan-msg-number-regexp.
9796 (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
9798 * Corrected typos, quoted variables in doc strings, and made minor
9799 wording changes in docs.
9801 2001-12-13 Peter S Galbraith <psg@debian.org>
9803 * mh-xemacs-compat.el: defalias 'match-string-no-properties to
9804 'match-string for XEmacs. I've seen a better function for this
9805 that actually removes text properties, but this will do for now.
9807 * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
9810 * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
9812 * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
9814 2001-12-12 Peter S Galbraith <psg@debian.org>
9816 * mh-comp.el (mh-send-letter): function local-variable-p needs two
9817 arguments in XEmacs.
9818 (mh-send-letter): sendmail-coding-system not bound in XEmacs.
9819 (mh-send-letter): default-buffer-file-coding-system not bound in
9822 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
9823 transient-mark-mode not bound in XEmacs. The feature of
9824 operations made on all messages in the selected range when
9825 transient-mark-mode is on doesn't work in XEmacs.
9827 * mh-e.el, mh-utils: Conditionalize calls to
9828 'add-to-list 'facemenu-unlisted-faces for XEmacs.
9830 2001-12-11 Jeffrey C Honig <jch@honig.net>
9832 * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
9833 specify the scan format string or file to use. Define formats for
9834 MH and nmh that are compatible with the standard format, but
9835 provide hints for font-lock. Define (mh-scan-format) for use by
9836 (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
9837 necessary to inform the scan program which scan format string or
9840 2001-12-07 Peter S Galbraith <psg@debian.org>
9842 * mh-e.el (scan.font-lock): New format file documented in comments.
9843 (mh-scan.font-lock-regexp): Adapted to new format.
9844 (mh-folder-font-lock-keywords): Use new format.
9846 * mh-e.el (page-down.xpm): Icon renamed from nextpage.
9848 * mh-utils.el (mh-decode-quoted-printable): Bug fix. Better check
9849 on what actually is a quoted-printable attachment.
9851 2001-12-06 Eric Ding <ericding@alum.mit.edu>
9853 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
9854 require mailcap.el here rather than using autoload at top of
9856 (mh-file-mime-type): get rid of unused variables (why were they
9857 there to begin with?)
9859 2001-12-06 Peter S Galbraith <psg@debian.org>
9861 * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
9862 mh-cur-scan-msg-regexp splits into these two variables.
9863 The whole-line fontification is disabled, but easily restored by a
9864 user (although it could be a defcustom with choices DISABLED or
9865 the correct regexp?)
9866 (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
9868 (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
9871 * cabinet.xpm: Revert to rescan icon name.
9872 * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
9874 * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
9875 that current message line highlight doesn't mess up other highlights.
9877 2001-12-05 Eric Ding <ericding@alum.mit.edu>
9879 * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
9880 cyan on dark backgrounds; through a series of changes, it had
9881 become the same color as mh-show-subject-face!
9883 2001-12-05 Bill Wohler <Bill.Wohler@openwave.com>
9885 * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
9886 a couple of small doc string tweaks while I was in there. Peter,
9887 if you don't agree, let me know and I'll back them out. I thought
9888 the "mh-e" in the text was redundant since the variables start
9889 with "mh"; I was also thinking ahead to how the documentation may
9892 2001-12-05 Peter S Galbraith <psg@debian.org>
9894 * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
9895 (mh-folder-current-msg-face): New face with only a background
9896 settings, used in font-lock for the current message.
9897 (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
9898 mh-cur-scan-msg-regexp.
9900 * mh-utils.el (mh-show-from-face): Use red3 instead of red for
9901 light backgrounds. It's not as bright on the eyes.
9902 (mh-show-subject-face): copy from mh-folder-subject-face instead.
9903 Makes the look consistent with folder-mode.
9905 * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
9906 need it to copy to mh-show-subject-face.
9908 2001-12-05 Bill Wohler <wohler@newt.com>
9910 * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
9911 from "a" to "E". Better mnemonic, nicer to folks used to using a
9914 2001-12-04 Bill Wohler <wohler@newt.com>
9916 * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
9918 2001-12-04 Peter S Galbraith <psg@debian.org>
9920 * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
9921 colours for folder-mode. Still themed, but fewer and darker
9922 colours (Blame Eric this time!). I'll get to underlining tomorrow
9925 * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
9926 don't have the word mail in them. Also generated a pbm format of
9927 each icon for users without XPM support conpiled into Emacs.
9929 2001-12-04 Eric Ding <ericding@alum.mit.edu>
9931 * mh-utils.el (mh-show-font-lock-keywords): Use
9932 mh-header-subject-font-lock instead of regexp for subject headers,
9933 which may go multiple lines.
9934 (mh-header-subject-font-lock): New function.
9935 Fix typos (hightlight -> highlight).
9937 2001-12-04 Eric Ding <ericding@alum.mit.edu>
9939 * mh-e.el: changes to face colors on dark backgrounds.
9940 (mh-folder-followup-face): change to LightGoldenRod.
9941 (mh-folder-date-face): change to snow3.
9942 (mh-folder-msg-number-face): change to snow4.
9944 2001-12-04 Bill Wohler <wohler@newt.com>
9946 * Released mh-e version 5.0.92.
9948 * mh-utils.el (gnus-cite-face-list)
9949 (mh-gnus-article-highlight-citation): Don't autoload. Revert to
9950 requiring in `mh-gnus-article-highlight-citation' as before. With
9951 the autoloads, if you ran mh-e before gnus, you'd get an undefined
9952 gnus variable when viewing an article in gnus. Go figure.
9954 2001-12-03 Bill Wohler <wohler@newt.com>
9956 * Released mh-e version 5.0.91.
9958 * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
9959 that workaround has been implemented.
9961 * Makefile (MH-E-OBJ): New variable to hold .elc files.
9962 (all): Just compile.
9963 (clean): New target that blows away MH-E-OBJ.
9964 (dist): Added $(MH-E-OBJ) to tarball.
9967 Attempt to quiet compilation errors to a dull roar.
9969 * mh-e.el: Require easymenu, added autoload of info.
9970 (mh-smail, mh-smail-other-window): Comment says these were needed
9973 * mh-utils.el: Don't require sendmail, but require mh-e.
9974 Moved autoloads to top of file, and autoload gnus-cite and
9977 * mh-pick.el: Require easymenu. Remove cond on
9978 `easy-menu-define'--it exists.
9980 * mh-mime.el: Autoload mailcap.
9982 * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
9986 * Makefile: (EMACS): New constant to hold emacs calling sequence.
9987 (install): Renamed to install-emacs.
9988 (compile): New target to compile all files.
9989 (dist): Make dependent on compile.
9990 (import): Renamed to import-emacs.
9991 (%.elc): New implicit rule to compile elisp files.
9993 * mh-e.el (mh-thread-map): Added "Td" for
9994 mh-delete-subject-thread.
9996 2001-12-03 Peter S Galbraith <psg@debian.org>
9998 * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
10000 * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
10001 (mh-folder-followup-face): Change to IndianRed.
10002 (mh-folder-deleted-face): Use sedate face instead of bright one.
10004 2001-12-03 Bill Wohler <wohler@newt.com>
10006 * mh-utils.el (mh-invisible-headers): Increase size of
10007 `max-specpdl-size' locally to work around insufficient default.
10008 (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
10010 2001-12-03 Jeffrey C Honig <jch@honig.net>
10012 * mh-utils.el (mh-find-progs): Searches should not stop if the
10013 strings are not found, there is error detection at the end of the
10014 routine (closes SF #488231).
10016 2001-12-02 Bill Wohler <wohler@newt.com>
10018 * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
10020 * Makefile (MH-E-IMG): New variable that contains images used by
10021 mh-e. Add these files to release.
10023 * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
10025 * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
10026 Is the hook called when you type `d' or when you type `x'?
10027 (mh-unseen-updated-hook): Reworded to be consistent with
10028 `mh-folder-updated-hook.'
10030 * mh-utils.el (mh-recenter): Accepted Gerd's change which is
10031 evaluated at compile time.
10033 2001-12-02 Bill Wohler <wohler@newt.com>
10035 * mh-e.el Major, major keymap changes. The specific changes are
10036 listed below, but view the sources, or use "C-h m" in MH Folder
10037 mode for the complete list.
10039 Use of sub-keymaps inspired by gnus. The changes tripped me up at
10040 first too, but after about 5 minutes of shock (which is to be
10041 expected, I've been using the old keybindings for 16 years), I
10042 honestly found the new bindings to be nice indeed. It will also
10043 provide flexibility to allow for future functionality. I hate to
10044 do this on the eve of the beta release, but you asked for it! It's
10045 likely I'll have to pull an Eric and back this change out, but if
10046 we can live with pink subjects, this can't be so bad ;-).
10047 Question: will the users revolt? If they do, I suppose we can
10048 release 6.0.1 the next day ;-).
10049 (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
10050 New keymaps which start with F, S, X, and D, respectively. The
10051 mhstore commands can go in the mh-extract-map eventually.
10052 (mh-thread-map): Renamed from mh-folder-thread-map.
10054 Keymap changes and rationale. The sub-keymaps allowed some
10055 consistency (e.g., esp. with l(ist) and k(ill).
10057 e Deleted. Already have x. Now used by mh-edit-again.
10058 a Deleted. Already have r. Now used by mh-extract-rej..
10059 j Deleted. Already have g.
10061 M-a -> e Better mnemonic. Matches rmail. Frees movement cmd.
10062 M-e -> a Try `a'gain!
10064 M-f -> Fv Frees movement command
10065 M-f -> Ff Alias (keep?)
10066 M-f -> Fo Alias (keep?)
10067 M-k -> Fk No reason but to keep with folder commands
10068 M-l -> Fl No reason but to keep with folder commands
10069 M-p -> Fp No reason but to keep with folder commands
10070 M-r -> Fr Frees movement command
10071 M-s -> Fs No reason but to keep with folder commands
10072 M-u -> Fu No reason but to keep with folder commands
10074 M-% -> Sd Better mnemonic
10075 M-# -> Sk Better mnemonic
10076 M-q -> Sl Better mnemonic
10077 C-xn -> Sn Frees up standard key binding
10078 % -> Sp Better mnemonic for putting a message in a sequence
10079 ? -> Ss Shows sequences that message is in
10080 C-xw -> Sw Frees up standard key binding
10082 M-n -> Xs Better mnemonic (shar)
10083 M-n -> Xu Better mnemonic (uuencode)
10085 M-SPC -> DSPC Frees mark command
10086 M-\177 -> D\177 No reason but to keep with digest commands
10087 M-b -> Db Frees movement command
10089 2001-12-01 Bill Wohler <wohler@newt.com>
10091 * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
10092 (mh-folder-thread-map): New map, created by gnus-define-keys.
10093 Reached when typing T in mh-folder-mode-map. Moved threading
10094 functions to this new keymap so we can use dired again.
10095 (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
10096 the new threading functions, no changes to the UI were made at
10097 this point--saving that for the next check-in.
10099 * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
10100 requires gnus-util.
10102 * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
10103 requires gnus-util.
10105 2001-12-01 Jeffrey C Honig <jch@honig.net>
10107 * mh-e.el: Update the documentation for the regexps used by
10108 `mh-folder-font-lock-keywords' to specify how many parethesized
10109 expressions they are expected to have and what those expressions
10110 are expected to match.
10112 2001-12-01 Bill Wohler <wohler@newt.com>
10114 * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
10115 \\{mh-folder-mode-map} suffices. Removed variable documentation
10116 also as this is already out of date and a maintenance hassle.
10117 Reference new mh customization group instead.
10119 * mh-comp.el (mh-letter-mode): Ditto. Also added new information
10120 about MIME directives getting processed automatically if inserted
10123 * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
10126 * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
10127 Comment in this function said that `b' shouldn't be used for
10128 burst-digest, as it is used for `back' in info, less, and rn. But
10129 what does `back' mean in MH Folder? I suppose if you visit a
10130 folder, you would go `back' to the original folder. Hmmm, I guess
10131 we'll leave the `b' binding alone for now.
10133 * mh-utils.el: Moved some of the variable comments to the first
10134 column so they wouldn't wrap in such an ugly fashion.
10135 (mh-showing-mode): Renamed variable and function from mh-showing
10136 to conform with minor mode conventions. Added optional arg to
10137 function so it would behave like a normal minor mode: no or nil
10138 arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
10139 out that desktop-create-buffer would barf when recreating mh-e
10140 buffers because it was calling mh-show with an arg.
10141 (mh-show-mode): Use define-derived-mode to simplify definition a
10143 (mh-set-mode-name): Deprecated by use of define-derived-mode.
10146 * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
10147 definition a *lot*.
10149 * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
10150 this message will appear in a future version of Emacs.
10151 (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
10153 (mh-folder-mode): Use define-derived-mode to simplify definition a
10156 * import-emacs (release): Change `(none)' to `mainline' so import
10157 doesn't choke after running `cvs up -A' on Emacs.
10158 (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
10159 (cvs update): Whoops! Forgot the second join (-jemacs).
10160 make import works fine again.
10162 2001-11-30 Peter S Galbraith <psg@debian.org>
10164 * mh-e.el (mh-folder-font-lock-keywords): Change order of
10165 font-lock patterns such that subject body text doesn't get date
10168 * mh-e.el (mh-scan-subject-regexp): Bug fix. Remove a dot.
10169 scan.font-lock users have to setq it separately.
10171 2001-11-30 Eric Ding <ericding@alum.mit.edu>
10173 * mh-utils.el (mh-clean-msg-header): Go back to using
10174 mh-delete-line. Using invisible text property is nicer in some
10175 ways, but winds up with somewhat mysterious behavior should user
10176 kill/yank stuff from the header (i.e., text gets yanked invisibly
10177 and won't be seen by user until file is reloaded).
10179 2001-11-29 Bill Wohler <wohler@newt.com>
10181 * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
10184 2001-11-29 Jeffrey C Honig <jch@honig.net>
10186 * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
10187 the current message if there are no messages in the folder.
10189 2001-11-29 Peter S Galbraith <psg@debian.org>
10191 * mh-e.el (mh-folder-font-lock-subject): New fontifier function
10192 for subject lines in folder-mode
10193 (mh-scan-followup-regexp): Deleted obsolete regexp. Use
10194 mh-scan-subject-regexp instead.
10195 (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
10196 instead of obsolete mh-scan-followup-regexp variable.
10197 (mh-folder-date-face, mh-folder-msg-number-face):
10198 (mh-folder-subject-face, mh-folder-followup-face):
10199 Now defined as proper faces instead of copied from font-lock
10202 * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
10203 valid media types used in MIME attachment compositions.
10204 (mh-file-mime-type): Use mh-media-type-regexp instead of
10205 hard-wiring its value.
10207 * mh-utils.el (mh-show-unquote-From): New function to unquote
10208 "^>From" in mh-show-mode (not saved to disk).
10209 (mh-show-mode): Call mh-show-unquote-From.
10211 2001-11-29 Eric Ding <ericding@alum.mit.edu>
10213 * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
10214 rather than mh-delete-line.
10215 (mh-make-line-invisible): New function to make line(s) invisible
10216 rather than deleting line(s). Optional argument specifies number
10217 of lines to delete.
10218 (mh-show-msg): screen-height has been deprecated; use no more.
10219 (mh-notate): screen-width has been deprecated; use no more.
10221 2001-11-29 Jeffrey C Honig <jch@honig.net>
10223 * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
10224 the existence of mhparam. The location of mhparam is used to find
10225 `mh-progs'. It uses the libdir and etcdir to find the
10226 `mh-lib-progs' and `mh-lib' directories. If etcdir doesn't return
10227 anything we assume `mh-lib-progs' is the same as `mh-lib' and that
10228 we are using MH instead of nmh.
10230 2001-11-29 Peter S Galbraith <psg@debian.org>
10232 * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
10233 second paren expression is the user match.
10234 (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
10235 expression to match user name, after Jeffrey's change to the regexps.
10237 2001-11-29 Bill Wohler <Bill.Wohler@openwave.com>
10239 * mh-utils.el (mh-clean-message-header): Default is now t.
10240 (mh-invisible-headers): Padded out to contain all the headers that
10241 the mh-e developers don't like to see (closes SF #415759).
10243 2001-11-28 Bill Wohler <Bill.Wohler@openwave.com>
10245 * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
10246 this allows mh-extract-rejected-mail to strip the start of the
10247 MDN, there is still a closing MIME marker at the end. This should
10248 be cleaned up eventually.
10250 2001-11-28 Peter S Galbraith <psg@debian.org>
10252 * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
10253 folder-mode when narrowed to sequence.
10254 * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
10255 mh-folder-seq-tool-bar-map.
10256 (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
10257 * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
10259 * mh-mime.el (mh-file-mime-type): Much better check on validity of
10262 * mh-e.el (mh-scan-subject-regexp): New regexp variable for
10263 subject string in folder mode. Used to extract subject sequence,
10264 and will be used for font-lock soon.
10265 * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
10266 using mh-scan-subject-regexp, allows users with non-standard
10267 scan format to use subject sequences.
10269 * mh-comp.el (mh-letter-fill-column): Fill column to use in
10270 mh-letter-mode. (Yes, I'm doing this in spite of what Bill said;
10271 Someone can always undo it later)
10272 (mh-letter-mode): setq fill-column to mh-letter-fill-column.
10274 2001-11-28 Bill Wohler <wohler@newt.com>
10276 * mh-e.el (mh-page-msg): The first time the end of page is hit,
10277 set mh-page-to-next-msg-p to t. The second time the end of page is
10278 hit, go to the next message.
10280 * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
10283 2001-11-27 Bill Wohler <wohler@newt.com>
10285 * mh-mime.el (mh-mime-content-types): Updated list of types to
10286 contain types used by mh-e developers, but not including types not
10288 http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
10290 2001-11-27 Peter S Galbraith <psg@debian.org>
10292 * mh-seq.el (mh-subject-thread-to-sequence) New function placing
10293 all messages with similar subject line into a sequence named
10295 (mh-narrow-to-subject-thread): New command to narrow to all
10296 messages with similar subject line into a sequence named 'subject.
10297 (mh-toggle-subject-thread): New command to toggle between a new
10298 'subject sequence or the wide view of a folder.
10299 (mh-delete-subject-thread): New command to delete all following
10300 messages with similar subject lines (leaving preceeding ones
10302 (mh-next-unseen-subject-thread): New command to create and move to
10303 a new subject thread created from the next unseen message as a
10305 * mh-e.el (mh-folder-message-menu): New menu entries for subject
10307 (mh-folder-mode-map): New keybindings for subject threads.
10308 (mh-lessp): New function to sort messages.
10310 * mh-utils.el (mh-show-font-lock-keywords): and various
10311 faces... scoped within eval-after-load "font-lock" to avoid
10312 requiring font-lock to use its faces.
10313 * mh-e.el (mh-folder-font-lock-keywords): Same.
10315 2001-11-27 Jeffrey C Honig <jch@honig.net>
10317 * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
10320 * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
10322 2001-11-26 Eric Ding <ericding@alum.mit.edu>
10324 * mh-utils.el: revert to using external mimedecode to decode
10325 MIME quoted-printable parts
10327 2001-11-26 Jeffrey C Honig <jch@honig.net>
10329 * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
10330 * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
10332 2001-11-26 Peter S Galbraith <psg@debian.org>
10334 * mh-mime.el (mh-file-mime-type): Make sure output from file
10335 command is known to mailcap file, otherwise prompt the user.
10336 (mh-mime-content-types): Add "image/png" type.
10338 * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
10339 mh-folder-*-face faces.
10340 * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
10341 mh-show-*-face faces.
10343 * mh-utils.el (mh-letter-header-font-lock): Bug fix. Fix infinite
10344 loop in emacs20 font-locking.
10345 (mh-header-field-font-lock): Preventive fix with similar change.
10347 * mh-comp.el (mh-reply-show-message-p): Typo. diplayed -> displayed.
10350 * mh-e.el (mh-folder-tool-bar-map): Bug fix. I had
10351 mh-repack-folder instead of mh-pack-folder.
10353 2001-11-26 Bill Wohler <wohler@phone.com>
10356 Updated header for consistency and to conform with (elisp)Library
10358 (mh-do-not-confirm): Updated documentation string to reflect
10359 reality (e.g., is no longer used by mh-kill-folder and is used by
10360 more functions than just mh-undo-folder).
10361 (mh-page-msg): Now shows the next undeleted message if looking at the
10362 bottom of the current message.
10363 (mh-process-or-undo-commands): Fixed indentation.
10366 (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
10367 cannot be determined with file command, use mailcap-mime-types (if
10368 available) to provide list for completing read.
10370 * MH-E-NEWS: First draft of mh-e 5.1 release notes.
10372 2001-11-26 Eric Ding <ericding@alum.mit.edu>
10374 * mh-utils.el (mh-decode-quoted-printable): Implement
10375 quoted-printable decoding in elisp (starting with code copied
10377 (mh-decode-quoted-printable-region): Move (require 'hexl) outside
10379 (mh-decode-quoted-printable): give user a choice between using
10380 internal code or external program to decode quoted-printable
10381 content. Resurrect code that calls external mimedecode program.
10383 2001-11-25 Peter S Galbraith <psg@debian.org>
10385 * mh-utils.el (mh-highlight-citation-p): New variable to determine
10386 whether to hightlight citations in message body with gnus,
10387 font-lock or not at all.
10388 (mh-show-font-lock-keywords): removed citations from keywords.
10389 (mh-show-font-lock-keywords-with-cite): New variable, equivalent
10390 to prior mh-show-font-lock-keywords.
10391 (mh-gnus-article-highlight-citation): hook into gnus for
10392 multi-level citation highlighting.
10393 (mh-show-mode): Use either mh-show-font-lock-keywords or
10394 mh-show-font-lock-keywords-with-cite, depending on value of
10395 mh-highlight-citation-p, and possibly call
10396 mh-gnus-article-highlight-citation.
10397 * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
10399 2001-11-25 Jeffrey C Honig <jch@honig.net>
10401 * mh-comp.el (mh-redistribute): Added mh-redist-background
10402 variable to cause mh-redistribute to run the redist command in the
10403 background. This causes the transaction log to be visible, like
10406 2001-11-25 Peter S Galbraith <psg@debian.org>
10408 * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
10409 new message if already showing messages.
10411 2001-11-22 Peter S Galbraith <psg@debian.org>
10413 * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
10414 specified, otherwise mh-refile-msg may try to create a folder with
10415 empty name, and this creates problems; even mh-undo can't handle
10416 it (Closes SF #476824).
10418 * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
10419 require 'info. Also tweaked help texts.
10420 (mh-letter-menu): Use headline capitalization (Closes SF #483203).
10421 * mh-e.el (mh-folder-tool-bar-map): Same as above.
10422 (mh-folder-folder-menu, mh-folder-message-menu):
10423 (mh-folder-sequence-menu): Same as above.
10424 * mh-pick.el (mh-pick-menu): Same as above.
10426 2001-11-21 Peter S Galbraith <psg@debian.org>
10428 * mh-comp.el (mh-reply-show-message-p): The setting of this
10429 variable determines whether the MH show-buffer is diplayed with
10430 the current message when using mh-reply without a prefix argument.
10431 Set it to nil if you already include the message automatically in
10432 your draft using "repl: -filter repl.filter" in your ~/.mh_profile
10434 (mh-reply): Don't show message in other window if
10435 mh-reply-show-message-p is nil.
10437 * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
10438 mh-execute-commands.
10440 * mh-utils.el (mh-show-mouse): New function to click on a message
10441 in folder-mode and show that message.
10442 * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
10444 * mh-e.el (mh-page-msg): Show buffer first if not displayed,
10445 instead of simply complaining there's no other window.
10447 * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
10448 (mh-folder-mode): Setup tool-bar.
10450 * mh-mime.el (mh-have-file-command): try to non-fatally load
10451 executable.el because emacs20 doesn't autoload it.
10452 * mh-utils.el (load "executable" t t): Idem.
10454 * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
10455 after-change-functions to nil, working around a strange font-lock
10456 bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
10459 * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
10460 mh-utils.el because it is needed in reading mail too.
10461 (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
10462 because they are needed by mh-show-mode's font-lock code.
10463 Unfortunately, this splits the field related code into two files.
10464 Perhaps it should all go into mh-utils?
10466 2001-11-20 Eric Ding <ericding@alum.mit.edu>
10468 * mh-utils.el (mh-show-from-face): Fix typo in defface
10470 2001-11-20 Bill Wohler <wohler@newt.com>
10472 * mh-utils.el (mh-mail-header-separator): Set to -------- as
10473 defined by MH (components, and replcomps files). This variable
10474 cannot be a regexp since it is used as an argument to insert and
10475 is passed through regexp-quote before being used. The previous
10476 value broke a lot of code, including mailcrypt.
10478 * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
10479 header field from mh-send-letter.
10480 (mh-edit-again, mh-extract-rejected-mail): Call
10481 mh-insert-header-separator to ensure that there is a separator.
10482 Packages such as mailcrypt depend on it.
10483 (mh-insert-header-separator): New function to insert
10484 mh-mail-header-separator if it doesn't exist.
10486 2001-11-20 Peter S Galbraith <psg@debian.org>
10488 * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
10489 * mh-e.el (mh-folder-mode): Same.
10490 * mh-utils.el (mh-show-mode): Same.
10492 * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
10493 with mh-good-msg-regexp.
10495 * mh-utils.el (mh-mail-header-separator): Bug fix. Moved from
10496 mh-comp.el to mh-utils.el (which mh-comp.el loads).
10498 * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
10499 suggested by Bill).
10500 * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
10502 * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
10503 to customizing mh-compose group.
10505 * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
10506 font-lock-support-mode to nil.
10507 (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
10508 bug fix. Don't return match beyond font-lock search limit.
10510 * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
10511 not a bound variable.
10513 2001-11-19 Peter S Galbraith <psg@debian.org>
10515 * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
10516 to 'Draft Editing' info node.
10518 * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
10520 (mh-header-to-font-lock, mh-header-cc-font-lock)
10521 (mh-header-field-font-lock): New helper function returning whole
10522 header field arguments to font-lock.
10523 (mh-show-font-lock-keywords): Heavily modified using the above.
10525 * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
10526 number in scan lines.
10527 (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
10528 (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
10529 scan lines for messages we sent.
10530 (mh-scan-followup-regexp): Regexp matching a followup subject
10531 line, starting with Re:
10532 (mh-scan-body-regexp):
10533 Regexp matching the message body beginning displayed in scan lines.
10534 (mh-scan.font-lock-regexp): Regexp matching output of the the
10535 optional scan.font-lock format file.
10536 (mh-folder-font-lock-keywords): New font-lock for folder-mode that
10537 uses the above regexps.
10539 2001-11-19 chad <y@mit.edu>
10541 * mh-comp.el (mh-letter-tool-bar-map): made both references to
10542 mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
10545 2001-11-19 Bill Wohler <wohler@newt.com>
10547 * mh-comp.el (mh-position-on-field): Move to the end of the header
10548 if the field is not present. This function was documented to do
10549 this, but wasn't doing so.
10550 (mh-insert-x-mailer): Simplified by using existing
10551 mh-goto-header-field and mh-insert-fields functions. Now that
10552 mh-insert-fields is used to insert X-Mailer header field, no
10553 longer need to include X-Mailer in mh-x-mailer-string.
10555 2001-11-18 Peter S Galbraith <psg@debian.org>
10557 * mh-comp.el (mh-letter-tool-bar-map): New version of
10558 mh-letter-mode tool-bar. Changed order of buttons; made customize
10559 and info buttons specific to mh-e.
10561 * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
10562 uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
10563 mh-cur-scan-msg-regexp, so will better adapt to non-default scan
10564 formats. Also, lines marked for refiling are now fontified.
10566 2001-11-18 Bill Wohler <wohler@newt.com>
10568 * mh-utils.el (mh-show-mode): Added local variable
10569 mail-header-separator which is initialized to
10570 mh-mail-header-separator.
10572 * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
10573 Needed when running mh-edit-again, since by then the separator is
10574 gone. Added documentation saying one should use
10575 mail-header-separator and initialize it from
10576 mh-mail-header-separator.
10577 (mh-forward): Initialize mail-header-separator since
10578 mh-letter-mode hasn't kicked in yet (which does initialize
10579 mail-header-separator).
10580 (mh-letter-mode): Initialize mail-header-separator from
10581 mh-mail-header-separator, not hard-coded string.
10583 * mh-comp.el (mh-insert-x-mailer-p): New variable to control
10584 whether X-Mailer string is inserted. Default: t.
10585 (mh-x-mailer-string): New variable that caches actual X-Mailer
10587 (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
10589 (mh-insert-x-mailer): New function that inserts X-Mailer header
10592 2001-11-17 Peter S Galbraith <psg@debian.org>
10594 * mh-utils.el (mh-letter-header-font-lock): New function to return
10595 the entire mail header to font-lock for sedate font-locking.
10596 (mh-show-font-lock-keywords): Modified to fontify whole lines and use
10597 mh-letter-header-font-lock above to fontify whole header.
10599 2001-11-17 Bill Wohler <wohler@newt.com>
10601 * mh-comp.el (mail-header-separator): Added ^ and $ to make more
10603 (mh-forward, mh-letter-mode): Replaced hard-coded string with
10604 mail-header-separator.
10606 2001-11-16 Bill Wohler <wohler@newt.com>
10608 * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
10609 (mh-version): The variable: Set to a number instead of Id since
10610 the Id didn't have the mh-e version number, and both Emacs and
10611 gnus do it this way too.
10612 (mh-version): The function: Fixed for nmh. Now displays mh-e
10613 version correctly. Cleaned up output and display mh-progs, etc.
10614 (Closes SF #405620.)
10616 2001-11-15 Peter S Galbraith <psg@debian.org>
10618 * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
10619 mh-letter-mode in emacs21. Uses icons from gnus/message.el.
10620 * mh-comp.el (mh-letter-mode): Add buffer-local binding of
10621 tool-bar-map to mh-letter-tool-bar-map.
10623 2001-11-15 Peter S Galbraith <psg@debian.org>
10625 * mh-mime.el (mh-have-file-command): Add check for existence of
10626 executable-find command, which Jeffrey didn't exist in emacs-20.4.
10627 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
10629 * mh-mime.el (mh-file-mime-type): Bug Fix. Some versions of
10630 'file' output a string like "file: Using regular magic file..."
10631 to stderr, so discard stderr when using call-process with 'file'.
10633 2001-11-14 Peter S Galbraith <psg@debian.org>
10635 * mh-mime.el (mh-have-file-command): Check if 'file' command on
10636 system accepts arguments -i -b before accepting it for our use.
10638 2001-11-14 Peter S Galbraith <psg@debian.org>
10640 * mh-utils.el (mh-find-progs): Use expand-file-name instead of
10641 concatenating together strings into a path.
10643 2001-11-14 Peter S Galbraith <psg@debian.org>
10645 * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
10646 menu only when mh-narrowed-to-seq is t.
10648 2001-11-14 Peter S Galbraith <psg@debian.org>
10650 * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
10651 of more complicated and error-prone call-process to which command.
10652 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
10655 2001-11-14 Jeffrey C Honig <jch@honig.net>
10657 * mh-e.el (mh-make-folder-mode-line): Bug fix. Properly deal with
10658 folders that do not have any lines in them. Print "no msgs"
10659 instead of "0 msgs". Do not try to print a range when there are
10661 * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the
10662 "scan: band message list" message.
10664 2001-11-13 Jeffrey C Honig <jch@honig.net>
10666 * mh-utils.el (mh-find-progs): Bug fix. Add "mh/etc" to the
10667 subdirectories to search for "components". On BSD/OS, nmh is in
10668 "/usr/contrib/mh/*".
10670 2001-11-13 Peter S Galbraith <psg@debian.org>
10672 * mh-comp.el (mh-letter-mode): Bug fix. Load mh-mime before
10673 setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
10674 message containing a MIME composition) such that the variable is
10675 properly declared as buffer-local.
10677 2001-11-12 Bill Wohler <wohler@newt.com>
10679 * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
10680 directory, not mh-lib (closes SF #481128).
10682 2001-11-12 Peter S Galbraith <psg@debian.org>
10684 * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
10685 In a sequence with pending deletes and refiles, running mh-widen
10686 would wipe out their notations, even though the sequences are still
10687 defined. Fixed by calling a new function,
10688 mh-notate-deleted-and-refiled. Also changed the coping of
10689 mh-goto-msg-num since it didn't work consistently.
10690 * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
10691 to fix above mh-widen bug. It's a first cut, we may want to clear
10692 all notations first, and notate the current-message sequence and
10693 user sequences. Time will tell.
10695 2001-11-12 Peter S Galbraith <psg@debian.org>
10697 * mh-seq.el (mh-widen): Make it attempt to stay on the same
10698 message number (closes SF bug #480922).
10700 2001-11-11 Bill Wohler <wohler@newt.com>
10702 * import-emacs: New shell script to import Emacs changes to mh-e.
10704 * Makefile (import): New target to import Emacs changes.
10706 2001-11-09 Peter S Galbraith <psg@debian.org>
10708 * mh-mime.el (mh-file-mime-type): Bug fix. Change regexp to
10709 extract mime type from 'file -i' command output.
10711 2001-11-08 Peter S Galbraith <psg@debian.org>
10713 * mh-utils.el (mh-update-sequences-after-mh-show):
10714 New customizable variable telling whether to run
10715 mh-update-sequences in mh-show-mode. Default is t.
10716 * mh-utils.el (mh-show-msg): Run mh-update-sequences when
10717 mh-update-sequences-after-mh-show is set.
10719 2001-11-08 Peter S Galbraith <psg@debian.org>
10721 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
10722 New variable telling whether command 'mimedecode' is on system.
10723 (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
10724 * mh-utils.el (mh-decode-quoted-printable):
10725 New customizable variable telling whether to run mimedecode on
10726 MIME message containing quoted-printable parts. mimedecode will
10727 only alter quoted-printable parts , leaving others intact, and the
10728 resulting message is still fully MIME.
10729 * mh-utils.el (mh-decode-quoted-printable): New function to run
10730 mimedecode on the current buffer.
10731 * mh-utils.el (mh-display-msg): Conditionnaly call
10732 mh-decode-quoted-printable function if mh-decode-quoted-printable
10733 variable is set, to view messages containing quoted-printable
10734 characters into 8-bit.
10736 2001-11-08 Peter S Galbraith <psg@debian.org>
10738 * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
10739 looking at a "forw: -mime" message containing a MIME composition.
10740 * mh-mime.el (mh-file-mime-type): Bug fix. Failed on files like
10741 "~/.mh_profile" because of shell construct. Wrapped filename with
10743 * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
10744 mh-letter-mode-map for mh-open-line.
10746 2001-11-07 Peter S Galbraith <psg@debian.org>
10748 * mh-comp.el (mh-open-line): New user function to split open a line
10749 when editing a reply with included text.
10750 * mh-comp.el (mh-current-fill-prefix): New function used by
10751 mh-open-line to get the fill-prefix on the current line.
10752 * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
10754 2001-11-06 Peter S Galbraith <psg@debian.org>
10756 * mh-seq.el (mh-region-to-sequence): New function, creating a
10757 sequence named 'region containing the message list in the selected
10759 * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
10760 mark is active and in transient-mark-mode.
10761 * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
10762 mark is active and in transient-mark-mode.
10763 * mh-e.el (mh-undo): Undo message marks for refile or deletion if
10764 region if mark is active and in transient-mark-mode.
10766 2001-11-06 Peter S Galbraith <psg@debian.org>
10768 * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
10769 Copy its settings for paragraph-start, paragraph-separate,
10770 fill-paragraph-function, adaptive-fill-regexp and
10771 adaptive-fill-first-line-regexp. This make M-q (fill-paragraph)
10774 2001-11-05 Peter S Galbraith <psg@debian.org>
10776 * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
10777 and always prompt the user for such a drastic step. Also change
10778 the prompt a bit to clarify it.
10780 2001-11-04 Peter S Galbraith <psg@debian.org>
10782 * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
10783 to tell when a MIME insertion was done in a letter.
10784 * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
10785 * mh-mime.el (mh-mhn-compose-external-type):
10786 Set mh-mhn-compose-insert-p.
10787 * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
10788 * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
10789 * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
10790 mh-mhn-compose-insert-p is set.
10792 2001-11-03 Peter S Galbraith <psg@debian.org>
10794 * mh-mime.el (mh-have-file-command): new function testing whether
10795 file command is on the system.
10796 * mh-mime.el (mh-file-mime-type): new function returning MIME type
10798 * mh-mime.el (mh-mhn-compose-insertion): Make use of
10799 mh-file-mime-type function instead of prompting.
10801 2001-10-30 Peter S Galbraith <psg@debian.org>
10803 * mh-utils.el (mh-show-use-goto-addr): defcustom this new
10804 variable, determining whether to call goto-addr in mh-show-mode.
10805 * mh-utils.el (mh-show-mode): Call goto-address when
10806 mh-show-use-goto-addr is t.
10808 2001-10-25 Peter S Galbraith <psg@debian.org>
10810 * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
10811 (list 4) to match elisp doc on what C-u prefix argument actually is.
10813 2001-10-23 Peter S Galbraith <psg@debian.org>
10815 * mh-utils.el (mh-summary-height): In my quest to make mh-e more
10816 useful out-of-the-box for new users, set mh-summary-height to a
10817 minimum of 4 and a maximum of 10 depending on frame height. I
10818 typically have 70 lines in my Emacs frame, so having a default of
10819 4 was silly for my case.
10820 * mh-e.el (mh-update-sequences): Check for nil value of
10821 mh-current-folder, which happens if mh-summary-height < 4
10822 although I haven't tracked doen why that happens.
10824 2001-10-22 Peter S Galbraith <psg@debian.org>
10826 * mh-comp.el (mh-insert-fields): Test for nil value when inserting
10829 2001-10-20 Peter S Galbraith <psg@debian.org>
10831 * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
10832 * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
10833 * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
10834 * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
10835 * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
10837 2001-10-19 Peter S Galbraith <psg@debian.org>
10839 * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
10840 * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
10841 is in use rather than MH) was set assuming that the string "nmh"
10842 will be in mh-lib-progs or mh-lib. This failed on Debian systems.
10843 Better to check for the existence of mhbuild in directory mh-progs.
10844 (closes SF bug #441776)
10846 2001-10-18 Peter S Galbraith <psg@debian.org>
10848 * mh-e.el: Add menubar entry from contrib/mh-menubar.el
10849 * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
10850 * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
10852 2001-07-30 Peter S Galbraith <psg@debian.org>
10854 * mh-e.el: Change font-lock patterns for folders.
10855 Fontify scan.font-lock patterns (which will be documented)
10856 and fontify subject lines prefixed with "Re:" differently.
10857 * mh-comp.el (mh-letter-mode): Add font-lock support as in
10860 2001-04-14 chad brown <y@mit.edu>
10862 * rearrange the font-lock keywords a bit
10864 2001-04-12 chad brown <y@mit.edu>
10866 * preliminary (somewhat boring) font-lock support for mh-e. More
10867 interesting font-lock support probably wants to have better
10868 support for multiple format files
10870 2001-02-24 chad brown <y@mit.edu>
10872 * add default nmh paths to mh-find-prog in mh-utils.el.
10873 change to mh-kill-folder in mh-funcs.el to make it more general.
10875 2001-02-19 Bill Wohler <wohler@newt.com>
10877 * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
10878 EMACS_HOME already exists to give developer a chance to set
10879 environment variable.
10880 (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
10882 (dist): Leave release in current directory.
10885 Copyright (C) 2003, 2004 Free Software Foundation, Inc.
10887 Copying and distribution of this file, with or without modification,
10888 are permitted in any medium without royalty provided the copyright
10889 notice and this notice are preserved.
10891 ;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51