1 2005-05-26 Lute Kamstra <lute@gnu.org>
3 * mh-utils.el (mh-show-mode):
4 * mh-pick.el (mh-pick-mode): Remove spurious run-hooks.
6 2005-04-08 Dan Nicolaescu <dann@ics.uci.edu>
8 * mh-customize.el (mh-speedbar-selected-folder-face): Special case
9 high number of colors displays.
11 2005-03-25 Werner Lemberg <wl@gnu.org>
13 * mh-e.el, mh-identity.el, mh-mime.el: Replace `legal' with `valid'.
15 2005-03-25 Werner Lemberg <wl@gnu.org>
17 * mh-e.el: Replace `illegal' with `invalid'.
19 2004-09-07 Stefan <monnier@iro.umontreal.ca>
21 * mh-inc.el (mh-inc-spool-list): Correctly declare the external var.
23 2004-08-21 Bill Wohler <wohler@newt.com>
25 * Released MH-E version 7.82.
27 * MH-E-NEWS, README: Updated for release 7.82.
29 * mh-e.el (Version, mh-version): Update for release 7.82.
31 2004-08-24 Bill Wohler <wohler@newt.com>
33 * mh-init.el (mh-variant-set): Change MH to mh as that's what is
34 emitted by `mh-variant-mh-info' (closes SF #1014781).
35 (mh-variant-p): Add mu-mh to docstring.
37 2004-08-23 Satyaki Das <satyaki@theforce.stanford.edu>
39 * mh-acros.el (mh-require-cl): Remove unneeded autoloads.
40 (require): Add an advice to the function so that at compile time
41 the uncompiled file is loaded. This avoids compilation problems
42 when built in the Emacs tree.
44 * mh-mime.el (mh-identity-pgg-default-user-id): Defvar the
45 variable, to avoid compiler warnings.
47 * mh-e.el (mh-seq): Load mh-seq since functions defined there are
48 used here. Without this, the state mh-seq.elc would be loaded.
50 * mh-customize.el (mh-init, mh-identity): Load mh-init and
51 mh-identity at compile time manually, before the corresponding
52 stale elc files get autoloaded.
54 2004-08-21 Bill Wohler <wohler@newt.com>
56 * mh-e.el (Version, mh-version): Add +cvs to release number.
58 2004-08-21 Bill Wohler <wohler@newt.com>
60 * Released MH-E version 7.81.
62 * MH-E-NEWS, README: Updated for release 7.81.
64 * mh-e.el (Version, mh-version): Update for release 7.81.
66 2004-08-21 Bill Wohler <wohler@newt.com>
68 * release-utils (variable_changes): Check for checked-out
69 directory before proceeding. Remove temporary files.
70 Rename --variable-update flag to --variable-changes.
72 2004-08-16 Mark D. Baushke <mdb@gnu.org>
74 * mh-mime.el (mh-toggle-mh-decode-mime-flag: New function.
75 * mh-e.el (mh-help-messages): Add [;] help string for it.
76 (mh-folder-mode-map): Add ";" key binding for it.
78 2004-08-15 Satyaki Das <satyaki@theforce.stanford.edu>
80 * mh-acros.el (mh-defstruct): Distinguishing structures created
81 by mh-defstruct just based on the number of fields is not
82 sufficient, since both the mh-thread-message and
83 mh-thread-container structures have the same length.
85 2004-08-15 Mark D. Baushke <mdb@gnu.org>
87 * mh-customize.el (mh-identity-handlers): Use ":default" instead of
88 "default" to avoid problems with "Default:" as a user defined field.
89 * mh-identity.el (mh-identity-field-handler): Ditto.
91 2004-08-15 Bill Wohler <wohler@newt.com>
93 * mh-e.el (Version, mh-version): Added +cvs to release number.
95 2004-08-15 Bill Wohler <wohler@newt.com>
97 * Released MH-E version 7.4.80.
99 * MH-E-NEWS, README: Updated for release 7.4.80.
101 * mh-e.el (Version, mh-version): Updated for release 7.4.80.
103 2004-08-15 Bill Wohler <wohler@newt.com>
105 * mh-funcs.el, mh-gnus.el, mh-inc.el, mh-init.el, mh-junk.el,
106 mh-pick.el, mh-print.el, mh-xemacs.el: Added 2004 to Copyright.
108 * mh-acros.el, mh-alias.el: Checkdoc fixes.
110 2004-08-12 Satyaki Das <satyaki@theforce.stanford.edu>
112 * mh-acros.el (cl): Load cl in this file. That is all right, since
113 this file is only used at compile time, and so cl doesn't get
114 loaded at run time. This avoids problems with stale *.elc files
115 present in the Emacs source tree during compilation.
116 (mh-defstruct): Modify it to make it more CL like and in the
117 process simplify it a bit. This makes the argument list of the
118 constructor compatible with the previous version, thereby avoiding
119 a compilation error when an old version of mh-seq.elc is present.
121 * mh-seq.el (mh-thread-id-container, mh-thread-get-message)
122 (mh-thread-get-message-container): Revert back to the CL style
123 of using keyword arguments, since the mh-defstruct now produces
124 code compatible to such usage.
126 2004-08-11 Satyaki Das <satyaki@theforce.stanford.edu>
128 * mh-acros.el (mh-defstruct, mh-require-cl): Checkdoc fixes.
130 * mh-utils.el (message-tokenize-header, message-fetch-field): Add
132 (mh-folder-completing-read): Make the folder completion look
133 better with CVS Emacs.
135 * mh-init.el (mh-variant-set): Remove dead code.
137 2004-08-11 Bill Wohler <wohler@newt.com>
139 * *.el: Use the following at the top of each file which seems to
140 do a good job of suppressing compilation warnings in 21.3 and CVS
141 Emacs (21.4). This replaces (require 'cl) or (require
142 'utils) (mh-require-cl) calls:
144 (eval-when-compile (require 'mh-acros))
147 2004-08-10 Bill Wohler <wohler@newt.com>
149 * release-utils (DESCRIPTION): Added one.
150 (FILES, SEE ALSO, VERSION): Deleted empty and incorrect sections.
152 * mh-e.el (mh-colors-available-p): Call x-display-color-cells with
153 mh-funcall-if-exists since it no longer seems to be defined in
156 2004-08-10 Satyaki Das <satyaki@theforce.stanford.edu>
158 * mh-speed.el (mh-process-kill-without-query, mh-speed-flists):
159 Avoid a compiler warning in versions of Emacs where
160 process-kill-without-query is a deprecated function.
162 * mh-seq.el (mh-thread-message, mh-thread-container): Use
163 mh-defstruct instead of defstruct.
164 (mh-thread-id-container, mh-thread-get-message-container)
165 (mh-thread-get-message): Use the slightly different structure
166 constructor function.
168 * mh-acros.el (mh-defstruct): New macro which is a partial
169 replacement of the defstruct in CL.
170 (no-byte-compile): Don't compile the file since it isn't loaded at
171 run time, so efficiency isn't an issue.
173 * mh-utils.el (mh-buffer-data): Use mh-defstruct instead of
176 2004-08-09 Satyaki Das <satyaki@theforce.stanford.edu>
178 * mh-funcs.el, mh-junk.el, mh-print.el: Use mh-require-cl to avoid
179 compilation warnings in Emacs-21.3.
181 * mh-acros.el (mh-require-cl): Add autoloads of CL functions used.
183 2004-08-09 Bill Wohler <wohler@newt.com>
185 * mh-customize.el (mh-show-use-xface-flag): Mention that `fetch' and
186 `curl' are supported as well.
188 2004-08-08 Bill Wohler <wohler@newt.com>
190 * mh-xemacs.el (mh-xemacs-has-toolbar-flag): Checkdoc fixes.
192 * mh-mime.el (mh-display-with-external-viewer): Checkdoc fixes.
194 * mh-identity.el: (mh-identity-attribution-verb-end): Stripped
195 trailing space; checkdoc fixes.
197 * mh-e.el (mh-restore-desktop-buffer): Checkdoc fixes.
199 * mh-customize.el: (mh-inc-spool-list,
200 mh-compose-forward-as-mime-flag, defcustom): Stripped trailing
201 space; checkdoc fixes.
203 * mh-comp.el (mh-reply): Stripped trailing space.
205 * mh-unit.el (mh-unit-files): Added mh-acros.el and mh-gnus.el.
206 (mh-unit): Don't lm-verify pre-21.4. Save buffers before killing
207 since we might have done some editing.
209 * import-emacs: Deleted. Functionality subsumed by release-utils.
211 * release-utils: New script. Performs import-emacs functionality
212 and displays new and deleted options.
214 * Makefile (import-emacs): Call release-utils instead of
217 * mh-funcs.el (mh-undo-folder): Removed deprecated `ignore'
220 * mh-e.el (mh-scan-date-regexp): Deleted as Peter claims it is
222 (mh-folder-font-lock-keywords): Removed reference to deleted
223 variable `mh-scan-date-regexp'.
225 * mh-customize.el (mh-auto-fields-prompt-flag): Made reference to
226 `mh-auto-fileds-lists'.
227 (mh-forward-hook): Fixed docstring typo.
229 2004-08-07 Bill Wohler <wohler@newt.com>
231 * mh-acros.el: New file. Currently holds macros needed by
232 mh-customize.el but is planned to hold all macros to avoid
233 dependency problems when compiling.
235 * mh-utils.el (mh-xemacs-flag): Defined in mh-customize.el now.
236 (mh-require-cl, mh-do-in-gnu-emacs, mh-do-in-xemacs)
237 (mh-funcall-if-exists, mh-make-local-hook, mh-mark-active-p):
238 Moved to new file mh-acros.el.
240 * mh-customize.el: Require mh-acros and cl only when compiling and
241 mh-loaddefs at runtime instead of mh-utils.
242 (mh-xemacs-flag): Define it here instead of mh-utils.el.
244 * Makefile (MH-E-SRC): Added mh-acros.el.
246 * mh-gnus.el (default-enable-multibyte-characters): Don't define
247 any more. It doesn't seem to be needed.
249 * mh-customize.el (mh-junk-background): New variable. If on, spam
250 programs are run in background. Running in foreground can be slow.
251 Defaults to nil to spare machines with little memory.
253 * mh-junk.el (mh-spamassassin-blacklist, mh-bogofilter-blacklist)
254 (mh-bogofilter-whitelist, mh-spamprobe-blacklist)
255 (mh-spamprobe-whitelist): Use new option mh-junk-background.
257 2004-07-25 Satyaki Das <satyaki@theforce.stanford.edu>
259 * mh-utils.el (mh-folder-completing-read): In recent CVS Emacs,
260 the first letter of the possible choices in the completion buffer
261 is highlighted. The change is needed for this feature to work
262 during folder name completion. This is not entirely sufficient,
263 since the leading "+" in folder names is still mishandled. A patch
264 is required in Emacs itself to address that.
266 2004-07-22 Mark D. Baushke <mdb@gnu.org>
268 * mh-e.el (recursive-load-depth-limit): Move
269 recursive-load-depth-limit code to ...
270 * mh-utils.el (recursive-load-depth-limit): ... here to avoid
271 problems compiling mh-utils.el and mh-alias.el with gnus-5.10.6
272 under emacs-21.1. Use eval-and-compile instead of eval-when.
274 2004-07-20 Bill Wohler <wohler@newt.com>
276 * mh-customize.el (mh-invisible-header-fields-internal): Added
277 header fields emitted by T-Mobile picture phones (X-Mms-*, and
278 commented out X-Operator field saying it's like X-Mailer).
280 2004-07-12 Bill Wohler <wohler@newt.com>
282 * mh-gnus.el: Set local variables indent-tabs-mode and
283 sentence-end-double-space to nil.
285 * mh-customize.el: Checkpoint from option docstring updates and
286 manual synchronization from last summer. For the options listed
287 below, docstring was usually completely rewritten. Use "on"
288 instead of "t" in docstring to match what is seen in customization
289 buffer. Use headline capitalization. Standardize on "Auto-detect"
290 text when option has that capibility.
291 (mh): Since we work on more than one type of Emacs, use Emacs
292 instead of GNU Emacs. Prefer GNU mailutils over GNU Mailutils.
293 (mh-variant): s/Autodetect at startup/Auto-detect/.
294 (mh-alias-insertion-location): s/Sorted
295 alphabetically/Alphabetical/. s/At the top of file/Top/. s/At the
296 bottom of file/Bottom/.
297 (mh-alias-local-users-prefix): s/Use login instead of real
299 (mh-identity-list): Sorted values by fields, attribution,
301 (mh-auto-fields-list): Missing quote.
302 (mh-compose-insertion): s/Use Gnus/Gnus/. s/Use mhn/mhn/.
303 (mh-compose-space-does-completion-flag): s/SPACE/<SPC>/.
304 (mh-extract-from-attribution-verb): Since we have French, added
306 (mh-letter-complete-function): Mention default in docstring.
307 (mh-invisible-header-fields-internal): Added X-ELNK-Trace from
309 (mh-alias-flash-on-comma, mh-alias-insert-file)
310 (mh-alias-passwd-gecos-comma-separator-flag)
311 (mh-recenter-summary-flag, mh-default-folder-for-message-function)
312 (mh-default-folder-must-exist-flag, mh-index-program)
313 (mh-index-ticked-messages-folders, mh-ins-buf-prefix)
314 (mh-delete-yanked-msg-window-flag, mh-identity-default): See
317 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-mu-mh-info):
318 Prefer GNU mailutils over GNU Mailutils MH.
320 * mh-comp.el (sc-cite-original, mh-smail, mh-smail-batch)
321 (mh-edit-again, mh-extract-rejected-mail, mh-forward)
322 (mh-smail-other-window, mh-reply, mh-send, mh-send-other-window):
323 Use `mh-send' instead of \\[mh-send]] since links in the docstring
324 are more useful than a key sequence in these cases. Use "See also"
325 instead of "See also documentation for".
327 * Merged in 7.4.4 changes, described below.
329 * mh-e.el (Version, mh-version): Set to 7.4.4+cvs.
331 2004-07-10 Bill Wohler <wohler@newt.com>
333 * Released MH-E version 7.4.4.
335 * MH-E-NEWS, README: Updated for release 7.4.4.
337 * mh-e.el (Version, mh-version): Updated for release 7.4.4.
339 This patch release contains the following patches:
341 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
342 and mh-xemacs-icons.el which were removed since their names
343 exceeded DOS 8+3 limits.
346 (mh-e-autoloads.el): Add target to make `mh-e-autoloads.el', a
347 file containg usual entry commands into MH-E to be used for users
348 installing MH-E separately from Emacs.
349 (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
351 (XEMACS_LOADDEFS_COOKIE): Ditto.
352 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
353 (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner build
355 (MH-E-SRC): Moved mh-xemacs.el to new variable MH-E-XEMACS-SRC.
356 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
357 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
358 (clean): Moved XEmacs-specific code to clean-xemacs.
359 (xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
360 section of file. Add target to build mh-loaddefs.el in XEmacs
361 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
362 (clean-xemacs): New target to remove XEmacs-specific files.
363 (compile-xemacs): New. It allows for the '-no-autoloads' option
364 and byte-compiles all the source files with a single instance of
366 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
367 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
369 (AUTOLOAD_PACKAGE_NAME): New.
370 (AUTOLOAD_FILE): New.
371 (all): Don't set $EMACS_HOME if building with XEmacs.
372 (xemacs): Use 'compile-xemacs' instead of 'compile'.
373 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
375 (custom-load.elc): Allow for '-no-autoloads'.
377 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
378 The XEmacs stuff gets required by mh-customize.el which is
379 required by mh-utils.el which is required by mh-e.el. This all
380 happens before mh-xemacs-compat was required, so all should be
382 (mh-restore-desktop-buffer): Move from desktop.el. Add Parameters.
383 (mh-restore-desktop-buffer): Delete with-no-warnings.
384 (mh-folder-mode): Bind desktop-save-buffer to t.
385 (Courtesy Lars Hansen).
387 * mh-alias.el (mh-assoc-ignore-case): New macro to use
388 assoc-string when available (Emacs 21.4+); assoc-ignore-case
390 (mh-alias-reload, mh-alias-expand,
391 mh-alias-minibuffer-confirm-address): Use it.
393 * mh-seq.el: Added mh-autoload to mh-read-seq-default.
395 * mh-utils.el (mh-require-cl): The Emacs coding conventions
396 require that the cl package not be required at runtime. However,
397 the cl package in versions of Emacs prior to 21.4 left cl routines
398 in their macro expansions. Use mh-require-cl to provide the cl
399 routines in the best way possible (closes SF #930012).
400 (require 'mouse): To shush compiler.
402 * Use new function mh-require-cl throughout.
404 * Add arch taglines (courtesy Miles Bader).
406 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
407 mh-xemacs-icons.el with mh-xemacs.el.
409 * import-emacs: Also grab the ChangeLog.
411 * *.pbm: Regenerated using GIMP to be consistent with other Emacs
413 1. Edit .xpm image in GIMP.
414 2. Image > Mode > Indexed. Check Use Black/White Palette and No
416 3. File > Save As file.xbm.
417 4. Run xbmtopbm < file.xbm > file.pbm.
418 Thanks to jan.h.d@swipnet.se for the help.
420 2004-07-07 Stephen Gildea
422 * mh-customize.el (mh-invisible-header-fields-internal):
423 Add X-Greylist, X-Source*, and X-WebTV-Signature.
424 Replace specific X-Spam-* headers with general pattern.
426 2004-06-15 Bill Wohler <wohler@newt.com>
428 * README: Vladimir Ivanovic reports that mh-rmail works with
429 XEmacs 21.5.17, so updated requirements text accordingly (closes
432 2004-05-12 Satyaki Das <satyaki@theforce.stanford.edu>
434 * mh-utils.el (mh-mail-header-end): Replace call to
435 rfc822-goto-eoh with something that allows From_ lines in the mail
438 2004-04-14 Bill Wohler <wohler@newt.com>
440 * mh-utils.el (mh-show-mouse): s/EVENT/event/. Thanks to John Paul
441 Wallington <jpw@gnu.org> for pointing this out.
443 2004-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
445 * mh-e.el (mh-folder-size-flist): Add -showzero option so that the
446 parsing code doesn't get confused by the presence of -noshowzero
447 in the user's .mh_profile (closes SF #933954).
449 2004-04-07 Satyaki Das <satyaki@theforce.stanford.edu>
451 * mh-mime.el (mh-insert-mime-button)
452 (mh-insert-mime-security-button): Add evaporate property to
453 overlays used in MIME part buttons. This avoids problems with
456 2004-03-16 Satyaki Das <satyaki@theforce.stanford.edu>
458 * mh-e.el (mh-folder-from-address): Go to the end of buffer if the
459 re-search-forward fails (closes SF #917096).
461 2004-02-02 Satyaki Das <satyaki@theforce.stanford.edu>
463 * mh-customize.el (mh-compose-forward-as-mime-flag): New user
464 customizable variable that controls whether messages are forwarded
465 as MIME attachments (closes SF #827203).
467 * mh-comp.el (mh-forward): Call forw with -mime option only if
468 mh-compose-forward-as-mime-flag is non-nil.
470 2003-12-26 Jeffrey C Honig <jch@honig.net>
472 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
473 (mh-spamassassin-blacklist, mh-spamassassin-blacklist)
474 (mh-spamassassin-blacklist, mh-spamassassin-whitelist)
475 (mh-spamassassin-whitelist, mh-bogofilter-blacklist)
476 (mh-spamprobe-blacklist): Add progress messages. Change "Couldn't"
477 to "Unable" in error messages. Run bogofilter and spamprobe in
478 the foreground to prevent a large number of processes from
481 2003-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
483 * mh-e.el (mh-prompt-for-refile-folder): Marking the whole folder
484 and then refiling all messages throws an error, since this
485 function expects point to be on a valid scan line. The change
486 relaxes this requirement, thereby avoiding the above problem.
488 2003-12-14 Satyaki Das <satyaki@theforce.stanford.edu>
490 * mh-comp.el (mh-ascii-buffer-p): New function that checks if a
491 buffer is entirely composed of ASCII.
492 (mh-send-letter): Encode the draft if it contains non-ASCII
495 2003-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
497 * mh-customize.el (mh-invisible-headers): Keep only unique fields
498 in list of header fields to hide. This avoids problems in XEmacs.
500 2003-12-10 Satyaki Das <satyaki@theforce.stanford.edu>
502 * mh-seq.el (mh-thread-print-scan-lines): The imenu index was not
503 getting created for threaded index buffers. The change fixes this.
505 * mh-index.el (mh-index-insert-folder-headers): Always create the
507 (mh-index-create-imenu-index): Set which-func-mode to t. If
508 which-function-mode is turned on after the folder buffer has been
509 prepared, display of the folder info was being inhibited. The
512 2003-12-09 Satyaki Das <satyakid@stanford.edu>
514 * mh-comp.el (mh-letter-mode): Setup mh-mail-header-separator
515 based on draft contents.
516 (mh-letter-mode, mh-letter-mail-header-end-marker)
517 (mh-letter-header-end): Remove use of the variable
518 mh-letter-mail-header-end-marker. Instead use
519 mh-mail-header-separator. This avoids problems in font locking
520 draft buffers (closes SF #855479).
522 2003-12-09 Satyaki Das <satyakid@stanford.edu>
524 * mh-index.el (mh-index-insert-folder-headers): Modified so that
525 imenu--index-alist is updated.
526 (mh-index-create-imenu-index): New function that generates an
527 index usable by imenu. This adds which-func-mode support to index
528 folders (closes SF #855520).
530 * mh-e.el (which-func, which-func-modes): Tell which-func that
531 mh-folder-mode supports it.
532 (mh-folder-mode): Add support for imenu.
534 2003-11-22 Peter S Galbraith <psg@debian.org>
536 * Makefile: renamed mh-startup.el to mh-e-autoloads.el
538 * README: renamed mh-startup.el to mh-e-autoloads.el
540 * .cvsignore: Added mh-e-autoloads.el
542 2003-11-18 Bill Wohler <wohler@newt.com>
544 * Released MH-E version 7.4.3.
546 * MH-E-NEWS, README: Updated for release 7.4.3.
548 * mh-e.el (Version, mh-version): Updated for release 7.4.3.
550 * This patch release contains the following two patches:
552 * mh-identity.el (mh-identity-make-menu): Removed condition on
553 mh-auto-fields-list. Use it to enable or disable menu item
556 * mh-customize.el (mh-identity-list): Removed defvar and moved
557 defcustom before mh-auto-fields-list so that defvar wouldn't
558 clobber user's customization settings.
560 2003-11-17 Jeffrey C Honig <jch@honig.net>
562 * mh-print.el (mh-print-msg): Do not print a message on deprecated
563 usage, the bindings have been removed.
565 * mh-e.el (mh-folder-mode-map): Remove "l" binding for
568 * mh-utils.el (mh-show-mode-map): Remove "l" binding for
571 2003-11-16 Satyaki Das <satyakid@stanford.edu>
573 * mh-comp.el (mh-beginning-of-word): Use the function
574 mh-mail-abbrev-make-syntax-table instead of the function
575 mail-abbrev-make-syntax-table.
577 * mh-gnus.el (mh-mail-abbrev-make-syntax-table): Add a wrapper
578 function that calls mail-abbrev-make-syntax-table if available.
579 This is needed so that MH-E built with CVS Emacs will work with
580 released versions of Emacs21 and vice versa.
582 2003-11-14 Peter S Galbraith <psg@debian.org>
584 * mh-customize.el (mh-invisible-header-fields-internal): Add
585 "X-NAI-Spam-" and "X-Spam-Report:".
587 2003-11-14 Mark D. Baushke <mdb@gnu.org>
589 * mh-customize.el (mh-invisible-header-fields-internal):
590 Add X-AntiAbuse and X-MailScanner.
591 (Patch from Stephen Gildea.)
593 2003-11-13 Peter S Galbraith <psg@debian.org>
595 * mh-identity.el (mh-identity-handler-attribution-verb): New
596 function. A new Identity handler for the attribution verb (e.g.
597 "wrote:") to allow for different identities to use different
599 (mh-identity-insert-attribution-verb): New function. Insert the
600 attribution verb, placing special markers so it can be deleted and
602 (mh-identity-attribution-verb-start): New variable. Holds the
603 marker for the start of the attribution verb.
604 (mh-identity-attribution-verb-end): New variable. Holds the
605 marker for the end of the attribution verb.
607 * mh-customize.el (mh-identity-handlers): Add new
608 ":attribution-verb" tag for the attribution-verb handler.
609 (mh-identity-list): Idem.
611 * mh-comp.el (mh-yank-cur-msg): Insert attribution verb using
612 mh-identity-insert-attribution-verb.
613 (mh-extract-from-attribution): Extract only the name from the From
614 line, without appending `mh-extract-from-attribution-verb' since
615 markers need to be inserted around that now.
617 2003-11-12 Bill Wohler <wohler@newt.com>
619 * mh-e.el (mh-rmail, mh-nmail): Well, actually, we run in both GNU
620 Emacs and XEmacs, so removed the "GNU" in the docstrings unless
621 one is strictly talking about GNU Emacs.
623 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
626 2003-11-11 Bill Wohler <wohler@newt.com>
628 * mh-customize.el (mh-customize): Minor docstring change.
629 (mh, mh-e): The short description for MH-E is: The GNU Emacs
630 Interface to the MH Mail System. Therefore, updated docstrings
633 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
636 * mh-e.el (mh-rmail, mh-nmail): Ditto.
638 2003-11-10 Satyaki Das <satyakid@stanford.edu>
640 * mh-mime.el (mh-mml-to-mime): In case errors happen in
641 mml-to-mime, restore contents of the draft buffer (closes SF
644 2003-11-07 Bill Wohler <wohler@newt.com>
646 * mh-customize.el (mh-letter-mode-hook): Moved to mh-sending-mail
647 group (where it is now documented in the manual).
648 (mh-pick-mode-hook): Moved to mh-index group (where it is now
649 documented in the manual).
651 * mh-loaddefs.el: Deleted per our discussion on mh-e-devel. No
652 more conflicts! No more check-ins! Anyone pulling CVS MH-E is
653 expected to compile. This file shall be added to the tarball so
654 that users of the distribution are not.
656 2003-11-07 Mark D. Baushke <mdb@gnu.org>
658 * mh-loaddefs.el: Regenerated.
660 * mh-customize.el (mh-forward-hook): Define new hook.
661 * mh-comp.el (mh-forward): Use it.
663 2003-11-07 Satyaki Das <satyakid@stanford.edu>
665 * mh-loaddefs.el: Regenerated.
667 * mh-utils.el (mh-show-toggle-mime-buttons)
668 (mh-show-display-with-external-viewer): New interactive functions
669 callable from the show buffer.
670 (mh-show-mime-map): Add bindings for "K t" and "K e".
671 (mh-show-msg): Propagate change to
672 mh-display-buttons-for-inline-parts-flag to the show buffer.
674 * mh-mime.el (mh-display-with-external-viewer): New interactive
675 function to display MIME parts with external viewer (closes SF
678 * mh-e.el (mh-folder-mode): Make the variable
679 mh-display-buttons-for-inline-parts-flag buffer-local so that
680 display of MIME buttons can be toggled.
681 (mh-toggle-mime-buttons): New interactive function to toggle
682 display of MIME buttons.
683 (mh-mime-map): Modified to add bindings for "K t" and "K e".
685 2003-11-04 Steve Youngs <sryoungs@bigpond.net.au>
687 * Makefile (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
689 (XEMACS_LOADDEFS_COOKIE): Ditto.
690 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
691 (xemacs): Add target to build mh-loaddefs.el in XEmacs
692 (clean-xemacs): Remove `mh-loaddefs.el*'
693 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
695 2003-11-02 Peter S Galbraith <psg@debian.org>
697 * mh-init.el (mh-variant-set-variant): Reset `mh-x-mailer-string'
698 when we select an MH variant.
700 2003-11-02 Jeffrey C Honig <jch@honig.net>
702 * mh-loaddefs.el: Regenerated.
704 * mh-funcs.el (mh-print-msg): Move to mh-print.el.
706 * mh-e.el (mh-folder-mode-map): Add mh-print-msg ("l") back, it
707 will print a message that this usage is deprecated.
709 * mh-print.el (require, mh-ps-print-msg, mh-ps-print-msg-file):
710 Require mh-funcs for mh-note-printed. PS print functions were not
711 setting the printed notation. Move mh-print-msg here for
712 consistency. Print message if mh-print-msg invoked via deprecated
715 2003-11-01 Peter S Galbraith <psg@debian.org>
717 * Makefile: Add target to make `mh-startup.el', a file containg
718 usual entry commands into MH-E to be used for users installing
719 MH-E separately from Emacs.
721 * README: Document the above for users.
723 2003-10-29 Jeffrey C Honig <jch@honig.net>
725 * mh-utils.el (mh-show-ps-print-map): Add "?" and "l" to
726 mh-show-ps-print-map.
728 * mh-e.el (mh-ps-print-map, mh-help-messages): Add "?" and "l" to
729 mh-ps-print-map. Add "l" to help message.
731 2003-10-27 Bill Wohler <wohler@newt.com>
733 * Makefile (MH-E-SRC): Moved mh-xemacs.el to new variable
735 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
736 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
737 (clean): Moved XEmacs-specific code to clean-xemacs.
738 (xemacs): Added clean-xemacs prerequisite. Moved down to
739 XEmacs section of file.
740 (clean-xemacs): New target to remove XEmacs-specific files.
741 (compile-xemacs): Added $(MH-E-XEMACS-SRC) prerequisite.
742 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
744 2003-10-27 Satyaki Das <satyakid@stanford.edu>
746 * mh-loaddefs.el: Regenerated.
748 * mh-index.el (mh-indexer-choices): Remove option for the non-free
749 glimpse indexer (closes SF #831276).
750 (mh-glimpse-binary, mh-glimpse-directory)
751 (mh-glimpse-execute-search, mh-glimpse-next-result): Functions
752 and variables to implement glimpse support are removed.
754 * mh-customize.el (mh-index-program): Remove option for glimpse.
756 2003-10-24 Satyaki Das <satyakid@stanford.edu>
758 * mh-customize.el: Remove top-level test for toolbar enabled
759 XEmacs since it is not needed.
760 (mh-tool-bar-define): Add test for XEmacs toolbar in the functions
761 mh-toolbar-init, mh-tool-bar-letter-buttons-set and
762 mh-tool-bar-folder-buttons-set. This enables proper compilation
763 irrespective of whether the XEmacs was built with toolbar support
766 * mh-comp.el (mh-letter-mode): Remove conditional since it is not
769 * mh-e.el (mh-folder-mode): Same as above.
771 * mh-utils.el (mh-show-mode): Same as above.
773 * mh-xemacs.el (mh-xemacs-icon-map): Remove condition on toolbar
774 presence since we want the build to work if XEmacs without
775 toolbars is used during compilation.
777 2003-10-23 Bill Wohler <wohler@newt.com>
779 * mh-customize.el: The Great Reorganization. Sorted groups
780 alphabetically. Aligned variables in customization groups with
781 manual sections. Group docstrings changed to match manual chapter
784 2003-10-22 Satyaki Das <satyakid@stanford.edu>
786 * mh-speed.el (timer): Avoid compiler warning in XEmacs.
788 2003-10-22 Steve Youngs <sryoungs@bigpond.net.au>
790 * Makefile (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner
792 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
794 (AUTOLOAD_PACKAGE_NAME): New.
795 (AUTOLOAD_FILE): New.
796 (all): Don't set $EMACS_HOME if building with XEmacs.
797 (xemacs): Use 'compile-xemacs' instead of 'compile'.
798 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
800 (custom-load.elc): Allow for '-no-autoloads'.
801 (compile-xemacs): New. It allows for the '-no-autoloads' option
802 and byte-compiles all the source files with a single instance of
805 * mh-e.el (mh-folder-mode): Only load the toolbar in XEmacs if
806 toolbar support is available.
808 * mh-comp.el (mh-letter-mode): Only load the toolbar in XEmacs if
809 toolbar support is available.
811 * mh-customize.el: Require 'mh-xemacs' at toplevel when
812 'mh-xemacs-flag' is non-nil.
813 Wrap all the toolbar code in a test that is true if using
814 GNU/Emacs or a toolbar-enabled XEmacs.
816 * mh-print.el (mh-ps-spool-a-msg): Comment out
817 `clean-message-header-flag' because it isn't used anywhere.
819 * mh-utils.el (mh-show-mode): Only load the toolbar in XEmacs if
820 toolbar support is available.
822 * mh-xemacs.el: Autoload `regexp-opt', `customize-group',
823 `view-mode', `with-electric-help', `pp', `sort-numeric-fields',
824 `reverse-region', and `goto-address' at compile time.
825 (mh-xemacs-has-toolbar-flag): New. This is non-nil when XEmacs
827 (mh-xemacs-toolbar-*-icon): Use it.
829 2003-10-21 Mark D. Baushke <mdb@gnu.org>
831 * mh-identity.el (mh-identity-field-handler): Fields that begin
832 with ":" must have an mh-identity-handler defined or the user
835 2003-10-17 Peter S Galbraith <psg@debian.org>
837 * mh-customize.el (mh-identity-list): This change affects users!
838 The keyword "signature" becomes ":signature". The recently added
839 keyword "pgg-default-user-id" becomes ":pgg-default-user-id".
840 (mh-auto-fields-list): The keyword "Identity" becomes ":identity".
841 (mh-identity-handlers): Idem for signature and pgg-default-user-id.
843 * mh-comp.el (mh-insert-auto-fields): Idem for Identity.
845 2003-10-17 Peter S Galbraith <psg@debian.org>
847 * mh-xemacs.el: Add eval-and-compile call to (load "toolbar" t t) to
848 make sure `toolbar-make-button-list' is defined. We can't use
849 require because Emacs doesn't have this library.
851 2003-10-16 Bill Wohler <wohler@newt.com>
853 * mh-customize.el (mh-signature-file-name)
854 (mh-letter-insert-signature-hook): Merge docstring with manual.
856 * mh-comp.el (mh-file-is-vcard-p): Checkdoc fix.
857 (mh-insert-signature): Merge docstring with manual.
859 * mh-customize.el (mh-junk): Changed manual link in defgroup from
860 Customizing mh-e to Junk.
861 (mh-junk-function-alist): Moved SpamAssassin to first in list on
862 the hunch that it is the most popular and should be chosen if
863 other anti-spam programs exist.
864 (mh-junk-mail-folder): Since the variable can accept values other
865 than folder names, renamed to mh-junk-disposition to more
866 accurately reflect the content. Merge docstring with manual.
867 (mh-junk-program): Moved SpamAssassin to the top of the menu for
868 the same reason presented in mh-junk-function-alist. Also, fixed
869 case of spam programs to match official usage. Merge docstring
872 * mh-junk.el (mh-junk-blacklist):
873 s/mh-junk-mail-folder/mh-junk-disposition/. Merge docstring with
875 (mh-junk-whitelist): Merge docstring with manual.
876 (mh-bogofilter-blacklist): No longer suggest using automatic
877 classification so use -s instead of -Ns.
878 (mh-bogofilter-whitelist): No longer suggest using automatic
879 classification so use -n instead of -Sn.
880 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Merge
881 docstring with manual. Moved spamassassin functions to top of file
882 so functions appear in same order that they are presented in menu.
884 2003-10-09 Peter S Galbraith <psg@debian.org>
886 * mh-customize.el (mail-citation-hook): Moved from mh-comp.el and
887 made into a defcustom.
889 2003-10-09 Satyaki Das <satyakid@stanford.edu>
891 * mh-loaddefs.el: Regenerated.
893 * mh-comp.el (mh-get-header-field): Add autoload cookie.
895 * mh-utils.el (mh-show-ps-print-toggle-mime)
896 (mh-show-ps-print-toggle-color, mh-show-ps-print-toggle-faces)
897 (mh-show-ps-print-msg-file, mh-show-ps-print-msg)
898 (mh-show-ps-print-msg-show): New interactive functions callable
899 from the show buffer.
900 (mh-show-ps-print-map): New key map for printing.
902 * mh-e.el (mh-folder-mode-map): Remove key binding for
904 (mh-ps-print-map): Add new key map for printing.
906 * Makefile (MH-E-SRC): Add mh-print.el.
908 2003-10-07 Satyaki Das <satyakid@stanford.edu>
910 * mh-utils.el (mh-x-image-url-fetch-image): In XEmacs,
911 make-temp-file is not present. So to avoid security problems, use
912 a temporary file in the user's home directory. This avoids issues
913 in creating files in a world-writable directory.
915 * mh-mime.el (mh-signature-highlight): In Emacs, arrange for the
916 overlay to be freed when it is no longer needed. Also, implement
917 signature highlighting in XEmacs.
919 2003-10-05 Satyaki Das <satyakid@stanford.edu>
921 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Respect the
922 value of `mm-verify-option' and `mm-decrypt-option'.
923 (mh-mime-display-security): Rearrange code a bit to avoid too many
924 new lines being inserted when message verification/decryption is
925 carried out while the message is being read. Also use the
926 point-m{in|ax}-marker functions to make the function easier to read.
927 (mh-mime-security-press-button): Extend the function so that the
928 user can verify/decrypt messages while reading them.
930 * mh-gnus.el (mm-possibly-verify-or-decrypt): Added to avoid
931 compiler warning with old Gnus.
933 * mh-utils.el (mh-x-image-url-sane-p): New function which checks
934 if the URL in X-Image-URL is something we can handle.
935 (mh-x-image-url-display): Don't display image if the URL looks
938 2003-10-04 Mark D Baushke <mdb@gnu.org>
940 * mh-comp.el (mh-letter-menu): Simplify menu heading.
942 2003-10-03 Mark D Baushke <mdb@gnu.org>
944 * mh-mime.el (mh-mml-query-cryptographic-method): Avoid
945 revisionist history and still provide a good default.
947 * mh-comp.el (mh-letter-menu): Remove the Disable Security
948 parenthetical comment.
950 * mh-loaddefs.el: Regenerated.
952 * mh-customize.el (mh-mml-method-default): What method should be
953 used in secure directives.
955 * mh-mime.el (mh-secure-message): New function used to generate
956 the mml security tags.
957 (mh-mml-unsecure-message): New wrapper function around
958 mml-unsecure-messages.
959 (mh-mml-secure-message-sign-pgpmime): Remove function.
960 (mh-mml-secure-message-encrypt-pgpmime): Ditto.
961 (mh-mml-cryptographic-method-history): New variable.
962 (mh-mml-query-cryptographic-method): New function.
963 (mh-mml-secure-message-encrypt): Ditto.
964 (mh-mml-secure-message-signencrypt): Ditto.
965 (mh-mml-secure-message-sign): Ditto.
967 * mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
968 (mh-letter-mode-map): Update to use new functions.
970 2003-09-26 Satyaki Das <satyakid@stanford.edu>
972 * mh-seq.el (mh-interactive-range): The function has been
973 extended so that it now takes a default result to return if no
974 interactive prefix arg is given and no region is active.
976 * mh-e.el (mh-add-sequence-notation): If transient-mark-mode is
977 on, then the active region is deactivated based on whether a user
978 sequence or a internal sequence is being notated. The change
979 removes this inconsistency.
980 (mh-catchup, mh-folder-map): A new interactive function to mark
981 messages as read has been added and bound to "F c" in the folder
984 * mh-utils.el (mh-show-catchup, mh-show-folder-map): New
985 interactive function callable from show mode buffers has been
988 2003-09-24 Bill Wohler <wohler@newt.com>
990 * mh-customize.el (mh-clean-message-header-flag)
991 (mh-invisible-header-fields-default, mh-invisible-header-fields):
992 Merge docstring with manual.
994 2003-09-24 Mark D. Baushke <mdb@gnu.org>
996 * mh-junk.el (mh-junk-blacklist): Junked messages should be put
997 into the mh-seen-list to avoid propagating the unseen sequence
998 into the spam folder.
1000 * mh-loaddefs.el: Regenerated.
1002 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Add an optional
1003 dontsign argument to remove an existing secure message directive.
1004 Update the docstring -- this fuction does not allow for
1005 encrypt/sign, just sign directives.
1007 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Use
1008 mml-insert-tag directly to provide a sender if
1009 mh-identity-pgg-default-user-id is set.
1010 (mh-mml-secure-message-encrypt-pgpmime): Use mml-insert-tag
1011 directly to provide a sender if this message is to be both signed
1012 and encrypted and mh-identity-pgg-default-user-id is set.
1014 2003-09-23 Bill Wohler <wohler@newt.com>
1016 * mh-alias.el (Commentary): Removed as it is now in the manual.
1017 (mh-alias-system-aliases): Moved here from mh-customize.el. By
1018 definition, "system" definitions are not user-visible, and user
1019 filenames are in the the Aliasfile: profile component, so this
1020 variable really shouldn't be a defcustom
1021 (mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
1022 (mh-alias-add-alias, mh-alias-grab-from-field)
1023 (mh-alias-add-address-under-point, mh-alias-apropos): Merge
1024 docstring with manual.
1025 (mh-alias-reload-maybe): Minor comment update.
1026 (mh-alias-insert-file): Merge docstring with manual. Removed
1027 "[press TAB]" from prompt since users should know about completion
1028 and space can be used as well.
1029 (mh-alias-for-from-p): No longer returns a surprising result (t if
1030 there was **not** an alias for the From field) if the From header
1031 field is missing. This function now returns what you would expect
1032 a function of this name to return. Renamed from
1033 mh-alias-from-has-no-alias-p since negatives in the function name
1034 make logic harder to follow.
1035 (mh-alias-add-alias-to-file): Merge docstring with manual.
1036 Improved verbiage of prompt. Aliases are now inserted "[b]efore"
1037 or "[a]fter" the existing alias instead of "[i]nsert" or
1038 "[a]ppend." Note how the new usage flows better.
1040 * mh-customize.el (mh-alias): Changed manual link in defgroup from
1041 Customizing mh-e to Aliases.
1042 (mh-alias-grab-from-field button): mh-alias-from-has-no-alias-p
1043 renamed to mh-alias-for-from-p and no longer returns surprising
1044 value if there isn't a From field. Therefore, enable button if
1045 there is a From header field and mh-alias-for-from-p returns nil.
1046 (mh-letter-complete-function)
1047 (mh-alias-completion-ignore-case-flag, mh-alias-flash-on-comma)
1048 (mh-alias-insert-file, mh-alias-insertion-location)
1049 (mh-alias-local-users, mh-alias-local-users-prefix)
1050 (mh-alias-passwd-gecos-comma-separator-flag): Merge docstring with
1052 (mh-alias-system-aliases): Moved to mh-alias.el.
1054 * mh-comp.el (mh-letter-complete-function-alist): Removed comment
1055 about making this customizable since I didn't think it seemed
1056 appropriate in the manual.
1057 (mh-letter-complete): Merge docstring with manual.
1059 2003-09-23 Satyaki Das <satyakid@stanford.edu>
1061 * mh-speed.el (mh-speed-flists): When exiting emacs, don't ask if
1062 the flists process should be killed.
1064 * mh-e.el (mh-folder-message-menu): Enable undo menu entry only
1065 if something can be undone.
1067 * mh-customize.el (undo): Enable undo button only if something
1070 2003-09-22 Peter S Galbraith <psg@debian.org>
1072 * mh-customize.el (mh-identity-handlers): New defcustom. Alist of
1073 Handler functions for mh-identity (downcased) fields.
1074 (mh-identity-list): Add support for pgg-default-user-id.
1076 * mh-identity.el (mh-insert-identity): Modified to use
1077 `mh-identity-handlers', adding hacking flexibility for those who
1079 (mh-identity-field-handler): New function. Return the handler for
1080 a FIELD or nil if none set. The field name is downcased.
1081 (mh-identity-handler-gpg-identity): New function; handler for pgg
1082 pgp identities. It sets a buffer-local value for
1083 `mh-pgg-default-user-id' which must be handled by mh-send-letter.
1084 (mh-identity-pgg-default-user-id): New buffer-local variable to
1085 hold the requested key ID.
1086 (mh-identity-handler-signature): New function; handler t insert
1087 and remove signature files.
1088 (mh-identity-handler-default): New function; the default handler
1089 to insert or remove generic field.
1090 (mh-identity-handler-top): Insert a field at the top of the
1092 (mh-identity-handler-bottom): Insert a field at the bottom of the
1094 (mh-header-field-delete): Make more robust wrt the field having a
1095 trailing colon or not.
1096 (mh-identity-make-menu): Add a "Customize Identities" menu entry.
1098 * mh-loaddefs.el: Regenerated.
1100 2003-09-21 Peter S Galbraith <psg@debian.org>
1102 * mh-init.el (mh-variant-set): Bug fix for mh-variant long names
1103 with version numbers.
1105 * mh-e.el (mh-scan-format): patch from Sergey Poznyakoff.
1106 GNU mailutils now supports the %(decode) format
1108 2003-09-20 Satyaki Das <satyakid@stanford.edu>
1110 * mh-gnus.el (mh-mm-text-html-renderer): New function to query
1111 which HTML renderer is being used by Gnus.
1113 * mh-mime.el (mh-signature-highlight): Renderers used to display
1114 HTML parts garble the signature separator in various ways. The
1115 function has been modified to take that into account.
1116 (mh-mime-display-single, mh-mm-display-part): Pass the new
1117 optional argument to `mh-signature-highlight'.
1119 2003-09-19 Mark D. Baushke <mdb@gnu.org>
1121 * mh-mime.el (mh-have-file-command, mh-file-mime-type): Made an
1122 mh-autoload as they are used in mh-comp.el.
1124 * mh-loaddefs.el: Regenerated.
1126 2003-09-18 Peter S Galbraith <psg@debian.org>
1128 * mh-comp.el (mh-insert-fields): Make sure field has a colon.
1130 2003-09-18 Satyaki Das <satyakid@stanford.edu>
1132 * mh-seq.el (mh-toggle-tick): Don't hardcode the name of the tick
1133 sequencence in the function. This would have caused improper
1134 highlighting of the tick sequence if the user had changed its
1137 2003-09-15 Satyaki Das <satyakid@stanford.edu>
1139 * mh-e.el (mh-folder-message-menu): Fix a little bug which shows
1140 up as a problem during compilation (closes SF #806577).
1142 2003-09-15 Mark D. Baushke <mdb@gnu.org>
1144 * mh-customize.el (mh-invisible-header-fields-internal): Added
1145 a new field for GNU mailutils per Sergey Poznyakoff.
1147 2003-09-09 Satyaki Das <satyakid@stanford.edu>
1149 * mh-utils.el (vcard): Unconditionally load vcard.el, if
1150 available, so that vcards are always inlined.
1152 2003-09-09 Peter S Galbraith <psg@debian.org>
1154 * mh-mime.el (mh-file-mime-type-substitutions): Add entry to
1155 convert text/plain .vcf files to text/x-vcard.
1156 (mh-mime-content-types): Add text/x-vcard.
1158 2003-09-09 Bill Wohler <wohler@newt.com>
1160 * mh-comp.el (mh-rejected-letter-start): Added strings for qmail
1161 and exim (addresses SF #404965).
1163 2003-09-09 Satyaki Das <satyakid@stanford.edu>
1165 * mh-gnus.el (mm-inline-text-vcard): Make vcard display work with
1166 Gnus-5.9. The extra file vcard.el is still needed.
1168 * mh-mime.el (mh-signature-highlight): New function that
1169 highlights message signatures.
1170 (mh-mm-display-part, mh-mime-display-single): Highlight signatures
1171 using `mh-signature-highlight' (closes SF #802722). More work is
1173 (mh-mime-display): Highlight signature in non-MIME email too.
1175 * mh-customize.el (mh-show-signature-face): New face used to
1176 display message signature.
1178 2003-09-08 Peter S Galbraith <psg@debian.org>
1180 * mh-e.el (mh-version): Do something sensible when
1181 mh-variant-in-use is undefined.
1182 * mh-junk.el (mh-spamassassin-blacklist)
1183 (mh-spamassassin-whitelist): Change options to be compatoble with
1184 old version of spamassassin (V2.20).
1186 2003-09-07 Mark D. Baushke <mdb@gnu.org>
1188 * mh-mime.el (mh-access-types): Per RFC 2049, the "afs"
1189 access-type for message/external-body has been removed.
1190 Update the comments to reference the current MIME RFCs
1191 2045, 2046 and 2049 rather than the obsolete RFC 1521.
1193 2003-09-05 Peter S Galbraith <psg@debian.org>
1195 * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs.
1197 2003-09-04 Satyaki Das <satyakid@stanford.edu>
1199 * mh-utils.el (mh-picon-directory-list, mh-picon-directory): The
1200 mh-picon-directory-list variable supersedes mh-picon-directory.
1201 (mh-picon-existing-directory-list): New variable that contains
1202 the list of picon directories that actually exist.
1203 (mh-picon-set-directory-list): New function to update
1204 mh-picon-existing-directory-list from mh-picon-directory-list.
1205 (mh-picon-get-image): The function has been modified to search a
1206 list of possible picon source directories. The regexp to extract
1207 the username from the email address has been made smarter so that
1208 it can recognize email addresses of the form user+random@foo.net
1209 and extract "user" from there.
1210 (mh-picon-file-contents): The file type recognition code has been
1211 moved from mh-picon-get-image into this function.
1212 (mh-picon-generate-path): The function has been generalized so
1213 that searching multiple paths is now feasible.
1215 * mh-pick.el, mh-e.el: Checkdoc fixes.
1217 2003-09-02 Satyaki Das <satyakid@stanford.edu>
1219 * mh-identity.el (eval-when): It seems that the mh-comp-loaded
1220 code isn't required any more.
1222 2003-08-30 Satyaki Das <satyakid@stanford.edu>
1224 * mh-init.el (mh-variant-set): Replace `error' with `message' so
1225 that Emacs CVS will compile without errors if no MH variant is
1228 2003-08-29 Satyaki Das <satyakid@stanford.edu>
1230 * mh-init.el (mh-variant-set): Add interactive spec to the
1233 * mh-mime.el (mh-mhn-compose-external-type): Optional arguments
1234 are prompted for only if prefix arg is given.
1236 2003-08-29 Mark D. Baushke <mdb@gnu.org>
1238 * mh-mime.el (mh-mhn-compose-external-type): Modified to be
1239 interactive and prompts for many of the fields. Made an
1241 (mh-access-types): New table derived from RFC2017, RFC1521 and
1242 RFC1738, used in a completing-read in
1243 mh-mhn-compose-external-type.
1245 * mh-loaddefs.el: Regenerated.
1247 2003-08-26 Satyaki Das <satyakid@stanford.edu>
1249 * mh-utils.el (mh-picon-image-types, mh-picon-get-image): Avoid
1251 (mh-sub-folders-actual): Parsing of the output from folders has
1252 been modified, so that it also works for MH (closes SF #792300).
1254 * mh-junk.el (mh-spamassassin-whitelist): Avoid calling
1255 ietf-drums-parse-address if it isn't present.
1256 (mh-spamassassin-identify-spammers): Avoid use of puthash so that
1257 Emacs20 doesn't complain.
1259 * mh-e.el (mh-colors-available-p): Wrap call to
1260 display-color-cells in a mh-funcall-if-exists to avoid compiler
1263 2003-08-25 Satyaki Das <satyakid@stanford.edu>
1265 * mh-e.el (mh-colors-available-flag, mh-folder-mode): New
1266 variable to track if colors are available and it is set
1267 appropriately in mh-folder-mode.
1268 (mh-colors-available-p, mh-colors-in-use-p): Two functions to
1269 check whether colors are available and if they are actually being
1271 (mh-add-sequence-notation): Just changing a scan line doesn't
1272 make font-lock refontify the line in Emacs20. So explicitly
1273 refontify the scan line in such a situation.
1274 (mh-internal-seq): If colors aren't being used then treat the
1275 tick sequence like a normal user sequence.
1277 * mh-seq.el (mh-put-msg-in-seq): Do font-lock highlighting after
1278 the messages have been added to the sequence.
1279 (mh-toggle-tick): Modified so that highlighting of the ticked
1280 messages will be properly done. If font-lock isn't being used or
1281 if colors aren't supported by the Emacs where MH-E is running,
1282 then the `%' character is used to annotate ticked messages.
1284 * mh-utils.el (mh-picon-image-types): Since Emacs20 doesn't have
1285 image-type-available-p, wrap calls to that function in
1287 (mh-add-msgs-to-seq): Do the font-lock highlighting after the
1288 messages have been added.
1290 2003-08-24 Bill Wohler <wohler@newt.com>
1292 * Makefile (MH-E-SRC): Replaced mh-xemacs-compat.el and
1293 mh-xemacs-icons.el with mh-xemacs.el.
1295 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
1296 The XEmacs stuff gets required by mh-customize.el which is
1297 required by mh-utils.el which is required by mh-e.el. This all
1298 happens before mh-xemacs-compat was required, so all should be
1301 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
1302 mh-xemacs-icons.el with mh-xemacs.el.
1304 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
1305 and mh-xemacs-icons.el which were removed since their names
1306 exceeded DOS 8+3 limits.
1308 * mh-customize.el (mh-compose-skipped-header-fields): Use
1309 uppercase for field names.
1311 2003-08-21 Bill Wohler <wohler@newt.com>
1313 * mh-customize.el (mh-sequences): Introduced new customization
1314 group for sequences.
1315 (mh-refile-preserves-sequences-flag, mh-tick-seq)
1316 (mh-update-sequences-after-mh-show-flag): Moved option from
1317 mh-folder to mh-sequences group. Synced docstring with manual.
1318 (mh-index-ticked-messages-folders): Since mh-tick-seq is
1319 customizable, use it instead of tick in the docstring.
1321 * mh-index.el (mh-index-ticked-messages): Since mh-tick-seq is
1322 customizable, use it instead of tick in the docstring.
1324 * mh-seq.el (mh-msg-is-in-seq): Can now specify an alternate
1325 message number with a prefix argument.
1326 (mh-narrow-to-tick): Since mh-tick-seq is customizable, use it
1327 instead of tick in the docstring. Also, use mh-tick-seq instead of
1328 tick in warning message.
1330 2003-08-20 Peter S Galbraith <psg@debian.org>
1332 * mh-customize.el: setq mh-variant to 'none when byte-compiling,
1333 since we don't care what MH variant (if any) is on the system at
1336 * mh-init.el (mh-variant-set): Don't probe for MH variant when
1337 mh-variant is set to'none (during byte-compilation).
1339 2003-08-19 Peter S Galbraith <psg@debian.org>
1341 * mh-pick.el (mh-pick-single-dash): New defconst. Search
1342 components that are supported by single-dash option in
1344 (mh-pick-regexp-builder): Use `mh-pick-single-dash' and adapt
1345 patch from Sergey Poznyakoff.
1347 * mh-comp.el (mh-reply): mu-mh supports `repl -group', thanks to
1350 * mh-init.el: checkdoc fixes.
1352 2003-08-19 Bill Wohler <wohler@newt.com>
1354 * mh-seq.el: (mh-edit-pick-expr): Renamed from mh-read-pick-regexp
1355 since the new name is more indicative of what the function does.
1356 Prompt now says "Pick expression" instead of "Pick regexp".
1357 (mh-narrow-to-subject): Rewrote function to behave like other
1359 (mh-narrow-to-header-field, mh-narrow-to-range)
1360 (mh-narrow-to-tick): s/regexp/pick-expr/.
1361 (mh-widen, mh-narrow-to-from, mh-narrow-to-cc, mh-narrow-to-to):
1362 Synced docstrings with manual
1364 2003-08-19 Bill Wohler <wohler@newt.com>
1366 * Released MH-E version 7.4.2.
1368 * MH-E-NEWS, README: Updated for release 7.4.2.
1370 * mh-e.el (Version, mh-version): Updated for release 7.4.2.
1372 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1373 (mh-folder-size-flist): If flist is not present use folder to find
1374 the number of messages in the folder. Also the .mh_sequences file
1375 is read to find the number of unseen messages (patch from 1.349
1376 and branched for 7.4.2, closes SF #791021).
1378 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce a
1379 new variable to test for the presence of the flists program and
1380 set it in mh-find-progs.
1381 (mh-collect-folder-names): Use folders instead of flists. One
1382 advantage is that folders is available on MH while flists is not.
1383 Another is that if an explicit -sequence argument isn't given and
1384 Unseen-Sequence profile is not present then flists croaks while
1386 (mh-collect-folder-names-filter): Don't consider folder names that
1387 start with a `.' character. This is needed since the folders
1388 command doesn't filter them out like flists does.
1389 (patches from 1.307 and 1.309 and branched for 7.4.2, closes SF
1392 2003-08-18 Bill Wohler <wohler@newt.com>
1394 * mh-index.el (mh-index-sequenced-messages)
1395 (mh-index-new-messages, mh-index-ticked-messages): Updated
1396 docstrings from manual (closes SF #718833).
1398 * mh-customize.el (mh-variant): Checkdoc fix.
1399 (mh-index-new-messages-folders): Don't mention defvar in
1400 docstring, use `+inbox' instead.
1401 (mh-index-ticked-messages-folders): Don't mention defvar in
1402 docstring, use `tick' instead.
1404 * mh-comp.el (mh-repl-group-formfile): Checkdoc fix.
1406 2003-08-18 Peter S Galbraith <psg@debian.org>
1408 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-info): Add
1409 support for GNU mailutils.
1410 (mh-variant-mu-mh-info): New function to detect mu-mh and return
1411 info about it for `mh-variants'.
1413 * mh-e.el (mh-regenerate-headers): mu-mh has different error
1414 message for a invalid mesage list.
1416 2003-08-18 Peter S Galbraith <psg@debian.org>
1418 * mh-customize.el (mh-e): New defgroup. Sort of an alias for the
1419 'mh group that a user might be more likely to find.
1421 2003-08-18 Bill Wohler <wohler@newt.com>
1423 * mh-comp.el (mh-insert-auto-fields-done-local): Docstring tweak.
1424 (mh-compose-and-send-mail): Do not call mh-insert-auto-fields.
1425 This should be done only once in mh-send-letter.
1427 2003-08-18 Peter S Galbraith <psg@debian.org>
1429 * mh-comp.el (mh-letter-mode): Call `mh-find-path unconditionally,
1430 like elsewehere in MH-E.
1432 * mh-utils.el (mh-find-path): Run setup code only if
1433 `mh-find-path-run' is nil such that this is only done once.
1434 Also remove the `setq' for `read-mail-command' and `mail-user-agent'.
1436 2003-08-18 Peter S Galbraith <psg@debian.org>
1438 * mh-e.el: require 'mh-utils first
1440 * mh-customize.el (mh-variant): defcustom moved here.
1442 * mh-init.el (mh-variants): Made an mh-autoload.
1444 2003-08-18 Peter S Galbraith <psg@debian.org>
1446 * Makefile (MH-E-SRC): Added mh-init.el to MH-E-SRC.
1448 * mh-utils.el (mh-find-progs): Deleted. Make obsolete by mh-init.el.
1449 (mh-find-path): Call `mh-variants' instead of now obsolete
1451 (mh-path-search): Deleted. Was only used by `mh-find-progs'.
1453 * mh-e.el: require mh-init.el.
1454 (mh-version): Use simpler `mh-variant-in-use'.
1455 (mh-scan-format): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1457 * mh-comp.el (mh-insert-x-mailer): Use simpler `mh-variant-in-use'.
1459 * mh-utils.el (mh-progs, mh-lib, mh-lib-progs)
1460 (mh-flists-present-flag): Moved to mh-init.el.
1461 (mh-nmh-flag): Deleted. Use (mh-variant-p 'nmh) instead.
1463 * mh-comp.el (mh-repl-group-formfile, mh-forward, mh-reply)
1464 (mh-send-letter): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1466 * mh-mime.el (mh-edit-mhn, mh-mime-save-parts): Use (mh-variant-p
1467 'nmh) instead of mh-nmh-flag.
1469 2003-08-16 Bill Wohler <wohler@newt.com>
1471 * mh-customize.el (mh-folder-selection): New group to hold
1472 variables described in Folder Selection section in manual.
1473 (mh-default-folder-list, mh-default-folder-must-exist-flag,
1474 mh-default-folder-prefix): Moved to mh-folder-selection group.
1475 Updated docstrings per manual update.
1476 (mh-default-folder-for-message-function): New defcustom. Was a
1477 defvar in mh-utils.el. Updated docstring per manual update.
1479 * mh-utils.el (mh-default-folder-for-message-function): Moved to
1482 * mh-e.el (mh-folder-from-address, mh-prompt-for-refile-folder):
1483 Updated docstrings per manual update.
1485 * mh-unit.el (mh-unit-files): Added mh-init.el.
1487 2003-08-16 Peter S Galbraith <psg@debian.org>
1489 * mh-init.el: New file. Code to initialize the MH-E back-end.
1491 (mh-variant): New defcustom. Users may customize `mh-variant' to
1492 switch between available variants.
1493 (mh-variants): Available MH variants are described in this variable.
1494 (mh-variant-in-use, mh-variant-p): Developers may check which
1495 variant is currently in use with the variable `mh-variant-in-use'
1496 or the function `mh-variant-p'.
1498 2003-08-15 Bill Wohler <wohler@newt.com>
1500 * mh-customize.el (mh-auto-fields-list): The manual uses Fcc
1501 instead of fcc, so I've changed the user-visible text
1502 accordingly. I've left the const alone for backwards
1505 2003-08-14 Bill Wohler <wohler@newt.com>
1507 * mh-identity.el (mh-insert-identity): Changed signature deletion
1508 test to test for both markers, rather than testing to see if the
1509 start marker is bound. Since the start marker is defined in this
1510 file, it should always be bound. Suggestion by Satyaki.
1512 * mh-comp.el (mh-send-letter): Go to the top of the draft so that
1513 the user can see which header fields have been inserted. I think
1514 this is more important than leaving point alone or going to the
1515 end to see the signature since Mail-Followup-To or Bcc or cc could
1516 have some deleterious effects.
1518 * mh-customize.el (mh-auto-fields-prompt-flag): New variable.
1519 Non-nil means to prompt before sending if fields inserted.
1521 * mh-comp.el (mh-insert-auto-fields): Now return t if fields
1522 inserted; otherwise nil.
1523 (mh-send-letter): Deleted obsolete documentation about adding
1524 X-Mailer and X-Face. Prompt before sending if auto fields added
1525 and mh-auto-fields-prompt-flag is t.
1527 * mh-customize.el (mh-identity-list): Allow signature to come from
1528 mh-signature-file-name. In this case, the "signature" value is set
1529 to nil. This might not be the best implementation. Suggestions
1532 * mh-identity.el (mh-insert-identity): Now that the signature can
1533 be a nil value, moved test higher up in cond so that the test for
1534 a nil value would not be executed first prevening signature
1535 handling. Handle nil signature value by calling
1536 mh-insert-signature with no arguments which means to use
1537 mh-signature-file-name.
1539 * mh-comp.el (mh-insert-signature): Changed text of message if no
1542 * mh-customize.el (mh-identity-list): Changed "Signature" constant
1543 back to "signature" so it *won't* be backwards-incompatible any
1544 more. I discovered one could use the :tag keyword to get headline
1545 captalization in the menu.
1547 * mh-identity.el (mh-insert-identity): Ditto.
1549 * mh-identity.el (mh-identity-make-menu): Always build menu.
1550 Always create Insert Auto Fields menu item. Just don't enable it
1551 if mh-auto-fields-list is nil. Enable radio buttons always. Make
1552 None a radio button choice with the other identities.
1554 * mh-comp.el (mh-letter-menu): Removed cond on fboundp
1555 'easy-menu-define. We don't do this elsewhere.
1557 2003-08-13 Bill Wohler <wohler@newt.com>
1559 * mh-identity.el (mh-identity-make-menu, mh-insert-identity): Use
1560 headline capitalization in menu items. Even the internal names are
1561 exposed in the customize interface, so they need to be uppercase
1563 (mh-insert-identity): Rather than goto-char to
1564 mh-identity-signature-start before deleting, simply pass it to
1565 delete-region. When setting markers, use point-min-marker and
1566 point-max-marker instead of moving point. Set marker type of
1567 mh-identity-signature-start to t to fix a bug where changing
1568 identity deleted user's text.
1570 * mh-customize.el (mh-identity-list, mh-auto-fields-list):
1571 Reworked docstring. Use headline capitalization. Commented out
1572 implementation details for later deletion or resurrection upon
1573 popular demand. N.B. If your mh-identity-list contains "signature"
1574 then you will need to either edit your .emacs file manually, or
1575 delete your existing "signature" which will become a regular field
1576 with this change and create a new signature. I figured I could get
1577 away with this since 8.0 is a major release, and coinciding with
1578 the manual update will be a MAJOR release. I apologize profusely
1579 that I didn't catch this before it was released.
1580 (mh-identity-default): Use headline capitalization in example.
1582 2003-08-12 Jeffrey C Honig <jch@honig.net>
1584 * mh-customize.el (mh-alias-reloaded-hook): Define
1585 `mh-alias-reloaded-hook'.
1587 * mh-alias.el (mh-alias-reload): Run `mh-alias-reloaded-hook'
1588 after reloading the aliases.
1590 2003-08-12 Mark D. Baushke <mdb@gnu.org>
1592 * mh-comp.el (mh-insert-signature): Use functionp to avoid
1593 the possibility of doing a funcall on a void function.
1595 2003-08-12 Bill Wohler <wohler@newt.com>
1597 * mh-customize.el (mh-identity): Point group manual link to new
1599 (mh-signature-separator-flag): New variable which can be used to
1600 suppress the output of the signature separator.
1602 * mh-comp.el (mh-insert-signature): Use
1603 mh-signature-separator-flag.
1605 * mh-identity.el (mh-insert-identity): If the identity's signature
1606 file didn't exist, an fboundp error was thrown. This was fixed by
1607 removing signature tests that were redundant and out of date with
1608 the tests in mh-insert-signature. Removed second signature
1609 condition as it is now handled in the first signature condition.
1611 2003-08-12 Peter S Galbraith <psg@debian.org>
1613 * mh-identity.el (mh-insert-identity): Don't insert new lines on
1616 * mh-comp.el (mh-insert-signature): Make sure signature file is
1617 readable before trying to insert it.
1619 2003-08-11 Bill Wohler <wohler@newt.com>
1621 * mh-comp.el (mh-insert-signature): Unconditionally insert a
1622 newline so that signatures are inserted consistently, and so that
1623 there isn't any text after the cursor so that the user can start
1624 typing his message immediately. Use new variable and function
1625 mh-signature-separator and mh-signature-separator-p.
1627 * mh-customize.el (mh-delete-yanked-msg-window-flag): Checkdoc
1629 (mh-signature-file-name): Updated docstring now that this variable
1630 can be a function. Added cross-references to
1631 mh-signature-separator, mh-signature-separator-regexp, and
1632 mh-signature-separator-p which might be used in such functions.
1634 * mh-identity.el (mh-insert-identity): Don't include signature if
1635 signature separator already present. Useful when running
1638 * mh-mime.el (mh-inline-vcard-p): Use mh-signature-separator-p.
1640 * mh-utils.el (mh-signature-separator-regexp): New variable
1641 containing "^-- $" which should be used when looking for the
1642 signature separator.
1643 (mh-signature-separator): New variable containing "-- \n" which
1644 should be used when inserting the signature separator.
1645 (mh-signature-separator-p): New function that returns non-nil if
1646 mh-signature-separator-regexp is found in the buffer.
1648 2003-08-09 Satyaki Das <satyakid@stanford.edu>
1650 * mh-utils.el (mh-x-image-scaling-function): Variable that
1651 contains function used to scale images. Possible choices are
1652 mh-x-image-scale-with-convert and mh-x-image-scale-with-pnm.
1653 (mh-convert-executable): Removed.
1654 (mh-x-image-scale-with-pnm, mh-x-image-scale-with-convert): New
1655 functions that scale images using pnm tools or ImageMagick.
1656 (mh-x-image-scale-and-display, mh-x-image-url-display): Use
1657 mh-x-image-scaling-function instead of mh-convert-executable.
1659 2003-08-08 Peter S Galbraith <psg@debian.org>
1661 * mh-comp.el (mh-insert-signature): Bug fix. Handle case of nil
1662 `mh-signature-file-name' and hooks correctly.
1664 * mh-identity.el (mh-insert-identity): Refactor to use
1667 * mh-comp.el (mh-signature-separator-p): Removed.
1669 * mh-comp.el (mh-insert-signature): Merge MIME awareness from
1670 mh-insert-identity into this command. Allow
1671 `mh-signature-file-name' to be a function to call. See if "-- "
1672 needs to be inserted only after hooks have run.
1674 2003-08-07 Bill Wohler <wohler@newt.com>
1676 * mh-customize.el (mh-compose-skipped-header-fields): Added
1678 (mh-autoload): Removed cookies. They aren't necessary in
1679 mh-e.el, mh-utils.el, or mh-customize.el.
1681 * mh-e.el (mh-autoload): Removed cookies. They aren't necessary in
1682 mh-e.el, mh-utils.el, or mh-customize.el.
1684 * mh-identity.el (mh-insert-identity): Made regexp for signature
1685 separator more explicit. Hmmm, maybe we should create
1686 mh-signature-separator-regexp...
1688 * mh-index.el (mh-replace-string): Moved to mh-utils.el.
1690 * mh-utils.el (mh-replace-string): Moved here from mh-index.el.
1691 (mh-autoload): Removed cookies. They aren't necessary in mh-e.el,
1692 mh-utils.el, or mh-customize.el.
1694 * mh-comp.el (mh-insert-signature): Added file argument to insert
1695 a file other than mh-signature-file-name. Insert signature
1696 separator, unless file already contains one.
1698 2003-08-06 Satyaki Das <satyakid@stanford.edu>
1700 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1701 (mh-folder-size-flist): If flist is not present use folder to
1702 find the number of messages in the folder. Also the .mh_sequences
1703 file is read to find the number of unseen messages.
1705 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce
1706 a new variable to test for the presence of the flists program and
1707 set it in mh-find-progs.
1709 2003-08-06 Peter S Galbraith <psg@debian.org>
1711 * mh-customize.el: Change the order of `mh-identity-list' and
1712 `mh-auto-fields-list' and remove byte-compilation defvar for
1713 `mh-identity-list'. This fixes a customization bug for
1714 `mh-identity-list', where it wasn't set correctly.
1716 * mh-identity.el (mh-identity-make-menu): mh-auto-fields-list may
1717 not be bound yet when initially loaded.
1719 2003-08-06 Bill Wohler <wohler@newt.com>
1721 * mh-alias.el (mh-alias-add-address-under-point): Removed trailing
1722 period from messages. The conventions say that errors should not
1723 end with a period and that "Foo...done" messages should not end in
1724 a period, but they aren't explicit about messages in general.
1725 Given what the conventions *do* say, and because most of our
1726 messages don't end with a period, let's just say that messages in
1727 general don't end in a period, just like error messages.
1729 * mh-comp.el (mh-extract-rejected-mail, mh-letter-mode-message):
1732 * mh-e.el (mh-refile-a-msg): Ditto.
1734 * mh-funcs.el (mh-undo-folder): Ditto.
1736 * mh-mime.el (mh-mime-save-parts): Ditto.
1738 * mh-seq.el (mh-subject-to-sequence-unthreaded)
1739 (mh-narrow-to-subject, mh-delete-subject): Ditto.
1741 * mh-index.el (mh-index-sequenced-messages)
1742 (mh-index-new-messages, mh-index-ticked-messages): Discovered that
1743 in general we should only use question marks in yes-or-no-p or
1744 y-or-n-p prompts, but not in other prompts that use
1745 completing-read and offer defaults. In these cases, use colons
1746 instead (closes SF #730470).
1748 * mh-mime.el (mh-mime-save-parts): Ditto.
1750 * mh-utils.el (mh-prompt-for-folder): Ditto.
1752 * mh-alias.el (mh-alias-apropos): Multiple messages are usually
1753 shown one at a time rather than appended. Send output to
1754 mh-aliases-buffer instead of *Help*.
1755 (mh-alias-local-users): Checkdoc fix.
1757 * mh-funcs.el (mh-undo-folder): Removed commented-out code since
1758 its deadline had expired.
1760 * mh-utils.el (mh-aliases-buffer): New buffer name, used in
1763 2003-08-06 Satyaki Das <satyakid@stanford.edu>
1765 * mh-utils.el (mh-x-image-url-cache-canonicalize): Make this
1766 function work for XEmacs too.
1767 (mh-collect-folder-names): Use folders instead of flists. One
1768 advantage is that folders is available on MH while flists is not.
1769 Another is that if an explicit -sequence argument isn't given and
1770 Unseen-Sequence profile is not present then flists croaks while
1772 (mh-collect-folder-names-filter): Don't consider folder names that
1773 start with a `.' character. This is needed since the folders
1774 command doesn't filter them out like flists does.
1776 * mh-index.el (mh-replace-string): Add autoload for it.
1778 2003-08-05 Satyaki Das <satyakid@stanford.edu>
1780 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw)
1781 (mh-mml-forward-message): The variable mh-sent-from-msg can be a
1782 list. So check that the value is really a number before using it
1785 * mh-comp.el (mh-insert-letter): Same as above.
1787 * mh-utils.el (mh-picon-get-image): Make the code that finds the
1788 address of the sender more robust.
1789 (mh-face-display-function): Make it work with XEmacs.
1790 (mh-picon-image-types): A new variable that stores what image
1793 2003-08-05 Satyaki Das <satyakid@stanford.edu>
1795 * mh-customize.el (mh-tool-bar-define): Make the save button such
1796 that is activated only if the buffer needs to saved.
1798 * mh-utils.el (mh-face-display-function, mh-picon-get-image): Some
1799 domains, for instance cs.cmu.edu, don't have xpm files. So we need
1800 to search for all three files. The change does that.
1801 (mh-picon-file-contents): A utility function to return the
1802 contents of a file as a string.
1803 (mh-picon-get-image): Write it as a loop to make it simpler.
1804 (mh-x-image-set-download-state): Make the link simpler.
1806 2003-08-04 Satyaki Das <satyakid@stanford.edu>
1808 * mh-utils.el (mh-x-image-url-display): Don't bother to try to
1809 download image if we don't have the necessary tools to display
1811 (mh-face-display-function): Add preliminary support for "domain"
1813 (mh-picon-get-image, mh-picon-generate-path): Functions to find
1814 best match for domain in the From header field.
1816 * mh-e.el (mh-previous-unread-msg): If some of the messages in the
1817 unseen sequence are not present in the folder buffer then calling
1818 this function gets stuck and can't skip over them. The change
1820 (mh-next-unread-msg): Same as above.
1822 2003-08-04 Bill Wohler <wohler@newt.com>
1824 * mh-utils.el (mh-show-mode): Added cross reference to
1825 mh-folder-mode in docstring (closes SF #728638). Added
1826 \\{mh-show-mode-map} to show keymap.
1828 * mh-e.el (mh-folder-mode): Added information about ranges to
1829 docstring (closes SF #728638).
1831 * mh-speed.el (mh-speed-refresh): New function that calls
1832 mh-speed-flists and mh-invalidate-map.
1833 (mh-folder-speedbar-key-map): Replaced keybindings for
1834 mh-speed-invalidate-map and mh-speed-flists with a single binding
1835 for mh-speed-refresh.
1836 (mh-folder-speedbar-menu-items): Replaced menu items for Run
1837 Flists and Invalidate Cached Folders with the single menu item
1838 Refresh Speedbar in order to simplify the UI.
1840 * mh-customize.el (mh-fetch-x-image-url): Added DOS as another
1841 reason not to set this to t.
1843 2003-08-04 Satyaki Das <satyakid@stanford.edu>
1845 * mh-e.el (mh-scan-folder): Handle ranges from user input properly.
1847 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1849 * mh-utils.el (mh-find-msg-get-num): Removed. If threading isn't
1850 present, the messages are sorted by index. So `mh-goto-msg' was
1851 implemented as a binary search and this function was used in that
1852 implementation. So this isn't needed any more.
1853 (mh-msg-search-pat): Removed. Before the advent of message
1854 threading, this function was used to generate a regexp used to
1855 search for a particular message. It isn't used anymore. The
1856 variable `mh-scan-msg-number-regexp' should be updated and used in
1857 `mh-goto-msg' instead of hardcoding the regexp in the code. Then
1858 we might be able to better support other scan line formats in the
1861 * mh-seq.el (mh-map-to-seq-msgs, mh-notate-seq): Removed. These
1862 functions were used to notate user sequences. But calling
1863 `mh-goto-msg' inside of a loop is inefficient. So the sequence
1864 notation code was rewritten thereby making these functions
1866 (mh-copy-line-to-point): Removed. This function was used in the
1867 implementation the now removed function `mh-copy-seq-to-point'.
1868 That function was problematic and was replaced by the less general
1869 `mh-copy-seq-to-eob'. This makes `mh-copy-line-to-point'
1871 (mh-region-to-msg-list): Removed since this is a special case of
1872 the more general `mh-range-to-msg-list'.
1874 * mh-loaddefs.el: Regenerated.
1876 2003-08-03 Jeffrey C Honig <jch@honig.net>
1878 * mh-customize.el (mh-invisible-header-fields-default): Added
1879 several new fields to hide. Sorted the list with sort-lines.
1881 2003-08-03 Peter S Galbraith <psg@debian.org>
1883 * mh-customize.el (mh-invisible-headers): Variable renamed to
1884 `mh-invisible-header-fields-compiled'.
1885 (mh-invisible-headers): Implement above change.
1887 * mh-utils.el (mh-display-msg): Idem.
1889 * mh-mime.el (mh-mm-inline-message): Idem.
1891 * mh-comp.el (mh-insert-letter): Idem.
1893 2003-08-03 Bill Wohler <wohler@newt.com>
1895 * mh-speed.el (mh-folder-speedbar-menu-items): Added separator
1896 between standard and MH-E menu items. Use headline capitalization
1899 * mh-utils.el (mh-temp-fetch-buffer): New constant to hold
1900 buffer name for wget output.
1901 (mh-x-image-url-fetch-image): Use mh-temp-fetch-buffer instead
1902 of hard-coded buffer name. Use make-temp-file to avoid race
1903 conditions and subsequent security issues raised in make-temp-name
1906 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1908 * mh-utils.el (mh-wget-executable, mh-wget-choice, mh-wget-option)
1909 (mh-x-image-url-fetch-image): Support the use of `curl' and
1910 `fetch' as alternatives to `wget'.
1911 (mh-wget-choice): Change order of search.
1912 (mh-x-image-url-fetch-image): Rename buffer.
1914 2003-08-03 Satyaki Das <satyakid@stanford.edu>
1916 * mh-utils.el (mh-x-image-set-download-state)
1917 (mh-x-image-get-download-state): Specially named symbolic links
1918 are used to keep track of whether a X-Image-URL header field needs
1919 to downloaded the next time it is seen. These functions get and
1920 set the symlinks appropriately.
1921 (mh-x-image-url-fetch-image): Simplified since the query has been
1922 moved to `mh-x-image-url-display'. Also if wget isn't present then
1923 try again next time since the user might install wget before
1925 (mh-x-image-scale-and-display): Handle absence of the `convert'
1926 program better. If it isn't present then we will try to display
1927 the image the next time it is encountered. Also use the -geometry
1928 option to convert since the -resize option isn't present in older
1930 (mh-x-image-url-display): Move all the code that decides whether
1931 an X-Image-URL header field will be fetched in this function. Also
1932 remember the user's decision so that if the image couldn't be
1933 fetched the first time, we will try to fetch it later on without
1936 2003-08-02 Peter S Galbraith <psg@debian.org>
1938 * mh-alias.el (mh-alias-local-users): Exclude all aliases already
1939 in mh-alias-alist from `ali' (closes SF #772595).
1941 2003-08-01 Satyaki Das <satyakid@stanford.edu>
1943 * mh-utils.el (mh-x-image-display, mh-x-image-url-display): Avoid
1944 a race. The X-Image-URL is displayed asynchronously. Suppose a
1945 message with a image is shown with `mh-show'. If a different
1946 message is displayed before the image can be fetched, then the new
1947 message will have the image displayed. With this change the race
1948 is less likely to happen.
1950 2003-08-01 Peter S Galbraith <psg@debian.org>
1952 * mh-inc.el (mh-inc-spool-map): Fix what `mh-inc-spool-map-help'
1953 must look like as a fake `mh-help-messages' in order to work
1954 correctly in mh-help.
1956 2003-07-31 Bill Wohler <wohler@newt.com>
1958 * mh-inc.el (mh-inc-spool-map): Use mh-help instead of
1959 mh-ephem-message in order to display help in its own buffer
1960 instead of minibuffer.
1962 * mh-utils.el (mh-help-buffer): New variable to hold the name of
1963 the MH-E help buffer name.
1965 * mh-funcs.el (mh-help, mh-prefix-help): Use with-electric-help to
1966 display help messages. I observed a friend with a vision
1967 disability and the 5 seconds the help appeared on the screen was
1968 not long enough for him to lock on it. I've therefore changed the
1969 help function to display the help in its own buffer called *MH-E
1970 Help* (closes SF #493740 and SF #656631).
1972 * mh-customize.el (mh-fetch-x-image-url): Changed default from nil
1973 to 'ask. Updated docstring from manual.
1974 (mh-invisible-header-fields-internal): Added X-Image-URL.
1975 (mh-show-use-xface-flag): Updated docstring from manual.
1976 (mh-x-face-file): Ditto.
1978 * mh-mime.el (mh-mhn-compose-external-type): Don't insert the
1979 directory parameter if it's nil. The mhbuild man page indicates
1980 that this parameter is optional, so this should be fine.
1982 * mh-comp.el (mh-letter-mode-map): Added keybindings for
1983 mh-mhn-compose-anon-ftp and
1984 mh-mhn-compose-external-compressed-tar.
1985 (mh-letter-menu): Uncommented menu items for same.
1987 2003-07-30 Satyaki Das <satyakid@stanford.edu>
1989 * mh-loaddefs.el: Regenerated.
1991 * mh-pick.el (mh-do-pick-search): Removed since the function
1992 `mh-pick-do-search' performs the same action as this function.
1994 * mh-index.el (mh-index-update-unseen): Removed since the
1995 generalized sequence synchronization code that keeps sequences in
1996 index folders in sync with the sequences in the source folders
1997 makes this function redundant.
1999 * mh-e.el (mh-folder-unseen-seq-name, mh-folder-unseen-seq-list):
2000 Removed. These two functions were used in the unseen sequence
2001 highlighting before the sequence highlighting code was
2002 generalized. In any event calls to the function
2003 `mh-folder-unseen-seq-name' can be replaced by the variable
2004 `mh-unseen-seq' and calls to `mh-folder-unseen-seq-list' can be
2005 replaced with (cdr (assoc mh-unseen-seq mh-seq-list)).
2006 (mh-unmark-all-headers): Removed since this function has been
2007 superseded by mh-remove-all-notation.
2008 (mh-map-over-seqs): Removed since we now have the generalized
2009 iteration over message ranges (the `mh-iterate-on-range' macro)
2010 that can be used instead.
2011 (mh-notate-if-in-one-seq): Removed. This function was used for
2012 changing the `%' notation for user sequences. It can't be used for
2013 that purpose any more, since we have a different scheme now.
2015 * mh-unit.el (mh-unit-tests): Removed since it isn't needed any
2017 (mh-unit): Run all function that start with the string
2020 2003-07-30 Bill Wohler <wohler@newt.com>
2022 * mh-customize.el (mh-invisible-header-fields): Checkdoc fix.
2024 * mh-utils.el (mh-x-image-url-cache-canonicalize): Shortened using
2025 example in files.el:make-backup-file-name-1.
2026 (mh-face-display-function): Added X-Image-URL to docstring.
2028 * mh-unit.el (mh-unit-x-image-url-cache-canonicalize): New
2029 function to test mh-x-image-url-cache-canonicalize since it lent
2030 itself well to unit testing. Had to start somewhere!
2031 (mh-unit-equal): New function that throws an error if RESULT
2032 doesn't equal EXPECTED.
2033 (mh-unit): Call mh-unit-x-image-url-cache-canonicalize.
2035 2003-07-29 Satyaki Das <satyakid@stanford.edu>
2037 * mh-unit.el (mh-unit-update-call-graph): Make the function work
2038 better with dotted lists, that is lists of the form (a b c . d)
2039 where `d' isn't nil. With this we are able to avoid marking some
2040 functions as unused even though they are actually used in alists.
2042 2003-07-28 Peter S Galbraith <psg@debian.org>
2044 * mh-comp.el (mh-insert-letter): Remove `mh-visible-headers'
2047 * mh-mime.el (mh-mm-inline-message): Same.
2049 * mh-utils.el (mh-display-msg): Same.
2050 (mh-clean-msg-header): Make a note of above change.
2052 * mh-customize.el (mh-invisible-header-fields-internal): Renamed
2053 from prior `mh-invisible-header-fields-default'.
2054 (mh-invisible-header-fields-default): Renamed from prior
2055 `mh-invisible-header-fields-default-override'.
2056 (mh-invisible-header-fields): Renamed from prior
2057 `mh-invisible-header-fields-user'.
2058 (mh-visible-headers): Removed! We use invisible fields only now.
2059 (mh-visible-header-fields): Removed!
2061 2003-07-28 Peter S Galbraith <psg@debian.org>
2063 * mh-customize.el (mh-invisible-header-fields-default): Added 3
2066 2003-07-28 Satyaki Das <satyakid@stanford.edu>
2068 * mh-utils.el (mh-show): Add an extra argument to the function so
2069 that interactive use will always force redisplay of the message.
2071 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Bind the
2072 variables `mm-verify-option' and `mm-decrypt-option' so that
2073 verification and decryption of mail can happen without any
2074 additional tinkering.
2076 2003-07-25 Peter S Galbraith <psg@debian.org>
2078 * mh-customize.el (mh-invisible-header-fields-default): New defvar
2079 holding default fields to hide. This replaces the old
2080 `mh-invisible-header-fields' defcustom.
2081 (mh-invisible-header-fields-user): New defcustom. Users add
2082 fields to suppress that we didn't include in
2083 `mh-invisible-header-fields-default'. This could be named simply
2084 `mh-invisible-header-fields' and it wouldn't really break anything
2085 for users who have customized it to a long list now redundant with
2086 `mh-invisible-header-fields-default'.
2087 (mh-invisible-header-fields-default-override): New defcustom.
2088 Users check off the fields they want displyed from what we
2089 included in `mh-invisible-header-fields-default'.
2090 (mh-invisible-headers): Function adapted to new variables.
2092 2003-07-25 Satyaki Das <satyakid@stanford.edu>
2094 * mh-e.el (mh-inc-folder): If the user is in a different folder
2095 displaying a message and runs mh-inc-folder, then the folder
2096 changes to +inbox but the show window continues to display the
2097 message in the old folder. The change fixes this.
2098 (mh-visit-folder): Make the handling of the show window similar to
2099 that of mh-inc-folder.
2101 2003-07-24 Satyaki Das <satyakid@stanford.edu>
2103 * mh-e.el (mh-folder-message-menu, mh-folder-folder-menu): Use the
2104 predicate mh-outstanding-commands-p instead of its exapansion.
2105 Also use the same label in both menus.
2106 (mh-outstanding-commands-p): Generalized so that it will work in
2107 mh-show-mode buffers as well.
2109 * mh-customize.el (mh-tool-bar-define): Enable tool-bar button for
2110 mh-execute-commands only if there are pending deletes or refiles.
2112 2003-07-19 Satyaki Das <satyakid@stanford.edu>
2114 * mh-utils.el (mh-show-msg): If a unseen message is first marked
2115 for deletion/refiling and then displayed, the bold highlighting
2116 does not go away. This change fixes that.
2118 * mh-seq.el (mh-msg-is-in-seq): Fix a bug in the function. If any
2119 message was marked for refiling, then the function would have you
2120 believe that every message in the folder is being refiled.
2122 2003-07-17 Bill Wohler <wohler@newt.com>
2124 * mh-e.el: Removed email address for Stephen Gildea's in Change
2125 Log at his request (damn spammers). Removed other email addresses
2126 while I was at it since the SourceForge URL should be sufficient
2127 contact information.
2129 (mh-scan-format-*mh): Fixed typo in comment above these variables.
2130 These variables are used if mh-scan-format-file is t, not nil.
2131 Also mh-scan-format-file is no longer "above" (courtesy Stephen
2134 2003-07-17 Satyaki Das <satyakid@stanford.edu>
2136 * mh-mime.el (mh-mhn-quote-unescaped-sharp): New function that
2137 quotes `#' characters in the first column that aren't part of a
2139 (mh-mhn-directive-present-p): Generalized to allow the function
2140 to search for MHN directives in a part of the buffer.
2141 (mh-edit-mhn): Quote unescaped `#' characters in the draft (closes
2144 2003-07-16 Satyaki Das <satyakid@stanford.edu>
2146 * mh-alias.el (mh-alias-read-address-map): If
2147 mh-alias-flash-on-comma is nil when mh-alias is loaded, then
2148 setting mh-alias-flash-on-comma to t later on doesn't turn on
2149 address completion display till Emacs is restarted. The change
2152 2003-07-15 Bill Wohler <wohler@newt.com>
2154 * mh-utils.el (mh-cmd-note): Cleaned up docstring (changed phrase
2155 to sentences). Moved to Scan Line Formats section.
2156 (mh-scan-msg-number-regexp)
2157 (mh-scan-msg-overflow-regexp, mh-scan-msg-format-regexp)
2158 (mh-scan-msg-format-string, mh-scan-msg-search-regexp): Cleaned up
2159 docstrings (changed phrases to sentences).
2160 (mh-note-seq): Cleaned up docstring (changed phrase to sentences).
2161 Also, this variable is now a character and not a string. Moved to
2162 Scan Line Formats section.
2164 * mh-funcs.el (mh-note-copied, mh-note-printed): Cleaned up
2165 docstrings (changed phrases to sentences). Also, these variables
2166 are now characters and not strings.
2168 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Filled. I was
2169 hoping to quote the hint `t' but checkdoc wouldn't let me.
2170 (mh-note-deleted, mh-note-refiled, mh-note-cur): Moved to Scan
2171 Line Formats section.
2172 (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
2173 (mh-scan-refiled-msg-regexp, mh-scan-valid-regexp)
2174 (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
2175 (mh-scan-rcpt-regexp, mh-scan-body-regexp)
2176 (mh-scan-subject-regexp, mh-scan-format-regexp): Cleaned
2177 up docstrings (changed phrases to sentences).
2178 (mh-scan-cur-msg-regexp): Marked this variable as obsolete; it
2179 should be removed for 8.0.
2181 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Cleaned
2182 up docstrings (changed phrases to sentences). Also, these
2183 variables are now characters and not strings.
2185 2003-07-15 Satyaki Das <satyakid@stanford.edu>
2187 * mh-index.el (mh-index-update-single-msg)
2188 (mh-index-create-sequences): Handle the situation where there are
2189 copies of the exact same message correctly.
2191 2003-07-15 Satyaki Das <satyakid@stanford.edu>
2193 * mh-seq.el (mh-thread-update-scan-line-map): Modified since
2194 notation is already a character.
2196 * mh-utils.el (mh-note-seq): Convert from string to character.
2197 (mh-notate): Modified since characters are used to notate instead
2198 of strings of length one.
2200 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Convert
2201 from string to characters.
2203 * mh-e.el (mh-note-deleted, mh-note-refiled, mh-note-cur): Same as
2204 above (closes SF #770772).
2205 (mh-unmark-all-headers): Modified since mh-note-* variables are
2207 (mh-remove-sequence-notation): The mh-notate function remembers
2208 the previous notation. Before the change to the mh-note-*
2209 variables, mh-notate would only remember the change if a string
2210 was used to notate the message. Now mh-notate is always called
2211 with a character notation. So the deletion has to take place
2214 2003-06-28 Bill Wohler <wohler@newt.com>
2216 * mh-mime.el (mh-mhn-directive-present-p): If shell comments are
2217 present that have a space after the # but no content, then this
2218 function would throw an error. This has been fixed (closes SF
2221 2003-06-27 Satyaki Das <satyakid@stanford.edu>
2223 * mh-index.el (mh-index-search): Use the new and improved
2224 mh-index-new-folder.
2225 (mh-index-new-folder): Improved so that redoing the same search
2226 will reuse the old index folder.
2227 (mh-index-folder-search-regexp): New function which that extracts
2228 out the search expression that produced the index folder.
2230 2003-06-24 Bill Wohler <wohler@newt.com>
2232 * mh-e.el (Version, mh-version): Set to 7.4.1+cvs.
2234 2003-06-25 Bill Wohler <wohler@newt.com>
2236 * Released MH-E version 7.4.1.
2238 * MH-E-NEWS, README: Updated for release 7.4.1.
2240 * mh-e.el (Version, mh-version): Updated for release 7.4.1.
2242 2003-06-25 Bill Wohler <wohler@newt.com>
2244 * mh-unit.el (require 'cl): Added. Needed when compiling
2247 * Makefile (clean): Now a double-colon rule. Added a second clean
2248 target to remove mh-unit.elc.
2249 (compile): Removed mh-unit.elc.
2250 (mh-unit.elc): New target used to compile mh-unit.
2252 2003-06-24 Bill Wohler <wohler@newt.com>
2254 * mh-e.el (Version, mh-version): Set to 7.4+cvs.
2256 2003-06-24 Bill Wohler <wohler@newt.com>
2258 * Released MH-E version 7.4.
2260 * MH-E-NEWS, README: Updated for release 7.4.
2262 * mh-e.el (Version, mh-version): Updated for release 7.4.
2264 2003-06-24 Bill Wohler <wohler@newt.com>
2266 * mh-alias.el (mh-alias-gecos-name, mh-alias-local-users)
2267 (mh-alias-suggest-alias): s/gcos/gecos. The original acronym was
2268 GECOS but was later renamed to GCOS (see
2269 http://info.astrian.net/jargon/terms/g/GCOS.html). But the term
2270 really needs to match the field named pw_gecos in struct passwd in
2273 * mh-customize.el (mh-letter-faces): New group to house
2274 mh-letter-header-field-face.
2275 (mh-interpret-number-as-range-flag)
2276 (mh-kill-folder-suppress-prompt-hook): Use "you" instead of "the
2277 user" to make text more friendly.
2278 (mh-index-ticked-messages-folders, mh-visible-headers)
2279 (mh-visible-header-fields): Alphabetized.
2280 (mh-alias-passwd-gcos-comma-separator-flag): Alphabetized and
2282 (mh-alias-local-users-prefix): Fixed docstring. Prefixes are
2283 prepended, not appended. Additional checkdoc fix.
2284 (mh-letter-header-field-face): Set group to new group
2285 mh-letter-faces and moved option into this group.
2287 * mh-index.el (mh-index-sequenced-messages): Improved wording of
2288 docstring and mentioned use of prefix argument.
2290 * mh-seq.el (mh-widen): Made docstring more accurate (hopefully!).
2292 2003-06-18 Satyaki Das <satyakid@stanford.edu>
2294 * mh-index.el (mh-replace-string): Modified to preserve case of
2296 (mh-index-parse-search-regexp): Preserve case of search terms.
2297 This is needed to take advantage of the acronym indexing in
2298 swish++ (closes SF #755718).
2300 2003-06-13 Satyaki Das <satyakid@stanford.edu>
2302 * mh-utils.el (mh-show-index-sequenced-messages): Interactive
2303 function callable from the show buffer.
2304 (mh-show-folder-map): Add key binding for "F q".
2306 * mh-e.el (mh-folder-map): Same as above.
2308 * mh-index.el (mh-index-sequenced-messages): Add interactive spec
2309 to the function (closes SF #718833).
2311 2003-06-13 Bill Wohler <wohler@newt.com>
2313 * mh-index.el (mh-flists-execute): Needed to expand mhpath too.
2315 2003-06-12 Satyaki Das <satyakid@stanford.edu>
2317 * mh-index.el (mh-flists-execute): Modified so that flists
2318 present in mh-progs is called.
2320 2003-06-07 Jeffrey C Honig <jch@honig.net>
2322 * mh-comp.el (mh-forward, mh-forward): Use (mh-mail-header-end) to
2323 find the end of headers instead of doing an re-search-forward
2324 based on mh-mail-header-separator.
2326 2003-06-06 Satyaki Das <satyakid@stanford.edu>
2328 * mh-comp.el (mh-letter-toggle-header-field-display): Make the
2329 function callable from the show buffer. This means that the
2330 buffer is temporarily made writable and the modification status
2331 of the buffer restored to the original value.
2333 2003-06-06 Peter S Galbraith <psg@debian.org>
2335 * mh-utils.el (mh-address-mail-regexp): Bug fix! It wasn't a true
2336 copy of the goto-addr variable. My modification only recognized
2337 addresses with one dot after the @. Sorry about that.
2339 2003-06-05 Satyaki Das <satyakid@stanford.edu>
2341 * mh-utils.el (mh-replace-in-string): Move comment into doc
2342 string to satisfy checkdoc.
2344 * mh-alias.el (mh-alias-apropos): Checkdoc fix.
2346 2003-06-05 Bill Wohler <wohler@newt.com>
2348 * mh-customize.el (mh-identity-list): Fixed typo in docstring.
2350 2003-06-05 Peter S Galbraith <psg@debian.org>
2352 * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to.
2354 2003-06-04 Peter S Galbraith <psg@debian.org>
2356 * mh-comp.el (mh-letter-complete-function-alist): Add dcc.
2358 2003-06-03 Peter S Galbraith <psg@debian.org>
2360 * mh-utils.el (mh-replace-in-string): New function name instead of
2361 `dired-replace-in-string'.
2362 * mh-alias.el (mh-alias-gcos-name): Use it.
2364 * mh-alias.el (mh-alias-apropos): New command. Show all aliases
2365 that match REGEXP either in name or content.
2367 * mh-alias.el (mh-alias-suggest-alias): Add no-comma-swap optional
2369 (mh-alias-canonicalize-suggestion): Change a comma to a period in
2371 (mh-alias-local-users): Call `mh-alias-suggest-alias' with
2372 `no-comma-swap' arg set to t.
2374 * mh-alias.el (mh-alias-local-users): Fix case of nil
2375 `mh-alias-passwd-gcos-comma-separator-flag'.
2377 * mh-alias.el (mh-alias-gcos-name): Fix for case of empty gcos
2379 (mh-alias-local-users): Fix same.
2381 * mh-alias.el (mh-alias-canonicalize-suggestion): Replace use by
2382 verbose `replace-regexp' by a looped `replace-match'
2384 2003-06-02 Peter S Galbraith <psg@debian.org>
2386 * mh-utils.el (dired-replace-in-string): Bind if not already
2387 defined. Borrowed from dired.el
2389 * mh-alias.el (mh-alias-gcos-name): switch to using
2390 dired-replace-in-string.
2392 2003-06-02 Satyaki Das <satyakid@stanford.edu>
2394 * mh-utils.el (mh-letter-font-lock-keywords): Fontify header
2395 fields in the draft buffer that aren't skipped when navigating
2396 with TAB (or S-TAB).
2398 * mh-customize.el (mh-clean-message-header-flag)
2399 (mh-invisible-headers, mh-invisible-header-fields)
2400 (mh-alias-passwd-gcos-comma-separator-flag): Checkdoc fix.
2401 (mh-letter-header-field-face): New face to fontify the header
2404 * mh-comp.el (mh-insert-auto-fields-done-local): Checkdoc fix.
2405 (mh-letter-mode, mh-letter-mail-header-end-marker): Remember the
2406 end of the message header in a marker. This is used to fontify the
2408 (mh-font-lock-field-data, mh-letter-header-end): Functions used
2409 to fontify message header fields.
2411 * mh-alias.el (mh-alias-gcos-name): Checkdoc fix.
2413 2003-06-02 Peter S Galbraith <psg@debian.org>
2415 * mh-alias.el (mh-alias-gcos-name): New function. Return a usable
2416 address string from a GCOS-NAME and USERNAME.
2417 (mh-alias-local-users): Use it.
2419 * mh-customize.el (mh-alias-passwd-gcos-comma-separator-flag): New
2420 defcustom. Whether the gcos field in the passwd file uses comma as
2423 * mh-customize.el (mh-alias-local-users-prefix): New
2424 defcustom. String to append to the real names of users from the
2425 passwd file. If nil, use the username string unmodified instead of
2426 the real name from the gcos field of the passwd file.
2428 * mh-alias.el (mh-alias-local-users): Use it to generate aliases
2429 which by default are now the real name prefixed by "local."
2431 2003-06-01 Peter S Galbraith <psg@debian.org>
2433 * mh-comp.el (mh-modify-header-field): Bug fix. Calling with with
2434 a value that was already inserted causes it to get inserted a
2435 second time. I have wrapped the value around \b word delimiters.
2436 Hope there are no side effects for other code.
2438 * mh-comp.el (mh-insert-auto-fields): Attempt regardless of
2439 `mh-insert-auto-fields-done-local' flag in interactive use.
2441 * mh-comp.el (mh-insert-auto-fields-done-local): Keep track of
2442 whether `mh-insert-auto-fields' was called in a buffer.
2443 (mh-insert-auto-fields): Set it and use it. Also, don't enter an
2444 identity if one was already entered manually.
2445 (mh-send-letter): Call `mh-insert-auto-fields' again when sending
2447 (mh-compose-and-send-mail): Call `mh-insert-auto-fields' _after_
2448 `mh-letter-mode' so `mh-identity-local' doesn't get cleared by the
2451 2003-06-01 Satyaki Das <satyakid@stanford.edu>
2453 * mh-loaddefs.el: Regenerated.
2455 * mh-seq.el (mh-thread-parse-scan-line): The value of
2456 mh-scan-field-from-start-offset was hardcoded in one place. The
2459 * mh-utils.el (mh-show-mode): Setup mh-show-mode to display
2460 elipsis for truncated header fields and to skip over them quickly.
2461 (mh-clean-msg-header): Make another pass over the message header
2462 fields truncating long headers.
2464 * mh-comp.el (mh-letter-complete): Remove unnecessary autoload.
2465 (mh-letter-toggle-header-field-display): Take into account that
2466 an empty line can also end the message header. The function was
2467 originally written with the draft buffer in mind.
2469 2003-06-01 Mark D. Baushke <mdb@gnu.org>
2471 * mh-comp.el (mh-letter-mode-map): Do not steal C-t. Use C-c C-t
2472 for the mh-letter-toggle-header-field-display command.
2474 2003-05-31 Peter S Galbraith <psg@debian.org>
2476 * mh-customize.el (mh-visible-headers): Changed to a defvar that
2477 will be set using new `mh-visible-headers' function using
2478 `mh-visible-header-fields' as input.
2479 (mh-visible-headers): New function, described above.
2480 (mh-visible-header-fields): New defcustom. The UI to set
2481 `mh-visible-headers'.
2482 (mh-invisible-header-fields-set): Deleted. Code merged into
2483 defcustom since it's so short.
2485 2003-05-31 Satyaki Das <satyakid@stanford.edu>
2487 * mh-comp.el (mh-letter-toggle-header-field-display): Extended to
2488 truncate headers if they are too long.
2489 (mh-letter-truncate-header-field): Make code that would be
2490 duplicated into a function.
2491 (mh-letter-hide-all-skipped-fields): Modified so that fields that
2492 are important are hidden if they are too long.
2494 2003-05-31 Satyaki Das <satyakid@stanford.edu>
2496 * mh-utils.el ("tool-bar"): Since tool-bar isn't available on
2497 XEmacs, requiring it causes problems. So load it instead.
2498 (mh-do-at-event-location): New macro to do stuff at location of
2499 events. This has been refactored out of mh-push-button.
2501 * mh-mime.el (mh-push-button): Simplified since it now uses the
2502 mh-do-at-event-location macro.
2504 * mh-comp.el (mh-hidden-header-keymap): Keymap to make mouse
2505 clicks on header toggle its display.
2506 (mh-letter-toggle-header-field-display-button): Interactive
2507 function to toggle header display when mouse button is clicked.
2509 2003-05-31 Peter S Galbraith <psg@debian.org>
2511 * mh-e.el (mh-folder-mode): Remove conditional on tool-bar-mode.
2513 * mh-comp.el (mh-letter-mode): Same.
2515 * mh-utils.el (mh-show-mode): Same.
2517 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2519 * mh-utils.el (tool-bar): Load tool-bar explicitly. This avoids
2520 problems with incorrect initialization of tool-bar-map otherwise.
2522 2003-05-30 Peter S Galbraith <psg@mixed.dyndns.org>
2524 * mh-comp.el (mh-modify-header-field): Minor fix of spaces for
2525 when an entry already existed.
2526 (mh-insert-auto-fields): Make interactive. Add optional `quiet'
2527 arg for use when called systematically on every buffer. Won't be
2528 used interactively for more verbose output.
2529 (mh-letter-mode-map): Add \C-c\M-d keybinding for
2530 mh-insert-auto-fields.
2532 * mh-identity.el (mh-identity-make-menu): Add a menu entry in
2533 Identity menu for mh-insert-auto-fields.
2535 * mh-customize.el (mh-invisible-header-fields): Add entries for
2536 `Envelope-to' and `X-Original-To'.
2538 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2540 * mh-comp.el (mh-letter-mode): Skip over invisible text quickly.
2542 2003-05-30 Satyaki Das <satyakid@stanford.edu>
2544 * mh-comp.el (mh-letter-mode): Use text properties to achieve
2545 invisibility. This is more portable and the same code can be used
2546 for all Emacs versions.
2547 (mh-letter-toggle-header-field-display): Rewritten to use text
2549 (mh-dead-overlay-p, mh-letter-hidden-header-fields)): Removed.
2551 2003-05-29 Satyaki Das <satyakid@stanford.edu>
2553 * mh-comp.el (mh-letter-hidden-header-fields, mh-letter-mode): Add
2554 a hash table, initialized it in mh-letter-mode, to remember the
2555 overlays introduced to hide long headers fields.
2556 (mh-insert-x-mailer): checkdoc fix.
2557 (mh-compose-and-send-mail): Hide unimportant message header
2559 (mh-letter-header-field-regexp, mh-letter-header-field-at-point)
2560 (mh-letter-next-header-field, mh-letter-previous-header-field):
2561 Add a variable that contains the header-field name regexp and use
2562 it instead of the regexp directly.
2563 (mh-letter-toggle-header-field-display, mh-letter-mode-map): Add
2564 new key binding in mh-letter-mode that toggles display of long
2565 header fields, in mh-letter-mode.
2566 (mh-dead-overlay-p): A predicate which checks if a given header
2567 field has an active overlay hiding it.
2568 (mh-letter-hide-all-skipped-fields): New function that shortens
2569 uninteresting headers.
2571 2003-05-29 Eric Ding <ericding@acorn.bethesda.net>
2573 * mh-comp.el (mh-letter-next-header-field-or-indent): Call
2574 indent-relative rather than indent-for-tab-command.
2576 2003-05-29 Satyaki Das <satyakid@stanford.edu>
2578 * mh-comp.el (mh-letter-complete-or-space): The meaning of the
2579 customizable variable was reversed. Also make the doc string more
2582 2003-05-28 Satyaki Das <satyakid@stanford.edu>
2584 * mh-customize.el (mh-compose-skipped-header-fields): New
2585 customizable variable that lists headers that are skipped.
2586 (mh-compose-space-does-completion-flag): Option to do completion
2587 with space (closes SF #745634).
2589 * mh-comp.el (mh-insert-x-mailer): Check the value of
2590 mh-insert-x-mailer-flag in this function instead of in its caller.
2591 (mh-compose-and-send-mail, mh-send-letter): Insert X-Mailer and
2592 X-Face headers when the draft is first presented to the user
2593 instead of when the mail is sent (closes SF #745624).
2594 (mh-letter-complete-or-space): Allow for this key binding to be
2596 (mh-letter-next-header-field): Fix a problem with multiline header
2598 (mh-letter-next-header-field, mh-letter-previous-header-field):
2599 Make these functions skip unwanted header fields.
2600 (mh-letter-skipped-header-field-p): New predicate that checks if a
2601 header field is to be skipped.
2603 * mh-seq.el (mh-thread-inc): Inc'ing email in threaded mode was
2604 causing duplication of the current notation. The change fixes that.
2606 2003-05-28 Satyaki Das <satyakid@stanford.edu>
2608 * mh-comp.el (mh-beginning-of-word): Generalize it to skip
2609 arbitrary number of words.
2610 (mh-letter-complete-or-space): New interactive function that
2611 allows space character to be used for completion.
2612 (mh-letter-mode-map): Add key binding to allow space to be used
2615 2003-05-27 Satyaki Das <satyakid@stanford.edu>
2617 * mh-customize.el (mh-compose-prompt-flag): Customizable variable
2618 that controls whether the user is prompted when composing a draft.
2619 It replaces mh-dont-prompt-for-address-flag (closes SF #745622).
2621 * mh-comp.el (mh-letter-next-header-field): If the point is in
2622 the header field name, then go the start of the header field
2623 instead of the next field.
2624 (mh-interactive-read-address, mh-interactive-read-string)
2625 (mh-letter-adjust-point): Use mh-compose-prompt-flag instead of
2626 mh-dont-prompt-for-address-flag.
2628 2003-05-27 Satyaki Das <satyakid@stanford.edu>
2630 * mh-customize.el (mh-tool-bar-define): Fix incorrect usage of
2631 set-specifier (closes SF #745655). Also the button enabling code
2632 interacts poorly with font-lock in XEmacs. So disable that.
2634 2003-05-26 Satyaki Das <satyakid@stanford.edu>
2636 * mh-e.el (mh-folder-from-address): The function
2637 message-fetch-field expects that the buffer is narrowed to the
2638 mail header. The change makes sure that this is indeed the case.
2640 * mh-mime.el (mh-add-missing-mime-version-header)
2641 (mh-decode-message-body): Same as above.
2643 2003-05-25 Satyaki Das <satyakid@stanford.edu>
2645 * mh-alias.el (mh-alias-minibuffer-confirm-address): Modified to
2646 use mh-beginning-of-word.
2648 * mh-comp.el (mh-letter-confirm-address): Calling
2649 mh-alias-reload-maybe can be expensive. So do it only if we really
2652 2003-05-25 Satyaki Das <satyakid@stanford.edu>
2654 * mh-loaddefs.el: Regenerated.
2656 * mh-comp.el (mh-letter-confirm-address): Load aliases if not yet
2659 * mh-alias.el (mh-alias-reload-maybe): Autoload it since it is
2662 2003-05-24 Satyaki Das <satyakid@stanford.edu>
2664 * mh-comp.el (mh-letter-skip-leading-whitespace-in-header-field):
2665 New function to skip leading space and tab characters when placing
2666 point in a header field.
2667 (mh-letter-next-header-field, mh-letter-previous-header-field):
2668 Skip leading whitespace when using TAB to navigate to header
2670 (mh-letter-confirm-address): New interactive function that
2671 displays the last expansion of the last alias when "," is typed.
2672 (mh-letter-mode-map): Add key binding for "," (closes SF #745634).
2674 2003-05-23 Satyaki Das <satyakid@stanford.edu>
2676 * mh-comp.el (mh-edit-again, mh-forward, mh-send)
2677 (mh-send-other-window, mh-send-sub): Modified so that if
2678 mh-dont-prompt-for-address-flag is non-nil, then MH-E won't prompt
2679 for addresses to send mail to and instead directly jump to the
2680 draft (closes SF #745622).
2681 (mh-letter-complete-function-alist): An alist that is used to
2682 decide which completion function to use in which header. This
2683 variable should probably be customizable.
2684 (mh-letter-complete): Now uses mh-letter-complete-function-alist.
2685 (mh-letter-header-field-at-point, mh-letter-next-header-field)
2686 (mh-letter-next-header-field-or-indent)
2687 (mh-letter-previous-header-field): Commands for easier navigation
2689 (mh-dont-prompt-for-address-flag): Variable which controls
2690 whether MH-E prompts for addresses.
2691 (mh-interactive-read-address, mh-interactive-read-string): Two
2692 functions to ask user for input depending on the value of the
2694 (mh-letter-adjust-point): New function that sets point to the
2696 (mh-letter-mode-map): Add key bindings for TAB and S-TAB (closes
2699 2003-05-23 Satyaki Das <satyakid@stanford.edu>
2701 * mh-loaddefs.el: Regenerated.
2703 * mh-comp.el (mh-complete-word): New function which is
2704 approximately equivalent to mail-abbrev-complete-alias.
2705 (mh-beginning-of-word): Refactor repeated code into its own
2707 (mh-folder-expand-at-point): Make Fcc completion work in XEmacs
2708 by not using mail-abbrev-complete-alias.
2710 * mh-alias.el (mh-alias-letter-expand-alias): Make alias
2711 expansion work in XEmacs. Replace the use of the function
2712 mail-abbrev-complete-alias, which isn't present in XEmacs.
2714 * mh-mime.el (mh-mml-to-mime): If a MIME message is created
2715 immediately after starting MH-E then invoking mh-mml-to-mime
2716 causes an error because "message" isn't being loaded. The change
2717 works around this problem.
2718 (mh-mime-maybe-display-alternatives): Give better indication of
2719 which MIME parts are alternatives.
2721 2003-05-22 Satyaki Das <satyakid@stanford.edu>
2723 * mh-e.el (mh-add-sequence-notation, mh-remove-sequence-notation):
2724 Just delete and add the same character in the scan line to make
2725 font-lock refontify it. The previous trick of removing all text
2726 properties didn't work in XEmacs.
2728 * mh-seq.el (mh-put-msg-in-seq): Complain if the user tries to
2729 create an invalid MH sequence.
2731 * mh-mime.el (mh-mime-display-alternative): Modified to
2732 optionally display alternatives as buttons.
2733 (mh-mime-maybe-display-alternatives): New function which displays
2734 alternative MIME parts as buttons.
2735 (mh-mime-save-part): Initially mh-mime-save-parts-directory is
2736 nil and calling file-name-as-directory with nil arg leads to an
2737 error. So fall back on the default-directory in that case.
2739 * mh-customize.el (mh-display-buttons-for-alternatives-flag): New
2740 customizable variable that controls display of the alternative
2741 MIME parts (closes SF #741288).
2743 2003-05-22 Peter S Galbraith <psg@debian.org>
2745 * mh-customize.el (mh-invisible-header-fields): Commented out
2746 "User-Agent:". It's similar to X-Mailer, so display it.
2748 2003-05-21 Satyaki Das <satyakid@stanford.edu>
2750 * mh-customize.el (mh-tool-bar-define): Add an optional argument
2751 to the button description that can dynamically enable/disable
2753 (mh-tool-bar-define): The alias grabbing button is disabled if the
2754 current message doesn't have a From header or if the sender is
2755 already in the user's alias. This functionality was inadvertently
2756 lost when the Emacs/XEmacs toolbar unification took place.
2758 2003-05-20 Satyaki Das <satyakid@stanford.edu>
2760 * mh-unit.el (mh-unit-construct-call-graph): Be more aggressive
2761 and flag interactive functions that aren't autoloaded or have no
2763 (mh-unit-interactive-function-p): Remove now unused function.
2764 (mh-unit, mh-unit-construct-call-graph): Replace mh-files with
2767 2003-05-20 Bill Wohler <wohler@newt.com>
2769 * mh-unit.el (mh-prune-trailing-spaces): Renamed to
2770 mh-unit-prune-trailing-spaces to clean up the namespace.
2771 (mh-files): Renamed to mh-unit-files. Ditto.
2772 (mh-unit): Checkdoc fix.
2774 * mh-index.el (mh-index-p): Added autoload cookie since mh-index-p
2775 is used by mh-customize.el. This calls for another mh-unit test
2776 that looks for mh-autoloads for functions that are no longer used
2779 * mh-loaddefs.el: Regenerated.
2781 2003-05-20 Satyaki Das <satyakid@stanford.edu>
2783 * mh-unit.el (mh-unit-construct-call-graph): Factor out the code
2784 to read the lisp files to a separate function. Also change it to
2785 construct a function call-graph. Autoloaded functions are taken
2787 (mh-unit-find-all-used-functions, mh-unit-called-functions)
2788 (mh-unit-find-all-unused-functions): Find all unused functions by
2789 computing a fixed point starting from the set of top level
2791 (mh-unit-analyze-block): Removed.
2792 (mh-unit-update-call-graph): mh-unit-functions-called was renamed
2793 with modifications to update the function call graph.
2795 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2797 * mh-loaddefs.el: Regenerated.
2799 * mh-utils.el (mh-notate): Modified to keep track of notation
2800 that was replaced when sequence notation is added. Thus when the
2801 sequence is deleted, the original notation is recovered.
2802 (mh-add-msgs-to-seq): Modified to work with the new sequence
2805 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Simplified since
2806 we don't need to handle tick and unseen sequences specially any
2808 (mh-narrow-to-seq): Don't need to call mh-notate-user-sequences
2809 since mh-copy-seq-to-eob already does that.
2810 (mh-widen): Remove sequence notation, so that notation when
2811 messages are replied to aren't lost.
2812 (mh-copy-seq-to-eob): Simplified with the use of
2813 mh-iterate-on-range.
2814 (mh-thread-inc): This function doesn't need to notate user
2815 sequences since its callers already do that.
2816 (mh-thread-parse-scan-line): Simplified since mh-note-seq doesn't
2817 appear in scan lines it is given as arguments.
2818 (mh-thread-update-scan-line-map): Remove the test, since its
2819 caller already does the required check.
2820 (mh-thread-folder): Simplified by the use of mh-iterate-on-range.
2821 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick):
2822 These functions aren't needed any more, since overlays aren't used
2823 any more. Also overlays aren't portable to XEmacs, so nasty
2824 conditional code that used overlays in Emacs and extents in Xemacs
2825 have been eliminated.
2826 (mh-toggle-tick): Generalize it to work on a range of messages
2827 like the other interactive messages.
2829 * mh-funcs.el (mh-undo-folder): Use mh-remove-all-notation
2830 instead of mh-unmark-all-headers.
2832 * mh-e.el (mh-folder-font-lock-keywords): The entry for unseen
2833 sequence highlighting is now done by the macro.
2834 (mh-generate-sequence-font-lock): New macro to highlight any
2835 arbitrary sequence. This macro is invoked twice to get the
2836 highlighting for unseen and tick sequences.
2837 (mh-sequence-notation-history, mh-folder-mode): New variable that
2838 keeps track of the old notation when a message is notated with
2840 (mh-regenerate-headers, mh-get-new-mail): Add appropriate calls to
2841 mh-notate-user-sequences and mh-remove-all-notation.
2842 (mh-unmark-all-headers): Add comment that this function shouldn't
2844 (mh-add-sequence-notation, mh-remove-sequence-notation): New
2845 functions to notate message with mh-note-seq and to remove it.
2846 (mh-remove-all-notation): Simplified to use mh-iterate-on-range.
2847 (mh-process-commands): Use mh-remove-all-notation instead of
2848 mh-unmark-all-headers.
2849 (mh-notate-user-sequences, mh-delete-msg-from-seq): Simplified
2850 since the tick and unseen sequences don't need special handling
2852 (mh-internal-seq): Make it possible to dynamically change what
2853 sequences are treated as internal (internal means font lock is
2854 used to highlight the sequence).
2855 (mh-clear-text-properties): Removed since it isn't needed
2858 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2860 * mh-unit.el (mh-unit-analyze-block, mh-unit-interactive-function-p)
2861 (mh-unit-find-all-unused-functions): Change argument name bl to
2864 2003-05-19 Satyaki Das <satyakid@stanford.edu>
2866 * mh-unit.el (mh-unit-find-all-unused-functions): New interactive
2867 function to find all unused functions in MH-E.
2868 (mh-unit-analyze-block, mh-unit-interactive-function-p)
2869 (mh-unit-functions-called): Functions used by
2870 mh-unit-find-all-unused-functions do its job.
2872 * Makefile (compile): Byte-compile mh-unit.el, since the analysis
2873 to find unused code runs faster when compiled.
2875 2003-05-18 Satyaki Das <satyakid@stanford.edu>
2877 * mh-loaddefs.el: Regenerated.
2879 * mh-seq.el (mh-notate-deleted-and-refiled): Add autoload
2880 declaration since this function is used in mh-index.el.
2882 * mh-e.el, mh-customize.el, mh-utils.el: Adjust require/provide
2883 statements so that mh-e.el isn't loaded twice.
2885 2003-05-15 Satyaki Das <satyakid@stanford.edu>
2887 * mh-utils.el (mh-defun-show-buffer): Arrange for the current
2888 line in the folder buffer to be highlighted even when we are in
2891 2003-05-14 Satyaki Das <satyakid@stanford.edu>
2893 * mh-seq.el (mh-read-range): Allow this to work on invalid
2894 sequences that only MH-E knows about.
2896 * mh-index.el (mh-create-sequence-map, mh-index-add-to-sequence)
2897 (mh-index-delete-from-sequence): Don't consider sequences that
2898 aren't valid MH sequences.
2900 * mh-e.el (mh-valid-seq-p): New predicate to check if a symbol
2901 could be a MH sequence.
2902 (mh-undefine-sequence, mh-define-sequence): Don't execute "mark"
2903 unless the sequence name is a valid MH sequence.
2905 * mh-utils.el (mh-exec-cmd): In case an error happens in the
2906 call-process and non-strings are present in ARGS, then the error
2907 message isn't properly displayed. The change fixes this.
2909 2003-05-14 Peter S Galbraith <psg@debian.org>
2911 * mh-mime.el (mh-mime-save-part): Bug Fix: Make sure
2912 `mm-default-directory' gets a trailing "/" if
2913 `mh-mime-save-parts-directory' doesn't have one. Otherwise the
2914 default in the prompt of `mh-mm-save-part' will be wrong. Perhaps
2915 `mh-mm-save-part' needs to do this check itself.
2917 2003-05-14 Satyaki Das <satyakid@stanford.edu>
2919 * mh-index.el (mh-unpropagated-sequences): New function and
2920 variable to keep track of sequences that shouldn't be propagated.
2921 (mh-create-sequence-map, mh-index-add-to-sequence)
2922 (mh-index-delete-from-sequence): Use mh-unpropagated-sequences to
2923 stop changes to some sequences being reflected back to the source
2926 2003-05-13 Satyaki Das <satyakid@stanford.edu>
2928 * mh-loaddefs.el: Regenerated.
2930 * mh-e.el (mh-process-commands): Preserve sequences when messages
2931 are refiled (closes SF #737128).
2933 * mh-index.el (mh-create-sequence-map)
2934 (mh-index-create-sequences): Refactor code that is reused into a
2937 * mh-customize.el (mh-refile-preserves-sequences-flag): New
2938 customizable flag that controls whether sequences are preserved
2939 when messages are refiled.
2941 2003-05-13 Eric Ding <ericding@alum.mit.edu>
2943 * mh-e.el (mh-scan-format): The argument for scan format files
2944 should be -form, not -format.
2946 2003-05-13 Satyaki Das <satyakid@stanford.edu>
2948 * mh-seq.el (mh-widen): The scan line map stack was not being
2949 properly updated when ALL-FLAG is non-nil. The change fixes that.
2951 * mh-e.el (mh-reset-threads-and-narrowing): The change resets the
2952 scan line map stack.
2954 2003-05-12 Satyaki Das <satyakid@stanford.edu>
2956 * mh-loaddefs.el: Regenerated.
2958 * mh-seq.el (mh-thread-scan-line-map-stack)
2959 (mh-thread-old-scan-line-map): Instead of the old scan line map,
2960 now we need to maintain a stack of scan line maps.
2961 (mh-narrow-to-seq): Modified so that multiple level of narrowings
2962 can be done. We now maintain a stack of old views instead of
2963 hiding the old scan lines. This makes it possible to have
2964 multiple levels of narrowings.
2965 (mh-widen): A optional prefix arg was added to allow undoing all
2967 (mh-read-seq-default, mh-read-range): Don't use
2968 mh-narrowed-to-seq, since it doesn't exist any more.
2969 (mh-thread-initialize-hash, mh-thread-initialize): The
2970 mh-thread-initialize function has been refactored.
2971 (mh-thread-update-scan-line-map): Maintain notations in the stack
2973 (mh-notate-tick, mh-toggle-tick): Simplified, since we don't have
2974 mh-narrowed-to-seq any more. This means there is a slight loss of
2975 functionality. Earlier if we narrowed to the tick sequence the
2976 ticked messages weren't highlighted. This feature isn't present
2979 * mh-e.el (mh-execute-commands, mh-reset-threads-and-narrowing)
2980 (mh-folder-sequence-menu, mh-get-new-mail): Use
2981 mh-folder-view-stack instead of the now removed
2983 (mh-narrowed-to-seq, mh-tick-seq-changed-when-narrowed-flag):
2984 These variables have been removed.
2985 (mh-folder-view-stack): New variable to keep track of a stack of
2987 (mh-execute-commands, mh-get-new-mail): Add extra argument to
2988 mh-widen so that all narrowings are undone.
2990 * Makefile (MH-E-SRC, MH-E-OTHERS): Move mh-gnus.el from MH-E-SRC
2991 to MH-E-OTHERS so that it isn't byte compiled.
2993 2003-05-10 Satyaki Das <satyakid@stanford.edu>
2995 * mh-seq.el (mh-read-seq): Improve the function a bit by adding
2996 history to the sequence prompt.
2998 2003-05-09 Satyaki Das <satyakid@stanford.edu>
3000 * mh-gnus.el: New file that won't be byte-compiled. From now on
3001 having different Gnus versions at run-time and compile-time won't
3002 cause errors in MH-E.
3004 * mh-mime.el (mh-small-show-buffer-p, mh-display-smileys)
3005 (mh-display-emphasis): Handle all legal values of
3006 font-lock-maximum-size. The existing code assumed didn't consider
3007 the case where it could be an alist.
3008 (mh-small-image-p): Simplified, so that aliasing XEmacs functions
3009 in Emacs isn't necessary any more.
3010 (mh-mm-display-part): Remove unnecessary call to fboundp. The
3011 mh-funcall-if-exists does that for us any way.
3012 (mh-defun-compat, gnus-local-map-property, mm-merge-handles)
3013 (mm-set-handle-multipart-parameter, mm-readable-p)
3014 (mm-long-lines-p, mm-keep-viewer-alive-p, mm-destroy-parts)
3015 (mh-mm-save-part, mm-handle-multipart-ctl-parameter): These
3016 compatibility functions have been moved to mh-gnus.el.
3018 * Makefile (MH-E-SRC): Add mh-gnus.el.
3020 * mh-seq.el (mh-narrow-to-header-field)
3021 (mh-current-message-header-field): Checkdoc fixes.
3023 * mh-e.el (mh-undefine-sequence): Since mh-coalesce-msg-list
3024 returns a list, apply is needed.
3026 2003-05-09 Noel Cragg <noel@red-bean.com> (tiny change)
3028 * mh-junk.el (mh-spamassassin-blacklist): Separate "--local" and
3029 "--no-rebuild" arguments to call-process.
3030 [Patch committed by satyaki]
3032 2003-05-08 Satyaki Das <satyakid@stanford.edu>
3034 * mh-seq.el (mh-translate-range): Take into account differnt
3035 semantics of split-string in Emacs and XEmacs.
3036 (mh-read-pick-regexp, mh-narrow-to-from, mh-narrow-to-cc)
3037 (mh-narrow-to-to, mh-narrow-to-header-field)
3038 (mh-current-message-header-field, mh-narrow-to-range): New
3039 narrowing functions that can select messages based on different
3042 * mh-utils.el (mh-show-limit-map): Add new narrowing functions
3043 callable from the show buffer.
3045 * mh-e.el (mh-help-messages): Add help text for new functions.
3046 (mh-limit-map): Add new narrowing functions (closes SF #732823).
3048 2003-05-07 Satyaki Das <satyakid@stanford.edu>
3050 * mh-utils.el (mh-collect-folder-names): Use mh-exec-daemon to
3051 run flists. This means we don't have to remember to expand the MH
3052 executable in the mh-progs path.
3053 (mh-exec-cmd-daemon): Return the new process object produced.
3055 2003-05-06 Satyaki Das <satyakid@stanford.edu>
3057 * mh-e.el (mh-folder-font-lock-unseen): Use mh-seq-list to do
3058 unseen sequence highlighting instead of reading the .mh_sequences
3059 file from disk every time.
3061 2003-05-05 Satyaki Das <satyakid@stanford.edu>
3063 * mh-utils.el (mh-show-sequence-map): Add key binding for S'
3064 (closes SF #732825).
3066 * mh-e.el (mh-sequence-map): Ditto.
3067 (mh-help-messages): Updated for S'.
3069 2003-05-04 Satyaki Das <satyakid@stanford.edu>
3071 * mh-index.el (mh-index-write-data): The with-temp-buffer macro
3072 is a bit better than write-file, so use that instead.
3074 2003-05-03 Satyaki Das <satyakid@stanford.edu>
3076 * mh-index.el (mh-index-update-maps, mh-index-search)
3077 (mh-index-sequenced-messages): Write index data to disk. This
3078 allows us to recover index folder information if Emacs is
3079 restarted, or the index folder is visited after the buffer has
3080 been killed (closes SF #701762).
3081 (mh-index-write-data, mh-index-read-data)
3082 (mh-index-write-hashtable, mh-index-read-hashtable): Functions to
3083 store and read index data information to disk.
3084 (mh-index-insert-folder-headers, mh-index-group-by-folder): We
3085 can no longer use object identity to compare strings, since they
3086 might have been read back from disk.
3088 * mh-e.el (mh-index-data-file): New variable that stores the name
3089 of the file that keeps track of index folder data.
3090 (mh-make-folder): Read index folder data if available.
3092 * mh-utils.el (mh-show, mh-summary-height, mh-modify): Make
3095 * mh-seq.el (mh-tick-add-overlay): Rearrange code to make code
3098 * mh-loaddefs.el: Regenerated.
3100 2003-05-02 Satyaki Das <satyakid@stanford.edu>
3102 * mh-seq.el (mh-tick-add-overlay): If a message with a short scan
3103 line is ticked, then the highlighting didn't extend to the right
3104 margin. This change fixes that.
3106 2003-05-01 Bill Wohler <wohler@newt.com>
3108 * mh-e.el (mh-help-messages): Added brackets around / and
3109 downcased limit to be consistent with other commands with
3110 punctuation keybindings. Don't document aliases.
3112 2003-05-01 Satyaki Das <satyakid@stanford.edu>
3114 * mh-loaddefs.el: Regenerated.
3116 * mh-seq.el (mh-read-range): Fix comment.
3118 2003-04-30 Mark D. Baushke <mdb@gnu.org>
3120 * mh-e.el (mh-help-messages): Better documentation for the F map.
3122 2003-04-30 Satyaki Das <satyakid@stanford.edu>
3124 * mh-utils.el (mh-find-path): Cache folder names so that
3125 folder name completion is always fast.
3126 (mh-flists-partial-line, mh-flists-process): Variables used for
3127 pre-caching folder names.
3128 (mh-collect-folder-names, mh-collect-folder-names-filter)
3129 (mh-populate-sub-folders-cache): Functions to pre-cache folder
3131 (mh-exec-cmd): Produce more info in *MH-E Log*.
3133 * mh-index.el (mh-index-search): Call the correct function.
3134 (mh-index-sequenced-messages): If folders is nil, then all mail
3135 is searched. The change restores that.
3137 2003-04-30 Peter S Galbraith <psg@debian.org>
3139 * mh-customize.el (mh-summary-height): Move variable integer out
3140 of defcustom, and instead specify that `nil' means to calculate
3141 that size dynamically. Fixes SF #723267.
3143 * mh-utils.el (mh-summary-height): New function. Return ideal
3144 mh-summary-height value for current frame height.
3145 (mh-show-msg): Use it.
3147 2003-04-30 Mark D. Baushke <mdb@gnu.org>
3149 * mh-index.el (mh-index-ticked-messages): Fix prompt and
3151 (mh-index-new-messages): Ditto.
3153 * mh-loaddefs.el: Regenerated.
3155 * mh-index.el (mh-index-sequenced-messages): Renamed from
3156 mh-index-new-messages with minor argument change.
3157 (mh-index-new-messages): Implement by calling
3158 mh-index-sequenced-messages with the appropriate arguments.
3159 (mh-index-ticked-messages): New function. Does the same thing as
3160 mh-index-new-messages, but on its own set of folders and using the
3161 mh-tick-seq instead of mh-unseen-seq.
3163 * mh-e.el (mh-folder-map): Add "F'" to the map for
3164 mh-index-ticked-messages.
3165 (mh-help-messages): Replace broken [t]hread with [n]ew messages.
3167 * mh-customize.el (mh-index-ticked-messages-folders): New user
3168 customizable flag that controls the folders to be searched by
3169 mh-index-ticked-messages.
3171 * mh-utils.el (mh-show-index-ticked-messages): Wrapper for
3172 mh-index-ticked-messages.
3173 (mh-show-folder-map): Add "F'" to the map for
3174 mh-index-ticked-messages.
3176 2003-04-30 Satyaki Das <satyakid@stanford.edu>
3178 * mh-index.el (mh-index-search): The old cur in the source folder
3179 might not exist. This could cause mh-exec-cmd to fail. So don't
3180 add an error message in that case.
3182 2003-04-29 Satyaki Das <satyakid@stanford.edu>
3184 * mh-e.el (mh-folder-from-address): Modified to allow multiple
3185 Cc: headers to work properly.
3186 (mh-inc-folder, mh-visit-folder): Fix an off by one error.
3188 * mh-utils.el (mh-notate): Update the scan line map. This fixes a
3189 tiny bug. In threaded view, if a message is replied to then the
3190 message is notated with a "-". Now if inc is done then the "-"
3191 added is lost. The change fixes this.
3193 * mh-seq.el (mh-translate-range): Use the correct function.
3194 (mh-thread-update-scan-line-map): New function that updates the
3195 scan line map when a message is notated.
3197 2003-04-28 Satyaki Das <satyakid@stanford.edu>
3199 * mh-index.el (mh-index-parse-search-regexp): Avoid compiler
3200 warning in GNU Emacs 21.3.
3202 * mh-seq.el (mh-widen): Ditto.
3204 2003-04-28 Satyaki Das <satyakid@stanford.edu>
3206 * mh-customize.el (mh-interpret-number-as-range-flag): New user
3207 customizable flag that controls whether a single number, N is
3208 interpreted as the range last:N.
3210 * mh-seq.el (mh-read-range): Generalize it for use when reading
3212 (mh-interactive-range): Modified to use the new mh-read-range.
3214 * mh-speed.el (mh-speed-view): Use mh-read-range instead of the
3215 now removed mh-read-msg-range function.
3217 * mh-funcs.el (mh-pack-folder): Ditto.
3219 * mh-e.el (mh-rescan-folder, mh-visit-folder): Ditto.
3220 (mh-read-msg-range): Removed.
3222 * mh-loaddefs.el: Regenerated
3224 2003-04-27 Satyaki Das <satyakid@stanford.edu>
3226 * mh-loaddefs.el: Regenerated.
3228 * mh-seq.el (mh-range-completion-function): Fix checkdoc warning.
3229 (mh-iterate-on-range): Mention that the macro can iterate over a
3230 MH message range too.
3232 2003-04-27 Bill Wohler <wohler@newt.com>
3234 * mh-unit.el (mh-unit): As it turns out, lm-crack-copyright has
3235 been updated to handle multiple-line copyrights in 21.3, so
3236 updated code to run lm-verify only if user has 21.3 or greater.
3237 Delete buffers after use, unless user already had buffer open.
3239 2003-04-27 Satyaki Das <satyakid@stanford.edu>
3241 * mh-loaddefs.el: Regenerated.
3243 * mh-index.el (mh-index-search): The MH command "refile" changes
3244 cur. The change restores cur in source folders.
3245 (mh-index-new-messages): Use the appropriate arguments for
3248 * mh-seq.el (mh-read-seq-default, mh-read-seq): Restore these
3249 functions to just read sequence names.
3250 (mh-range-seq-names, mh-range-history, mh-range-completion-map)
3251 (mh-range-completion-function, mh-read-range): New function which
3252 reads MH range with completion and history.
3253 (mh-interactive-range): Use mh-read-range instead of
3254 mh-read-seq-default.
3255 (mh-put-msg-in-seq): Change documentation about MH message range.
3257 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Change
3258 documentation about MH message range.
3260 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3262 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion)
3263 (mh-refile-msg, mh-undo, mh-delete-msg-from-seq): Ditto.
3265 * mh-comp.el (mh-forward): Ditto.
3267 2003-04-26 Satyaki Das <satyakid@stanford.edu>
3269 * mh-comp.el, mh-e.el, mh-funcs.el, mh-junk.el, mh-seq.el:
3270 Replace msg-or-seq with range everywhere.
3272 * mh-loaddefs.el: Regenerated.
3274 2003-04-25 Satyaki Das <satyakid@stanford.edu>
3276 * mh-e.el (mh-index-sequence-search-flag, mh-folder-mode): New
3277 local variable to remember that a folder buffer contains results
3278 from a sequence search. This is needed so that "C-u F i" will work
3280 (mh-visit-folder): Create sequences in the index folder.
3281 (mh-process-commands, mh-delete-msg-from-seq): If speedbar is on
3282 then update the speedbar message counts immediately.
3283 (mh-delete-msg-from-seq): Make the code faster by calling "mark"
3284 just once. Also update source folder sequence if messages are
3285 being deleted from a sequence in an index folder.
3286 (mh-undefine-sequence): Simplified to remove the speedbar updating
3287 code. Also DTRT and don't change any sequence when called with an
3288 empty list of messages.
3289 (mh-refile-msg, mh-delete-msg): Move to next message only if the
3290 current message has been deleted or refiled, as the case may be.
3292 * mh-utils.el (mh-show-msg): Update the message counts in the
3293 speedbar, if it is on, immediately.
3294 (mh-speed-flists-active-p, mh-speed-flists-inhibit-flag): A new
3295 flag has been added which inhibits updating of the speedbar. This
3296 is used to avoid needless speedbar updates when
3297 mh-execute-commands is called in index folders.
3299 * mh-speed.el (mh-speed-flists): Extended so that multiple
3300 folders can be given as arguments. Also the code that kept track
3301 of the current folder, needed since flists adds an extra ?+ char
3302 at the end of the current folder name, wasn't entirely correct.
3303 That has also been fixed.
3305 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Modified so that
3306 sequence in source folder is updated if we delete a sequence in an
3308 (mh-read-seq, mh-read-seq-default, mh-translate-range)
3309 (mh-interactive-msg-or-seq): The mh-interactive-msg-or-seq
3310 function can read in an arbitrary MH message range.
3311 (mh-iterate-on-msg-or-seq): The macro has been extended to work on
3313 (mh-subject-to-sequence, mh-subject-to-sequence-unthreaded)
3314 (mh-subject-to-sequence-threaded, mh-thread-find-msg-subject): Fix
3315 the mh-subject-to-sequence function so that it will work in
3316 threaded folders too.
3317 (mh-tick-add-overlay): Fix a leak of overlays.
3318 (mh-toggle-tick): Ticking, or unticking, messages in the index
3319 folder is propagated to the source folders (closes SF #709664).
3321 * mh-index.el (mh-flists-results-folder, mh-flists-sequence)
3322 (mh-flists-called-flag): New variables to implement searching for
3323 arbitrary sequences.
3324 (mh-index-generate-pretty-name): Updated so that folder names are
3325 generated for flists search that can take any sequence name.
3326 (mh-index-search): Since sequences are now properly maintained the
3327 unseen-flag argument isn't needed and hence removed. Also redoing
3328 a sequence search with "C-u F i" is handled correctly. Finally
3329 the speedbar is updated to reflect the new index folder created.
3330 (mh-index-create-sequences): New function that creates sequences
3331 in the index folder.
3332 (mh-index-matching-source-msgs, mh-index-execute-commands):
3333 Improved so that scan lines for refiled/deleted messages are
3334 removed from the source folders as well.
3335 (mh-index-add-to-sequence, mh-index-delete-from-sequence): New
3336 functions to update sequences in source folder to reflect changes
3338 (mh-index-quote-for-shell): A utility function to that quotes
3339 characters with special meaning to /bin/sh.
3340 (mh-flists-execute, mh-index-new-messages): Updated to search for
3341 arbitrary sequences (closes SF #718833).
3343 * mh-loaddefs.el: Regenerated.
3345 2003-04-25 Bill Wohler <wohler@newt.com>
3347 * mh-customize.el (mh-kill-folder-suppress-prompt-hook): New hook
3348 used by mh-kill-folder to suppress the prompt.
3350 * mh-funcs.el (mh-kill-folder): Suppress prompt not if
3351 mh-index-data is non-nil, but if any functions in
3352 mh-kill-folder-suppress-prompt-hook return non-nil.
3354 * mh-index.el (mh-index-p): New function with returns non-nil if
3355 the current folder was generated by an index search for use by
3356 mh-kill-folder-suppress-prompt-hook
3358 * mh-unit.el (mh-unit): Commented out lm-verify step until code
3359 updated to handle split Copyright lines.
3361 * mh-e.el (mh-version): Set to 7.3+cvs.
3363 2003-04-24 Bill Wohler <wohler@newt.com>
3365 * Released MH-E version 7.3.
3367 * MH-E-NEWS, README: Updated for release 7.3.
3369 * mh-e.el (Version, mh-version): Updated for release 7.3.
3371 2003-04-24 Satyaki Das <satyakid@stanford.edu>
3373 * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
3374 time, since the mh-do-in-xemacs macro is used.
3376 * mh-inc.el (cl): Require cl at compile time since we are using
3377 the loop and setf macros.
3379 2003-04-24 Satyaki Das <satyakid@stanford.edu>
3381 * mh-unit.el (mh-files): Fix the list of files to check.
3383 2003-04-24 Bill Wohler <wohler@newt.com>
3385 * ChangeLog: Appended copyright to end of file.
3387 * Makefile: Added copyright and license.
3389 * README: Added copyright.
3391 * import-emacs: Changed copyright from Newt Software to Bill
3392 Wohler and use license from mh-e.el, except that this file is
3393 a part of MH-E, not GNU Emacs.
3395 * mh-alias.el: Updated copyright so that it doesn't wrap upon
3396 advice from Richard Stallman who said to use two-digit years when
3397 they are surrounded by 4-digit years that are in the same century
3398 and to break up copyrights on multiple lines.
3399 * mh-comp.el: Ditto.
3401 * mh-funcs.el: Ditto.
3402 * mh-identity.el: Ditto.
3403 * mh-mime.el: Ditto.
3405 * mh-utils.el: Ditto.
3406 * mh-xemacs-compat.el: Ditto.
3408 * mh-unit.el: New file. Unit tests for MH-E. This version merely
3409 runs checkdoc and lm-verify which is useful before releasing the
3410 software. It can and should be expanded to do real unit tests.
3412 2003-04-22 Mark D Baushke <mdb@gnu.org>
3414 * mh-alias.el: Update Copyright.
3415 * mh-comp.el: Ditto.
3416 * mh-customize.el: Ditto.
3418 * mh-funcs.el: Ditto.
3419 * mh-identity.el: Ditto.
3420 * mh-index.el: Ditto.
3421 * mh-mime.el: Ditto.
3422 * mh-pick.el: Ditto.
3424 * mh-speed.el: Ditto.
3425 * mh-utils.el: Ditto.
3426 * mh-xemacs-compat.el: Ditto.
3428 2003-04-22 Satyaki Das <satyaki@theforce.stanford.edu>
3430 * mh-utils.el (mh-normalize-folder-name): Make the completion
3431 code work properly with XEmacs. This change is neeeded since
3432 split-string behaves differently in XEmacs than it does in GNU
3434 (mh-exec-cmd-error): Add a comment, so that we change it later on.
3436 2003-04-18 Steve Youngs <youngs@xemacs.org>
3438 * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
3439 not 'mh-xemacs-toolbar'.
3441 * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
3442 now called 'mh-xemacs-icons' and it is required from
3445 * mh-customize.el: Require 'mh-xemacs-icons' instead of
3446 'mh-xemacs-toolbar'.
3448 2003-04-17 Peter S Galbraith <psg@debian.org>
3450 * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
3453 * mh-xemacs-toolbar.el: Deleted.
3455 * Makefile: Incorporate the file renaming.
3457 2003-04-15 Bill Wohler <wohler@newt.com>
3459 * mh-comp.el (mh-forward): Pass a list of messages into
3460 mh-compose-and-send-mail instead of msg-or-seq.
3461 (mh-annotate-msg): The previous version called
3462 mh-iterate-on-msg-or-seq in the letter buffer. The new version
3463 simply adds the ability to operate on message lists. Thanks to
3464 Satyaki for the fix and suggestion for passing a list from
3467 2003-04-14 Bill Wohler <wohler@newt.com>
3469 * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
3470 mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
3471 which in turn passed the msg-or-seq to mh-annotate-msg. In
3472 particular, forwarding a region failed. Note that the msgs
3473 argument in much of mh-comp.el should really be converted to
3474 msg-or-seq accordingly. But not now, unless something is broken as
3475 was the case here. We can revamp after the release.
3477 2003-04-13 Bill Wohler <wohler@newt.com>
3479 * mh-funcs.el (mh-kill-folder): Added space after prompt to give
3480 the (yes or no) bit a little elbow room.
3482 * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
3483 Reinstated Steve's copyright.
3485 2003-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
3487 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
3488 indentation hooks for the macros.
3490 2003-04-11 Bill Wohler <wohler@newt.com>
3492 * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
3493 mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
3494 Merged in changes from CVS GNU Emacs. These included the removal
3495 of trailing whitespace.
3497 * mh-customize.el: The "anti-entropy" check-in. Moved groups
3498 around slightly to reflect commentary. Moved defcustoms around
3499 to preserve alphabetization. Big diff, little content.
3500 (mh-xemacs-use-toolbar-flag): Doc fix.
3501 (mh-xemacs-toolbar-position): Fixed typo in docstring.
3502 (mh-default-folder-list): Updated docstring to reflect new Check
3503 Recipient tag. Also, set type of Address to regexp.
3504 (mh-x-mailer-string): Moved to mh-comp.el where it is used.
3506 * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
3507 Not quite sure how it got to mh-customize.el in the first place.
3509 * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
3512 * mh-utils.el (mh-show-folder-menu): Ditto.
3514 * mh-inc.el: Added Change Log comment (lm-verify fix).
3516 * mh-index.el (mh-index-search): Added documentation about prefix
3517 argument for users, in addition to documentation for programmers.
3519 * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
3520 fixes germaine to the change whereby we now check for MIME
3521 directives before sending.
3523 * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
3524 (lm-verify fix). Added standard MH-E local variables. Removed
3527 2003-04-11 Satyaki Das <satyaki@theforce.stanford.edu>
3529 * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
3531 2003-04-10 Satyaki Das <satyaki@theforce.stanford.edu>
3533 * mh-index.el (mh-index-visit-folder): Prompt before reusing
3534 existing folder buffer.
3536 * mh-xemacs-toolbar.el (require): Require mh-utils at compile
3537 time to avoid compilation error when doing "make bootstrap" in
3540 * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
3541 time warning is avoided when doing "make bootstrap" in CVS Emacs.
3543 2003-04-10 Peter S Galbraith <psg@debian.org>
3545 * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
3546 of a defmacro, applying Satyaki's patch.
3547 (mh-inc-spool-def-key): same.
3548 (mh-inc-spool-make): same.
3550 * mh-utils.el: define-key "I" in mh-show-mode-map for
3553 * mh-comp.el (mh-modify-header-field): Remove debug message.
3555 2003-04-10 Peter S Galbraith <psg@debian.org>
3557 * mh-inc.el (mh-inc-spool-map-help): Default to nil.
3558 (mh-inc-spool-map): Make "?" key display message when
3559 `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
3560 containing the message).
3562 * mh-e.el: require mh-inc.el
3563 * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
3564 (mh-help-messages): Add help string for "I" key.
3566 2003-04-09 Peter S Galbraith <psg@debian.org>
3568 * mh-inc.el: New file. New feature to `inc' mail from various
3569 spool files into different folders.
3571 * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
3573 * Makefile (MH-E-IMG): Add highlight icon.
3574 (MH-E-SRC): Add mh-inc.el file.
3576 * mh-customize.el (mh-inc-spool-list): New variable for new
3577 feature to `inc' mail from various spool files into different
3580 2003-04-09 Satyaki Das <satyaki@theforce.stanford.edu>
3582 * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
3583 mh-mail-delivery-buffer.
3585 * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
3587 * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
3588 avoid compiler warning in GNU Emacs.
3590 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3592 * mh-mime.el (mh-small-image-p): Make the function slightly more
3593 error-resistant in XEmacs.
3595 * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
3596 the show buffer if needed. This allows us to display the widen
3597 button in the show buffer only when the folder is narrowed.
3599 * mh-customize.el (mh-tool-bar-define): Changed so that a
3600 separate tool-bar-map is used in show-mode when folder is
3601 narrowed to a sequence.
3603 2003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3605 * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
3606 make-symbol since using gensym causes compiler warnings in CVS
3609 2003-04-08 Bill Wohler <wohler@newt.com>
3611 * mh-comp.el (mh-forward): Function didn't handle a region of
3612 messages. Use new function mh-msg-or-seq-to-msg-list to get a list
3613 of messages in all circumstances. Also, use mh-coalesce-msg-list
3614 on message list before submitting to forw since this should always
3615 be done when calling a program to reduce the chance of exceeding
3616 command-line limits.
3618 * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
3619 change. A nil msg-or-seq should mean no messages, and Satyaki is
3620 going to use gensym instead of make-symbol.
3621 (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
3622 to a list of message numbers.
3624 * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
3627 * mh-funcs.el (mh-print-msg): Can now print regions, message
3628 lists, sequences and, of course, single messages. This version
3629 works a little differently from the old version. Instead of
3630 calling mhl | lpr once on all messages, mhl | lpr is called once
3631 per message in order to put each message's number in the header.
3632 Thanks to Satyaki for some code and ideas.
3634 * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
3635 can now be nil which means the current message. Make local symbols
3636 so that local variables don't step on user's symbols (the msgs
3639 2003-04-06 Bill Wohler <wohler@newt.com>
3641 * mh-comp.el (mh-forward): Updated docstrings to indicate that a
3642 list of messages is acceptable as well.
3644 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
3645 (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
3647 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3649 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
3651 * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
3652 (mh-interactive-msg-or-seq): Ditto.
3654 2003-04-06 Satyaki Das <satyaki@theforce.stanford.edu>
3656 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
3657 mh-refile-a-msg and mh-delete-a-msg with nil as the message
3658 number since that is more efficient.
3660 * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
3661 handle lists of messages numbers as well.
3662 (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
3665 * mh-funcs.el (mh-copy-msg): Same as above.
3667 * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
3668 mh-refile-a-msg avoids needing to re-search-forward to that
3670 (mh-undo): Fix typo in interactive spec.
3671 (mh-notate-user-sequences): Generalize the function to take a
3672 msg-or-seq as argument.
3673 (mh-delete-msg-from-seq): Extend the function so that it is now
3674 able to subtract messages belonging in one sequence from another.
3675 (mh-undo): Unify the region and sequence handling. The message
3676 number branch of the function does extra stuff, so we can't merge
3679 2003-04-06 Bill Wohler <wohler@newt.com>
3681 * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
3682 consistent verbiage in docstring for msg-or-seq.
3683 (mh-reply): Don't mention default in opening line in all
3686 * mh-e.el (mh-delete-msg, mh-refile-msg)
3687 (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
3688 Inserted consistent verbiage in docstring for msg-or-seq. In
3689 mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
3691 * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
3692 mh-interactive-msg-or-seq. Inserted consistent verbiage in
3693 docstring for msg-or-seq.
3695 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
3696 consistent verbiage in docstring for msg-or-seq.
3698 * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
3699 line in all docstrings.
3700 (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
3701 consistent verbiage in docstring for msg-or-seq.
3703 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
3704 Rewritten to use new mh-interactive-msg-or-seq function and
3705 mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
3706 ability to operate on regions.
3708 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
3709 use new mh-interactive-msg-or-seq function and
3710 mh-iterate-on-msg-or-seq macro thereby gaining the ability to
3711 operate on sequences or regions.
3713 * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
3714 on a message, a region of messages, or a sequence. This macro
3715 should be in all functions that operate on messages to provide a
3717 (mh-interactive-msg-or-seq): New function used in interactive
3718 calls to obtain a message number, region, or sequence. This
3719 function should be in all functions that operate on messages to
3720 provide a uniform interface.
3722 * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
3723 'defun lisp-indent-hook property instead of 1 to fix indentation
3726 2003-04-05 Peter S Galbraith <psg@debian.org>
3728 * mh-loaddefs.el: Regenerated.
3729 * mh-funcs.el (mh-ephem-message): autoload.
3731 2003-04-04 Peter S Galbraith <psg@debian.org>
3733 * mh-e.el (mh-folder-from-address): Minor Fix. Wrong ending of
3736 2003-04-04 Satyaki Das <satyaki@theforce.stanford.edu>
3738 * mh-mime.el (mh-mml-directive-present-p): The regexp has been
3739 modified to recognize directives to encrypt/sign messages.
3741 2003-04-03 Mark D. Baushke <mdb@gnu.org>
3743 * mh-e.el (mh-folder-from-address): E-mail messages missing the
3744 To: field, but which have a Cc: field should also be handled.
3746 2003-04-03 Bill Wohler <wohler@newt.com>
3748 * mh-e.el (mh-inc-folder): Modified the prompt text to read
3751 * mh-comp.el (mh-forward): Deleted local variable `compose'.
3752 Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
3753 (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
3754 obsolete. mh-{mmh|mml}-compose-insert-flag.
3755 (mh-letter-mode): Deleted obsolete setting of
3756 mh-{mmh|mml}-compose-insert-flag.
3757 (mh-send-letter): This function now automatically runs the
3758 directive-to-MIME conversion if any directives are detected,
3759 rather than relying on the unreliable
3760 mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
3763 * mh-identity.el (mh-insert-identity): Use
3764 mh-{mmh|mml}-directive-present-p instead of obsolete.
3765 mh-{mmh|mml}-compose-insert-flag.
3767 * mh-loaddefs.el: Regenerated.
3769 * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
3770 (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
3771 (mh-mml-forward-message, mh-mml-attach-file)
3772 (mh-mml-secure-message-sign-pgpmime)
3773 (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
3774 of mh-{mmh|mml}-compose-insert-flag.
3775 (mh-mml-directive-present-p): Checkdoc fix.
3777 * mh-utils.el (mh-mhn-compose-insert-flag,
3778 mh-mml-compose-insert-flag): Deleted. Replaced by
3779 mh-{mhn|mml}-directive-present-p.
3781 2003-04-03 Mark D. Baushke <mdb@gnu.org>
3783 * mh-e.el (mh-folder-from-address): Fix minor problem with To:
3786 * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
3789 2003-04-03 Peter S Galbraith <psg@debian.org>
3791 * mh-e.el (mh-inc-folder): Add second optional argument for the
3792 folder to inc new mail into instead of mh-inbox.
3794 2003-04-03 Peter S Galbraith <psg@debian.org>
3796 * mh-e.el (mh-folder-from-address): The first match found in
3797 `mh-default-folder-list' is used.
3799 * mh-customize.el (mh-default-folder-list): Tweak docs
3801 2003-04-03 Satyaki Das <satyaki@theforce.stanford.edu>
3803 * mh-loaddefs.el: Regenerated.
3805 * mh-mime.el (mh-mhn-directive-present-p): New function to test if
3806 a MHN directive is present in the current buffer.
3807 (mh-mml-directive-present-p): New function to test if a MML
3808 directive is present in the current buffer.
3810 * mh-comp.el (mh-letter-mode): Originally this function checked if
3811 a #forw directive was present and set mh-mhn-compose-insert-flag
3812 to t. The modification generalizes this test so that one of the
3813 variables mh-{mml|mhn}-compose-insert-flag will get set if we have
3814 any sort of MHN or MML directive is already present.
3816 * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
3817 warnings in CVS version of GNU Emacs.
3819 * mh-utils.el (tool-bar-map): Same as above.
3821 * mh-e.el (tool-bar-map): same as above.
3823 2003-04-02 Satyaki Das <satyaki@theforce.stanford.edu>
3825 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
3826 Change color to match mh-folder-tick-face.
3828 * highlight.xpm: Same as above.
3830 2003-04-02 Peter S Galbraith <psg@debian.org>
3832 * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
3833 for cases against the recipient instead of the originator.
3835 * mh-customize.el (mh-default-folder-list): Add extra boolean flag
3836 to conditionally check the recipient address instead of the
3839 2003-04-02 Peter S Galbraith <psg@debian.org>
3841 * mh-customize.el (mh-folder-tick-face): Change tick highlight
3842 face to a background yellow-green, as suggested by Bill.
3844 2003-04-01 Peter S Galbraith <psg@debian.org>
3846 * highlight.xpm: New icon for mh-toggle-tick.
3848 * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
3850 (mh-xemacs-toolbar-toggle-tick-icon): New constant.
3852 * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
3854 2003-03-31 Satyaki Das <satyaki@theforce.stanford.edu>
3856 * mh-loaddefs.el: Regenerated.
3858 * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
3859 (mh-show-sequence-menu): Add new interactive function
3860 mh-show-narrow-to-tick callable from the show buffer and arrange
3861 for a key binding and a menu entry.
3863 * mh-seq.el (mh-narrow-to-tick): New interactive function that
3864 narrows to the tick sequence.
3866 * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
3867 key binding and a menu entry for mh-narrow-to-tick.
3869 * mh-comp.el (mh-letter-mode): Enable undo since we could be
3870 reusing a show buffer where undo is disabled (closes SF #712777).
3872 2003-03-31 Peter S Galbraith <psg@debian.org>
3874 * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
3876 * mh-utils.el (mh-show-sequence-menu): Add entry for
3877 mh-show-toggle-tick.
3879 2003-03-28 Satyaki Das <satyaki@theforce.stanford.edu>
3881 * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
3882 "S k" then the highlighting wasn't getting removed. The change
3885 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
3887 * mh-e.el (mh-notate-user-sequences): Extend it so that only the
3888 messages in a part of the folder are notated.
3889 (mh-delete-msg-from-seq): Extend it so that it will delete all
3890 messages in the marked region.
3891 (mh-delete-a-msg-from-seq): New function that deletes a single
3892 message from a sequence.
3893 (mh-clear-text-properties): If there is a ticked unseen message
3894 and the message is removed from the unseen list with "S d" then
3895 unticking the message doesn't change the highlight. This change
3898 2003-03-27 Peter S Galbraith <psg@debian.org>
3900 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
3901 24x24 icons, changing background only.
3903 2003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
3905 * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
3906 variable buffer-exists.
3907 (mh-spamassassin-identify-spammers): Remove unused variable user.
3909 * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
3912 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3914 * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
3915 condition when messages from the last source folder had been
3916 removed was incorrect. This caused a folder header to appear
3917 without any messages listed under it. This change fixes this.
3918 (mh-thread-forget-message): Remove the entry from the scan line
3919 table as well. This is needed for proper display of threaded view
3922 2003-03-26 Bill Wohler <wohler@newt.com>
3924 * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
3925 mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
3926 mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
3927 mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
3928 mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
3929 (closes SF #680731).
3932 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3934 * mh-index.el: Fix commentary to mention that mairix is supported
3937 * mh-loaddefs.el: Regenerated.
3939 * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
3940 Interactive functions callable from the show buffer.
3941 (mh-show-junk-map): Key bindings in show mode.
3943 * mh-e.el (mh-junk-map): Key bindings to call spam program.
3944 (mh-help-messages): Update help text.
3946 * mh-customize.el (mh-junk): New customization group for spam
3948 (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
3949 Functions and variables that decide which junk program is used.
3950 (mh-junk-program, mh-junk-mail-folder): User customizable
3951 variables that control the choice of spam program and the action
3952 performed on received spam.
3954 * Makefile (MH-E-SRC): Add mh-junk.el.
3956 2003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
3958 * mh-loaddefs.el: Regenerated.
3960 * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
3961 interactive function callable from the show buffer and a key
3964 * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
3965 (mh-put-msg-in-seq): Disable adding messages to tick sequence.
3966 (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
3967 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
3968 (mh-toggle-tick): New functions to highlight/unhighlight tick
3969 sequence and the interactive function that is used to toggle
3972 * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
3973 that remembers if we are narrowed to the tick sequence. In that
3974 case the highlighting isn't shown, since it adds no extra info.
3975 (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
3976 (mh-notate-user-sequences): Notate the tick sequence.
3977 (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
3978 (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
3979 (mh-folder-mode-map): Add key binding for "'"
3981 * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
3982 customizable variables that contain the name of the tick sequence
3983 and the face to use to highlight it.
3985 2003-03-25 Satyaki Das <satyaki@theforce.stanford.edu>
3987 * mh-loaddefs.el: Regenerated.
3989 * mh-seq.el (mh-thread-print-scan-lines): New function which
3990 prints out thread tree. It maintains the original folder info if
3991 the folder was created by index search (closes SF #709672).
3992 (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
3993 factored out function mh-thread-print-scan-lines.
3994 (mh-toggle-threads): Since threading is allowed in index folders
3995 there can be lines in the folder which aren't valid message scan
3996 lines. So it is OK for mh-get-msg-num to fail once in a while.
3998 * mh-index.el (mh-index-update-maps): Make the parsing of messages
3999 that need to annotated with the X-MHE-Checksum header more robust.
4000 If the search yielded no results then an error was being produced.
4001 (mh-index-search): Enable automatic threading of index folders if
4002 mh-show-threads-flag is non-nil (closes SF #709667).
4003 (mh-index-next-folder): Relax error checking since index folder
4004 can be threaded while the source folder info is visible.
4005 (mh-index-group-by-folder): New function that is used in
4006 mh-thread-folder to keep source folder info visible during
4009 2003-03-25 Bill Wohler <wohler@newt.com>
4011 * mh-loaddefs.el: Regenerated.
4013 * mh-customize.el (mh-index-new-messages-folders): New variable
4014 that controls which folders "F n (mh-index-new-messages)"
4015 accesses. Was mh-flists-search-folders.
4017 * mh-index.el (mh-flists-search-folders): Still used internally,
4018 but users now use new option mh-index-new-messages-folders.
4019 Removed documentation since to avoid duplication with
4020 mh-index-new-messages-folders.
4021 (mh-flists-recursive-search-flag): Deleted. Use
4022 mh-recursive-folders-flag instead.
4023 (mh-flists-execute): Updated docs to specify which global
4024 variables are used. Use mh-recursive-folders-flag instead of
4025 mh-flists-recursive-search-flag.
4026 (mh-index-new-messages): Edited doc, and refer to new option
4027 mh-index-new-messages-folders. Ditto within code. Don't need to
4028 prepend + to folder name as flists does that for us. Use
4030 2003-03-24 Satyaki Das <satyaki@theforce.stanford.edu>
4032 * mh-e.el (mh-refile-msg): Add optional argument that controls
4033 whether mh-last-destination-folder is updated or not.
4035 2003-03-22 Satyaki Das <satyaki@theforce.stanford.edu>
4037 * mh-customize.el (mh-tool-bar-define): Fix a problem in the
4038 XEmacs version which caused the show mode toolbar to have the
4039 buttons in the reverse order. Also the add-hooks are no longer
4040 needed since mh-toolbar-init is called in the appropriate modes.
4042 * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
4045 * mh-utils.el (mh-show-mode): Same as above.
4047 * mh-e.el (mh-folder-mode): Same as above.
4049 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4051 * mh-utils.el (mh-exec-cmd-env-daemon): New function which
4052 executes a command asynchronously with its own environment.
4054 * mh-comp.el (mh-redistribute): The function has been modified so
4055 that /bin/sh isn't used to run send. It has also been refactored
4056 so that the same code isn't repeated.
4058 2003-03-21 Bill Wohler <wohler@newt.com>
4060 * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
4063 2003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4065 * mh-loaddefs.el: Regenerated.
4067 * mh-xemacs-toolbar.el: Remove the code since that gets generated
4068 when mh-tool-bar-define is expanded.
4069 (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
4070 actual icons to be used in XEmacs. This is used in
4073 * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
4074 (mh-tool-bar-item-*): All these constants have been removed since
4075 they aren't needed in the new scheme.
4076 (mh-tool-bar-reply-3-buttons-flag): This variable has been
4078 (mh-tool-bar-search-function): This is now used in XEmacs as well.
4079 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
4080 (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
4081 (mh-tool-bar-letter-set): These functions aren't defined at the
4083 (mh-tool-bar-reply-generator): A macro to generate the required
4084 functions for the three reply buttons.
4085 (mh-tool-bar-search, mh-tool-bar-customize)
4086 (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
4087 (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
4088 (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
4089 (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
4090 interactive functions that are called when tool bar buttons are
4092 (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
4093 Additional customizable variables that are present only for
4095 (mh-tool-bar-define): A macro that generates the required code
4096 for GNU Emacs and XEmacs tool bar.
4097 (mh-tool-bar-define): Define the MH-E tool bar.
4099 2003-03-17 Satyaki Das <satyaki@theforce.stanford.edu>
4101 * mh-seq.el (mh-notate-cur): Notate current message only if it
4102 hasn't been marked for deletion or refiling.
4104 2003-03-15 Bill Wohler <wohler@newt.com>
4106 * mh-customize.el (mh-invisible-header-fields): Added
4107 X-Spam-Checker-Version.
4108 (mh-auto-fields-list): checkdoc fix.
4110 2003-03-12 Satyaki Das <satyaki@theforce.stanford.edu>
4112 * mh-index.el (mh-index-new-messages): If the destination folder
4113 where the unseen messages are supposed to be copied to was
4114 already present, but MH-E doesn't have it open, then a new folder
4115 was being created. The change fixes this.
4116 (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
4119 * mh-loaddefs.el: Regenerated.
4121 2003-03-11 Satyaki Das <satyaki@theforce.stanford.edu>
4123 * mh-index.el (mh-flists-results-folder): Subfolder under
4124 +mhe-index where the results of the flists call is put.
4125 (mh-index-generate-pretty-name): Make sure that normal index
4126 searching will never use the folder reserved for the flists
4128 (mh-index-search): Add an extra parameter that marks all the
4129 messages in the index folder to the unseen sequence.
4130 (mh-index-update-unseen): Function to keep unseen sequence of
4131 index folder synced with the actual folders from where the
4132 messages were copied. This works only if the unseen messages are
4133 displayed with mh-show. Killing the unseen sequence in the index
4134 folder or adding/removing messages to it doesn't change the
4135 unseen sequence in the source folders yet.
4136 (mh-flists-search-folders): Variable that decides the folders on
4137 which flists is run.
4138 (mh-flists-recursive-search-flag): If non-nil, flists is passed
4139 the -recurse option.
4140 (mh-flists-execute): Function which uses /bin/sh to execute
4141 flists and then print out the list of message files that match.
4142 (mh-index-new-messages): New interactive function which searches
4143 for messages in the unseen sequence (closes SF #701756).
4145 * mh-utils.el (mh-show-folder-map): Add binding for
4146 mh-index-new-messages.
4147 (mh-show-msg): Update the unseen sequence in the source folder.
4149 * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
4150 the end of buffer is reached when there isn't a valid scan line
4151 on the current line. This doesn't work in the index folder since
4152 we have lines containing the folder name and empty lines in
4153 between the actual scan lines. The modification removes this
4155 (mh-folder-map): Add key binding for "Fn"
4157 * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
4158 not at the beginning of the line, then the first message in the
4159 region would be missed. The fix avoids this.
4161 * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
4162 we don't have the right libraries.
4164 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4166 * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
4167 (mh-next-msg): Add optional argument wait-after-complaining-flag.
4168 If non-nil and there are no undeleted messages after (or before)
4169 the current one, then pause for a second after printing out the
4171 (mh-refile-or-write-again): Modify call to mh-next-msg to use the
4172 wait-after-complaining-flag.
4174 2003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4176 * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
4177 a message to go to it prints out a diagnostic, which overwrites
4178 the diagnostic about the folder the message was refiled to. The
4181 2003-03-09 Satyaki Das <satyaki@theforce.stanford.edu>
4183 * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
4184 mh-narrowed-to-seq before notating sequences. This is a bit
4185 helpful for mh-tick.el.
4186 (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
4187 be notated -- the original code was doing the right thing only for
4188 the "unseen" sequence.
4190 * mh-index.el (mh-index-choose): Add autoload cookie for
4191 mh-index-choose. This is needed for GNU Emacs 20.5.
4193 * mh-loaddefs.el: Regenerated.
4195 2003-03-09 Bill Wohler <wohler@newt.com>
4197 * mh-mime.el (mh-display-smileys): This function originally had a
4198 test to see if font-lock-maximum-size was bound, but this was
4199 recently removed. The test was put in for a reason; if
4200 font-lock-maximum-size isn't bound, void-variable errors would
4201 ensue. I put the bound test back in.
4203 2003-03-08 Steve Youngs <youngs@xemacs.org>
4205 * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
4208 2003-03-07 Satyaki Das <satyaki@theforce.stanford.edu>
4210 * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
4211 Emacs, so that we don't get so many compiler warnings. Also
4212 surround calls to set-specifier and toolbar-make-button-list with
4213 mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
4214 this file in the first place.
4216 * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
4217 mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
4218 (mh-xemacs-push-button): Removed.
4220 * mh-mime.el (mh-mime-button-map): Use the generalized
4221 mh-push-button function.
4222 (mh-push-button): Enhance it so that it works on XEmacs too.
4224 2003-03-08 Steve Youngs <youngs@xemacs.org>
4226 * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
4228 (mh-modeline-glyph): Use it.
4230 2003-03-08 Steve Youngs <youngs@xemacs.org>
4232 * mh-xemacs-toolbar.el: New file that defines and displays a
4235 * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
4237 * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
4239 * mh-customize.el (mh-toolbar):
4240 (mh-tool-bar-letter-buttons):
4241 (mh-tool-bar-letter-buttons-set):
4242 (mh-tool-bar-folder-buttons):
4243 (mh-tool-bar-folder-buttons-set):
4244 (mh-tool-bar-search-function):
4245 (mh-tool-bar-reply-3-buttons-flag):
4246 (mh-tool-bar-item-inc):
4247 (mh-tool-bar-item-save-mime):
4248 (mh-tool-bar-item-prev-msg):
4249 (mh-tool-bar-item-page-msg):
4250 (mh-tool-bar-item-next-msg):
4251 (mh-tool-bar-item-delete):
4252 (mh-tool-bar-item-refile):
4253 (mh-tool-bar-item-undo):
4254 (mh-tool-bar-item-perform):
4255 (mh-tool-bar-item-toggle-show):
4256 (mh-tool-bar-item-reply-from):
4257 (mh-tool-bar-item-reply-to):
4258 (mh-tool-bar-item-reply-all):
4259 (mh-tool-bar-item-reply):
4260 (mh-tool-bar-item-alias):
4261 (mh-tool-bar-item-compose):
4262 (mh-tool-bar-item-rescan):
4263 (mh-tool-bar-item-repack):
4264 (mh-tool-bar-item-search):
4265 (mh-tool-bar-item-visit):
4266 (mh-tool-bar-item-prefs):
4267 (mh-tool-bar-item-help):
4268 (mh-tool-bar-item-widen):
4269 (mh-tool-bar-item-send):
4270 (mh-tool-bar-item-attach):
4271 (mh-tool-bar-item-spell):
4272 (mh-tool-bar-item-save):
4273 (mh-tool-bar-item-undo-op):
4274 (mh-tool-bar-item-kill):
4275 (mh-tool-bar-item-copy):
4276 (mh-tool-bar-item-paste):
4277 (mh-tool-bar-item-kill-draft):
4278 (mh-tool-bar-item-comp-prefs):
4279 The MH-E toolbar for XEmacs is defined differently from the
4280 GNU/Emacs version, so only define these if we're in GNU/Emacs.
4281 XEmacs doesn't need to see them and it's always good to cut down
4284 2003-03-08 Steve Youngs <youngs@xemacs.org>
4286 * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
4287 `mh-xemacs-push-button' in XEmacs.
4288 (mh-mime-security-button-map): Ditto.
4290 * mh-xemacs-compat.el: Shush the byte-compiler.
4291 (mh-xemacs-push-button): New function to make MIME buttons work in
4294 2003-03-08 Steve Youngs <youngs@xemacs.org>
4296 * mh-mime.el (mh-display-emphasis): Don't test
4297 `font-lock-maximum-size' to see if it is bound, just test for a
4298 non-nil value. This variable can have a nil value which makes it
4299 bound and dividing nil by 8 throws an error.
4300 This fixes a bug in MH-E under XEmacs when
4301 `font-lock-maximum-size' is nil that prevented article emphasis
4302 and smiley display which in turn was causing the "Flush changes in
4303 article x y/n" errors.
4304 (mh-display-smileys): Ditto.
4306 2003-03-08 Steve Youngs <youngs@xemacs.org>
4308 * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
4310 * mh-xemacs-compat.el (mh-modeline-glyph): New. The MH-E modeline
4313 2003-03-06 Satyaki Das <satyaki@theforce.stanford.edu>
4315 * mh-utils.el (mh-allow-root-folder-flag): New global variable
4316 that decides if "+" is an acceptable folder name.
4317 (mh-folder-completion-function): Refine the test for existing
4318 folders to take mh-allow-root-folder-flag into account.
4319 (mh-folder-completing-read, mh-prompt-for-folder): Use the
4320 allow-root-folder-flag argument of mh-prompt-for-folder and add a
4321 similar argument to mh-folder-completing-read.
4322 (mh-exec-cmd-error): Make the function nicer by using
4323 process-environment to pass the environment variable assignments.
4325 2003-03-05 Satyaki Das <satyaki@theforce.stanford.edu>
4327 * mh-mime.el (mh-push-button): Preserve point in the show buffer
4328 if the mouse is used to expand/contract a button.
4330 * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
4333 * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
4334 X-Image-URL header field.
4336 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4338 * mh-utils.el (mh-face-display-function): Modified to facilitate
4339 display of X-Image-URL images.
4340 (mh-find-path): Initialize X-Image-URL cache directory.
4341 (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
4342 (mh-x-image-scale-and-display, mh-x-image-url-display)
4343 (mh-x-image-display): New functions for X-Image-URL image display
4344 and cache management.
4346 * mh-customize.el (mh-show-use-xface-flag): Add info about
4347 requirements for X-Image-URL display.
4348 (mh-fetch-x-image-url): New customizable variable that controls
4349 fetching of X-Image-URL.
4351 2003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4353 * mh-utils.el (mh-make-local-hook): New macro which works around
4354 API changes in add-hook. Version of GNU Emacs before 21.1 and
4355 XEmacs require a call to make-local-hook and just the LOCAL
4356 argument of add-hook is not sufficient.
4357 (mh-show-mode): Make kill-buffer-hook buffer local.
4359 * mh-e.el (mh-folder-mode): Same as above.
4361 * mh-comp.el (mh-compose-and-send-mail): Same as above.
4363 2003-03-02 Satyaki Das <satyaki@theforce.stanford.edu>
4365 * mh-mime.el (mh-push-button): Clicking on a MIME button used to
4366 cause the window with the show buffer to be selected. With this
4367 change the selected window doesn't change.
4369 2003-03-01 Satyaki Das <satyaki@theforce.stanford.edu>
4371 * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
4372 When flists is called manually, or when an unseen message is read,
4373 mh-speed-partial-line was not reinitialized.
4375 * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
4376 the folder currently being visited (effectively doing a rescan)
4377 then mh-previous-window-config is erroneously set. The change
4380 * mh-customize.el (mh-index-show-hook): Remove unused variable.
4382 2003-02-28 Satyaki Das <satyaki@theforce.stanford.edu>
4384 * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
4385 only after the user has replied to question. This avoids premature
4386 clearing of the folder.
4387 (mh-rescan-folder, mh-visit-folder): Remove calls to
4388 mh-reset-threads-and-narrowing since it is now called in
4389 mh-scan-folder anyway.
4391 * mh-funcs.el (mh-sort-folder): Same as above.
4393 2003-02-26 Satyaki Das <satyaki@theforce.stanford.edu>
4395 * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
4396 so that it is different from the empty list, which could also
4397 mean that there are no aliases.
4398 (mh-alias-reload-maybe): Change test so that empty alist of
4399 aliases is properly handled (closes SF #693859).
4401 2003-02-25 Satyaki Das <satyaki@theforce.stanford.edu>
4403 * mh-mime.el (mh-decode-message-header): The message header could
4404 be encoded, for instance the author's name could contain
4405 characters not in ASCII. This function will decode such header
4407 (mh-mm-inline-message): Use mh-decode-message-header.
4409 * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
4410 (mh-message-number-width): Use mh-scan-prog instead of "scan".
4412 * mh-loaddefs.el: Regenerated.
4414 2003-02-24 Satyaki Das <satyaki@theforce.stanford.edu>
4416 * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
4417 function will do the right thing even if called from a buffer
4418 other than mh-log-buffer.
4420 2003-02-22 Peter S Galbraith <psg@debian.org>
4422 * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
4423 This functions needs to strip brackets on standalone addresses as
4426 2003-02-21 Satyaki Das <satyaki@theforce.stanford.edu>
4428 * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
4429 definition since it isn't used any more.
4431 2003-02-20 Peter S Galbraith <psg@debian.org>
4433 * mh-alias.el (mh-alias-which-file-has-alias): Bug fix. Needed to
4434 specify `noerror' on search.
4436 * mh-alias.el (mh-alias-suggest-alias): Add condition for input
4437 string being an email address in brackets. We need to strip out
4438 the brackets. (closes SF #690216)
4440 2003-02-20 Satyaki Das <satyaki@theforce.stanford.edu>
4442 * mh-pick.el (mh-search-folder): The function was setting the
4443 global value of the variables mh-current-folder and
4444 mh-previous-window-config. This can lead to problems in code which
4445 assumes that these variables are nil when we aren't in a folder
4446 buffer. So make the variables local before setting them.
4448 2003-02-19 Satyaki Das <satyaki@theforce.stanford.edu>
4450 * mh-mime.el (mh-mime-display): All the MIME display code has been
4451 wrapped in a condition-case so that if something goes wrong, the
4452 raw message will be displayed.
4454 * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
4457 * mh-e.el (mh-scan-folder): Messages marked for deletion or
4458 refiling weren't getting annotated properly. The change fixes
4460 (mh-process-or-undo-commands): Change prompt to reflect what
4461 really happens in the code.
4463 2003-02-18 Satyaki Das <satyaki@theforce.stanford.edu>
4465 * mh-comp.el (mh-folder-expand-at-point): The function
4466 mail-abbrev-complete-alias often returns nil. This had the
4467 unfortunate consequence of always causing an error. The change
4470 * mh-alias.el (mh-alias-canonicalize-suggestion): New function
4471 which obviates the our need replace-regexp-in-string.
4472 (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
4473 eliminate calls to replace-regexp-in-string. This avoids problems
4476 * mh-utils.el (mh-notate): Handle the case when nil is passed as
4477 notation gracefully.
4478 (mh-speed-flists-active-p): New function that returns non-nil if
4479 flists is being used in the speedbar to update message counts.
4481 * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
4482 impossible to add messages to the unseen sequence. Also adding
4483 messages to the unseen sequence will now update the speedbar
4484 message counts immediately.
4486 * mh-e.el (mh-get-new-mail, mh-process-commands)
4487 (mh-undefine-sequence): Update speedbar message counts, if the
4488 speedbar is active and is displaying message counts.
4489 (mh-delete-msg-from-seq): In addition to updating message counts,
4490 unhighlight the message so that interactively removing messages
4491 from the unseen sequence makes the bold highlight of unseen
4492 messages in the scan buffer go away.
4493 (mh-clear-text-properties): New function that removes all text
4494 properties from the current scan line.
4496 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4498 * mh-utils.el (mh-face-display-function): Wrap call of
4499 insert-image in mh-funcall-if-exists. This avoids a compiler
4502 * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
4503 compiler warning in Emacs20.
4504 (mh-speedbar-change-expand-button-char): Wrap call of
4505 speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
4506 function isn't present in the speedbar that ships with Emacs20, so
4507 calling it there causes an error.
4509 * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
4510 compiler warning in XEmacs. The XEmacs compiler should be improved
4511 so that such spurious warnings from builtin macros are suppressed.
4513 * mh-index.el (mh-index-search): Same as above.
4515 * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
4518 * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
4519 will get it and then MH-E will just use it.
4520 (tool-bar-mode, tool-bar-map): These declarations are needed for
4522 (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
4523 Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
4524 can be used instead.
4526 * mh-alias.el (require): Avoid autoloading functions that may not
4528 (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
4529 mh-funcall-if-exists.
4531 2003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4533 * mh-loaddefs.el: Regenerated.
4535 * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
4536 (mh-speed-toggle): Reuse markers instead of creating more of them.
4537 (mh-speed-flists-folder, mh-speed-flists): Add optional folder
4538 argument to mh-speed-flists so that message counts are updated
4539 only for that one folder.
4540 (mh-speed-parse-flists-output): If no change in counts then avoid
4543 * mh-index.el (mh-index-execute): Rewritten to use a temporary
4544 buffer that is not left behind.
4546 * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
4547 special purpose *Store Output* buffer.
4549 2003-02-14 Satyaki Das <satyaki@theforce.stanford.edu>
4551 * mh-customize.el (mh-show-xface-face): Make it always be black
4552 foreground on a white background (the reverse of that can make
4553 some X-Face images look creepy).
4555 * mh-utils.el (mh-truncate-log-buffer): Modify the function to
4556 return the current size of mh-log-buffer. Also we are now a bit
4557 more careful in adding separators between consecutive messages.
4558 (mh-exec-cmd): Fix a bug where the the log buffer would be
4559 displayed even if no error happened in the current command but
4560 the log buffer had messages from a previous error.
4562 * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
4565 * mh-alias.el (mh-alias-local-users): Add a space between parens.
4567 2003-02-14 Steve Youngs <youngs@xemacs.org>
4569 * mh-utils.el (mh-face-display-function): Call
4570 `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
4572 * mh-xemacs-compat.el (replace-regexp-in-string): New.
4574 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4576 * mh-utils.el (mh-log-buffer-lines): New variable that keeps
4577 track of the number of lines to keep in mh-log-buffer.
4578 (mh-truncate-log-buffer): New function that is used to make sure
4579 that the log buffer doesn't grow to unbounded size.
4580 (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
4581 mh-truncate-log-buffer instead of erase-buffer to keep some
4582 number of previous log messages around (closes SF #685476).
4584 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4586 * mh-e.el (tool-bar-mode): Declare it in XEmacs.
4587 (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
4589 * mh-utils.el (mh-funcall-if-exists): New macro that calls a
4590 function only if it exists.
4591 (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
4592 to call the functions find-image and deactivate-mark.
4594 * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
4595 (mh-mm-display-part): Use mh-funcall-if-exists to call the
4596 functions image-size and remove-images.
4598 * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
4600 (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
4601 mail-abbrev-complete-alias if it exists.
4603 * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
4604 future extensibility.
4606 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4608 * mh-utils.el (mh-logo-display): The function find-image is
4609 present only in GNU Emacs.
4610 (mh-defun-show-buffer): The function deactivate-mark is present
4612 (default-enable-multibyte-characters): Declare it in XEmacs to
4613 avoid compiler warning.
4614 (mh-face-display-function): Avoid inserting space if there isn't
4615 any Face or X-Face header field to display.
4617 * mh-seq.el (mh-thread-last-ancestor): Move declaration of
4618 variable before its first use to silence XEmacs warning.
4620 * mh-mime.el (default-enable-multibyte-characters, dots, type):
4621 Declare these in XEmacs to remove compiler warnings in XEmacs.
4622 (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
4624 (mh-small-image-p): Call image-size only in GNU Emacs.
4626 * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
4628 (mh-swish++-regexp-builder): Remove the unused binding meta.
4630 * mh-e.el (mh-folder-size): Pass on an extra value to remove
4632 (mh-folder-mode): Surround calls to hl-line-mode and
4633 tool-bar-mode with mh-do-in-gnu-emacs since these functions
4634 aren't present in XEmacs.
4636 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
4637 (mh-tool-bar-folder-set): These functions call tool-bar-*
4638 functions which are present only in GNU Emacs. So surround them
4639 with mh-do-in-gnu-emacs.
4641 * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
4642 call these functions in GNU Emacs.
4643 (mail-abbrevs): Declare it in XEmacs.
4645 * mh-alias.el (mh-read-address): Call completing-read-multiple
4647 (mail-abbrevs): Declare it in XEmacs.
4648 (mh-alias-add-alias-to-file): Remove unused code.
4650 2003-02-14 Ville Skyttä <scop@xemacs.org>
4652 * mh-comp.el: Add autoloaded auto-mode-alist association.
4654 2003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4656 * mh-utils.el (mh-face-display-function): Make the XEmacs part a
4659 2003-02-14 Steve Youngs <youngs@xemacs.org>
4661 * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
4662 ':inherit' keyword for defface, rewrite with sane defaults.
4664 * mh-utils.el (mh-face-display-function): Fix bug that was
4665 corrupting xface images when displayed with XEmacs' internal
4666 xface image support. Also make XEmacs honour 'mh-show-xface-face'
4667 when using internal xface image support.
4669 2003-02-12 Peter S Galbraith <psg@debian.org>
4671 * mh-comp.el (mh-modify-header-field): New function. To header
4672 FIELD add VALUE. If OVERWRITE-FLAG is non-nil then the old value,
4673 if present, is discarded. This is more flexible than before.
4674 (mh-insert-auto-fields): Use it. This and the new function are a
4675 courtesy of Satyaki. Thanks!
4677 * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
4680 2003-02-12 Satyaki Das <satyaki@theforce.stanford.edu>
4682 * mh-comp.el (mh-folder-expand-at-point): Tweak the error
4683 message. Completion in the Fcc header field is only supported in
4686 2003-02-12 Peter S Galbraith <psg@debian.org>
4688 * mh-customize.el (mh-auto-fields-list): Reorder after
4689 `mh-identity-list' since it needs it to be defined. Move to
4690 mh-identity customization group.
4692 2003-02-11 Peter S Galbraith <psg@debian.org>
4694 * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
4696 (mh-insert-mail-followup-to-list): Removed. Obsolete. Use
4697 `mh-auto-fields-list' instead, which is a more general solution.
4698 (mh-auto-fields-list): New defcustom. Alist of addresses for
4699 which header lines are automatically inserted. Replaces
4700 `mh-insert-mail-followup-to-list'.
4702 * mh-comp.el (mh-insert-mail-followup-to): Removed. Obsolete.
4703 (mh-insert-auto-fields): New function. Insert custom fields if To
4704 or Cc match `mh-auto-fields-list', replacing
4705 mh-insert-mail-followup-to with a more general solution.
4706 (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
4707 mh-insert-mail-followup-to. Also don't call mh-insert-identity to
4708 insert default setting if mh-insert-auto-fields inserted an
4711 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
4713 * mh-utils.el (mh-show-xface-function): Try to load the external
4714 x-face library only if XEmacs doesn't have xface support.
4715 (mh-face-display-function): Renamed. Also handle various
4716 permutations of x-face and xface support in XEmacs better.
4718 * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
4719 major version is greater than or equal to 21 supports display of
4720 X-Face and Face header fields.
4722 2003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
4724 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
4725 execute code only in GNU Emacs and XEmacs respectively.
4726 (mh-emacs21-face-display-function): Refactor to make it slightly
4727 nicer. Get rid of compiler warnings in GNU Emacs by using the
4728 above macros. Also check for presence of xface feature (in XEmacs
4729 specific code) before trying to display X-Face header field image.
4731 2003-02-11 Steve Youngs <youngs@xemacs.org>
4733 * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
4734 can't find the external x-face pkg still enable X-Face images if
4735 feature 'xface is present.
4736 Update the doc string.
4738 * mh-utils.el (mh-emacs21-face-display-function): Make it work in
4740 (mh-show-xface-function): If using XEmacs without xface support,
4741 use x-face.el pkg. If using XEmacs with xface support, or Emacs
4742 21, use mh-emacs21-face-display-function.
4744 2003-02-11 Mark D. Baushke <mdb@gnu.org>
4746 * mh-customize.el (mh-invisible-header-fields): Add
4747 "X-Notes-Item:" which is generated by Lotus Notes Domino. See
4748 URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
4749 /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
4750 ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
4751 users may disable (restore the default) generation of these headers.
4753 2003-02-10 Satyaki Das <satyaki@theforce.stanford.edu>
4755 * mh-comp.el (mh-folder-expand-at-point): Add function doc string
4756 and produce a nicer error message for Emacs versions that lack
4757 mail-abbrev-complete-alias.
4759 * mh-utils.el (mh-handle-process-error): Check doc fix.
4761 * mh-e.el (mh-folder-from-address): Same as above.
4763 2003-02-10 Peter S Galbraith <psg@debian.org>
4765 * mh-comp.el: require mailabbrev, except in XEmacs.
4766 (mh-mail-abbrev-make-syntax-table): New defmacro to call
4767 mail-abbrev-make-syntax-table introduced in Emacs21.
4768 (mh-folder-expand-at-point): Handle nested folders.
4769 All of the above was written by Satyaki. I just applied the patch
4772 2003-02-09 Satyaki Das <satyaki@theforce.stanford.edu>
4774 * mh-comp.el: Fixes to keep the byte compiler happy.
4776 * mh-customize.el (mh-invisible-header-fields): Modified to
4777 remove space after ":" in header field names.
4779 2003-02-09 Peter S Galbraith <psg@mixed.dyndns.org>
4781 * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
4782 (mh-folder-expand-at-point): Do completion at point for folder
4783 name. Like `mh-alias-letter-expand-alias' for aliases, it doesn't
4784 work on XEmacs because it relies on `mail-abbrev-complete-alias'
4785 to do completion. Maybe Steve could update XEmacs' mailabbrev.el?
4787 2003-02-09 Peter S Galbraith <psg@debian.org>
4789 * mh-customize.el (mh-invisible-header-fields): Remove trailing
4790 space in "X-Face: " and "Face: " entries since those line often
4793 2003-02-08 Satyaki Das <satyaki@theforce.stanford.edu>
4795 * mh-utils.el (mh-emacs21-face-display-function): Use
4796 mh-show-xface-face to colorize X-Face image.
4798 * mh-customize.el (mh-invisible-header-fields): Add extra headers
4800 (mh-show-xface-face): Allow customization of the X-Face colors.
4802 2003-02-07 Satyaki Das <satyaki@theforce.stanford.edu>
4804 * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
4805 the path of the uncompface executable so that we don't need to
4806 search for it every time.
4807 (mh-emacs21-face-display-function): If more than one X-Face (or
4808 Face) header field was present then the fields would get
4809 concatenated, leading to garbled output. The change only displays
4812 * mh-customize.el (mh-x-face-file): Change documentation since it
4813 can now be used to insert a Face header field.
4815 * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
4816 of Face header field.
4818 2003-02-06 Bill Wohler <wohler@newt.com>
4820 * mh-utils.el (mh-emacs21-face-display-function): Updated
4821 docstring. It is a common mistake to refer to a header field as a
4822 header. The term header refers to the entire header while the term
4823 header field refers to a single field.
4825 * mh-customize.el (mh-show-use-xface-flag): Ditto.
4827 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
4829 * mh-utils.el (mh-show-xface-function): Modified to use
4830 mh-emacs21-face-display-function if we are running GNU Emacs 21.
4831 (mh-face-to-png): New function to convert a Face header to a png
4833 (mh-uncompface): New function which converts an X-Face header to
4835 (mh-icontopbm): New function that does the job of icontopbm.
4836 (mh-emacs21-face-display-function): New function that displays
4837 Face/X-Face image in GNU Emacs 21.
4838 (mh-show-xface): Modified to test if we are running in X.
4839 Otherwise face display is suppressed.
4841 * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
4842 MH-E supports face display natively on Emacs 21. Also remove the
4843 check for window-system since it doesn't belong in a customizable
4846 2003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
4848 * mh-utils.el (sendmail): Require it so that XEmacs can find
4850 (mh-mail-header-end): A substitute for mail-header-end that
4851 doesn't widen the buffer. This is essential to avoid problems when
4852 dealing with nested messages.
4853 (mh-in-header-p, mh-letter-header-font-lock)
4854 (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
4855 (mh-show-unquote-From): Use mh-mail-header-end instead of
4858 * mh-mime.el (mh-decode-message-body): same as above (closes SF
4861 * mh-comp.el (mh-yank-cur-msg): same as above.
4863 2003-02-05 Satyaki Das <satyaki@theforce.stanford.edu>
4865 * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
4866 headers are cleaned. This means that any surviving X-Face header
4867 can be removed unconditionally in mh-clean-msg-header.
4868 (mh-clean-msg-header): Since the function is now called with a
4869 read-only buffer, make the buffer temporarily writable.
4871 * mh-mime.el (mh-mm-inline-message): Do X-Face display before
4872 invisible headers are removed.
4874 * mh-customize.el (mh-invisible-headers): Simplified since the
4875 X-Face header isn't treated specially any more.
4876 (mh-invisible-header-fields): Add Face: and X-Face: to list of
4879 * mh-mime.el (mh-mime-display): If body is empty the headers would
4880 be treated like the body. The change fixes this (closes SF #681162).
4881 (mh-mime-display): This change really fixes the above problem.
4883 2003-02-04 Satyaki Das <satyaki@theforce.stanford.edu>
4885 * mh-utils.el (mh-current-folder-name): Global variable that
4886 keeps track of current folder.
4887 (mh-normalize-folder-name): Substitute @ with
4888 mh-current-folder-name (closes SF #666774).
4889 (mh-prompt-for-folder): Bind mh-current-folder-name. Also
4890 invalidate cache if we are visiting a folder that wasn't found in
4891 the sub-folder cache. This is an indication that folders may have
4892 been created outside of MH-E and so the cache may be stale.
4894 2003-02-03 Satyaki Das <satyaki@theforce.stanford.edu>
4896 * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
4897 (mh-display-msg): Remove the use of the above function.
4898 (mh-normalize-folder-name): Leading "/" characters were being
4899 lost. The change fixes this (closes SF #676890).
4901 * mh-mime.el (mh-decode-message-body): New function, factored out
4902 from mh-mime-display and enhanced, to decode message based on
4903 charset and content-transfer-encoding. This eliminates the need
4904 for the external mimencode (closes SF #674857).
4905 (mh-mime-display): Use mh-decode-message-body.
4907 * mh-e.el (mh-header-display): Don't need the binding since the
4908 variable isn't present any more.
4909 (mh-inc-folder): Avoid calling mh-show if point is not on a valid
4910 scan line (closes SF #678115).
4913 (mh-decode-content-transfer-encoded-message-flag): Removed.
4915 2003-02-03 Bill Wohler <wohler@newt.com>
4917 * import-emacs: MH-E now has its own directory in Emacs.
4919 * mh-e.el: (mh-version): Set to 7.2+cvs.
4921 2003-02-03 Bill Wohler <wohler@newt.com>
4923 * Released MH-E version 7.2.
4925 * MH-E-NEWS, README: Updated for release 7.2.
4927 * mh-e.el (Version, mh-version): Updated for release 7.2.
4929 2003-02-03 Bill Wohler <wohler@newt.com>
4931 * Makefile (dist): mkdir needs to happen *before* files are
4934 * MH-E-NEWS: Fixed some awkward verbiage.
4936 2003-02-02 Bill Wohler <wohler@newt.com>
4938 * mh-customize.el (mh-invisible-headers): Surround regexp-opt
4939 expression in parens to avoid problems viewing certain messages.
4941 2003-01-30 Satyaki Das <satyaki@theforce.stanford.edu>
4943 * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
4944 The original was inadvertently searching for flists in the user's
4947 2003-01-27 Bill Wohler <wohler@newt.com>
4949 * mh-customize.el (mh-default-folder-must-exist-flag): Changed
4950 default to t according to the principle of least surprise.
4952 2003-01-26 Bill Wohler <wohler@newt.com>
4954 * mh-utils.el: Checkdoc fixes.
4956 * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
4958 * mh-loaddefs.el: Regenerated (lm-verify fixes).
4960 * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
4962 * mh-alias.el: lm-verify fix.
4964 * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
4965 lisp/mh-e directory.
4966 (MH-E-ETC-ETC): Removed ChangeLog.
4967 (dist): Moved creation of mail directory next to copy of files
4968 into mail directory.
4969 (install-emacs): Copy $(MH-E-SRC) into new directory
4970 $(EMACS_HOME/lisp/mh-e.
4971 (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
4972 include MH-E-LOADDEFS there too.
4973 (mh-loaddefs.el): Added lines so that lm-verify passes.
4974 (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
4976 2003-01-26 Jeffrey C Honig <jch@honig.net>
4978 * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
4979 Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
4981 2003-01-25 Jeffrey C Honig <jch@honig.net>
4983 * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
4984 (mh-process-daemon): Use mh-log-buffer for the output of commands
4987 * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
4988 loose the -temp from their buffer names as they are interesting to
4991 * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
4992 it is intended to be interesting to the user.
4994 * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
4995 is intended to be interesting to the user.
4997 * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
4998 mh-recipients-buffer constant. Add a kill buffer hook to delete
4999 the recipients buffer when a draft buffer is killed.
5001 2003-01-25 Satyaki Das <satyaki@theforce.stanford.edu>
5003 * mh-customize.el (mh-customize): New interactive argument
5004 deletes other windows.
5005 (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5006 (mh-tool-bar-folder-set): Modified so that clicking the customize
5007 and help buttons deletes the other windows in the frame.
5009 * mh-mime.el (mh-mm-inline-message): Remove unused code.
5011 * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
5012 the wrong notation was being used.
5013 (mh-toggle-threads): The function had a bug if you did the
5014 following starting from an unthreaded wide folder:
5015 (1) Create a sequence with S p
5016 (2) Narrow to new sequence with S n
5017 (3) Thread narrowed folder with T t
5018 (4) Kill sequence with S k
5019 (5) Unthread narrowed folder with T t
5020 At this point we would have an empty folder. The change fixes
5022 (mh-toggle-threads): Fix documentation.
5024 * mh-customize.el (mh-invisible-header-fields): Add
5025 X-MHE-Checksum to invisible headers.
5027 * mh-comp.el (mh-insert-x-mailer): Slightly more informative
5030 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5032 * mh-e.el (mh-header-display): Modified so that quoted-printable
5033 or base64 encoded messages are left untouched.
5035 * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
5036 the Content-Transfer-Encoding header so that the MIME decoding
5037 routines of Gnus doesn't get confused.
5038 (mh-display-msg): Use insert-file-contents-literally so that
5039 display will work for non-ascii.
5041 * mh-mime.el (mh-mime-display): Use charset info to decode
5042 message file (closes SF #655123).
5044 2003-01-24 Bill Wohler <wohler@newt.com>
5046 * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
5047 error message and added parens around error function.
5049 2003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5051 * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
5052 (mh-decode-content-transfer-encoded-message-flag): This replaces
5053 mh-decode-quoted-printable-flag.
5055 * mh-utils.el (mh-decode-content-transfer-encoded-message): New
5056 function which handles messages that are encoded as base64 or
5057 quoted-printable (closes SF #674190).
5058 (mh-decode-quoted-printable): Removed.
5059 (mh-display-msg): Use mh-decode-content-transfer-encoded-message
5060 instead of mh-decode-quoted-printable.
5062 2003-01-23 Satyaki Das <satyaki@theforce.stanford.edu>
5064 * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
5065 that would occasionally cause angles ('<' and '>') to appear at
5068 2003-01-21 Satyaki Das <satyaki@theforce.stanford.edu>
5070 * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
5073 * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
5074 that a '>' is displayed in text mode.
5076 2003-01-20 Satyaki Das <satyaki@theforce.stanford.edu>
5078 * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
5079 so that a space is always maintained in the beginning of the scan
5082 * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
5083 faster by cutting down on the use of mh-goto-msg.
5084 (mh-toggle-threads): Add call to mh-notate-cur, since inserting
5085 the folder names in a search results folder screws up the
5086 location of the overlay arrow.
5088 * mh-index.el (mh-index-delete-folder-headers): Position the
5089 point on a message line if possible.
5091 * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
5094 * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
5096 * mh-loaddefs.el: Regenerated.
5098 * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
5099 suppresses the annotation of the sequence since it is
5102 * mh-seq.el (mh-delete-seq): Speed up the part of the function
5103 that removes the sequence notation.
5104 (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
5105 mh-iterate-on-messages-in-region to make the function fasters when
5106 operating on regions. The key idea is to loop over the folder
5107 buffer exactly once and do all annotations. The existing algo
5108 would walk over the buffer multiple times thereby slowing things
5110 (mh-iterate-on-messages-in-region): Added an extra parameter which
5111 is bound to the message index as the loop is executed.
5112 (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
5113 the new mh-iterate-on-messages-in-region macro.
5115 * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
5117 (mh-notate-user-sequences): Change algorithm to make notating of
5118 user sequences fast.
5120 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5122 * mh-logo.xpm: New image file that contains the MH-E logo.
5123 Change foreground color to the blue in the MH-E logo.
5125 * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
5127 * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
5128 keep space in the beginning for the logo.
5129 (mh-logo-cache): New variable that caches the logo image file
5131 (mh-logo-display): Display the MH-E logo on the mode line.
5132 (mh-display-msg): Display logo in mh-show-mode.
5134 * mh-e.el (mh-make-folder-mode-line): Display logo in
5137 * mh-comp.el (mh-compose-and-send-mail): Display logo in
5140 * mh-loaddefs.el: Regenerated.
5142 * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
5143 iterate on all messages in a region.
5144 (mh-region-to-msg-list): Simplified since it uses
5145 mh-iterate-on-messages-in-region now.
5147 * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
5148 to pass the region that is to be deleted when appropriate.
5149 (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
5150 regions directly without creating the list of messages to be
5152 (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
5153 parameter in these functions can now be nil. If so, the current
5154 message is deleted, refiled or undone respectively. Avoids the
5155 use of mh-goto-msg in this case and speeds up operations on
5156 regions quite a bit.
5158 2003-01-19 Peter S Galbraith <psg@debian.org>
5160 * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
5161 it would always prompt using "To: " instead of using the command
5162 argument (closes SF #670913).
5164 2003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5166 * mh-utils.el (mh-folder-completion-function): If there is a
5167 +foo/bar folder and the user types foo//bar then the completion
5168 function would say a match happened without showing the
5169 normalized folder name. This change fixes that.
5171 2003-01-18 Satyaki Das <satyaki@theforce.stanford.edu>
5173 * mh-e.el (mh-rmail): Modified so that new and unseen messages
5174 are shown (closes SF #667542).
5176 2003-01-17 Satyaki Das <satyaki@theforce.stanford.edu>
5178 * mh-index.el (mh-index-generate-pretty-name): Generate nicer
5179 names. In particular all '-' characters are removed.
5181 2003-01-16 Satyaki Das <satyaki@theforce.stanford.edu>
5183 * mh-customize.el (mh-index-program): Documentation fix.
5185 * mh-loaddefs.el: Regenerated.
5187 * mh-customize.el (mh-index-program): Add choices for mairix and
5190 * mh-index.el (mh-indexer-choices): Add search interfaces for
5192 (mh-index-search): Add links for mairix and pick.
5193 (mh-index-pick-folder, mh-pick-binary): Variables needed to
5194 implement pick support.
5195 (mh-pick-execute-search, mh-pick-next-result): New functions to
5196 implement pick support.
5197 (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
5198 variables for mairix support.
5199 (mh-mairix-execute-search, mh-mairix-next-result)
5200 (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
5201 functions for mairix.
5203 * mh-funcs.el (mh-kill-folder): Move message to the end.
5205 * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
5206 overlay-arrow-string local variables so that the arrow will
5207 remain even if some other folder is visited.
5208 (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
5209 required any more since overlay-arrow-position is local.
5210 (mh-goto-cur-msg): Remove overlay arrow if current message
5213 * mh-seq.el (mh-notate-cur): Don't need to set
5214 overlay-arrow-string any more since it is local and has been set
5217 2003-01-15 Satyaki Das <satyaki@theforce.stanford.edu>
5219 * mh-speed.el (mh-speed-current-folder): Keep track of current
5220 folder when flists is called.
5221 (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
5222 ambiguity when folders are present with + at the end of the name.
5223 Unfortunately it can't always be avoided.
5225 * mh-e.el (mh-folder-size): Remove the unnecessary error check.
5226 (mh-parse-flist-output-line): Add extra argument which
5227 occasionally avoid problems with folder names that end with '+'.
5229 * mh-utils.el (mh-sub-folders-actual): Fix the folder name
5230 parsing so that it doesn't get confused by trailing '+' chars in
5233 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5235 * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
5236 now handle ".." and "." correctly during folder name completion.
5237 (mh-normalize-folder-name): Avoid error in boundary condition
5238 where the folder string is empty.
5240 2003-01-14 Mark D. Baushke <mdb@gnu.org>
5242 * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
5243 the `mh-read-msg-range' function as the optional
5246 2003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5248 * mh-utils.el (mh-normalize-folder-name): New function that
5249 normalizes folder names.
5250 (mh-sub-folders): Use mh-normalize-folder-name. Also the function
5251 has been modified so that a trailing slash is only added if the
5252 folder potentially has subfolders.
5253 (mh-sub-folders-actual): Simplified since the folder has already
5254 been normalized in mh-sub-folders.
5255 (mh-remove-from-sub-folders-cache): Modified so that the cached
5256 results of two of the folders ancestors are invalidated.
5257 (mh-folder-completion-map): Ugly hack to make the error go away
5258 when minibuffer-complete-word is called.
5259 (mh-folder-completion-function): The completion function will now
5260 be more selective in adding '/' at the end of completed folder
5262 (mh-folder-completing-read): The folder name is normalized before
5263 return. The minibuffer-local-completion-map is shadowed to avoid
5264 error with SPC (bound to minibuffer-complete-word). We really
5265 need a better solution.
5267 2003-01-13 Bill Wohler <wohler@newt.com>
5269 * mh-seq.el: Edited comment and docstring text to conform with RFC
5270 2822 terminology. Message-ID is the header field. It contains a
5273 2003-01-13 Satyaki Das <satyaki@theforce.stanford.edu>
5275 * mh-utils.el (mh-sub-folders): Add an argument that returns
5276 sub-folders with a / character appended at the end.
5277 (mh-folder-completion-function): Modify the function so that one
5278 tab is now sufficient to complete the folder name and add a
5280 (mh-folder-completing-read): Remove the trailing / that the
5281 completion function now adds to the folder name. Also multiple /
5282 characters in the folder input are removed. So if the user inputs
5283 +foo///bar//baz///// then that will be converted to +foo/bar/baz.
5284 This will improve the performance of caching.
5286 * mh-seq.el (mh-notate-cur): Check that a valid current message
5287 exists before trying to notate (closes SF #667331).
5288 (mh-message-id-regexp): New variable to store regexp to recognize
5290 (mh-thread-generate): Use mh-message-id-regexp to filter out non
5291 message-id's from the References: header.
5293 2003-01-12 Satyaki Das <satyaki@theforce.stanford.edu>
5295 * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
5296 aren't on a graphic display.
5298 2003-01-11 Satyaki Das <satyaki@theforce.stanford.edu>
5300 * mh-seq.el (mh-notate-cur): New function to notate the current
5301 message. The marker in the fringe is updated too.
5302 (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
5303 the specialized function mh-notate-cur instead of mh-notate-seq.
5305 * mh-e.el (mh-arrow-marker): New buffer local variable to store
5306 the position where the marker in the fringe is going to be
5307 displayed (closes SF #664824).
5308 (mh-folder-mode): Create a marker for the fringe.
5309 (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
5310 specialized function mh-notate-cur instead of mh-notate-seq or
5312 (mh-remove-cur-notation, mh-remove-all-notation): Reset the
5313 overlay-arrow-position if needed.
5315 * mh-loaddefs.el: Regenerated.
5317 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5319 * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
5320 creating nested folders doesn't produce inconsistent results.
5321 (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
5323 * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
5324 called on a folder holding index search results. Also the now
5325 removed mh-folder-list-change-hook is called no more.
5327 * mh-customize.el (mh-auto-folder-collect-flag)
5328 (mh-folder-list-change-hook): Removed.
5330 * mh-loaddefs.el: Regenerated.
5332 2003-01-10 Bill Wohler <wohler@newt.com>
5334 * mh-customize.el (mh-default-folder-must-exist-flag): New
5335 variable to suppress suggested folder if the folder doesn't
5336 already exist (closes SF #657096).
5337 (mh-default-folder-list): New variable that
5338 holds mapping between an address and the desired folder for
5339 filing (closes SF #657096).
5340 (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
5341 docstring, refer to documentation for mh-prompt-for-refile-folder
5342 and mh-folder-from-address.
5343 (mh-highlight-citation-p, mh-compose-insertion,
5344 (mh-insert-mail-followup-to-list, mh-index-program,
5345 (mh-identity-default): Fixed case of tags.
5347 * mh-e.el (mh-folder-from-address): Use new variable
5348 mh-default-folder-must-exist-flag to return nil if this variable
5349 is t and the folder doesn't already exist. In addition, can now
5350 look up a default folder in the new variable
5351 mh-default-folder-list (closes SF #657096).
5352 (mh-prompt-for-refile-folder): In docstring, refer to
5353 documentation in mh-folder-from-address.
5355 * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
5356 the FileRules filename in the sample config file. Otherwise, the
5357 users don't see the backslash at all, and no files are indexed!
5358 (closes SF #665888).
5360 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5362 * mh-seq.el (mh-thread-folder): Get headers for exactly the
5363 messages that are present. If only messages 1-10 and 3800-3900
5364 are being shown then we will now scan exactly those messages and
5365 not the full range from 1-3900 as was being done earlier.
5366 (mh-toggle-threads): When converting from threaded to normal view
5367 only the messages present in the buffer are scanned. Earlier all
5368 messages from the minimum to the maximum would be scanned (closes
5371 * mh-pick.el (mh-search-folder): Fix typo.
5372 (mh-pick-do-search): Fix bug from cut and paste. Also set window
5375 * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
5376 it to accept + as a folder name. This allows the user to search
5377 all folders when "Fs" is used.
5379 * mh-pick.el (mh-search-folder): Fix interactive spec of function.
5380 (mh-pick-do-search): Rewritten to call pick in one go. This will
5381 make adding pick as a default index search program easier. Also
5382 pick now accepts the same query syntax as the index search
5383 programs (closes SF #664816).
5384 (mh-next-pick-field): Removed.
5385 (mh-pick-parse-search-buffer): New function to parse the search
5387 (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
5388 to produce a pick query from the parsed representation.
5390 * mh-index.el (mh-index-do-search): Refactor the search pattern
5391 parser into a new function and use that instead.
5393 * mh-loaddefs.el: Regenerated.
5395 2003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5397 * mh-loaddefs.el: Regenerated.
5399 * mh-utils.el (mh-remove-from-sub-folders-cache)
5400 (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
5401 mh-remove-from-sub-folders-cache.
5402 (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
5404 * mh-pick.el (mh-searching-function): New buffer local variable
5405 that keeps track of the default searching function to be used.
5406 (mh-pick-mode): Make mh-searching-function buffer local.
5407 (mh-search-folder): Set mh-searching-function to use pick.
5408 (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
5409 (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
5410 mh-do-pick-search to mh-pick-do-search. But keep
5411 mh-do-pick-search as a deprecated function.
5412 (mh-do-search): New interactive function that performs the
5414 (mh-pick-mode-map): Update keymap.
5416 * mh-index.el (mh-index-search): Set mh-searching-function to do
5418 (mh-index-new-folder): Replace mh-update-sub-folders-cache with
5419 mh-remover-from-sub-folders-cache.
5421 * mh-funcs.el (mh-kill-folder): Same as above.
5423 * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
5426 * mh-customize.el: Fixes to make byte compiler in CVS Emacs
5429 2003-01-09 Bill Wohler <wohler@newt.com>
5431 * mh-e.el (mh-folder-from-address): New function that proposes the
5432 name of a folder with an alias for the address in the current message.
5433 (mh-prompt-for-refile-folder): Use it (closes SF #657096).
5435 * mh-customize.el (mh-default-folder-prefix): New variable used by
5436 mh-folder-from-address.
5437 (mh-invisible-header-fields): Edited docstring.
5439 * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
5440 cookie (used by mh-folder-from-address in mh-e.el). Edited text in
5443 * mh-utils.el: Provided naming conventions for buffer and buffer
5445 (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
5446 (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
5447 (mh-info-buffer): Renamed from mh-temp-info-buffer.
5448 (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
5449 buffer which is expected to be used for the output of MH commands.
5450 Perhaps we always create this buffer at initialization and append
5451 to it rather than erase it each time?
5453 * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
5454 temporary and working buffers. As long as the buffer naming
5455 conventions are followed, new buffers will be automatically
5457 (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
5459 * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
5462 2003-01-09 Satyaki Das <satyaki@theforce.stanford.edu>
5464 * mh-e.el (mh-folder-size): If the user doesn't have a
5465 Unseen-Sequence definition in .mh_profile then an error was
5466 produced. This change fixes that.
5468 * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
5469 with a temporary buffer which is cleaned up when the function
5472 * mh-e.el (mh-prompt-for-refile-folder): New function which
5473 refactors out the intelligent folder guessing code from
5475 (mh-refile-msg): Use mh-prompt-for-refile-folder.
5477 * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
5478 do the same intelligent destination folder guessing as
5479 mh-refile-msg (closes SF #664829).
5481 * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
5482 (mh-folder-list-temp, mh-folder-list-partial-line)
5483 (mh-set-folder-list): Removed.
5484 (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
5485 Moved over from mh-speed.el to implement hierarchical completion.
5486 (mh-update-sub-folders-cache): Utility function called when
5487 new folders are created or folders are removed.
5488 (mh-folder-completion-function): New function is the folder name
5489 completion function used in completing-read.
5490 (mh-folder-completing-read): A thin wrapper function that is used
5491 instead of completing-read directly. In the future we might want
5492 to allow the user a customizable variable which will turn off
5493 folders based completion.
5494 (mh-prompt-for-folder): Use mh-folder-completing-read to read in
5495 the folder name with hierachical completion (closes SF #664821).
5497 * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
5498 (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
5499 mh-sub-folders-cache and mh-sub-folders-actual respectively.
5500 (mh-speed-invalidate-map, mh-speed-invalidate-map)
5501 (mh-speed-add-folder): Use the new names.
5503 * mh-funcs.el (mh-kill-folder): Remove code that used to update
5504 mh-folder-list which is no longer present. Instead
5505 mh-update-sub-folders-cache is called.
5507 * mh-index.el (mh-index-new-folder): Same as above.
5509 2003-01-08 Satyaki Das <satyaki@theforce.stanford.edu>
5511 * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
5512 controls what is done with the process output.
5514 * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
5515 restore window configuration. Also the call to mh-exec-cmd-daemon
5516 only displays output if an error happened (closes SF #664828).
5517 (mh-rmf-daemon): Check rmf output and display it only if
5518 something went wrong.
5519 (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
5521 * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
5522 argument to mh-exec-cmd-daemon so that the functions will behave
5525 * mh-pick.el (mh-search-folder): The current window config is
5527 (mh-make-pick-template): Make the message headers read-only.
5528 (mh-pick-mode-help-messages): Update help message.
5529 (mh-do-pick-search): Fix problem when buffer isn't showing any
5531 (mh-next-pick-field): Use buffer-substring-no-properties is
5533 (mh-pick-mode-map): Add key bindings (partially addresses
5536 * mh-index.el (mh-indexer-choices): Add a new field for each
5537 index program choice. If it is non-nil then it is the name of a
5538 function that given a lisp expression to search for generates a
5539 pattern that is acceptable to the search program.
5540 (mh-index-regexp-builder): New variable that stores the function
5541 to be used to convert from the lisp expression syntax to
5542 something that the search program understands.
5543 (mh-index-generate-pretty-name): Generalized so that it can take
5544 a list of strings as input.
5545 (mh-index-search): Modified so that if the configured program has
5546 a corresponding regexp-builder then a search buffer like pick
5547 search is produced. Otherwise the previous behavior is maintained.
5548 (mh-index-do-search): New interactive function that takes the
5549 contents of the search buffer, generates an appropriate query and
5550 produces the search results buffer by calling mh-index-search.
5551 (mh-replace-string, mh-index-parse-search-regexp)
5552 (mh-index-add-implicit-ops, mh-index-evaluate): New functions
5553 which parses the infix search expression that the user enters. A
5554 parse tree from which queries for different search programs can
5555 be produced is produced.
5556 (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
5557 internal form of the query and produces input suitable for
5560 * mh-loaddefs.el: Regenerated.
5562 2003-01-08 Bill Wohler <wohler@newt.com>
5564 * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
5565 Useful to see if an Emacs developer has changed MH-E.
5567 * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
5569 * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
5570 buffer that contains version info.
5572 * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
5573 mh-temp-buffer since version information was getting clobbered by
5574 the aliasing code before it could be seen (closes SF #664467).
5575 (mh-quit): Delete mh-temp-info-buffer.
5577 * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
5578 version info instead of mh-temp-buffer. You kind of need this
5581 2003-01-07 Bill Wohler <wohler@newt.com>
5583 * mh-e.el (Version, mh-version): Set to 7.1+cvs.
5585 2003-01-07 Bill Wohler <wohler@newt.com>
5587 * Released MH-E version 7.1.
5589 * MH-E-NEWS, README: Updated for release 7.1.
5591 * mh-e.el (Version, mh-version): Updated for release 7.1.
5593 2003-01-07 Bill Wohler <wohler@newt.com>
5595 * mh-customize.el (mh-auto-folder-collect-flag,
5596 mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
5598 * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
5600 * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
5603 2003-01-07 Satyaki Das <satyaki@theforce.stanford.edu>
5605 * mh-utils.el (mh-search-from-end): New function that is used to
5606 replace our usage of the CL function search.
5607 (font-lock): The library is loaded to avoid compilation warning
5610 * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
5611 (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
5612 mh-search-from-end instead of search.
5614 * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
5616 (mh-thread-process-in-reply-to): Use mh-search-from-end instead
5619 * mh-index.el (mh-md5-parser): Fix name of function.
5620 (mh-index-update-single-msg, mh-index-update-maps): Avoid using
5621 destructuring-bind since Emacs-20.7 can't handle this particular
5623 (mh-namazu-next-result): Use mh-search-from-end instead of
5626 * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
5627 emacs which doesn't have the variable defined causes a compiler
5629 (mh-refile-a-msg): Rewritten to avoid using pushnew.
5630 (mh-undo-msg): Use loop instead of remove-if.
5632 * mh-comp.el (mh-show-buffer-message-number): Use
5633 mh-search-from-end instead of search.
5635 2003-01-01 Satyaki Das <satyaki@theforce.stanford.edu>
5637 * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
5638 all messages are displayed. Documentation modified so that this is
5640 (mh-visit-folder): Really fix it this time.
5642 2003-01-01 Mark D Baushke <mdb@gnu.org>
5644 * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
5645 mh-autoload comment or mh-customize may have problems finding the
5648 * mh-loaddefs.el: Regenerated.
5650 2002-12-28 Satyaki Das <satyaki@theforce.stanford.edu>
5652 * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
5654 2002-12-28 Bill Wohler <wohler@newt.com>
5656 * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
5657 variable in docstring, explain how to expand directives, and
5658 don't mention mh-mhn-compose-insertion which isn't used directly
5660 (mh-send-letter): Mention that X-Mailer and X-Face are inserted
5661 automatically so that a user isn't tempted to do so himself in
5662 mh-before-send-letter-hook.
5663 (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
5664 now that we have both a function and a variable. Clarified
5667 2002-12-26 Satyaki Das <satyaki@theforce.stanford.edu>
5669 * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
5670 the emacs is not XEmacs.
5672 * mh-index.el (mh-index-new-folder): The folder created should
5673 always be added to mh-folder-list. Otherwise folder name
5674 completion doesn't find the new folder created.
5676 2002-12-24 Satyaki Das <satyaki@theforce.stanford.edu>
5678 * mh-customize.el (mh-clean-message-header-flag)
5679 (mh-visible-headers, mh-invisible-headers)
5680 (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
5682 * mh-loaddefs.el: Regenerated.
5684 * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
5685 Handle nil value of mh-large-folder properly.
5687 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5688 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
5689 (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
5691 (mh-large-folder): Updated to allow for infinity. If
5692 mh-large-folder is nil then all folders are deemed small.
5694 2002-12-23 Satyaki Das <satyaki@theforce.stanford.edu>
5696 * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
5697 threading was suppressed because the number of messages exceed
5700 2002-12-23 Peter S Galbraith <psg@debian.org>
5702 * mh-utils.el (mh-invisible-headers): Deleted. Moved to
5705 * mh-customize.el (mh-invisible-header-fields): New
5706 defcustom. Simple user interface to change mh-invisible-headers.
5707 (mh-invisible-header-fields-set): New function called when
5708 mh-invisible-header-fields is set.
5709 (mh-invisible-headers): New function. Does the actual work of
5710 building the variable mh-invisible-headers from
5711 mh-invisible-header-fields.
5712 (mh-invisible-headers): defvar moved from mh-utils.el
5714 2002-12-22 Satyaki Das <satyaki@theforce.stanford.edu>
5716 * mh-speed.el (mh-speed-folder-size): Removed. Something very
5717 similar appears as mh-folder-size.
5718 (mh-speed-view): Simplified since the range selection logic has
5719 been moved to mh-read-msg-range.
5720 (mh-speed-parse-flists-output-line): Moved to mh-e.el as
5721 mh-parse-flist-output-line.
5723 * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
5725 * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
5726 (mh-parse-flist-output-line): Moved from mh-speed.el where this
5727 function was called mh-speed-parse-flists-output-line.
5728 (mh-folder-size): Renamed from mh-speed-folder-size. The function
5729 has been made more general and can be called from any buffer and
5730 not just the speedbar buffer.
5731 (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
5733 (mh-read-msg-range): Rewritten.
5735 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
5737 * mh-seq.el (mh-delete-subject-or-thread): New interactive
5738 function that intelligently deletes messages based on threading,
5739 if the folder is threaded, or on subject if folder isn't threaded.
5741 * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
5742 function, callable from the show buffer, to intelligently delete
5743 messages based on threading info or subject.
5744 (mh-show-mode-map): Change binding of "k" to call
5745 mh-show-delete-subject-or-thread.
5747 * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
5748 mh-delete-subject-or-thread.
5750 * mh-comp.el (mh-letter-mode-map): Add key binding for
5753 * mh-loaddefs.el: Regenerated.
5755 2002-12-21 Peter S Galbraith <psg@debian.org>
5757 * mh-customize.el (mh-tool-bar-letter-set): Bug fix. The
5758 `tool-bar-add-item-from-menu' items were broken. I can't use my
5761 2002-12-21 Peter S Galbraith <psg@debian.org>
5763 * mh-alias.el (mh-alias-insert-file): Bug fix. I never checked
5764 that an AliasFile entry existed in .mh_profile.
5766 2002-12-21 Peter S Galbraith <psg@debian.org>
5768 * mh-customize.el (mh-alias-insertion-location): New defustom.
5769 Specifies where new aliases are entered in alias files.
5771 * mh-alias.el (mh-alias-add-alias-to-file): Use it.
5773 2002-12-21 Peter S Galbraith <psg@debian.org>
5775 * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
5776 exactly, prompt to [i]nsert before old value or [a]ppend after it.
5777 (mh-alias-insert-file): Make sure we don't edit the passwd file.
5778 Add optional argument for alias; If ALIAS is specified and it
5779 already exists, try to return the file that contains it.
5780 (mh-alias-which-file-has-alias): New function. Return the name of
5781 writable file which defines ALIAS from list FILE-LIST.
5782 (mh-alias-add-alias): Remove prompts for case of alias already
5783 defined; done in mh-alias-add-alias-to-file.
5785 2002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
5787 * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
5788 folder names that have spaces in them. The original function would
5789 truncate the folder name at the first space.
5790 (mh-speed-flists): Add -sequence option to flists. This guards
5791 against the user specifying something other than the unseen
5792 sequence in his .mh_profile.
5793 (mh-speed-parse-flists-output-line): New function that parses a
5794 single line in the output of flists to find the folder name and
5795 the counts of unseesn and total messages.
5796 (mh-speed-parse-flists-output): Fix parsing bug which truncates
5797 the folder names at the first space.
5799 * mh-index.el (mh-index-generate-pretty-name): New function which
5800 generates a nicer name for the search results. It trims white
5801 space at the beginning and end and replaces white space with
5802 underscores within the search regexp.
5803 (mh-index-search): Use mh-index-generate-pretty-name.
5805 * mh-loaddefs.el: Regenerated.
5807 2002-12-20 Satyaki Das <satyaki@theforce.stanford.edu>
5809 * mh-index.el (mh-index-new-folder): Add new folder to
5810 mh-folder-list to enable name completion.
5811 (mh-glimpse-execute-search, mh-swish-execute-search)
5812 (mh-swish++-execute-search): Fix documentation.
5814 * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
5815 folder could get 'scan'ed when generating the threaded view.
5817 * mh-index.el (mh-index-search): If optional prefix arg is given
5818 then the search in the current index buffer is redone.
5819 (mh-glimpse-execute-search, mh-swish-execute-search)
5820 (mh-namazu-execute-search): Documentation fixes.
5822 * mh-e.el (mh-index-previous-search): New buffer local variable
5823 stores parameters of search that created the buffer.
5824 (mh-folder-mode): Make mh-index-previous-search buffer local.
5825 (mh-visit-folder): Tweak the function so that only a single window
5826 with the folder buffer is shown if mh-showing-mode is nil.
5828 * mh-loaddefs.el: Regenerated.
5830 2002-12-19 Peter S Galbraith <psg@debian.org>
5832 * mh-alias.el (mh-alias-add-alias): Bug fix.
5834 2002-12-19 Peter S Galbraith <psg@debian.org>
5836 * mh-alias.el (mh-alias-add-alias): New interactive command. Add
5837 ALIAS for ADDRESS in personal alias file.
5838 (mh-alias-grab-from-field): New interactive command. Add ALIAS for
5839 ADDRESS in personal alias file.
5840 (mh-alias-add-address-under-point): New interactive
5841 command. Insert an alias for email address under point.
5842 (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
5843 (mh-alias-insert-file): New function. Return the alias file to
5844 write a new entry in.
5845 (mh-alias-address-to-alias): New function. Return the ADDRESS
5846 alias if defined, or nil."
5847 (mh-alias-from-has-no-alias-p): New function. Return t is From has
5848 no current alias set. Used as tool-bar button enable function.
5849 (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
5850 in alias FILE without alias check or prompts.
5852 * alias.xpm, alias.pbm: New tool-bar icon for
5853 mh-alias-grab-from-field.
5855 * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
5856 Return t if the message under point in folder-mode is in the show
5859 * mh-utils.el (mh-goto-address-find-address-at-point): New
5860 function copied from goto-addr.el, which we don't want to
5861 force-load on users. Find e-mail address around or before point.
5862 (mh-address-mail-regexp): New defvar. A regular expression
5863 probably matching an e-mail address.
5865 * mh-customize.el (mh-alias-insert-file): New defcustom.
5866 Filename to use to store new MH-E aliases.
5867 (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
5869 * mh-comp.el (mh-extract-from-header-value): New function.
5870 Extract From: string from header.
5872 2002-12-19 Satyaki Das <satyaki@theforce.stanford.edu>
5874 * mh-index.el (mh-index-update-single-msg): New defvar controls
5875 max number of command line args.
5876 (mh-index-execute): New function which is to be used
5877 instead of xargs so that we don't give the shell too many command
5879 (mh-index-update-maps): Use mh-index-execute instead of xargs.
5880 (mh-index-search): Remove unused code. Also the first message in
5881 folder buffer is made current.
5883 2002-12-18 Peter S Galbraith <psg@debian.org>
5885 * mh-loaddefs.el: Regenerated.
5887 * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
5889 * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
5891 * mh-utils.el (mh-get-msg-num): autoloaded.
5892 (mh-show-tool-bar-map): Moved to mh-customize.el
5894 * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
5895 tool-bar setup and customization.
5896 (mh-tool-bar-folder-buttons-set): New function to setup the
5897 tool-bar after customization.
5898 (mh-tool-bar-folder-buttons): New defcustom to specify which icons
5899 appears in the tool-bar.
5900 (mh-tool-bar-letter-buttons-set): New function to setup the
5901 tool-bar after customization.
5902 (mh-tool-bar-letter-buttons): New defcustom to specify which icons
5903 appears in the tool-bar.
5904 (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
5905 (mh-tool-bar-letter-set): New function to setup
5906 mh-letter-tool-bar-map.
5908 2002-12-18 Satyaki Das <satyaki@theforce.stanford.edu>
5910 * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
5911 and backtab to call mh-index-next-folder and
5912 mh-index-previous-folder as appropriate.
5914 * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
5915 New interactive functions which jumps to search results of next
5916 and previous folders respectively.
5918 * mh-loadddefs.el: Regenerated.
5920 * mh-index.el (mh-index-delete-folder-headers): Arrange for
5921 mh-goto-cur-msg to just go to the current message.
5923 * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
5924 buffer anyway, we don't need to delete the folder headers. Also
5925 index-data is non-nil only when the buffer folder doesn't exist.
5926 So we need to call mh-make-folder.
5927 (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
5928 not being made buffer local!
5930 2002-12-17 Satyaki Das <satyaki@theforce.stanford.edu>
5932 * mh-e.el (mh-visit-folder): Fix bug.
5934 * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
5935 (mh-index-folder-first, mh-index-folder-last)
5936 (mh-index-original-msg-list): Convenience macros aren't needed
5937 anymore since the data structure has been changed.
5938 (mh-index-update-single-msg): New function to update maps that
5939 relate MD5 checksums to actual messages and vice-versa for a
5941 (mh-index-update-maps): Do the above for all messages. If some
5942 messages don't have MD5 checksums, they are annotated with the
5944 (mh-index-search): Updated for the new version of mh-index-data.
5945 (mh-msg-exists-p): New function to test a message exists.
5946 (mh-index-insert-folder-headers): Updated for new mh-index-data.
5947 (mh-index-delete-folder-headers): New function used to eliminate
5948 original folder names from the buffer and make it look like a
5949 plain folder buffer. This is used from mh-process-commands.
5950 (mh-index-visit-folder): Use new version of mh-index-data.
5951 (mh-index-match-checksum): New function which checks if the
5952 X-MHE-Checksum header of a message matches.
5953 (mh-index-execute-commands): New function that rmm's the original
5954 messages. Then after mh-execute-commands executes it will seem
5955 that the original messages were executed upon. This completes the
5957 (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
5958 (mh-checksum-cmd, mh-checksum-parser): New globals to allow
5959 different checksum programs to be used.
5960 (mh-checksum-choose): New functions to find a checksum program.
5961 (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
5962 parse the output of md5, md5sum and openssl.
5963 (mh-index-update-maps): Use checksum parsing function.
5964 (mh-index-search): Set checksum choice. Add a call to recenter,
5965 otherwise the window point in the index buffer doesn't get set
5968 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
5969 functions in folders created by index search.
5971 * mh-e.el (mh-index-msg-checksum-map)
5972 (mh-index-checksum-origin-map): New buffer local variables that
5973 keep track of message checksums (used to implement
5974 refiling/deletion for folders created by index folders).
5975 (mh-last-msg): Make the function behave like mh-first-msg.
5976 (mh-visit-folder): Add new optional argument which initializes
5977 folders created by mh-index-search.
5978 (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
5979 mh-index-checksum-origin-map buffer local.
5980 (mh-process-commands): Call mh-index-execute-commands when called
5981 from an index search buffer. This will reflect the changes being
5982 made in the search folder to the original folders.
5984 * mh-loaddefs.el: Regenerated.
5986 2002-12-16 Satyaki Das <satyaki@theforce.stanford.edu>
5988 * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
5989 caused the folder buffer to be marked as modified after rescanning
5992 2002-12-15 Satyaki Das <satyaki@theforce.stanford.edu>
5994 * mh-e.el (mh-visit-folder): The function should insert folder
5995 names if it is visiting a folder created by index search.
5997 * mh-index.el (mh-index-insert-folder-headers): The function now
5998 maintains the old value of buffer-modified-p and temporarily makes
5999 the buffer writable.
6001 * mh-utils.el (mh-show-index-visit-folder): New interactive
6002 function callable from show buffer that displays search results
6004 (mh-show-mode-map): Key binding for "v".
6006 * mh-speed.el: Fix credits.
6007 (mh-index-folder-speedbar-buttons)
6008 (mh-index-show-speedbar-buttons)
6009 (mh-index-folder-speedbar-key-map)
6010 (mh-index-show-speedbar-key-map)
6011 (mh-index-folder-speedbar-menu-items)
6012 (mh-index-show-speedbar-menu-items): Removed since the modes
6013 mh-index-folder-mode and mh-index-show-mode no longer exist.
6014 (mh-speed-extract-folder-name): Remove the bits about
6015 mh-index-folder-mode and mh-index-show-mode.
6017 * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
6018 index search results.
6019 (mh-region-to-msg-list): Skip over non-scan lines.
6020 (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
6021 non-scan lines when populating mh-thread-scan-line-map.
6022 (mh-thread-folder, mh-toggle-threads): Move the check for buffer
6023 modification from mh-thread-folder to mh-toggle-threads.
6024 (mh-toggle-threads): When returning to unthreaded view insert the
6025 folder names if called from a index folder.
6027 * mh-index.el: Fix credits and update commentary.
6028 (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
6029 (mh-index-ma-x-msg-index, mh-index-other-buffer)
6030 (mh-index-matches, mh-index-previous-window-configuration)
6031 (mh-index-current-msg, mh-index-folder-mode-keymap)
6032 (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
6033 eliminated variables.
6034 (mh-index-folder): New variable sets the MH folder under which the
6035 index searches are stored.
6036 (mh-index-folder-first, mh-index-folder-last)
6037 (mh-index-original-msg-list): Convenience macros used to pull data
6038 elements out of a list. If needed setf can be used to change them
6040 (mh-index-search): Rewritten to create real folders where all the
6041 normal folder operation. This partially fixes SF #623321 (refiles
6042 and deletes doesn't work on original messages).
6043 (mh-index-find-max-width, mh-index-search-again)
6044 (mh-index-insert-scan, mh-index-callback, mh-index-search)
6045 (mh-index-notate, mh-index-show, mh-index-header-display)
6046 (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
6047 Functions, macros and modes removed.
6048 (mh-folder-exists-p): New function to check if a folder exists.
6049 (mh-index-new-folder): Generate a new folder name from a given
6050 base string that mimics the way emacs generates buffer names.
6051 (mh-index-insert-folder-headers): Insert folder names among the
6053 (mh-index-visit-folder): New interactive function to show the
6054 search results of one individual folder.
6055 (mh-swish++-execute-search): Update documentation.
6057 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
6058 functions if index search results are being viewed.
6060 * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
6062 (mh-index-data): New buffer local variable that will be used to
6063 store info about index search results.
6064 (mh-rescan-folder): Implement rescanning for index search results.
6065 (mh-folder-mode): Make mh-index-data buffer local.
6066 (mh-remove-all-notation): Modified to take into account not all
6067 lines in the folder buffer are normal scan lines.
6068 (mh-folder-mode-map): Add key binding for "v" to jump to original
6069 folder narrowed to search results.
6071 * mh-customize.el (mh-index-folder-face): Make it bold so that it
6072 will look like before.
6074 * mh-loaddefs.el: Regenerated.
6076 2002-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
6078 * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
6079 a list of messages in addition to a sequence.
6080 (mh-region-to-sequence, mh-region-to-msg-list): The function
6081 mh-region-to-msg-list replaces mh-region-to-sequence. The new
6082 function avoids creating a dummy sequence in MH-E.
6083 (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
6084 to use mh-region-to-msg-list.
6086 * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
6088 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
6089 mh-region-to-msg-list.
6091 * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
6092 The buffer-local variable mail-header-separator is no longer
6093 bound. This fixes a bug where the default value of
6094 mail-header-separator gets used if mh-forward is called in a fresh
6096 (mh-annotate-msg): Update this so that it will handle message
6098 (mh-insert-letter): Make the test stronger. Since %d is being used
6099 the argument better be an integer.
6101 * mh-loaddefs.el: Regenerated.
6103 2002-12-11 Satyaki Das <satyaki@theforce.stanford.edu>
6105 * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
6106 If mark is active and transient-mark-mode is enabled then all the
6107 messages in the region are copied.
6109 * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
6110 messages in sequence nicely. The prompt for the folder is removed
6111 (the current folder is always used) and the output is made nicer
6112 by not overflowing the screen width.
6114 * mh-loaddefs.el: Regenerated.
6116 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6118 * mh-comp.el (mh-letter-complete): Checkdoc fix.
6120 * mh-seq.el (mh-thread-current-indentation-level): New function
6121 which returns the thread indentation level of current message.
6122 (mh-thread-next-sibling, mh-thread-previous-sibling): New
6123 interactive functions to jump to the next and previous siblings in
6124 thread tree respectively.
6125 (mh-thread-immediate-ancestor): New function to jump to ancestor
6126 of current message in thread tree.
6127 (mh-thread-ancestor): New interactive function to jump to
6128 immediate ancestor or to root message of current thread depending
6129 on optional argument.
6131 * mh-utils.el (mh-show-thread-ancestor)
6132 (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
6133 Interactive functions callable from the show buffer.
6134 (mh-show-thread-map): Bindings for Tu, Tp and Tn.
6136 * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
6138 * mh-loaddefs.el: Regenerated.
6140 2002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6142 * mh-seq.el (mh-region-to-sequence): Change name of region
6143 sequence created to 'mhe-region. This avoids any chance of
6144 collision with actual MH sequences.
6145 (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
6146 name of region sequence used to 'mhe-region. Also delete the
6147 'mhe-region sequence when done.
6149 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
6151 * mh-comp.el (mh-forward): Same as above.
6153 * mh-loaddefs.el: Regenerated.
6155 2002-12-08 Bill Wohler <wohler@newt.com>
6157 * mh-alias.el: Edited documentation. Broke up file into 2
6158 sections: Alias Loading and Alias Expansion. Made terminology
6159 consistent (replaced expand, substitute, and translate with
6161 (mh-alias-reload): Brought message in line with coding conventions
6162 and made more concise too.
6163 (mh-alias-translate): Renamed to mh-alias-expand.
6164 (mh-alias-substitute-aliases-flag): Renamed to
6165 mh-alias-expand-aliases-flag.
6166 (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
6167 Now just returns an alist of local users rather than have
6169 (mh-alias-reload): Set timestamp at beginning of function to catch
6170 edge case when alias added just after ali runs. Changed logic to
6171 reflect return value of mh-alias-local-users.
6173 * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
6174 mh-alias-expand-aliases-flag.
6175 (mh-alias-local-users): Fixed documentation.
6177 * mh-loaddefs.el: Regenerated
6179 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6181 * mh-e.el (require): Load Gnus at compile time so that the
6182 constant gnus-version is defined when MH-E is being compiled.
6183 (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
6184 Use the constant gnus-version instead of the function gnus-version
6185 to find out about gnus version information.
6186 (gnus-version): Remove the autoload since it is not needed any
6189 2002-12-08 Bill Wohler <wohler@newt.com>
6191 * mh-e.el (mh-version): Moved compilation information in front of
6192 Emacs information. The idea is that you start at MH-E and move
6193 outwards. Show N/A if Gnus not compiled (be explicit). Matched
6194 coding style with other output statements. (Aside: not that
6195 efficiency matters here, but fewer calls to format have to be
6196 faster, right? ;-). Matched output style of old output to new
6197 statement--liked Satyaki's indentation better ;-).
6199 2002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6201 * mh-e.el (gnus-version): Autoload the function for use in
6203 (mh-macro-expansion-time-gnus-version): New macro that finds the
6204 Gnus version at macro expansion time.
6205 (mh-run-time-gnus-version): New function to find the Gnus version
6207 (mh-version): Add information about Gnus versions available at
6208 compile time and run time.
6210 2002-12-07 Peter S Galbraith <psg@debian.org>
6212 * mh-alias.el (mh-alias-ali): Add optional argument. if USER is
6213 t, then assume ALIAS is an address and call ali with option -user.
6215 * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
6216 files from `mh-alias-system-aliases' to output list obtained from
6217 mhparam output user list only.
6218 (mh-alias-tstamp): Use it.
6220 2002-12-05 Satyaki Das <satyaki@theforce.stanford.edu>
6222 * mh-mime.el (mh-inline-vcard-p): A new function which decides if
6223 a vcard should be displayed inline.
6224 (mh-mime-display-single): Use mh-inline-vcard-p to display
6225 attached vcard as a signature if no other signature is present
6226 (this partially addresses SF #649216).
6228 2002-12-05 Peter S Galbraith <psg@debian.org>
6230 * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
6231 getting run if variable `mh-mml-compose-insert-flag' is set.
6232 (mh-get-header-field): use buffer-substring-no-properties instead
6233 of buffer-substring.
6235 2002-12-04 Peter S Galbraith <psg@debian.org>
6237 * mh-loaddefs.el: Regenerated.
6239 * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
6241 2002-12-04 Peter S Galbraith <psg@debian.org>
6243 * mh-loaddefs.el: Regenerated.
6245 * mh-comp.el (mh-letter-complete): New command to do alias or word
6246 completion in letter-mode.
6247 (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
6249 * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
6250 Replaced by mh-letter-complete command.
6251 (mh-alias-reload-maybe): New function to rebuild alias table if
6253 (mh-alias-letter-expand-alias): No longer interactive. Use
6254 mh-letter-complete instead.
6256 2002-12-04 Peter S Galbraith <psg@debian.org>
6258 * mh-customize.el (mh-letter-complete-function): New defcustom.
6259 Function to call when completing outside of fields specified to
6262 * mh-alias.el (mh-alias-filenames):
6263 s/mh-mhparam-component/mh-profile-component/
6264 (mh-profile-component): Move to mh-utils.el and make interactive.
6265 (mh-read-address): Make it autoloaded.
6267 * mh-loaddefs.el: Regenerated.
6269 * mh-comp.el (mh-read-address): Removed. Replaced by mh-alias
6272 * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
6274 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6276 * mh-seq.el (mh-msg-is-in-seq): Formatting change.
6278 * mh-index.el (mh-index-insert-scan): Remove unused variable.
6280 2002-12-04 Bill Wohler <wohler@newt.com>
6282 * mh-loaddefs.el: Regenerated.
6284 * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
6285 this was causing a cycle.
6286 (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
6287 (emacs): Reintroduced autoloads.
6288 (autoloads): We're baaa-aack!
6289 (dist, install-emacs): Use MH-E-LOADDEFS.
6291 * mh-comp.el (mh-customize): Moved to mh-customize.el.
6293 * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
6294 more sense, doesn't it?
6296 * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
6297 mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
6298 interactive functions.
6300 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6302 * Makefile (world): Remove target.
6303 (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
6304 regenerate mh-loaddefs.el.
6306 * mh-make.el: Removed.
6308 2002-12-04 Mark D. Baushke <mdb@gnu.org>
6310 * mh-e.el (recursive-load-depth-limit): Only modify the limit
6311 if it is an integer.
6313 2002-12-04 Peter S Galbraith <psg@debian.org>
6315 * mh-utils.el (mh-header-field-beginning): New function. Move to
6316 the beginning of the current header field.
6318 2002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6320 * mh-make.el (mh-files): Read in the MH-E filenames from the
6321 environment variable where the Makefile puts it.
6322 (mh-generate-autoloads, step2): Simplified since we now have the
6323 complete file names.
6325 * Makefile (world): Pass the MH-E files into the script, so that
6326 the filenames don't need to be repeated in the script.
6328 2002-12-04 Bill Wohler <wohler@newt.com>
6330 * mh-loaddefs.el: New file. Check in automatically generated file
6331 and include in package for the benefit of those who don't want to
6334 * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
6335 in and will be packaged.
6336 (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
6337 sufficient to build it.
6338 (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
6339 emacs so that Emacs is only invoked once to compile files. This
6340 speeds things up by a factor of 3. It would be nice to only pass
6341 those files that have been modified, but Emacs 21.4 will have
6342 batch-byte-compile-if-not-done which we might be able to copy into
6343 mh-make.el (or my proposed mh-e-dev.el which would be more
6345 (.SUFFIXES): Removed. Now that compile works directly on the
6346 sources, the implicit rule is obsolete.
6347 (autoloads): Deleted. See emacs change above.
6349 2002-12-03 Bill Wohler <wohler@newt.com>
6351 * Makefile (MH-E-SRC, emacs):
6353 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6355 * mh-make.el (mh-emacs): Make failing condition more strict.
6356 (mh-loaddefs-end): Remove redundant statement.
6358 * Makefile (world): A little typo. The bug didn't seem to make any
6361 * mh-make.el: New script that compiles MH-E.
6362 (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
6363 file in between. Only save at the end.
6364 (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
6365 (mh-generate-autoloads): Replace the separate functions in Emacs
6366 and XEmacs with one that works in both variants. This simplifies
6368 (mh-generate-autoloads): doc fix.
6370 * Makefile (world): New target which works for both GNU Emacs and
6373 2002-12-03 Peter S Galbraith <psg@debian.org>
6375 * mh-alias.el (mh-mhparam-component): Don't raise error if call to
6378 * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
6379 not already available.
6381 2002-12-03 Bill Wohler <wohler@newt.com>
6383 * mh-customize.el (mh-show-threads-flag): Alphabetized.
6385 2002-12-03 Jeffrey C Honig <jch@honig.net>
6387 * Makefile: Moved .PHONY rule after all rule for compatibility
6388 with BSD/OS's old pmake.
6390 2002-12-03 Mark D Baushke <mdb@gnu.org>
6392 * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
6393 (mh-add-cur-notation): Remove unnecessary function.
6395 2002-12-03 Peter S Galbraith <psg@debian.org>
6397 * mh-identity.el (mh-identity-make-menu): Check if
6398 'mh-letter-mode-map' is bound, since this code also gets run when
6399 mh-customize.el is loaded at startup.
6401 2002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6403 * mh-customize.el (mh-show-threads-flag): New customizable
6404 variable which controls if new folders start of in threaded mode
6405 (closes SF #646794).
6407 * mh-e.el (mh-rescan-folder): Fix the function so that threading
6408 is preserved across rescans.
6409 (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
6410 already threaded or if mh-show-threads-flag is non-nil and the
6411 number of scan lines is fewer than mh-large-folders (closes SF
6414 2002-12-02 Mark D Baushke <mdb@gnu.org>
6416 * mh-e.el (mh-add-cur-notation): New function to mark the
6417 current message with the mh-note-cur character.
6418 (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
6419 mh-remove-cur-notation if there was no new mail (closes SF #647681).
6421 * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
6422 value (closes SF #643701).
6424 2002-12-02 Peter S Galbraith <psg@debian.org>
6426 * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
6427 (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
6428 (mh-alias-passwd-alist): New variable, holding aliases extracted
6429 from the passwd file.
6430 (mh-alias-tstamp): New variable storing the timestamp for alias
6432 (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
6434 (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
6435 (mh-alias-translate): New function. Return translation for alias,
6436 checking if in blind or passwd list.
6437 (mh-alias-letter-expand-alias): Rewrite using
6438 mail-abbrev-complete-alias from mailabbrev.el
6439 (mh-alias-expand-alias-map): New variable.
6440 (mh-alias-ali): New function. Return formatted string of
6441 translated ALIAS from ali.
6442 (mh-mhparam-component): New function. Return COMPONENT value from
6443 mhparam, or nil if unset.
6444 (mh-alias-filenames): New function. Provide list of alias
6445 filenames from mhparam, or nil if none are set.
6447 * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
6449 (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
6451 2002-12-02 Bill Wohler <wohler@newt.com>
6453 * Makefile (mh-loaddefs.el): Suppress creation of backup file.
6455 2002-12-02 Mark D. Baushke <mdb@gnu.org>
6457 * Makefile (mh-loaddefs.el): Simplify rule.
6459 * Makefile (clean): Remove mh-loaddefs.el* for good measure.
6460 ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
6461 (autoloads, mh-loaddefs.el): Revamp rules.
6462 (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
6464 * mh-e.el (recursive-load-depth-limit): Do not try to
6465 bump the value unless the variable exists.
6467 * mh-e.el (recursive-load-depth-limit): Bump value of
6468 recursive-load-depth-limit to 50 to allow emacs 21.1 which
6469 normally has a default value of 10 to be able to compile MH-E.
6471 2002-12-02 Satyaki Das <satyaki@theforce.stanford.edu>
6473 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
6474 so that threading is preserved (needed for SF #646794).
6476 * mh-identity.el (mh-identity-signature-start)
6477 (mh-identity-signature-end): Checkdoc fixes.
6479 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
6482 2002-12-01 Satyaki Das <satyaki@theforce.stanford.edu>
6484 * mh-identity.el (compile): Make mh-identity.el compile without
6487 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
6488 interactive functions that go to next and previous unread
6489 messages (closes SF #630328).
6490 (mh-folder-mode-map): Add key bindings for M-n and M-p to
6493 * mh-utils.el (mh-show-next-unread-msg)
6494 (mh-show-previous-unread-msg): New interactive functions that go
6495 to the next and previous unread messages respectively. These are
6496 callable from the show buffer.
6497 (mh-show-mode-map): Add key bindings for M-n and M-p to
6500 2002-12-01 Bill Wohler <wohler@newt.com>
6502 * mh-mime.el (mh-defun-compat): Make it indent like a defun.
6504 * mh-index.el (mh-defun-index): Make it indent like a defun.
6506 * mh-customize.el: New file (closes SF #643722).
6508 * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
6510 * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
6511 mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
6512 mh-customize.el (closes SF #643722).
6514 * mh-utils.el (mh-xemacs-flag): Moved here from below since
6515 needed by mh-customize.el.
6516 (mh-customize): Required. mh-invisible-headers)
6517 (mh-bury-show-buffer-flag, mhl-formfile):
6518 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6519 (closes SF #643722) .
6521 * mh-identity.el (mh-comp-loaded): New variable in a desparate
6522 attempt to prevent an infinite loop.
6523 (eval-when-compile): Was able to remove these defvars as they are
6524 now predefined in mh-loaddefs and mh-customize.
6525 (mh-identity-list-set): Added ;;;###mh-autoload cookie.
6526 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6527 (closes SF #643722).
6529 * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
6530 is in mh-customize which is required by mh-utils which is required
6532 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6533 (closes SF #643722).
6535 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
6537 * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
6539 (mh-help-messages): Update help message for prefix map.
6540 (mh-help-messages): Doc fix.
6541 (mh-help-messages): Really fix it.
6543 * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
6544 interactive functions corresponding to mh-thread-delete and
6545 mh-thread-refile callable from the show buffer.
6546 (mh-show-thread-map): Add key bindings for "Td" "To".
6548 * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
6549 (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
6550 mh-autoload cookies.
6551 (mh-thread-find-children): New function which finds the region
6552 containing all children of a message.
6553 (mh-thread-delete): New interactive function that marks for
6554 deletion the current message and its children.
6555 (mh-thread-refile): New interactive function that marks for
6556 refiling the current message and its children.
6558 2002-11-30 Bill Wohler <wohler@newt.com>
6560 * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
6561 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6562 Added ;;;###mh-autoload tag to selected functions so that
6563 autoloads for those functions can be automatically created in
6564 mh-loaddefs.el (closes half of SF #643722).
6566 * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
6567 Added ;;;###mh-autoload tag to selected functions so that
6568 autoloads for those functions can be automatically created in
6569 mh-loaddefs.el (closes half of SF #643722)..
6571 * mh-utils.el (mh-loaddefs): Added require.
6572 (mh-buffer-data): Moved here from mh-mime.el as it is used in
6574 (mh-set-cmd-note): Moved to mh-e.el.
6575 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6576 Added ;;;###mh-autoload tag to selected functions so that
6577 autoloads for those functions can be automatically created in
6578 mh-loaddefs.el (closes half of SF #643722)..
6580 * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
6581 uses mh-scan-format-file which is defined here.
6582 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6583 Added ;;;###mh-autoload tag to selected functions so that
6584 autoloads for those functions can be automatically created in
6585 mh-loaddefs.el (closes half of SF #643722)..
6587 * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
6588 provided via mh-e.el.
6589 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6590 Added ;;;###mh-autoload tag to selected functions so that
6591 autoloads for those functions can be automatically created in
6592 mh-loaddefs.el (closes half of SF #643722)..
6594 * Makefile (emacs): Add dependency on autoloads.
6595 (clean): Remove mh-loaddefs.el too.
6596 (autoloads): New target. Builds mh-loaddefs.el.
6597 (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
6598 (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
6599 (autoloads-gen): Runs batch-update-autoloads to populate
6600 mh-loaddefs.el (closes half of SF #643722)..
6601 (auto-autoloads.elc): Renamed from autoloads to be explicit about
6602 file that's created.
6603 (custom-load.elc): Ditto.
6605 2002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
6607 * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
6608 track of oldest ancestor of last message. If due to narrowing the
6609 common ancestor of two messages is lost then one of them is
6610 promoted to be the parent of the other. This variable helps in
6612 (mh-thread-generate-scan-lines): Group messages which belong to
6613 the same thread tree, even if a common ancestor is no longer
6615 (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
6616 mh-thread-last-ancestor to nil when calling
6617 mh-thread-generate-scan-lines.
6619 * mh-mime.el (font-lock): Font-lock required at compile time to
6620 avoid warning about font-lock-maximum-size
6621 (mh-display-smileys, mh-display-emphasis): Show graphical smileys
6622 and emphasis only if message isn't too large.
6624 * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
6625 been threaded or narrowed confuses MH-E. Even though the folder is
6626 displayed as not threaded and not narrowed, MH-E still believes
6627 the folder is in the previous state. This can cause problems when
6628 trying to narrow/thread the folder. The change fixes this.
6630 * mh-mime.el (mh-mime-display-alternative): The setting of
6631 mh-display-buttons-for-inline-parts-flag was not being used when
6632 displaying one of the alternatives. This change fixes that.
6634 * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
6636 (mh-filter-out-non-text): When filtering out MIME buttons from
6637 yanked text, the last line of the MIME part was getting lost. The
6638 fix avoids that and removes only the last new line instead.
6640 2002-11-29 Peter S Galbraith <psg@debian.org>
6642 * Makefile (MH-E-SRC): Add mh-alias.
6644 * mh-alias.el: Assign copyright to FSF instead of myself.
6645 (mh-read-address): Add support for emacs-21's
6646 completing-read-multiple to prompt for multiple entries.
6647 (mh-alias-PC-complete-address): Deleted.
6648 (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
6649 (mh-alias-letter-mode-expand-alias-hook): Simplify.
6650 (mh-alias-hostname): Deleted.
6651 (mh-alias-substitute-aliases-flag): Change default to nil.
6652 (mh-alias-display-blind-name-on-completion-flag) Change default to
6654 (mh-alias-alist): Now holds alias values.
6655 (mh-alias-lowercase-alist): Deleted.
6656 (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
6657 (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
6658 new mh-alias-alist instead of old mh-alias-lowercase-alist.
6660 * mh-alias.el: Moved from contrib/ directory. Now part of MH-E!
6662 * Makefile (MH-E-SRC): Add mh-identity.
6664 * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
6665 (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
6666 Moved to mh-comp.el.
6668 * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
6669 (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
6670 (mh-identity-menu): Added from mh-identity.el
6672 2002-11-29 Bill Wohler <wohler@newt.com>
6674 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
6675 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
6676 Ran indent-region, reformatted long lines, ran untabify.
6677 (indent-tabs-mode): Set file local variable to nil.
6679 2002-11-29 Bill Wohler <wohler@newt.com>
6681 * Released MH-E version 7.0.
6683 * mh-e.el (Version, mh-version): Updated for release 7.0.
6685 * mh-comp.el (subseq, search): Require cl instead of autoloading
6686 these due to compilation warnings in CVS Emacs.
6688 2002-11-23 Bill Wohler <wohler@newt.com>
6690 * MH-E-NEWS: Emphasize the renaming of the variables at the top of
6693 2002-11-22 Satyaki Das <satyaki@theforce.stanford.edu>
6695 * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
6696 is not needed and the binding is more useful to toggle display of
6699 * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
6700 and "o" from MIME buttons.
6701 (mh-insert-mime-button): Change comment to reflect change in
6704 2002-11-21 Bill Wohler <wohler@newt.com>
6706 * Released MH-E version 6.1.91.
6708 * mh-e.el (Version, mh-version): Updated for release 6.1.91.
6710 * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
6712 2002-11-21 Mark D. Baushke <mdb@gnu.org>
6714 * mh-comp.el (mh-letter-insert-signature-hook): This should be in
6715 customize-group mh-compose.
6717 2002-11-21 Satyaki Das <satyaki@theforce.stanford.edu>
6719 * mh-utils.el (load): Load mm-view.el here so that
6720 mm-inline-text-html would be defined if available.
6721 (mh-mm-inline-media-tests): If mm-inline-text-html is available
6722 then use it, otherwise fall back on using mm-inline-text (closes
6725 * mh-mime.el (load): Remove the load of mm-view here since it
6726 happens in mh-utils.el now.
6728 2002-11-15 Bill Wohler <wohler@newt.com>
6730 * Released MH-E version 6.1.90.
6732 * README (Compile): New section. Users must now compile MH-E due
6733 to the vagaries of the various versions of gnus.
6735 * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
6736 reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
6737 (MH-E-ETC-ETC): Added Makefile and README.
6738 (dist): Depend on all, so clean happens. Don't add .elc files to
6739 tarball as they are built upon installation now.
6741 2002-11-15 Satyaki Das <satyaki@theforce.stanford.edu>
6743 * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
6744 If called in threaded mode, cur was always getting set to the last
6745 message in the folder.
6747 2002-11-14 Bill Wohler <wohler@newt.com>
6749 * mh-e.el (Version, mh-version): Updated for release 6.1.90.
6751 * MH-E-NEWS, README: Updated for release 7.0.
6753 * mh-utils.el (mh-index-search): Added full docstring which new
6754 users will need before they run a search!
6755 (mh-swish++-execute-search, mh-swish-execute-search,
6756 mh-namazu-execute-search mh-glimpse-execute-search): Added
6757 autoloads with full docstrings for the same reason!
6759 * mh-e.el (mh-limit-map): Removed / / alias for
6760 mh-narrow-to-subject.
6762 * mh-utils.el (mh-show-thread-map): Removed / / alias for
6763 mh-show-narrow-to-subject.
6765 * mh-seq.el (mh-delete-subject): Checkdoc fix.
6767 * mh-e.el (mh-help-messages): Added / prefix character to help
6768 string. Tweaked / helpstring a little.
6770 2002-11-14 Mark D. Baushke <mdb@gnu.org>
6772 * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
6773 width for cosmetic reasons.
6775 2002-11-14 Peter S Galbraith <psg@debian.org>
6777 * mh-identity.el (mh-insert-identity): Fix a few things undone by
6779 (mml-insert-tag): Add autoload.
6781 2002-11-13 Mark D. Baushke <mdb@gnu.org>
6783 * mh-identity.el (mh-insert-identity): A value of either nil or
6784 "" should cause the field to be removed.
6785 (mh-identity-list): Update the docstring.
6787 2002-11-13 Peter S Galbraith <psg@debian.org>
6789 * mh-e.el (mh-limit-map): New key map for limits (subject for now).
6790 * mh-utils.el (mh-show-limit-map): Same.
6792 * mh-seq.el (mh-delete-subject): Renamed from
6793 mh-delete-subject-sequence.
6794 (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
6795 (mh-next-unseen-subject-sequence): Removed. :-(
6797 * mh-seq.el: Use 'em.
6799 2002-11-13 Mark D. Baushke <mdb@gnu.org>
6801 * mh-e.el (mh-alt-show): New defalias for mh-show.
6802 (mh-alt-refile-msg): New defalias for mh-refile-msg.
6803 (mh-alt-send): New defalias for mh-send.
6804 (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
6805 mh-alt-send for the alias bindings.
6806 (mh-alt-visit-folder): New defalias for mh-visit-folder.
6807 (mh-folder-map): Use it.
6808 (mh-folder-message-menu): Revert previous change.
6810 2002-11-13 Peter S Galbraith <psg@debian.org>
6812 * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
6813 menu for mh-refile-msg.
6815 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
6817 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
6818 scan lines of duplicate messages were too long. The change fixes
6821 2002-11-13 Bill Wohler <wohler@newt.com>
6823 * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
6826 * mh-speed.el (mh-speed-run-flists-flag): While documenting this
6827 variable in the release notes, I was unsure what would happen if
6828 set to nil. So, I clarified the docstring and indicated
6829 implications of setting this variable to nil, and offered manual
6832 2002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
6834 * mh-index.el (mh-index-quit): Fix documentation and run
6835 mh-before-quit-hook and mh-quit-hook.
6837 2002-11-13 Bill Wohler <wohler@newt.com>
6839 * mh-utils.el (with-mh-folder-updating): Renamed local variable
6840 mh-save-modification-flag to save-modification-flag.
6842 2002-11-12 Bill Wohler <wohler@newt.com>
6844 * mh-index.el (mh-index-keymap): Renamed to
6845 mh-index-folder-mode-keymap to be a closer to the usual keymap
6846 naming convention. Since we want our own keymap and not inherit
6847 the one in mh-folder-mode, we need to use a suffix other than
6850 * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
6852 (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
6854 (mh-folder-folder-menu): Aligned symbols.
6856 * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
6858 * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
6860 (mh-show-message-menu): s/Msg/Message. Removed redundant refile
6862 (mh-show-folder-menu): Aligned symbols.
6864 2002-11-12 Satyaki Das <satyaki@theforce.stanford.edu>
6866 * mh-index.el (mh-index-matches, mh-index-current-match): Remove
6867 these variables since they were only used for glimpse and grep.
6868 Now the functionality of all the indexing programs will be
6870 (mh-index-search, mh-index-insert-scan, mh-defun-index)
6871 (mh-index-show): Simplify functions since matches are no longer
6873 (mh-index-parse-match): Remove function.
6875 * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
6876 (mh-scan-date-width, mh-scan-date-flag-width)
6877 (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
6878 variables to keep track of the widths of the different fields in
6880 (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
6881 (mh-scan-field-subject-start-offset): Offsets that are computed
6882 from the scan line widths.
6884 * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
6885 (mh-thread-parse-scan-line): Use new variables that remember the
6886 various offsets in place of integer constants.
6887 (mh-thread-generate-scan-lines): Space shouldn't be added here!
6889 2002-11-12 Bill Wohler <wohler@newt.com>
6891 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
6892 first column is column number 0 and changed "sixth column" to
6893 "fifth column" accordingly.
6895 * mh-index.el (mh-index-folder-mode): Clarified method of replying
6896 in mode documentation.
6897 (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
6899 * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
6900 variable mh-cmd-note in docstrings.
6902 * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
6903 Reworded docstring so it doesn't mention internal variable
6904 mh-cmd-note. Added information about using fixed-width message
6906 (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
6907 that it is updated dynamically only if mh-scan-format-file is t.
6908 (mh-set-cmd-note): Grammer fix in docstring.
6909 (mh-cmd-note): Noted that the first column is column number 0.
6911 * mh-e.el (mh-scan-format-file): Added information about
6912 mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
6914 * mh-index.el (mh-index-keymap): Added bindings for i
6915 (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
6916 appear to be supported and are found in the toolbar.
6917 (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
6918 (mh-visit-folder) alias, and v (mh-visit-folder).
6919 (mh-index-folder-mode-help-messages): Changes for above.
6920 (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
6921 menus. I decided to delete the unavailable items since greying out
6922 implies that the user can do something to access them. In this
6923 case, that's not the case. Well, that's not entirely true--the
6924 user could write code for those functions ;-).
6925 (mh-index-folder-mode): Use new menus.
6927 * mh-utils.el (mh-prompt-for-folder): Added optional argument
6928 default-string which can be used in case the string for default
6929 isn't intuitive enough.
6931 * mh-index.el (mh-index-search): Made default prompt more
6932 intuitive (I hope!).
6934 2002-11-11 Peter S Galbraith <psg@debian.org>
6936 * mh-identity.el (mh-header-field-delete): Remove save-excursion.
6937 Strange that this worked for me before... Thanks to Jeff for the
6939 (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
6940 adds a nicer-looking MIME header for signatures inserted after
6943 2002-11-11 Satyaki Das <satyaki@theforce.stanford.edu>
6945 * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
6946 so that it can take a string containing the scan-line as argument
6947 in addition to using the line at point.
6948 (mh-thread-add-spaces): New function to pad each scan line to the
6949 appropriate length. This is called when mh-cmd-note is increased.
6951 * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
6952 folder by using mh-thread-add-spaces to pad the pre-existing lines
6953 in mh-thread-scan-line-map appropriately.
6954 (mh-thread-add-spaces): Autoload from mh-seq.
6956 2002-11-11 Mark D. Baushke <mdb@gnu.org>
6958 * mh-index.el: Fix checkdoc nit.
6960 * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
6961 from mh-display-buttons-for-inline-parts.
6962 (mh-mime-display-single): Use it.
6963 This addresses part of SF #627015.
6965 * mh-e.el (mh-print-background-flag): Renamed from
6966 mh-print-background.
6967 * mh-funcs.el (mh-print-msg): Use it.
6968 This addresses part of SF #627015.
6970 * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
6971 mh-delete-yanked-msg-window.
6972 (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
6973 This addresses part of SF #627015.
6975 * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
6976 from mh-update-sequences-after-mh-show.
6977 (mh-show-msg): Use it.
6978 This addresses part of SF #627015.
6980 * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
6981 mh-decode-quoted-printable
6982 (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
6984 This addresses part of SF #627015.
6986 * mh-utils.el (mh-recursive-folders-flag): Renamed from
6987 mh-recursive-folders.
6988 (mh-make-folder-list-background): Use it.
6989 * mh-funcs.el (mh-list-folders): Ditto.
6990 This addresses part of SF #627015.
6992 * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
6993 mh-auto-folder-collect.
6994 (mh-find-path): Use it.
6995 This addresses part of SF #627015.
6997 * mh-utils.el (mh-decode-mime-flag): Renamed from
6999 * mh-utils.el (mh-show-mode, mh-show-xface)
7000 (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
7001 * mh-mime.el (mh-graphical-smileys-flag)
7002 (mh-graphical-emphasis-flag): Ditto.
7003 * mh-index.el (mh-index-search, mh-index-show): Ditto.
7004 * mh-e.el (mh-header-display): Ditto.
7005 This addresses part of SF #627015.
7007 * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
7008 to get back to the current message.
7010 2002-11-10 Satyaki Das <satyaki@theforce.stanford.edu>
7012 * mh-index.el (mh-index-keymap, mh-index-page-msg)
7013 (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
7015 (mh-index-keymap, mh-index-previous-page): Replace
7016 mh-index-scroll-down with mh-index-previous-page.
7018 2002-11-09 Satyaki Das <satyaki@theforce.stanford.edu>
7020 * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
7021 loaded. This fixes the infinite load loop. I am not sure what the
7022 actual problem is. Also removed the nop requires/autoloads.
7023 (mh-defun-index): Use the right argument for mh-recenter.
7024 Otherwise it misbehaves for the default value of
7027 * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
7028 used on first line of index folder buffer.
7030 2002-11-09 Peter S Galbraith <psg@debian.org>
7032 * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
7034 (mh-index-folder-mode): Use it.
7035 (mh-index-keymap): Added mouse-2 binding, like in regular
7038 2002-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
7040 * mh-index.el (mh-index-folder-mode): Fix doc string for major
7041 mode. It was pointing to the wrong keymap.
7042 (mh-index-show-mode): Fix doc string for mode. Also add mh-help
7045 * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
7046 mh-mark-active-p instead. This does the right thing for different
7048 (mh-yank-cur-msg): Add a space between sexprs.
7050 * mh-utils.el (mh-mark-active-p): New macro which papers over
7051 diffences between GNU Emacs and XEmacs. The variables mark-active
7052 and transient-mark-mode are used in GNU Emacs while zmacs-regions
7053 and region-active-p are used in XEmacs.
7055 * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
7056 mh-mark-active-p as above.
7058 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
7059 mh-mark-active-p as above.
7061 2002-11-06 Peter S Galbraith <psg@debian.org>
7063 * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs. It didn't work
7064 with a selected region, and left the inserted text selected (in
7065 reverse video). I didn't use SF patch #402315 to implement this.
7067 2002-11-05 Peter S Galbraith <psg@debian.org>
7069 * mh-utils.el (mh-show-tool-bar-map): Change call to
7070 mh-tool-bar-search-command such that user can customize it for the
7073 * mh-e.el (mh-folder-tool-bar-map): Same.
7075 2002-11-05 Bill Wohler <wohler@newt.com>
7077 * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
7078 mh-tool-bar-search-command.
7080 * mh-index.el (mh-index-search): Backed out previous change to
7081 prompt. There ain't no folder named "all."
7083 * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
7084 and mh-index-search to the docstring so that user can easily click
7085 on them for more information.
7087 * mh-pick.el (mh-search-folder): Mention that this function uses
7088 the MH pick command to give the user more information when
7089 choosing between mh-search-folder and mh-index-folder.
7091 * mh-index.el (mh-index-search): Edited the docstring. Direct the
7092 user to mh-index-program if necessary.
7093 (mh-index-program): Edited this docstring too. Viewing the help
7094 in a *Help* buffer really exposes grammatical flaws.
7096 2002-11-05 Peter S Galbraith <psg@debian.org>
7098 * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
7099 what search function to use in tool-bar.
7100 (mh-show-tool-bar-map): Use it.
7102 * mh-e.el (mh-folder-tool-bar-map): Use it.
7104 2002-11-05 Bill Wohler <wohler@newt.com>
7106 * mh-index.el (mh-index-search): Changed default prompt from "+"
7107 to "all". mh-prompt-for-folder doesn't seem to mind.
7109 * mh-e.el (mh-folder-folder-menu): Added menu entry for
7112 * mh-utils.el (mh-show-folder-menu): Added menu entry for
7115 * mh-index.el: Added commentary on supported search engines and
7116 for getting started (initializing database).
7118 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7120 * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
7121 binding of "i" to "Fi".
7122 (mh-index-folder-mode-help-messages): Change help message to
7123 reflect above change.
7125 2002-11-04 Bill Wohler <wohler@newt.com>
7127 * mh-index.el (mh-index-program, mh-indexer): Swapped names since
7128 the former seems like a better user variable name. If you've
7129 customized mh-indexer, be sure to toss it out and customize
7132 2002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7134 * mh-index.el (mh-indexer-choices): Not having the quotes in the
7135 binary names is a bit nicer since that maintains uniformity with
7137 (mh-index-choose): Use symbol-value instead of eval. Eval should
7138 be avoided except when it can't be :-).
7140 2002-11-04 Bill Wohler <wohler@newt.com>
7142 * mh-index.el (mh-index-program): New variable to hold the name of
7143 the indexer that was found; use this instead of clobbering
7144 user-customizable variable mh-indexer.
7145 (mh-index-search): Use it. Added comments to keep others from
7146 doing what I had done (fortunately, I caught myself before
7148 (mh-index-choose): Set mh-index-program instead of mh-indexer.
7149 Update docstring to describe side-effects.
7151 * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
7152 are good that if someone has both swish++ and swish, they want to
7153 use the much faster, much smaller swish, so move it up in the
7155 (mh-indexer-choices): Ditto for rationale for moving swish++ up in
7156 priority over swish. Also, use -binary symbols instead of
7157 hard-coding binary names. This allows package installers to
7158 customize the location of the binaries in site-lisp and still have
7159 the auto-detection code work. It also allows one to have alternate
7160 binary names (see mh-swish++-binary).
7161 (mh-index-search): Ditto (moving swish++ up).
7162 (mh-swish++-binary): Look for search++, then search. The rationale
7163 is that a package maintainer may rename search to search++ if
7164 search is already in use (e.g., Debian) so try it first.
7165 (mh-swish++-execute-search): Replaced Satyaki's path with dummy
7166 path in docstring. Also removed RecurseSubdirs since this is the
7167 default. Added comment that index might be named index++ on some
7168 systems (e.g., Debian).
7169 (mh-index-choose): Updated to work with new mh-indexer-choices.
7171 2002-11-04 Peter S Galbraith <psg@debian.org>
7173 * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
7174 here, since that adds the menu to the Customize buffer in XEmacs.
7176 2002-11-04 Peter S Galbraith <psg@debian.org>
7178 * mh-comp.el (mh-mhn-compose-insert-flag)
7179 (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
7181 * mh-mime.el (mh-mhn-compose-insert-flag)
7182 (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
7183 Fixes mh-letter-menu for XEmacs.
7185 2002-11-04 Eric Ding <eding@rational.com>
7187 * mh-comp.el (mh-rejected-letter-start): add another string
7189 2002-11-04 Eric Ding <ericding@alum.mit.edu>
7191 * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
7192 regexps as args, only regular strings
7194 2002-11-04 Peter S Galbraith <psg@debian.org>
7196 * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
7197 pre-existing M-F-T field. If a nmh replgroupcomps propagates a
7198 M-F-T field in a message reply, then we have to have it alone.
7200 2002-11-02 Bill Wohler <wohler@newt.com>
7202 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7203 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
7204 mh-xemacs-compat.el: Added Local Variables section. Defined
7205 sentence-end-double-space to be nil so that those who might not
7206 buy my setting of this variable can at least run checkdoc without
7207 a whole lot of noise.
7209 2002-11-02 Peter S Galbraith <psg@debian.org>
7211 * mh-identity.el: New file. Multiple Identify support for MH-E.
7212 Used to easily set different fields such as From and Organization,
7213 as well as diffrent signature files. This file won't be included
7216 2002-11-02 Bill Wohler <wohler@newt.com>
7218 * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
7219 from Gnus 5.10 to make it explicit which code has been
7221 (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
7222 code from Gnus 5.10.
7224 2002-11-02 Peter S Galbraith <psg@debian.org>
7226 * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
7227 mention related variables mh-reply-show-message-flag and
7228 mh-delete-yanked-msg-window.
7229 (mh-reply): Change the "Reply to whom" prompt.
7231 2002-11-01 Bill Wohler <wohler@newt.com>
7233 * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
7234 (mh-folder-list-change-hook): Converted this from defvar in other
7235 files to defcustom here. It is called, not documented as
7236 obsolete, and might as well be documented.
7237 (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
7238 mh-process-commands, mh-update-unseen): Added missing
7239 documentation about hook, or made verbiage about hook consistent
7240 throughout, even if the function isn't interactive.
7242 * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
7243 and made it a defcustom.
7244 (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
7245 but this is the place where it is called).
7246 (mh-show-hook): Moved here from mh-e.el since it's called here.
7247 (mh-show-mode): Call mh-show-mode-hook.
7248 (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
7249 mh-prompt-for-folder, mh-set-folder-list): Added missing
7250 documentation about hook, or made verbiage about hook consistent
7251 throughout, even if the function isn't interactive.
7253 * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
7255 (mh-insert-prefix-string): Made docstring more descriptive of what
7258 * mh-funcs.el (mh-kill-folder): Added missing documentation about
7261 * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
7262 (mh-index-show): Made verbiage about hook consistent throughout.
7264 * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
7265 (mh-edit-mhn): Added missing documentation about hook.
7267 * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
7268 throughout. Call the damn hook.
7270 2002-11-01 Satyaki Das <satyaki@theforce.stanford.edu>
7272 * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
7273 it will look right in info.
7275 * mh-index.el (mh-index-search): Change argument name from
7276 new-buffer-p to new-buffer-flag.
7277 (mh-index-search-again, mh-index-search): New index-buffers were
7278 being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
7280 (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
7281 show buffers (after the first one) was broken.
7282 (mh-index-quit): Bury show buffer instead of killing it. Killing
7283 it, without killing the corresponding folder buffer, can cause
7284 confusion with two folder buffers trying to display in the same
7287 * mh-seq.el (mh-thread-prune-containers): Rewritten without
7288 recursion. Also removed the top-level-p argument since it isn't
7290 (mh-thread-sort-containers): New function factored out from
7291 previous definition of mh-thread-prune-containers. It sorts
7292 message containers in ascending order wrt their message indices.
7293 (mh-thread-generate): Use new mh-thread-prune-containers.
7295 * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
7298 2002-10-31 Bill Wohler <wohler@newt.com>
7300 * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
7301 mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
7302 mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
7304 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7306 * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
7307 sequence notation and leave notation for other things alone. This
7308 ensures that threading doesn't lose notations for replied-to
7311 * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
7312 instead do it in mh-get-new-mail. This way the widening happens
7313 only if new mail is incorporated.
7314 (mh-generate-new-cmd-note): The function now returns the point
7315 from which the new messages start. This will allow threading to do
7317 (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
7318 adaptive scan mode leaves two messages marked as current in
7319 certain cases. Fix indentation of if statement. If there are
7320 messages to be incorporated, the folder is widened. If mh-cmd-note
7321 changes set start-of-inc correctly.
7322 (mh-remove-all-notation): Change this function to only remove user
7323 sequence notation and leave notation for replied-to messages and
7324 similar notation alone. This means operations like narrowing to
7325 subject sequence and widening don't lose notations.
7327 2002-10-31 Bill Wohler <wohler@newt.com>
7329 * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
7330 docstring and other minor edits. Checkdoc removed trailing spaces.
7331 (mh-insert-signature): Checkdoc flagged docstring. Reverted to
7332 previous value. Added specific name of hook that is run.
7333 (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
7336 2002-10-31 Jeffrey C Honig <jch@honig.net>
7338 * mh-e.el (mh-show-mode-hook): Remove the unused
7339 mh-show-mode-hook, mh-show-hook is the one that is used.
7341 * mh-utils.el (mh-show-mode): Change the documentation to refer to
7342 mh-show-hook instead of the unused mh-show-mode-hook.
7344 2002-10-31 Peter S Galbraith <psg@debian.org>
7346 * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
7347 and include example in doc string.
7349 2002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7351 * mh-index.el (mh-indexer): Add customization choice for swish++.
7352 (mh-indexer-choices): Add swish++ choice.
7353 (mh-index-search): Change doc to reflect addition of swish++ option.
7354 (mh-swish++-binary, mh-swish++-directory): New variables for
7356 (mh-swish++-execute-search): New function to execute swish++
7358 (mh-swish++-next-result): Function aliased to mh-swish-next-result
7359 since the result format of swish++ is the same as that of swish-e.
7360 (mh-index-search): Always overwrite window-configuration with new
7361 value. This is needed since we don't kill the index-buffer when
7362 quitting which means the window configuration wasn't getting set
7364 (mh-index-search-again): If index buffer is reused, reset the old
7365 window config to its original value.
7367 2002-10-30 Bill Wohler <wohler@newt.com>
7369 * Makefile (emacs, xemacs): New targets.
7370 (all): Use these targets instead of calling specific targets.
7371 (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
7372 target and moved pieces into their own sections.
7375 2002-10-30 Peter S Galbraith <psg@debian.org>
7377 * mh-utils.el (mh-show-font-lock-keywords): Wrap an
7378 'eval-and-compile around its defvar, otherwise byte-compilation
7379 fails on `mh-show-font-lock-keywords-with-cite'.
7381 2002-10-29 Jeffrey C Honig <jch@honig.net>
7383 * mh-comp.el (mh-letter-insert-signature-hook)
7384 (mh-insert-signature): Add a hook to be called before inserting
7385 the signature. Do not attempt to insert the signature if
7386 mh-insert-signature-file-name is nil.
7388 2002-10-29 Peter S Galbraith <psg@debian.org>
7390 * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
7391 (Closes SF #629233: inc in narrowed folder suboptimal)
7393 * mh-comp.el (mh-insert-letter): Stop using mhl to include a
7394 message before it mangles the header, and supercite fails
7395 (Closes SF #629153: mh-insert-letter uses mhl?).
7396 (mh-insert-prefix-string): Leave point at beginning instead of
7397 end, since that's what sc-cite-original does.
7398 (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
7400 2002-10-30 Steve Youngs <youngs@xemacs.org>
7402 * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
7403 when in XEmacs so we don't do font-locking unconditionally.
7405 * mh-utils.el (mh-show-mode): Ditto.
7407 2002-10-29 Peter S Galbraith <psg@debian.org>
7409 * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
7410 (mh-folder-to-face, mh-folder-body-face): Define faces instead of
7411 copying them from font-lock faces. This mh-e will look the same
7412 in XEmacs as it does in Emacs.
7413 * mh-utils.el (mh-show-cc-face, mh-show-date-face)
7414 (mh-show-header-face): Ditto.
7416 2002-10-29 Jeffrey C Honig <jch@honig.net>
7418 * mh-comp.el (mh-send-letter): I meant to use
7419 mh-goto-header-field, not mh-get-header-field. The former returns
7420 nil if the header is not found and doesn't need a conditional.
7422 2002-10-29 Peter S Galbraith <psg@debian.org>
7424 * mh-comp.el (mh-forward): Bug fix. Change 'kill-line for a
7425 'delete-region, because I don't want that text yanked with C-y.
7427 * mh-seq.el (mh-put-msg-in-seq): Add support for selected
7428 region (Closes SF feature request #630324).
7430 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7432 * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
7433 general so that a subject of the form "Re[218]: howdy" would be
7436 * mh-mime.el (mh-mime-save-part): Copy function definition of
7437 mm-save-part from cvs gnus since that function is buggy in gnus
7438 that comes with emacs21.2.
7440 2002-10-28 Peter S Galbraith <psg@debian.org>
7442 * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
7443 optional bracketed number after "Re", such as in "Re[2]:"
7444 (Patch by Satyaki; I checked it and applied).
7445 (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
7446 * mh-seq.el (mh-subject-to-sequence): Ditto.
7448 * mh-e.el (mh-folder-sequence-menu): Remove "Toggle Subject
7449 Thread" from menu. mh-toggle-threads is in the Folder menu.
7451 * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
7453 * mh-utils.el (mh-show-update-sequences): Added to
7454 mh-defun-show-buffer builds; needed for menu.
7455 (mh-show-sequence-menu, mh-show-message-menu)
7456 (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
7457 the menus used in mh-folder-mode.
7458 (mh-show-mode): easy-menu-add the 3 menus.
7460 2002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7462 * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
7463 go to the right message. In a threaded folder message 2 may be
7464 present after 26 and the previous regexp would go to 26 when we
7465 really wanted to go to 2!
7467 * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
7470 2002-10-28 Bill Wohler <wohler@newt.com>
7472 * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
7473 (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
7474 of mh-show-mime-save-parts.
7476 2002-10-28 Peter S Galbraith <psg@debian.org>
7478 * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
7480 * mh-utils.el (mh-show-tool-bar-map): Same.
7481 * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
7483 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7485 * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
7486 its behavior like that of mh-narrow-to-seq.
7488 2002-10-27 Bill Wohler <wohler@newt.com>
7490 * mh-mime.el (mh-mime-save-parts): Renamed from
7491 mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
7492 bug whereby mh-mime-save-parts-directory was not getting
7493 initialized properly from a string-valued
7494 mh-mime-save-parts-default-directory.
7495 (mh-mime-save-parts-default-directory): Ditto. Check your
7497 (mh-mime-save-parts-directory): Ditto.
7499 * mh-utils.el (mh-show-mime-save-parts): Renamed from
7500 mh-store-mime-parts.
7501 (mh-show-mime-map): Added keybinding "K a" for
7502 mh-show-mime-save-parts.
7504 * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
7505 (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
7506 (mh-help-messages): Added help for "K a".
7508 2002-10-27 Peter S Galbraith <psg@debian.org>
7510 * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
7511 the first to the second (and recode a bit).
7512 (mh-insert-mail-followup-to): Use it.
7514 2002-10-27 Bill Wohler <wohler@newt.com>
7516 * mh-utils.el (mh-invisible-headers): Backed out change. Removed
7517 Mail-Followup-To due to objections from Peter and Mark.
7519 2002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7521 * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
7522 whether the message being queried about has been marked to be
7525 * mh-mime.el (mh-insert-mime-security-button): Make
7526 pressed-details a local.
7528 2002-10-27 Steve Youngs <youngs@xemacs.org>
7530 * .cvsignore: New file.
7532 2002-10-26 Steve Youngs <youngs@xemacs.org>
7534 * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
7535 variable 'dest', it isn't used anywhere.
7537 * mh-pick.el (mh-do-pick-search): Don't bind local variable
7538 'finding-messages', it isn't used anywhere.
7540 * mh-utils.el: Byte-compiler warning suppression.
7541 (mh-gnus-article-highlight-citation): Rather than redefining
7542 'gnus-cite-face-list', just re-order it.
7543 (mh-show-mode): Force turning on font-lock in XEmacs.
7545 * mh-seq.el: Byte-compiler warning suppression.
7547 * mh-index.el: Byte-compiler warning suppression.
7549 * mh-comp.el: Byte-compiler warning suppression.
7551 * mh-xemacs-compat.el: Add defaliases for 'timerp' &
7552 'cancel-timer' to the equivalent 'itimer' functions.
7553 (rfc822): Require it for 'rfc822-goto-eoh'.
7554 Byte-compiler warning suppression.
7556 * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
7557 (mh-toggle-threads): Remove duplicate autoload.
7558 Byte-compiler warning suppression.
7559 (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
7560 in XEmacs when font-lock is on.
7561 (mh-folder-unseen-seq-name): Ditto.
7563 2002-10-27 Mark D. Baushke <mdb@gnu.org>
7565 * Makefile: Reorganize to allow for building also compiling for
7566 XEmacs too. Sanitize so that it will work using least-common
7567 denominator versions of 'make'. Tested using GNU make, Solaris make,
7569 (all): Use recursive invokation based on the emacs or xemacs
7570 executable passed on the 'make EMACS=xemacs' command line.
7571 (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
7572 to compile things properly.
7573 (AUTO_PRELOADS): Magic XEmacs glue.
7576 (custom-loads): Ditto.
7578 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7580 * mh-e.el (mh-last-msg): Add call to mh-recenter.
7582 2002-10-26 Peter S Galbraith <psg@debia.org>
7584 * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
7585 `mh-re-search-to-cc' in favour of more generalized new function
7586 `mh-search-addr-regexp'.
7587 (mh-insert-mail-followup-to): Use it.
7589 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7591 * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
7592 folder is already threaded. This is more efficient and also avoids
7593 problems when the folder is widened.
7594 (mh-thread-inc): Don't try to restore the point to original
7595 location since mh-inc-folder from where this is called changes
7596 point location after calling this function.
7598 * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
7601 2002-10-26 Peter S Galbraith <psg@debian.org>
7603 * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
7605 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7607 * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
7608 of dest. The problem was pointed out by Steve as well.
7610 * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
7611 pointed out by Steve.
7613 2002-10-26 Bill Wohler <wohler@newt.com>
7615 * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
7617 2002-10-26 Peter S Galbraith <psg@debian.org>
7619 * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
7622 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
7624 * mh-e.el (mh-remove-all-notation): New function that removes all
7627 * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
7628 remove all notation. This avoids stale notation hanging around.
7629 Also changes in show buffer and position in folder buffer are
7630 avoided if possible.
7631 (mh-widen): When widening the scan-lines are notated based on the
7632 current state of the folder. This means any changes made when the
7633 folder was narrowed are shown consistently.
7634 (mh-notate-deleted-and-refiled): Update the documentation.
7635 (mh-thread-parse-scan-line): For some reason the ASCII value of
7636 the space character was being used here. This is fixed.
7637 (mh-thread-inc, mh-toggle-threads): Avoid change of point in
7638 folder and message being displayed in shown buffer.
7640 * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
7641 blank lines when point is towards the end of the folder buffer.
7643 2002-10-25 Peter S Galbraith <psg@debian.org>
7645 * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
7646 defcustom to append a Mail-Followup-To field to the header. The
7647 insertion is done if the To: or Cc: fields matches an entry in
7648 `mh-insert-mail-followup-to-list'."
7649 (mh-insert-mail-followup-to-list): New defvar. List of addresses
7650 for which a Mail-Followup-To field is inserted.
7651 (mh-re-search-to-cc): New function. Search for REGEXP in To: and
7653 (mh-insert-mail-followup-to): New function. Insert
7654 Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
7655 (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
7656 mh-insert-mail-followup-to-flag is true.
7658 2002-10-25 Mark D. Baushke <mdb@gnu.org>
7660 * mh-utils.el (mh-show-maximum-size): New variable to control
7661 the display of large messages.
7662 (mh-display-msg): Use it (Closes SF #488696).
7664 * mh-seq.el (mh-toggle-threads): Checkdoc fix.
7666 * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
7668 * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
7669 mh-insert-x-mailer-p. Update docstring.
7670 (mh-send-letter): Use it.
7671 (mh-reply-show-message-flag): Renamed from
7672 mh-reply-show-message-p. Update docstring.
7674 This addresses part of SF #627015.
7676 * mh-e.el (mh-recenter-summary-flag): Renamed from
7677 mh-recenter-summary-p. Update docstring.
7678 (mh-set-scan-mode): Use it.
7679 This addresses part of SF #627015.
7681 2002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
7683 * mh-e.el (mh-reset-threads-and-narrowing): New function which
7684 resets all thread and narrowing state to completely unthreaded and
7685 widened state. As a side effect, the folder buffer is erased.
7686 (mh-rescan-folder): Reset threads and narrowing state.
7688 * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
7690 * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
7691 threading is over so that if user aborts threading, it doesn't
7692 leave mh-e in an inconsistent state.
7693 (mh-toggle-threads): Use mh-scan-folder to populate the folder
7694 buffer instead of mh-rescan-folder which resets threading and
7697 2002-10-24 Bill Wohler <wohler@newt.com>
7699 * mh-e is completely checkdoc clean now.
7701 * mh-utils.el (mh-clean-message-header-flag): Renamed from
7702 mh-clean-message-header.
7703 (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
7704 (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
7705 This addresses part of SF #627015.
7707 * mh-mime.el (mh-clean-message-header-flag): Renamed from
7708 mh-clean-message-header.
7709 Checkdoc fixes. This addresses part of SF #627015.
7711 * mh-index.el (mh-clean-message-header-flag): Renamed from
7712 mh-clean-message-header. This addresses part of SF #627015.
7714 * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
7715 mh-do-not-confirm. This addresses part of SF #627015.
7717 * mh-e.el (mh-do-not-confirm-flag): Renamed from
7719 (mh-clean-message-header-flag): Renamed from
7720 mh-clean-message-header.
7721 This addresses part of SF #627015.
7723 * mh-comp.el: checkdoc fixes.
7725 2002-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
7727 * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
7728 fresh instead of yanking from buffer. This is needed to get
7729 correct threading in copied sequence.
7730 (mh-thread-inc, mh-thread-update-scan-line-map)
7731 (mh-thread-parse-scan-line): Eliminate the use, and hence the
7732 definition of, the kludgy mh-thread-update-scan-line-map. Instead
7733 the functions mh-notate-deleted-and-refiled and
7734 mh-notate-user-sequences are used to get the message marks right.
7735 (mh-thread-generate-scan-lines): Updated to allow the thread tree
7736 to be used in a narrowed folder buffer.
7737 (mh-thread-folder, mh-toggle-threads): Remove
7738 mh-folder-threaded-view-flag.
7739 (mh-thread-old-scan-line-map): New buffer-local variable that
7740 remembers the original scan-line map so that the sequence thread,
7741 narrow, widen will work.
7742 (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
7743 narrowing and restore it when widening.
7745 * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
7746 (mh-regenerate-headers, mh-get-new-mail)
7747 (mh-make-folder-mode-line, mh-process-commands)
7748 (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
7749 Instead (memq 'unthread mh-view-ops) is used to test if the folder
7752 * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
7753 since we want to do emphasis on the whole of the region and not
7754 just after the first blank line.
7755 (mh-mm-display-part): When displaying a text part show smilies and
7758 * mh-index.el (mh-index-insert-scan): Attempt to keep number of
7759 args to scan small if there are lots of adjacent matches.
7760 (mh-index-quit): Bury index-buffer on quit instead of killing it.
7761 This behavior is more like that of mh-quit.
7763 * mh-seq.el (mh-widen): If folder was threaded after narrowing
7764 then make mh-widen undo the threading instead of erroring out.
7766 2002-10-24 Peter S Galbraith <psg@debian.org>
7768 * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
7769 Satyaki) to properly unthread a narrowed-to-sequence.
7771 * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
7772 breakage from partial switch to mh-container-real-child-flag and
7775 * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
7776 (eq t mh-yank-from-start-of-msg) when that's what we want.
7778 2002-10-24 Mark D. Baushke <mdb@gnu.org>
7780 * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
7781 subject-pruned-flag.
7782 (mh-thread-inc): Renamed old-buffer-modified-p as
7783 old-buffer-modified-flag.
7784 (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
7785 This addresses part of SF #627015.
7787 * mh-index.el (mh-index-advance): Renamed backward-p
7788 local variable as backward-flag.
7789 (mh-index-next-button): Renamed backward-p
7790 argument as backward-flag.
7791 (mh-index-show): Renamed display-headers-p argument as
7792 display-headers-flag.
7793 This addresses part of SF #627015.
7795 * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
7796 (mh-folder-mime-action): Renamed include-security-p
7797 argument as include-security-flag.
7798 (mh-goto-next-button, mh-next-button): Renamed backward-p
7799 argument as backward-flag.
7800 (mh-get-new-mail): Renamed new-mail-p local variable as
7802 (mh-goto-cur-msg): Renamed minimal-changes-p argument as
7803 minimal-changes-flag.
7804 (redraw-needed-flag): Renamed redraw-needed-p local variable as
7806 (mh-seq-containing-msg): Renamed include-internal-p argument as
7807 include-internal-flag.
7808 (mh-page-msg): Use mh-page-to-next-msg-flag.
7809 This addresses part of SF #627015.
7811 * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
7812 mh-mhn-compose-insert-p. Make it buffer-local.
7813 (mh-mhn-compose-type, mh-mhn-compose-external-type,
7814 mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
7815 (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
7816 mh-mime-display-part, mh-mime-display-single): Use
7817 mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
7818 (mh-mime-display-single): Renamed small-image-p local
7819 variable as small-image-flag.
7820 (mh-mime-inline-part): Renamed local variable inserted-p as
7822 (mh-mime-inline-part): Renamed local variable displayed-p as
7824 This addresses part of SF #627015.
7826 * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
7827 mh-mhn-compose-insert-flag.
7828 (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
7829 renamed from mh-nmh-p.
7830 (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
7831 (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
7832 mh-gnus-pgp-support-p.
7833 (mh-mml-secure-message-sign-pgpmime): Use
7834 mh-gnus-pgp-support-flag.
7835 This addresses part of SF #627015.
7837 * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
7838 mh-page-to-next-msg-p.
7839 (mh-show-msg): Use mh-page-to-next-msg-flag.
7840 (mh-gnus-pgp-support-flag): Renamed from
7841 mh-gnus-pgp-support-p.
7842 (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
7843 (with-mh-folder-updating): Renamed argument
7844 save-modification-flag-p as mh-save-modification-flag.
7845 (mh-prompt-for-folder): Renamed new-file-p local
7846 variable as new-file-flag.
7847 This addresses part of SF #627015.
7849 2002-10-24 Mark D Baushke <mdb@gnu.org>
7851 * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
7852 in last commit to be mh-mml-compose-insert-flag.
7853 (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
7855 2002-10-24 Jeffrey C Honig <jch@honig.net>
7857 * mh-comp.el (mh-forward): Add support for transient-mark mode.
7858 When using nmh, always specify -mime so as to preserve the
7859 original message(s). If mh-compose-insertion is 'gnus, convert
7860 the mhbuild format forwarding directives into MML.
7862 2002-10-24 Eric Ding <ericding@alum.mit.edu>
7864 * mh-comp.el (mh-send-letter): Fix for earlier change that added
7865 "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
7866 at least no longer triggered for every outgoing message!
7868 2002-10-24 Peter S Galbraith <psg@debian.org>
7870 * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
7873 * mh-comp.el (mh-yank-cur-msg): Fix for supercite. Someone played
7874 with the point and mark setting prior to the call to
7875 'mh-insert-prefix-string and that broke supercite. I put comments
7876 to make it obvious to future coders why those settings exists.
7877 Note that supercite is still broken when a region is selected in
7878 the show buffer. Presumably it's been like that for a long time.
7879 We need to insert the header as well as the selected region oin
7880 that case. I'll submit an SF bug.
7882 2002-10-24 Jeffrey C Honig <jch@honig.net>
7884 * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
7885 flag to reply when 'autosupercite or 'autoattrib are specified to
7886 prevent duplicate cites of the body of a message.
7888 2002-10-23 Satyaki Das <satyaki@theforce.stanford.edu>
7890 * mh-utils.el (font-lock-default-fontify-region): Add autoload to
7891 avoid compiler warning.
7893 2002-10-23 Peter S Galbraith <psg@debian.org>
7895 * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
7896 own 'mh-fill-paragraph-function instead of simply
7897 'mail-mode-fill-paragraph (because it doesn't handle a non-nil
7898 fill-prefix correctly).
7899 (mh-fill-paragraph-function): New function for mh-letter-mode
7900 fill-paragraph-function in order to handle non-nil fill-prefix.
7901 Call sendmail's mail-mode-fill-paragraph if in the mail header,
7902 else call default fill-paragraph with fill-prefix set to nil.
7905 * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
7906 used in show-mode. The reason is that gnus uses static text
7907 properties which are not appropriate for a buffer that will be
7908 edited. So the choice here is either fontify the citations and
7909 header or the header only.
7911 * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
7912 in mh-show-mode to the header. Used when mh-highlight-citation-p
7913 is set to gnus, leaving the body to be dealt with by gnus
7914 highlighting. This fixes gnus text emphasis in mh-show-mode.
7915 (mh-show-mode): In font-lock-defaults, set
7916 font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
7918 2002-10-23 Bill Wohler <wohler@newt.com>
7920 * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
7921 be Disposition, not Content-Type. The Content-Type has been
7922 determined automatically.
7924 2002-10-23 Mark D. Baushke <mdb@gnu.org>
7927 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7928 s/mh-show-use-xface/mh-show-use-xface-flag/
7929 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
7930 This addresses part of SF #627015.
7933 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
7934 s/mh-xemacs-p/mh-xemacs-flag/
7935 (mh-letter-menu): Use mh-mml-compose-insert-flag.
7936 (mh-insert-x-mailer): Use mh-xemacs-flag.
7937 (mh-mml-compose-insert-flag): Renamed from
7938 mh-mml-compose-insert-p.
7939 (mh-send-letter): Use mh-mml-compose-insert-flag.
7940 This addresses part of SF #627015.
7943 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
7944 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7945 s/mh-xemacs-p/mh-xemacs-flag/
7946 (mh-folder-threaded-view-flag): Renamed from
7947 mh-folder-threaded-view-p. Make it buffer local.
7948 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
7949 (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
7950 (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
7951 mh-adaptive-cmd-note-flag.
7952 (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
7953 mh-make-folder-mode-line, mh-process-commands,
7954 mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
7955 This addresses part of SF #627015.
7958 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
7959 (mh-index-search): Use mh-adaptive-cmd-note-flag.
7960 This addresses part of SF #627015.
7963 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
7964 s/mh-xemacs-p/mh-xemacs-flag/
7965 (mh-mml-compose-insert-flag): Renamed from
7966 mh-mml-compose-insert-p. Make it buffer local.
7967 (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
7968 mh-mml-secure-message-encrypt-pgpmime): Use it.
7969 (gnus-local-map-property): Use mh-xemacs-flag.
7970 This addresses part of SF #627015.
7973 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
7974 (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
7975 mh-folder-threaded-view-flag.
7976 This addresses part of SF #627015.
7979 s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
7980 s/mh-speed-refresh-p/mh-speed-refresh-flag/
7981 (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
7982 (mh-folder-speedbar-buttons): Use it.
7983 (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
7984 (mh-speed-update-current-folder, mh-speed-invalidate-map,
7985 mh-speed-add-folder): Use it.
7986 This addresses part of SF #627015.
7989 s/mh-xemacs-p/mh-xemacs-flag/
7990 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
7991 s/mh-show-use-xface/mh-show-use-xface-flag/
7992 (mh-xemacs-flag): Renamed from mh-xemacs-p.
7993 (mh-show-xface-function): Use it.
7994 (mh-tool-bar-reply-3-buttons-flag): Renamed from
7995 mh-tool-bar-reply-3-buttons.
7996 (mh-show-tool-bar-map): Use it.
7997 (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
7998 (mh-cmd-note): Use it in description.
7999 (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
8001 (mh-show-xface): Use mh-show-use-xface-flag.
8002 This addresses part of SF #627015.
8004 2002-10-23 Bill Wohler <wohler@newt.com>
8006 * Makefile (all): Rather than have to run "make clean all" all the
8007 time, make the default target do a clean so all you have to say is
8010 * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
8013 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8015 * mh-index.el (mh-indexer-choices, mh-swish-binary): The
8016 executable swish-e can be used to search (just like swish-search).
8017 However the Makefile in swish-e-2.2.2 doesn't install
8018 swish-search. So it is preferable to use swish-e.
8020 2002-10-22 Bill Wohler <wohler@newt.com>
8022 * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
8023 For example, you now have "C-c C-m C-i" in addition to "C-c C-m
8026 2002-10-22 Mark D. Baushke <mdb@gnu.org>
8028 * mh-mime.el (mh-graphical-smileys-flag): Renamed from
8029 mh-graphical-smileys-p.
8030 (mh-display-smileys): Use it.
8031 (mh-graphical-emphasis-flag): Renamed from
8032 mh-graphical-emphasis-p.
8033 (mh-display-emphasis): Use it. This addresses part of SF #627015.
8035 2002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8037 * mh-mime.el (mh-insert-mime-security-button): A message is
8038 produced if PGP decryption/verification fails. This addresses
8041 2002-10-21 Bill Wohler <wohler@newt.com>
8043 * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
8044 The info node (elisp) Coding Conventions says: "An error message
8045 should start with a capital letter but should not end with a
8048 * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
8049 defcustom to mh-utils because I got an error about a nil value for
8050 mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
8052 * mh-comp.el, mh-funcs,el, mh-mime.el, mh-pick.el: Moved (provide)
8053 to the end of the file to be consistent with most other files (see
8054 additional rationale in mh-e.el description below).
8056 * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
8057 here too (because the remove-if generated a warning in CVS Emacs).
8058 Moved (provide) to the end of the file to be consistent with most
8059 other files. My guess is that this is good to keep a feature from
8060 being "provided" if the file craps out while being loaded.
8062 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8064 * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
8066 (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
8069 * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
8071 (mh-valid-view-change-operation-p): New function that checks if
8072 the widening or unthreading that we are about to perform is
8074 (mh-widen): Check if widening is applicable.
8075 (mh-thread-inc, mh-thread-folder): Use delete-region instead of
8076 erase-buffer. This means if the buffer is narrowed then the hidden
8077 parts aren't removed. This allows widening of the folder later on.
8078 (mh-toggle-threads): Maintain mh-view-ops.
8080 * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
8081 that keeps track of the sequence in which threading and narrowing
8082 of the folder buffer has been carried out. This is needed so that
8083 narrowing followed by threading (or vice versa) behaves in a
8085 (mh-regenerate-headers): Use delete-region instead of
8087 (mh-make-folder-mode-line): Change mh-first-msg-num and
8088 mh-last-msg-num conservatively. This might show a larger range in
8089 the mode-line but allows the unthreading to not miss messages
8092 2002-10-21 Bill Wohler <wohler@newt.com>
8094 * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
8095 docstring, as well as the source of the strings,
8096 gnus-emphasis-alist.
8097 (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
8100 2002-10-21 Peter S Galbraith <psg@debian.org>
8102 * mh-utils.el (mh-show-mode): Invoke new toolbar.
8103 (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
8106 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8108 * mh-utils.el (mh-display-msg): Call the smiley display function
8109 after the call to mh-show-mode. This is needed since mh-show-mode
8110 kills all buffer-local variables and resets the variable that
8111 controls display of graphical smileys.
8113 2002-10-21 Bill Wohler <wohler@newt.com>
8115 * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
8117 * mh-comp.el (mh-mml-to-mime autoload): Ditto.
8119 2002-10-21 Mark D Baushke <mdb@gnu.org>
8121 * mh-mime.el (smiley-region): Use load for a non-fatal dependency
8122 on the smiley library.
8124 2002-10-21 Jeffrey C Honig <jch@honig.net>
8126 * mh-comp.el (mh-forward): Search for a blank line as well as
8127 mail-header-separator.
8128 (mh-letter-mode): Search for a blank line as well as
8129 mail-header-separator.
8130 (mh-send-letter): The default BCC encapsulation will make a MIME
8131 message unreadable. If we are running nmh and the letter contains
8132 a Bcc: and a Content-Type: field, add the -mime switch to to the
8135 2002-10-21 Peter S Galbraith <psg@debian.org>
8137 * mh-utils.el: Add a mh-defun-show-buffer call to define
8138 mh-show-pack-folder.
8140 2002-10-21 Peter S Galbraith <psg@debian.org>
8142 * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
8144 * mh-e.el (mh-help-messages): Update help message for changed
8147 2002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8149 * mh-speed.el (mh-speed-invalidate-map): Invalidate
8150 mh-speed-folders-cache before it is used by mh-speed-folders. Also
8151 fix indentation of if statement.
8152 (mh-speed-folder-size): The folder name should be extracted from
8153 the speedbar buffer and not from the temp buffer has was happening
8155 (mh-speed-folder-size): Harden the function some more. It
8156 shouldn't produce errors any more unless flist really didn't work.
8158 2002-10-21 Bill Wohler <wohler@newt.com>
8160 * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
8161 in there is because I was trying to use mh-put-msg-in-seq and
8162 mh-msg-is-in-seq non-interactively and found that although the
8163 docstring says it uses the current message by default, I got
8164 errors if I passed in nil for the message. Is this expected, or is
8165 this a bug? I suppose the fix would be to make the arguments
8166 optional, right? This would cause the arguments in
8167 mh-put-msg-in-seq to be reversed, however. Might be a backwards
8168 compatibility problem.
8170 * mh-speed.el (mh-speed-view): Convert default size to string
8171 before passing it to read-string. This was done because XEmacs
8172 can't handle a numeric value for the default.
8174 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8176 * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
8177 (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
8178 (mh-show-digest-map, mh-show-mime-map): Interactive functions
8179 callable in show buffer are now prefixed with mh-show.
8181 * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
8182 changes to mh-refile-list and the removal of the 'deleted
8184 (mh-toggle-threads): Changing from threaded to normal view doesn't
8185 try to push out message refiles and deletions to MH.
8187 * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
8188 argument to both functions that prevents them from carrying out
8189 pending refiles and deletes.
8190 (mh-undo): Remove dead code.
8191 (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
8192 The same information is present in mh-delete-list any way.
8193 (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
8194 semantics of mh-refile-list to make it self-contained. This
8195 variable now contains a list of lists. The first element of each
8196 sublist is the destination folder name. The remaining elements are
8197 the messages that are to be refiled to the destination folder.
8198 (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
8199 instead of mh-thread-folder.
8201 2002-10-20 Peter S Galbraith <psg@debian.org>
8203 * mh-mime.el (mh-store-mime-parts): Bug fix? Make this command
8204 work when in the show buffer, and not just in the folder buffer
8205 pointing to a message.
8207 2002-10-20 Peter S Galbraith <psg@debian.org>
8209 * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
8210 mh-narrow-to-subject-thread.
8211 (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
8212 (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
8213 (mh-next-unseen-subject-sequence): Renamed from
8214 mh-next-unseen-subject-thread.
8215 (mh-toggle-subject-thread): Removed. :-(
8217 * mh-e.el: s/subject-thread/subject-sequence/
8218 (mh-thread-map): Bind mh-widen to "w".
8220 * mh-utils.el: s/subject-thread/subject-sequence/
8221 (mh-show-thread-map): Bind mh-widen to "w".
8223 2002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8225 * mh-seq.el (mh-thread-folder): This function is no longer
8226 interactive. The mh-toggle-threads is the interactive function
8227 that gets called by the user. Also the already computed values in
8228 mh-first-msg-num and mh-last-msg-num are used instead of
8229 recomputing the first and last message indices in the current
8231 (mh-toggle-threads): New interactive function that toggles
8232 threaded view of the folder.
8234 * mh-utils.el (mh-letter-toggle-threads): New interactive function
8235 which toggles thread view from show buffer. This function replaces
8236 mh-letter-thread-folder.
8237 (mh-show-folder-map): Use mh-letter-toggle-threads instead of
8238 mh-letter-thread-folder.
8240 * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
8243 2002-10-20 Bill Wohler <wohler@newt.com>
8245 * mh-e.el (mh-scan-folder): Formatting only.
8246 (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
8247 where there isn't a current message. Since I've started using the
8248 speedbar to read my mh-e mail, I've had to use M-< every time to
8249 go to the beginning of the new messages. Very annoying! Thus, if
8250 there isn't a current message, the cursor is left alone, which
8251 sounds like the right thing to do anyway.
8253 2002-10-19 Peter S Galbraith <psg@debian.org>
8255 * mh-seq.el (mh-subject-thread-to-sequence): Bug fix. After
8256 making the 'subject sequence real, I now have to delete it globally.
8258 * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
8259 scan exactly mh-widen (removed moving to current message).
8261 * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
8262 sequence a real one, exported to MH. This means you can, for
8263 example, mh-forward it. But it also shows up with a mark in the
8264 scan output. (Closes SF #489445).
8266 2002-10-19 Bill Wohler <wohler@newt.com>
8268 * mh-speed.el (mh-speed-view): If there weren't any unseen
8269 messages, and you specified a string (a sequence like "last") when
8270 prompted for the number of messages to display, you got an error.
8271 This has been fixed.
8273 2002-10-19 Mark D Baushke <mdb@gnu.org>
8275 * mh-e.el (mh-last-destination-folder): Destination of last refile
8277 (mh-last-destination-write): Destination of last write command.
8278 (mh-refile-msg): Use 'mh-last-destination-folder and update both it
8279 and 'mh-last-destination.
8280 (mh-write-msg-to-file): Use 'mh-last-destination-write and update
8281 both it and 'mh-last-destination (Closes SF #580772).
8283 2002-10-19 Bill Wohler <wohler@newt.com>
8285 * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
8287 (mh-letter-mode-map): Removed commented-out keybindings as well as
8288 alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
8290 * mh-utils.el: Removed autoload of help. It no longer appears to
8291 be necessary in cvs Emacs (21.4).
8293 2002-10-18 Bill Wohler <wohler@newt.com>
8295 * mh-e.el (mh-execute-commands): Doc fix.
8296 (mh-compat-write-file-hook): Renamed to
8297 mh-write-file-functions-compat.
8298 (mh-folder-mode): Add mh-write-file-functions-compat instead of
8299 mh-compat-write-file-hook
8301 2002-10-18 Peter S Galbraith <psg@debian.org>
8303 * mh-utils.el (mh-invisible-headers-show-xface): Killed this
8305 (mh-invisible-headers): Use 'mh-show-use-xface instead of
8306 'mh-invisible-headers-show-xface to determine whether to render
8307 the X-Face header line visible or not.
8309 2002-10-18 Satyaki Das <satyaki@theforce.stanford.edu>
8311 * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
8312 macro mh-compat-write-file-hook to use write-file-functions for
8313 Emacs 21.4 and local-write-file-hooks for older versions.
8315 2002-10-18 Mark D Baushke <mdb@gnu.org>
8317 * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
8319 2002-10-18 Peter S Galbraith <psg@debian.org>
8321 * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
8322 a malformed composition if the description string is empty, so
8323 test for that and call mml-attach-file without that argument if
8324 it's an empty string (closes SF #625168).
8326 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8328 * mh-index.el (mh-index-keymap): Removed extra binding of " ".
8329 (mh-index-folder-mode-help-messages): Made the cheat sheet entry
8330 of quit like the others.
8331 (mh-index-search): If space was pressed in the index buffer before
8332 a search result has been shown with ".", the old show buffer would
8333 be scrolled. This is confusing since the index and show buffer
8334 contents are contradictory. Killing the show buffer here avoids
8336 (mh-index-configure-windows): Refine the window configuration
8337 logic. Avoid the two window view unless there is a message being
8338 displayed in the show buffer.
8339 (mh-index-scroll-up): Rewrite this function. The old version had a
8340 bizarre problem where the show buffer wouldn't be scrolled if the
8341 speedbar was present.
8342 (mh-index-scroll-down): Rewritten because of similar reason as
8345 2002-10-17 Peter S Galbraith <psg@debian.org>
8347 * mh-comp.el (mh-reply): Add an undo boundary in the undo list
8348 before calling 'mh-yank-cur-msg (closes SF #623693).
8350 2002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8352 * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
8353 write-file-hooks. This is required for XEmacs and also the right
8354 thing according to GNU Emacs21 documentation.
8356 2002-10-16 Satyaki Das <satyaki@theforce.stanford.edu>
8358 * mh-seq.el (mh-thread-generate): Get threading to work correctly
8359 on partial folders. The fix here disregards messages that aren't
8360 already present in the buffer.
8361 (mh-thread-folder): When querying scan about thread info try to
8362 avoid asking about messages that aren't present in the folder
8363 buffer. A more efficient fix would be to ask scan about just the
8364 messages that are present instead of a range of messages. However
8365 that runs the risk of sending long command lines to scan. Another
8366 change was to populate the mh-scan-line-map early so that the
8367 change in mh-thread-generate would work.
8368 (mh-thread-generate-scan-lines): In case duplicates are present
8369 make one of them the pseudo parent of the rest. This makes it look
8370 prettier if there are multiple duplicates at top level.
8372 * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
8373 reused then reinsert message file. This should fix SF #624283.
8375 * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
8376 always called when we want to remove the displayed MIME part.
8378 2002-10-16 Bill Wohler <wohler@newt.com>
8380 * mh-speed.el (mh-speed-folder-size): checkdoc fix.
8381 (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
8382 to view number of messages in folder rather than mh-large-folder.
8383 Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
8384 former was generating errors.
8386 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8388 * mh-speed.el (mh-large-folder): New customizable variable to
8389 control mh-e's perception of large folders.
8390 (mh-speed-folder-size): New function which computes the size of
8391 folder on current line.
8392 (mh-speed-view): Modified to handle large folders. If the folder
8393 being clicked has unseen messages then only those messages are
8394 shown. Otherwise if number of messages in folder is larger than
8395 mh-large-folders then the user is asked for the number of messages
8396 to be shown. If the folder satisfies neither of the above cases
8397 then it is displayed in its entirety
8399 2002-10-15 Bill Wohler <wohler@newt.com>
8401 * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
8402 Noticed that there were two key bindings for SPACE...
8404 * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
8407 Completed help in other modes:
8409 * mh-utils.el (mh-xemacs-p): Fixed doc.
8410 (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
8411 (mh-show-thread-map, mh-show-extract-map): Added binding for
8414 * mh-pick.el (mh-search-folder): Added startup help message.
8415 (mh-pick-mode-help-messages): New variable that contains help
8416 messages for pick buffer.
8417 (mh-pick-mode): Set local buffer variable mh-help-messages to
8418 mh-pick-mode-help-messages.
8420 * mh-index.el (mh-index-keymap): Added binding for mh-help
8421 (mh-index-folder-mode-help-messages): New variable that contains
8422 help messages for MH Index buffer.
8423 (mh-index-folder-mode): Set local buffer variable mh-help-messages
8424 to mh-index-mode-help-messages.
8426 * mh-funcs.el (mh-help, mh-prefix-help): Call
8427 substitute-command-keys on the help messages.
8429 * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
8430 (mh-help): This autoload doc is now used for more than just the
8431 MH-Folder, so drop that specific text.
8433 * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
8434 (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
8435 to display a help message at startup.
8436 (mh-letter-mode): Set local buffer variable mh-help-messages to
8437 mh-letter-mode-help-messages.
8438 (mh-letter-mode-help-messages): New variable with help messages
8439 for the MH-Letter buffer.
8440 (mh-letter-mode-message): New function that displays a startup
8442 (mh-letter-mode-map): Added binding for mh-help. Sorted.
8444 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8446 * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
8447 (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
8448 (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
8450 (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
8451 (mh-speed-add-buttons): Use the new faces.
8452 (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
8453 to bold face and back to normal face.
8454 (mh-speed-set-face): Removed.
8455 (mh-speed-highlight): Modified to allow it to be used instead of
8456 mh-speed-set-face. Also changes were made to fontify folders with
8458 (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
8459 (mh-speed-invalidate-map): Use mh-speed-highlight instead of
8462 2002-10-15 Bill Wohler <wohler@newt.com>
8464 * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
8465 the cl package has been restructured in 21.4 in such a way that
8466 the use of eval-when-compile no longer suppresses warnings when
8467 compiling so that (require 'cl) must be called directly (maybe
8468 this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
8469 needed. Now compiles clean under 21.4.
8471 * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
8472 deprecated in Emacs 21.4, so use add-hook write-file-functions (or
8473 write-file-hook for older versions) with the LOCAL argument
8474 instead. Now compiles clean under 21.4.
8476 * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
8477 the included text to make it easy to jump or delete to the other
8478 end of the included text.
8480 2002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8482 * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
8483 of set-mark and other related functions.
8485 2002-10-14 Bill Wohler <wohler@newt.com>
8487 * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
8488 isn't ignored if there is a region. It is still used for the
8490 (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
8491 entire message. Move the cursor to the end of the snarfed message
8492 if there is a region. In this case, push a mark so user can pop to
8493 the beginning of the snarfed fragment.
8494 (mh-insert-prefix-string): This calls set-mark which I find
8495 suspect since I found that my last user mark was deleted after
8496 yanking a message. Added a comment to this effect. Will probably
8499 * README (Installed, Supported versions): To appear in GNU Emacs
8500 21.3; supported on Emacs 21, 20.7 and XEmacs 21.
8502 * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
8503 (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
8504 (mh-ephem-message): Use "%s" in message.
8506 * mh-funcs.el (mh-concat-list): New function to concatenate a list
8507 of strings into a single string. I would have thought elisp
8508 already contained a function like this, but I couldn't find it.
8509 (mh-ephem-message): New function to display a message in the
8510 minibuffer ephemerally. minibuffer-message seemed like the right
8511 function, but it writes to the current buffer oddly enough.
8512 (mh-help, mh-prefix-help): New functions to display command
8513 cheat sheets in the minibuffer (closes SF #493740). It would be
8514 nice to refactor these two into a single function if possible.
8516 * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
8517 (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
8518 and `mh-prefix-help' (closes SF #493740).
8519 (mh-help-messages): New variable to hold various help messages.
8520 (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
8522 2002-10-13 Bill Wohler <wohler@newt.com>
8524 * mh-index.el (mh-glimpse-directory, mh-swish-directory,
8525 mh-namazu-directory): New variables that hold the name of the
8526 configuration and indexing directory. All are now hidden `.'
8529 * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
8530 mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
8531 docstrings, reworded some docstrings to conform to Emacs
8532 documentation conventions, and eliminated all checkdoc warnings
8533 (except for -flag, which we'll fix after 6.2 is released).
8535 2002-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
8537 * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
8538 where the lack of a trailing "/" caused the function to wrongly
8539 filter out correct hits. This should fix SF #622679.
8541 2002-10-12 Steve Youngs <youngs@xemacs.org>
8543 * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
8544 'defvaralias' and don't use 'running-xemacs'.
8546 2002-10-11 Bill Wohler <wohler@newt.com>
8548 * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
8549 converting comments to docstrings and rewording some docstrings to
8550 conform to Emacs documentation conventions.
8552 2002-10-11 Steve Youngs <youngs@xemacs.org>
8554 * mh-utils.el (mh-xemacs-p): New.
8555 (mh-show-use-xface): Use it.
8556 (mh-show-xface-function): Ditto.
8558 * mh-e.el (toplevel): Ditto.
8559 (mh-remove-xemacs-horizontal-scrollbar): Ditto.
8560 (mh-folder-mode-map): Ditto.
8562 * mh-comp.el (mh-insert-x-mailer): Ditto.
8564 * mh-mime.el (gnus-local-map-property): Ditto.
8565 (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
8566 (mh-prompt-for-folder): Autoloading this not needed because
8567 mh-utils is now required at toplevel.
8568 (mh-show-xface): Ditto.
8569 (mh-show-addr): Ditto.
8571 2002-10-11 Bill Wohler <wohler@newt.com>
8573 * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
8576 * mh-utils.el (mh-invisible-headers): Added various spam header
8578 (mh-path-search): Removed argument `func-p' and related code. It
8579 was not documented and no one used it.
8580 (Docstrings): Converted comments to docstrings, reworded some
8581 docstrings to conform to Emacs documentation conventions, and
8582 basically eliminated all checkdoc warnings (except for -flag
8585 2002-10-11 Satyaki Das <satyaki@theforce.stanford.edu>
8587 * mh-seq.el (mh-thread-generate): Kill dead code.
8589 2002-10-10 Satyaki Das <satyaki@theforce.stanford.edu>
8591 * mh-seq.el (mh-region-to-sequence): Don't include point-max in
8592 region (closes SF #621632).
8594 * mh-utils.el (mh-defun-show-buffer): Fix call of
8595 frame-first-window to work with XEmacs. Also avoid warning about
8596 cur-buffe-name in XEmacs.
8597 (mh-modify, mh-goto-msg): Remove dead code.
8599 * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
8602 * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
8603 mh-thread-generate, mh-thread-folder): Remove dead code.
8605 * mh-mime.el (mh-mm-inline-message): Remove dead code.
8607 * mh-index.el (mh-index-search): Remove dead code.
8609 * mh-comp.el (mh-open-line): Remove dead code.
8611 * mh-e.el (mh-folder-mode): Use the macro
8612 mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
8614 (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
8617 2002-10-10 Mark D Baushke <mdb@gnu.org>
8619 * Makefile (EMACS_OPTIONS): New macro for command-line compile
8621 (EMACS): Allow the user to specify which emacs command to use for
8623 (COMPILE_COMMAND): Combine the compile command with its options.
8624 (.el.elc): Use the new $(COMPILE_COMMAND).
8626 2002-10-10 Mark D Baushke <mdb@gnu.org>
8628 * mh-speed.el (mh-speed-select-attached-frame): Define a new
8629 compatibility macro for getting to the attached-frame.
8630 (mh-speed-update-current-folder): Use it.
8632 2002-10-10 Mark D Baushke <mdb@gnu.org>
8634 * mh-speed.el (mh-speed-update-current-folder): Use
8635 'dframe-select-attached-frame if we are in a newer speedbar
8636 version that no longer supports the 'speedbar-attached-frame
8639 2002-10-10 Steve Youngs <youngs@xemacs.org>
8641 * mh-speed.el (mh-speed-update-current-folder): Use
8642 'dframe-select-attached-frame' if we're in XEmacs.
8644 * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
8645 the MH-Folder buffer if we're in XEmacs.
8647 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
8649 * mh-utils.el (mh-show-xface-function): New global that stores
8650 what function needs to be called to display X-Face.
8651 (mh-show-xface): Rewritten to avoid compiler warning.
8653 2002-10-09 Peter S Galbraith <psg@debian.org>
8655 * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
8656 Simplify code for all emacsen to avoid byte-compilation warnings.
8658 2002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
8660 * mh-mime.el (mh-mm-display-part): If a sub-part of the current
8661 part is an inline image then clicking the button keeps the image
8662 around. The change fixes this bug.
8664 2002-10-09 Peter S Galbraith <psg@debian.org>
8666 * mh-utils.el (mh-exec-cmd-output): Use new function
8667 'mh-exchange-point-and-mark-preserving-active-mark instead of
8668 'exchange-point-and-mark. Fixes a bug in emacs20 and XEmacs21.
8669 (mh-exchange-point-and-mark-preserving-active-mark): New function.
8670 Does like 'exchange-point-and-mark but doesn't activate the mark.
8672 * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
8673 Compositions" menu entries when edits have really occurred.
8674 Works with "forw: -mime" mh_profile entry, so this fixes a bug.
8676 * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
8677 line-beginning-position and line-end-position instead of
8678 point-at-bol and point-at-eol XEmacs functions.
8679 * mh-xemacs-compat.el: Added line-end-position and
8680 line-beginning-position compatibility aliases.
8682 2002-10-08 Mark D. Baushke <mdb@gnu.org>
8684 * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
8686 (mh-scan-msg-format-string): Format to be used with the current
8687 maximum width of message number for the folder in the
8688 `mh-upate-scan-format' function.
8689 (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
8690 flexibility. The message number is no longer anchored to the
8691 beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
8692 strings. The `mh-update-scan-format' allows for using zero-filled
8695 2002-10-08 Peter S Galbraith <psg@debian.org>
8697 * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
8699 2002-10-07 Satyaki Das <satyaki@theforce.stanford.edu>
8701 * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
8704 * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
8706 (mh-speed-folders-actual): Same as above.
8708 2002-10-05 Steve Youngs <youngs@xemacs.org>
8710 * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
8713 * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
8714 defsubst using 'buffer-substring-no-properties' so we don't grab
8716 (rfc822-goto-eoh): Removed. This exists in the XEmacs mail-lib
8718 (mail-header-end): Ditto.
8719 (mail-mode-fill-paragraph): Ditto.
8721 2002-10-05 Satyaki Das <satyaki@theforce.stanford.edu>
8723 * mh-speed.el (mh-speed-invalidate-map): When called interactively
8724 the function will clear mh-speed-folders-cache.
8726 2002-10-02 Satyaki Das <satyaki@theforce.stanford.edu>
8728 * mh-mime.el (mh-insert-mime-button): Rewrite without using
8731 2002-10-01 Satyaki Das <satyaki@theforce.stanford.edu>
8733 * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
8734 avoid compiler warning.
8736 2002-10-01 Bill Wohler <wohler@newt.com>
8738 * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
8739 shouldn't get installed in Emacs.
8740 (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
8741 MH-E-IMG2 into Emacs' lisp/mail.
8743 2002-10-01 Peter S Galbraith <psg@debian.org>
8745 * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
8746 Non-nil means use three buttons for reply commands in tool-bar.
8747 If you have room on your tool-bar because you are using a large
8748 font, you may set this variable to expand the single reply
8749 button into three buttons that won't lead to minibuffer prompt
8750 about who to reply to.
8751 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
8752 decide how many buttons to use for replying.
8754 * mh-mime.el (mh-file-mime-type-substitutions)
8755 (mh-file-mime-type-substitute): Fix typos and doc strings.
8757 2002-09-30 Peter S Galbraith <psg@debian.org>
8759 * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
8760 by file command through mh-file-mime-type-substitute (see below).
8761 (mh-file-mime-type-substitute): Possibly change Content-Type
8762 string using mh-file-mime-type-substitutions variable. This is
8763 mostly because all MS-Office file are seen as application/msword
8764 by the file command.
8765 (mh-file-mime-type-substitutions): New variable. Defines
8766 substitutions to make for Content-Type returned from file command.
8768 2002-09-27 Bill Wohler <wohler@newt.com>
8770 * README: Moved Id to end of file since it broke outline mode at
8773 * import-emacs (release): Renamed "mainline" tag to
8774 "emacs-mainline" to correspond with existing CVS tag.
8775 (EMACS_HOME): Fixed typo in docstring.
8777 * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
8778 NIL and T in docstring.
8779 (mh-update-scan-format): Fixed typo.
8781 * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
8782 Emacs. The only new thing appears to be to downcase NIL and T in
8785 2002-09-26 Satyaki Das <satyaki@theforce.stanford.edu>
8787 * mh-seq.el (mh-thread-generate): The threading code will now be
8788 more resistant to corruption of messages. Before the change any
8789 corruption of message x would cause all messages with indices
8790 higher than x to be neglected when threading!
8792 2002-09-23 Peter S Galbraith <psg@debian.org>
8794 * mh-mime.el (mh-store-mime-parts): Don't store value into
8795 user-customizable variable mh-store-mime-parts-default-directory
8796 and use mh-store-mime-parts-directory instead.
8798 2002-09-20 Satyaki Das <satyaki@theforce.stanford.edu>
8800 * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
8801 make the subject pruning behave the way it is specified in the
8804 * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
8805 are not going to use the first element. This avoids a compilation
8806 warning with cvs emacs.
8808 2002-09-19 Satyaki Das <satyaki@theforce.stanford.edu>
8810 * mh-utils.el (mh-display-msg): Put the call to
8811 set-buffer-modified after mh-show-mode. This is needed for CVS
8812 emacs since calling mh-show-mode marks the buffer as modified if
8815 2002-09-17 Peter S Galbraith <psg@debian.org>
8817 * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
8818 mh-store-mime-parts-directory
8819 (mh-store-mime-parts-directory): Renamed from
8820 mh-store-mime-parts-directory-default.
8822 2002-09-16 Peter S Galbraith <psg@debian.org>
8824 * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
8826 2002-09-08 Satyaki Das <satyaki@theforce.stanford.edu>
8828 * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
8831 2002-09-03 Peter S Galbraith <psg@debian.org>
8833 * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
8834 Default directory to use for mh-store-mime-parts.
8835 (mh-store-mime-parts): New Command. Store the MIME parts of the
8837 (mh-store-mime-parts-directory-default): New internal working
8838 variable. Default to use for mh-store-mime-parts-directory, set
8841 * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
8845 2002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
8847 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
8848 complete scan lines are printed for all messages (not just the
8849 ones at the top of a thread).
8851 * mh-index.el (mh-index-insert-scan): Replace use of kill-line
8852 since that pollutes the kill-ring.
8854 * mh-comp.el (autoloads): Add autoloads for search and subseq to
8855 get rid of compiler warnings.
8857 2002-08-19 Peter S Galbraith <psg@debian.org>
8859 * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
8860 reply-all.xpm, reply-all.bpm: New icons for various reply methods.
8861 * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
8862 that won't prompt for "from", "to" and "all".
8863 * mh-comp.el (mh-reply): Put variable reply-to in the interactive
8864 list since it's specified on the command line for the new toolbar.
8866 * mh-comp.el (mail-citation-hook): Tweak docs concerning
8867 historical usage for supercite.
8868 (mh-yank-from-start-of-msg): Add settings 'supercite and
8869 'autosupercite. Rename 'automatic to 'autoattrib.
8870 (mh-insert-prefix-string): Invoke sc-cite-original if
8871 mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
8873 2002-08-17 Satyaki Das <satyaki@theforce.stanford.edu>
8875 * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
8878 2002-08-17 Peter S Galbraith <psg@debian.org>
8880 * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
8881 Do as for `attribution' automatically when show buffer matches the
8882 message being replied-to.
8883 (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
8884 is set to 'automatic and show buffer matches message number being
8886 (mh-show-buffer-message-number): New helper function to get the
8887 message number of the current show-buffer.
8888 (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
8889 (mh-yank-cur-msg): Bug fix. It would bail on error if
8890 mh-show-buffer didn't exists.
8892 2002-08-16 Peter S Galbraith <psg@debian.org>
8894 * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
8895 was used even when XEmacs was used. Fixed so X-Mailer header is
8896 more exact about what we are using.
8898 2002-08-15 Peter S Galbraith <psg@debian.org>
8900 * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
8901 so X-Mailer header is more exact about what we are using.
8903 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
8904 mh-mml-attach-file):
8905 "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
8906 that "require" in emacs 20.3 doesn't handle 3 arguments. We
8907 use "load" at the top of file elsewhere anyway to handle such a
8908 case of non-essential loading, so switch to that here.
8910 2002-08-06 Satyaki Das <satyaki@theforce.stanford.edu>
8912 * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
8914 * mh-speed.el (mh-speed-add-folder): New function to make the
8915 speedbar aware of new folders when they are created by mh-e.
8917 * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
8918 tell speedbar that new folder is being created. Also use folder
8919 instead of mkdir to create new folders.
8921 2002-08-01 Peter S Galbraith <psg@debian.org>
8923 * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
8924 limit of search for quoted-printable. If we're using mm-decode
8925 for MIME decoding, it's possible that `mimedecode' could mess our
8926 message, so we only run a full search for quoted-printable parts
8927 when not using gnus' mm-decode. When using mm-decode, mimedecode
8928 can still help by handling the case of the whole message being
8929 quoted-printable as opposed to only a part.
8931 2002-07-31 Peter S Galbraith <psg@debian.org>
8933 * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
8934 the pulldown menu were broken in XEmacs21 from this variable being
8937 2002-07-28 Mark D. Baushke <mdb@gnu.org>
8939 * mh-utils.el (mh-show-mode): Use the default paragraph-start
8940 rather than the inherited text-mode value.
8942 2002-07-28 Satyaki Das <satyaki@theforce.stanford.edu>
8944 * mh-seq.el (mh-thread-duplicates): New hash table to track
8946 (mh-thread-get-message): Remove debug code.
8947 (mh-thread-canonicalize-id): Modified to handle messages without
8948 message-id header. Such messages are given distinct copies of the
8949 empty string as message-id.
8950 (mh-thread-generate): The function was inadvertently rebuilding
8951 the thread tree when message refiles and message deletes are
8952 processed. The change here fixes that. Also code has been added to
8953 keep track of duplicate message-id's.
8954 (mh-thread-generate-scan-lines): Modified to print scan lines for
8955 duplicate messages (that is messages with the same message-id).
8956 (mh-thread-forget-message): Modified to maintain
8957 mh-thread-duplicates.
8959 2002-07-22 Satyaki Das <satyaki@theforce.stanford.edu>
8961 * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
8962 instead of kill-region. Otherwise the kill ring gets polluted.
8964 2002-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
8966 * mh-seq.el (mh-thread-update-scan-line-map): New function to
8967 refresh the stale scan lines.
8968 (mh-thread-inc): Update old scan lines when mh-thread-inc is
8969 called. Otherwise notations for deleted and refiled messages get
8970 lost and the folder display gets out of sync with real mh-e state.
8972 * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
8973 code when text part is displayed. Otherwise buttonized text parts
8974 aren't correctly fontified when they are displayed.
8976 2002-07-15 Mark D. Baushke <mdb@gnu.org>
8978 * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
8979 on the mm-decode library.
8980 * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
8981 Non-fatal depencencies on the mm-decode, mm-uu and mm-view
8984 2002-07-15 Satyaki Das <satyaki@theforce.stanford.edu>
8986 * mh-utils.el (mh-require, mh-autoload): Remove these macros.
8987 (mh-decode-mime): Initialized to t iff the mm-decode library is
8988 present in the load-path.
8989 * mh-mime.el (mh-require): Don't use it anymore.
8991 2002-07-15 Mark D Baushke <mdb@gnu.org>
8993 * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
8994 with Xemacs as replace-match appears not to have identical
8995 functionality with FSF emacs.
8996 (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
8997 into the mh-update-scan-format function.
8999 2002-07-12 Satyaki Das <satyaki@theforce.stanford.edu>
9001 * mh-seq.el: Add message threading code.
9003 * mh-utils.el (mh-letter-thread-folder): New interactive function
9004 that allows switching to threaded view from show buffer.
9005 (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
9006 (mh-goto-msg): Replace the function to not assume that messages
9007 are sorted in the folder buffer.
9009 * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
9010 in the folder buffer that records whether threaded view is being
9012 (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
9013 working for threaded view as well.
9014 (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
9015 (mh-get-new-mail, mh-process-commands): Do incremental threading
9016 if folder is in threaded view.
9017 (mh-delete-scan-msgs): Update thread tables if folder is in
9019 (mh-folder-map): Add "F t" as key binding for mh-thread-folder
9021 * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
9022 has a meaningful value in the folder buffer.
9024 2002-07-11 Peter S Galbraith <psg@debian.org>
9026 * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
9027 actually exists (otherwise a back-traceable error occurred).
9029 * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
9030 mh-lib and mh-lib-progs are not all already set. This allows the
9031 user to set them using a simple setq prior to loading mh-e. This
9032 is useful for implementation of mh-e on win32. Note that many
9033 commands still call mh-find-path which also parses the mh_profile
9034 file (that may still fail on win32), so this is still done often.
9035 But it lets us change the mh_profile file and have mh-e see the
9036 changed file without exiting emacs and starting over so I left
9039 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9041 * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
9042 caused it to lose track of point when called from show buffer.
9044 2002-07-04 Mark D. Baushke <mdb@gnu.org>
9046 * Makefile: Add more information and common methods to allow both
9047 GNU make and Berkeley make to properly build everything.
9049 2002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9051 * mh-mime.el (mh-push-button): Bug fix for mime display with
9052 mouse. Select show window before executing the mime display
9055 2002-07-01 Mark D. Baushke <mdb@gnu.org>
9057 * Makefile: Use a conditional variable assignment operator rather
9058 than ifndef to let Makefile be used by both GNU make and Berkeley
9059 make (or similar versions of make). This does not help Solaris
9060 /usr/ccs/bin/make, but Solaris make has problems with the ifndef
9063 2002-07-01 Satyaki Das <satyaki@theforce.stanford.edu>
9065 * mh-index.el (mh-index-search): Check for mh-decode-mime before
9066 adding mh-mime-cleanup to kill-buffer-hook.
9068 * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
9070 2002-06-30 Mark D Baushke <mdb@gnu.org>
9072 * mh-utils.el (mh-update-scan-format): Add documentation string.
9073 (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
9074 (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
9075 update of mh-cmd-note is wrong. Do not assume that
9076 mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
9077 with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
9078 is now where the updated mh-cmd-note value is put into the scan
9081 * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
9082 (mh-scan-format): Use mh-update-scan-format to get updated copies
9083 of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
9084 (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
9085 mh-scan-format-file is equal to t.
9086 (mh-scan-format-nmh): No longer buffer local.
9087 (mh-scan-format-mh): No longer buffer local.
9089 2002-06-30 Satyaki Das <satyaki@theforce.stanford.edu>
9091 * mh-index.el (mh-index-max-msg-index): New variable to keep track
9092 of max message index among search results. If mh-adaptive-cmd-note
9093 is non-nil this is used to compute the width of the index field.
9094 (mh-index-search): Keep track of max index seen while parsing the
9095 search results and set it if mh-adaptive-cmd-note is non-nil.
9096 (mh-index-find-max-width): New function to find the required width
9097 of the message index field.
9098 (mh-defun-index): Binding buffer local variables is bad, so don't
9100 (mh-index-show): New argument display-headers-p decides whether
9101 the message is displayed in raw form or not.
9102 (mh-index-header-display): New interactive function bound to ","
9103 which shows the message in raw form.
9104 (mh-index-keymap): Add appropriate bindings for backtab and ",".
9105 (read-from-string): Add ignore-errors around it so that the code
9106 doesn't die when it gets unexpected input.
9108 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9110 * mh-index.el (mh-count-windows): This function works around the
9111 lack of the window-list builtin function in emacs20.
9113 2002-06-29 Mark D Baushke <mdb@gnu.org>
9115 * mh-utils.el (mh-message-number-width): New function to scan
9116 the last message of a folder and return its width.
9117 (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
9118 mh-set-cmd-note should be called with the message width for the
9120 (mh-cmd-note): Update documentation.
9121 (mh-update-scan-format): Helper function for updating the
9122 mh-scan-format-nmh and mh-scan-format-mh variables.
9123 (mh-scan-msg-overflow-regexp): New variable to help find problem
9124 messages after an inc.
9125 (mh-scan-msg-format-regexp): New variable to find the old message
9126 width in one of the mh-scan-format-nmh or mh-scan-format-mh
9128 (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
9129 (mh-set-cmd-note): New function to replace update mh-cmd-note
9132 * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
9133 non-nil, use mh-set-cmd-note on empty folder buffers.
9134 (mh-make-folder): Ditto.
9135 (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
9136 to fit when mh-get-new-mail gets message number truncation.
9137 (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
9138 mh-adaptive-cmd-note is Non-nil.
9140 2002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9142 * mh-speed.el (mh-speed-view): The display gets confused if the
9143 cursor is in the show buffer when mh-speed-view is called. This is
9146 2002-06-27 Satyaki Das <satyaki@theforce.stanford.edu>
9148 * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
9149 reverse-p. If there are no more undeleted messages the the point
9150 remains at its original position and a message is produced (closes
9152 (mh-previous-undeleted-msg): Change similar to
9153 mh-next-undeleted-msg.
9154 (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
9156 (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
9158 * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
9159 mh-letter-prev-button.
9161 * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
9162 mm-uu-dissect doesn't cause error.
9164 2002-06-27 Mark D Baushke <mdb@gnu.org>
9166 * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
9167 variable should be made via the new mh-set-default-cmd-note
9169 (mh-set-default-cmd-note): New function to setq-default the
9170 mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
9173 * mh-e.el (mh-scan-format-mh): Make buffer-local.
9174 (mh-scan-format-nmh): Ditto.
9175 (mh-scan-good-msg-regexp): Use a more general regular expression
9176 so that the width of message numbers, mh-cmd-note, may vary.
9177 (mh-scan-deleted-msg-regexp): Ditto.
9178 (mh-scan-refiled-msg-regexp): Ditto.
9179 (mh-scan-cur-msg-number-regexp): Ditto.
9180 (mh-scan-cur-msg-regexp): Ditto.
9181 (mh-scan-subject-regexp): Ditto.
9183 2002-06-26 Satyaki Das <satyaki@theforce.stanford.edu>
9185 * mh-speed.el: Speedbar support code.
9187 * Makefile: Add mh-speed.el to MH-E-SRC.
9189 * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
9190 speedbar is being used.
9192 * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
9195 * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
9196 functions so that speedbar can find them.
9198 2002-06-25 Satyaki Das <satyaki@theforce.stanford.edu>
9200 * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
9201 grep to be used to search mail.
9202 (mh-index-font-lock-keywords): Modified to avoid bug when using
9205 * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
9206 undeleted (or unrefiled) message exists in the current movement
9207 direction then try to find an undeleted (or unrefiled) message in
9208 the opposite direction instead.
9209 (mh-next-undeleted-msg): Added a new optional argument. If non-nil
9210 search for undeleted message backwards if none exists in the
9212 (mh-previous-undeleted-msg): Added an optional argument. If
9213 non-nil search for undeleted message in the forward direction if
9214 none exists in the backward direction.
9215 (mh-next-msg): Optional argument to change direction if undeleted
9216 messages are not found in the current direction.
9218 * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
9219 the index field size to 4.
9221 * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
9222 to do xface display and goto-addr interface to allow reuse by the
9224 (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
9225 mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
9226 (mh-modify): Use mh-letter-mode instead of mh-show-mode when
9229 * mh-mime.el (mh-mm-inline-message): Arrange for xface and
9230 highlighting to work in forwarded messages.
9232 2002-06-23 Peter S Galbraith <psg@debian.org>
9234 * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
9235 to add an attribution line in mh-yank-cur-msg.
9236 (mh-extract-from-attribution-verb): Verb to use for attribution
9237 when a message is yanked by mh-yank-cur-msg. Provides a method
9238 for setting a different language.
9239 (mh-yank-cur-msg): Add support for 'attribution' option.
9240 (mh-extract-from-attribution): Function to get the attribution
9241 line, or the sender from the From: line in the current show buffer.
9243 2002-06-20 Satyaki Das <satyaki@theforce.stanford.edu>
9245 * mh-index.el (mh-index-show): mh-display-msg was not being called
9246 in the show buffer. This causes weird results on some mime messages.
9248 * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
9249 pgp messages if gnus hasn't been used yet.
9251 * mh-comp.el (mh-letter-mode-map): Typo fix.
9253 2002-06-19 Satyaki Das <satyaki@theforce.stanford.edu>
9255 * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
9256 (compiler-warnings): Add autoloads to remove compiler warnings.
9258 * mh-index.el (autoload-fixes): Fix autoload forms.
9260 2002-06-18 Satyaki Das <satyaki@theforce.stanford.edu>
9262 * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
9263 to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
9264 (compiler-warnings): Add defvar to remove compiler-warning.
9266 2002-06-18 Peter S Galbraith <psg@debian.org>
9268 * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
9269 mh-gnus-pgp-support-p.
9271 * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
9272 (mh-compose-forward): cut&paste typo: s/messages/message/.
9273 (mml-minibuffer-read-file): autoload added.
9274 (mml-minibuffer-read-description): autoload added.
9275 (mml-insert-empty-tag): autoload added.
9276 (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
9277 (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
9279 2002-06-17 Peter S Galbraith <psg@debian.org>
9281 * mh-utils.el (mh-show-use-xface): Check for availability of
9282 `uncompface' executable on system.
9284 * mh-mime.el (mh-compose-forward): New front end for both
9285 mh-mml-forward-message and mh-mhn-compose-forw.
9286 (mh-compose-insertion): New front end for both mh-mml-attach-file
9287 and mh-mhn-compose-insertion.
9288 (mh-mml-to-mime): New function. Compose mime message from mml
9290 (mh-mml-forward-message): New function. Forward a message as
9292 (mh-mml-attach-file): New function. Attach a file to the outgoing
9294 (mh-mml-compose-insert-p): New variable. Buffer-local variable to
9295 know whether MIME insertion was done. Triggers an automatic call
9296 to `mh-mml-to-mime' in `mh-send-letter'.
9297 (mh-mml-secure-message-sign-pgpmime): New function.
9298 Front end to mml-secure-message-sign-pgpmime.
9299 (mh-mml-secure-message-encrypt-pgpmime): New function.
9300 Front end to mml-secure-message-encrypt-pgpmime.
9302 * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
9303 if mh-mml-compose-insert-p is set.
9304 (mh-letter-mode-map): Add keys for new mh-mime functions above.
9305 * mh-comp.el: Added autoloads for new mh-mime functions above.
9307 2002-06-17 Peter S Galbraith <psg@debian.org>
9309 * mh-utils.el (mh-show-use-xface): new defcustom to determine
9310 whether to call external package x-face to display the x-face.
9311 (mh-invisible-headers-show-xface): variable now defaults to value
9312 of mh-show-use-xface.
9313 (mh-show-mode): When mh-show-use-xface is t, invoke
9314 external package x-face to display the x-face.
9316 2002-06-15 Satyaki Das <satyaki@theforce.stanford.edu>
9318 * mh-e.el (mh-prev-button): New interactive function which moves
9319 point to the previous mime button in the show buffer.
9320 (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
9322 * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
9323 mh-letter-prev-button (which is analogous to mh-prev-button).
9324 (mh-gnus-pgp-support-p): New global variable to replace the
9325 variable mh-recent-gnus-p. The name better describes what it is
9328 * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
9329 mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
9331 2002-06-12 Satyaki Das <satyaki@theforce.stanford.edu>
9333 * mh-mime.el (mh-display-buttons-for-inline-parts): New
9334 customizable variable. When non-nil inline parts have are
9335 displayed with a button (that is initially expanded).
9336 (mh-maybe-insert-newline): The function has been removed.
9337 (mh-mime-display-single): Add code to display buttons for inline
9338 parts. Reduce the insertion of extra newlines between inline parts
9339 and also for pgp signature parts.
9340 (mh-mm-display-part): The function has been rewritten and cleaned
9341 up. There was a bug which could change the show buffer if the user
9342 pressed C-g while a mime part was being displayed has been fixed.
9343 (mh-press-button, mh-push-button): Use unwind-protect to make sure
9344 that set-buffer-modified-p is always called after mime display.
9345 (mh-mime-inline-part): The behavior of the function has been
9346 changed so that it toggles the display of the raw bytes.
9347 (mh-mime-display-security): Remove the display of too many
9349 (documentation): Remove most check-doc warnings.
9351 * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
9352 added around mime buttons have changed.
9354 2002-06-10 Satyaki Das <satyaki@theforce.stanford.edu>
9356 * mh-index.el (mh-index-last-search, mh-index-search): The default
9357 prompt in mh-index-search has been removed since currently there
9358 is no good way of reading "+" with mh-prompt-for-folder.
9359 (mh-index-folder-mode, mh-index-show-mode): New major modes
9360 derived from mh-folder-mode and mh-show-mode respectively. They
9361 use a restricted keymap compared to the parent modes.
9362 (mh-index-folder-face): New customizable face to display folder
9363 names in the index buffer.
9364 (documentation): Change two spaces after period back to one.
9366 2002-06-08 Satyaki Das <satyaki@theforce.stanford.edu>
9368 * mh-e.el (mh-folder-toggle-mime-part): New interactive function
9369 to control mime display from folder buffer.
9370 (mh-folder-inline-mime-part): New interactive function to inline
9371 raw mime part from folder buffer.
9372 (mh-folder-save-mime-part): New interactive function to save mime
9373 part from folder buffer.
9374 (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
9375 "K \t" to mh-folder-mode-map.
9376 (mh-goto-next-button): Modified to allow searching for next button
9377 that satisfies some condition.
9378 (mh-folder-mime-action): Support function for
9379 mh-folder-save-mime-part, mh-folder-inline-mime-part and
9380 mh-folder-toggle-mime-part.
9382 * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
9383 bindings for "K v", "K o", "K i" and "K \t".
9385 * mh-index.el (documentation): Fix docs according to checkdoc
9388 2002-06-07 Satyaki Das <satyaki@theforce.stanford.edu>
9390 * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
9391 instead add defvar for view-exit-action.
9393 2002-06-06 Satyaki Das <satyaki@theforce.stanford.edu>
9395 * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
9396 the call to mark returns error. So avoid using mark.
9398 * mh-index.el: Support for new interactive function
9401 * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
9402 mh-next-button so that the code may be reused by mh-index.el.
9403 (mh-folder-map): Add key "F i" to call mh-index-search.
9405 * mh-utils.el (mh-recent-gnus-p): Fix documentation.
9406 (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
9407 maps a MH folder name to the buffer displaying it. In normal
9408 operation the two names are identical but they are different in a
9409 folder buffer generated by index search. Minor modification to
9410 mh-display-msg to use mh-msg-folder to enable mh-index-search to
9412 (mh-show-mode-map): Add key "F i" to call mh-index-search.
9414 * Makefile: Add mh-index.el
9416 2002-06-05 Peter S Galbraith <psg@debian.org>
9418 * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
9420 2002-05-31 Satyaki Das <satyaki@theforce.stanford.edu>
9422 * mh-utils.el (mh-decode-quoted-printable): Only decode if the
9423 whole message is encoded. So restrict the search for the
9424 content-transfer-encoding header to the headers of the message
9427 * mh-mime.el (mh-mime-display-alternative): Make sure that point
9428 is moved after mm-display-part is called.
9430 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9432 * mh-mime.el (mh-mime-display-single): Fix the logic that
9433 determines when an attachment is buttonized. For inline parts that
9434 can't be displayed a button is now created.
9436 2002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9438 * mh-e.el (mh-regenerate-headers): Fix an error in which the
9439 mh-mode-line-annotation was not being set properly.
9441 * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
9442 mh-autoload are used to make sure that emacs20 doesn't croak when
9443 it tries to load non-existent mm-* files.
9444 (mh-decode-mime): Make it default to nil for Emacs major version
9447 2002-05-28 Satyaki Das <satyaki@theforce.stanford.edu>
9449 * mh-e.el (mh-regenerate-headers): Generalize the function to
9450 handle multiple ranges.
9452 2002-05-25 Satyaki Das <satyaki@theforce.stanford.edu>
9454 * compilation: Reduce use of eval-when-compile so that load-path
9455 is not changed if lisp files are loaded without compilation. Small
9456 changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
9457 mh-seq.el, mh-utils.el
9459 * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
9460 function to advance point to next MIME button. It is bound to TAB.
9462 * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
9463 interactive function mh-letter-next-button has been added to
9464 advance point to the next MIME button. It is bound to TAB.
9466 * mh-mime.el (comments): Added some comments.
9468 2002-05-24 Satyaki Das <satyaki@theforce.stanford.edu>
9470 * mh-mime.el (compilation): Replace (eval-when-compile ...) by
9471 (eval-when (compile) ...) to remove a bug when mh-e is loaded
9472 without compilation.
9474 2002-05-23 Satyaki Das <satyaki@theforce.stanford.edu>
9476 * mh-comp.el (compilation): Some code was rearranged to avoid
9479 * mh-e.el (compilation): Code rearrangement and extra autoloads to
9480 remove compiler warnings
9481 (mh-quit): Add call to mh-destroy-postponed-handles to remove
9482 handles that are associated with external viewers. Also fixed a
9483 bug that I accidentally introduced by adding an extra line when
9484 cut and pasting my changes.
9486 * mh-func.el (compilation): Code rearrangement to remove compiler
9489 * mh-mime.el (compilation): Code rearrangement to remove compiler
9491 (mh-defun-compat): New macro to define to useful functions that
9492 aren't present present in old Gnus.
9493 (mh-destroy-postponed-handles): New function to cleanup handles
9494 that are associated with external viewers.
9495 (mh-handle-set-external-undisplayer): New function to replace
9496 mm-handle-set-external-undisplayer. It associates handles for
9497 external viewers with the folder buffer. These are released when
9498 the user quits the folder.
9499 (mh-mime-display, mh-press-button, mh-push-button): Hook in
9500 mh-handle-set-external-undisplayer.
9501 (mh-maybe-insert-newline): New function to avoid inserting too
9502 many newlines between mime parts.
9503 (mh-mm-display-part): Workaround for Gnus bug which causes new
9504 lines to be inserted when images are shown inline.
9505 (mh-mime-display-security): Cut down on newlines inserted.
9507 * mh-pick.el (compilation): Code rearrangement to remove compiler
9510 * mh-seq.el (compilation): Code rearrangement to remove compiler
9512 (comments): Remove @SD from comments.
9514 * mh-utils.el (compilation): Slight code rearrangement.
9515 (mh-defun-show-buffer): Fix documentation so that the first line
9516 is not too long as was the case earlier. Use
9517 mh-previous-window-config to remember where the cursor should
9518 return functions like mh-reply.
9519 (mh-display-msg): Initialize handles data-structure for the folder
9520 buffer so that postponed handles can be added to it.
9521 (mh-add-msgs-to-seq): Always keep messages in the sequences
9522 sorted. This removes some unexpected behavior when working with
9523 sequences that go out of sync with the corresponding MH sequences.
9524 (mh-canonicalize-sequence): New function to sort and remove
9525 duplicates from mh-e sequence.
9527 2002-05-21 Satyaki Das <satyaki@theforce.stanford.edu>
9529 * mh-utils.el (require): Load mm-decode.el here so that
9530 mm-inline-media-tests is properly initialized.
9532 * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
9533 mime parts when yanking the message. This also fixes the problem
9534 of regions not being respected during the yank.
9536 2002-05-20 Satyaki Das <satyaki@theforce.stanford.edu>
9538 * mh-utils.el (compiler-warnings): Some code was rearranged to
9539 remove all compiler warnings.
9540 (mh-decode-mime): New defcustom to control whether
9541 mime attachments are shown using Gnus.
9542 (mh-globals-hash): New global variable which maps a given buffer
9543 to the corresponding mime data structures.
9544 (mh-recent-gnus-p): New global variable which checks if Gnus is
9545 recent enough so that PGP/GPG encrypted messages can be handled.
9546 (mh-mm-inline-media-tests): Tests to determine whether a mime part
9547 can be shown inline.
9548 (mh-gnus-article-highlight-citation): Shadow the Gnus function,
9549 gnus-article-add-button before gnus-article-highlight-citation is
9550 called. This prevents the insertion of useless buttons in the
9552 (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
9553 kill-buffer-hook to call mh-mime-cleanup.
9554 (mh-modify): Only the edit buffer is shown.
9555 (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
9556 mh-display-emphasis when mh-decode-mime is non-nil.
9558 * mh-mime.el (mh-buffer-data): New structure to keep track of
9559 per-buffer mime information.
9560 (compiler-warnings): Some code was rearranged to get rid of all
9562 (mh-graphical-smileys-p): New defcustom which controls whether
9563 graphical smileys are shown.
9564 (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
9565 (mh-max-inline-image-width, mh-max-inline-image-height): New
9566 defcustoms for inlining image.
9567 (gnus-local-map-property, mm-merge-handles): Copy utility
9568 functions for use with version of Gnus that ships with Emacs21.1.
9569 (mh-mime-cleanup): New function to free mime data-structures.
9570 (mh-add-missing-mime-version-header): New function to add missing
9571 Mime-Version header if a Content-Type header exists.
9572 (mh-display-smileys): New function to show graphical smileys.
9573 (mh-display-emphasis): New function to show graphical emphasis.
9574 (new-globals): New variables mh-mime-button-* and
9575 mh-mime-security-* were added to control mime buttons.
9576 (mh-mime-display): New function to display mime messages. The
9577 functions mh-mime-display-part, mh-mime-display-alternative,
9578 mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
9579 mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
9580 mh-press-button, mh-push-button, mh-mime-save-part,
9581 mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
9582 mh-mime-display-security, mh-mime-security-show-details,
9583 mh-mime-security-press-button and mh-insert-mime-security-button
9584 were added to support mh-mime-display.
9586 * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
9587 mh-show-msg is called, so that mime isn't decoded when headers are
9589 (mh-quit): The show buffer is killed instead of invalidating and
9592 * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
9594 (mh-filter-out-non-text): New function to filter out attachments
9595 from message being yanked.
9597 2002-05-20 Bill Wohler <Bill.Wohler@openwave.com>
9599 * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
9600 docstring was not entirely on first line so was truncated in
9601 customize and help buffers. Reworded so first sentence could fit
9602 within 80 columns per checkdoc recommendation.
9603 (mh-defun-show-buffer): Reworded per checkdoc recommendations.
9604 Removed @SD while I was in there.
9606 2002-05-18 Satyaki Das <satyaki@theforce.stanford.edu>
9608 * mh-seq.el (mh-narrow-to-seq): This function now removes the
9609 current message notation in the folder. Otherwise, two current
9610 message notations may be present after mh-widen is called. Also
9611 mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
9612 the latter has a bug.
9613 (mh-copy-seq-to-point): This function has a tricky problem. It
9614 calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
9615 assumes that the folder is sorted (since it uses binary
9616 search). The assumption isn't true, so it may not copy all the
9617 messages. Since this function is not used any more it has been
9619 (mh-copy-seq-to-eob): This function is a specialized (and
9620 hopefully correct) replacement for mh-copy-seq-to-point.
9622 2002-05-17 Satyaki Das <satyaki@theforce.stanford.edu>
9624 * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
9625 problem caused by low value of recursive-load-depth-limit in
9626 Emacs21.1 and CVS version of Gnus.
9627 (mh-show-mode-map): New keymap variable to facilitate use of
9628 summary commands from the show buffer.
9629 (mh-show-folder-buffer): New local variable which keeps track of
9630 the folder-buffer corresponding to the message being shown.
9631 (mh-defun-show-buffer): New macro to convert interactive functions
9632 callable in the summary buffer to interactive functions callable
9634 (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
9635 keymap (closes SF #527946).
9636 (mh-modify): New interactive function to edit a message in-place.
9638 * mh-e.el (mh-goto-cur-msg): Add an optional argument,
9639 minimal-changes-p. If non-nil, the function will just change
9640 the point to current message and do not change folder display.
9641 (mh-folder-mode-map): Make "M" call mh-modify.
9643 2002-05-07 Peter S Galbraith <psg@debian.org>
9645 * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
9646 variable. If non-nil, the X-Face header line will be excluded from
9647 the variable `mh-invisible-headers'. Set this when using a
9648 package such as x-face-el to display X-Face icons in mh-show-mode.
9649 This variable's setting will eventually be set automatically when
9650 mh-e does its own X-Face decoding (or this variable will be replaced
9651 by one telling mh-e to decode the X-Face). We may not ship the
9652 next release with this variable.
9654 2002-05-07 Peter S Galbraith <psg@debian.org>
9656 * mh-comp.el (mh-x-face-file): New defcustom variable. File name
9657 containing the encoded X-Face string to insert in outgoing mail.
9658 (mh-insert-x-face): New function. Appends an X-Face field to the
9659 header, but only if it doesn't already exist and if 'mh-x-face-file'
9660 is non-nil and points to an existing file.
9661 (mh-send-letter): Invoke mh-insert-x-face.
9663 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
9665 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
9666 whether XEmacs region is actually active (needed at least for 21.1).
9667 [Patch committed by psg]
9669 2002-04-29 Mike Kupfer <m.kupfer@acm.org>
9671 * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
9672 from completing-read as XEmacs-21.1 doesn't have it (21.4 does
9673 however) and using the argument adds no functionality.
9674 [Patch committed by psg]
9676 2002-04-11 Peter S Galbraith <psg@debian.org>
9678 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
9679 XEmacs to act on selected region when active.
9681 2002-04-10 Peter S Galbraith <psg@debian.org>
9683 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
9684 check to see if mark-active is bound, because Mandrake Linux include
9685 XEmacs initialization code that binds transient-mark-mode. This
9686 fix gets around a problem in Mandrake only. It wasn't a problem
9687 on XEmacs generally. Fixes SF #541915.
9689 2002-04-08 Bill Wohler <wohler@newt.com>
9691 * Released mh-e version 6.1.
9693 * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
9694 Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
9695 to increase robustness.
9696 (mh-folder-unseen-seq-list): Use `expand-file-name' as
9697 `mh-expand-file-name' isn't needed and the former saves function
9699 (Version, mh-version): Updated for release 6.1.
9701 2002-04-08 Peter S Galbraith <psg@debian.org>
9703 * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
9704 call to mark command. Fixes a bug in which unseen messages
9705 weren't highlighted if "mark" wasn't in the path.
9707 2002-04-07 Bill Wohler <wohler@newt.com>
9709 * MH-E-NEWS: Updated for release 6.1.
9711 * README: Updated for release 6.1. Updated verbiage about reading
9714 * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9715 mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
9718 * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
9720 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
9721 mh-utils.el: Fixed all checkdoc errors, except for no
9722 documentation, and documentation in comments. Also removed the-
9723 prefix from certain local variables.
9725 * mh-e.el: Fixed all checkdoc errors, except for no documentation,
9726 and documentation in comments. Also removed the- prefix from
9727 certain local variables.
9728 (mh-folder-unseen-seq-name): Refactored to make default sequence
9729 name more explicit and to handle undefined Unseen-Sequence MH
9730 profile entry better.
9732 2002-04-02 Peter S Galbraith <psg@debian.org>
9734 * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
9735 set it's value, and this happens also on byte-compilation (where
9736 it can fail if the user's MH environment is not setup correctly).
9737 I now set the value of mh-folder-unseen-seq-name at runtime when I
9738 first need it. This should fix Debian bugs
9739 http://bugs.debian.org/140232 and http://bugs.debian.org/140817
9741 2002-03-25 Peter S Galbraith <psg@debian.org>
9743 * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
9744 be at the bottom of the dependency tree.
9745 * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
9746 and use it as path to mhparam command in call-process.
9748 2002-01-23 Peter S Galbraith <psg@debian.org>
9750 * mh-e.el (mh-folder-font-lock-keywords): Add call to
9751 mh-folder-font-lock-unseen to fontify unseen messages in bold.
9752 (mh-folder-unseen-seq-name): Provide name of unseen sequence from
9753 mhparam. Used as default for variable of same name.
9754 (mh-folder-unseen-seq-list): Returns a list of unseen messages
9755 numbers for current folder.
9756 (mh-folder-unseen-seq-cache): Cache variable to hold list of
9757 unseen message numbers while font-lock iterates. This variable is
9759 (mh-folder-font-lock-unseen): Returns unseen message lines to
9760 font-lock one by one.
9762 2002-01-15 Peter S Galbraith <psg@debian.org>
9764 * mh-comp.el (mh-insert-prefix-string): Wrap a
9765 "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
9766 Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
9767 Indeed, this is how it appears in XEmacs-21's mh-comp.el.
9769 2001-12-16 Jeffrey C Honig <jch@honig.net>
9771 * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
9772 to before the assignment to `draft' as the later changes buffers
9773 and invalidates `mh-seq-list' (which is used in a function called
9774 by (mh-seq-to-msgs)). Resolves SF #489448.
9776 * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
9777 `mh-temp-sequences-buffer'.
9779 * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
9780 'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
9783 * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
9784 (a defcustom initialized to "*Folders*") for folder listing. Put
9785 into view mode and set it up to kill the buffer when exiting view
9788 * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
9789 (a defcustom initialized to "*Sequences") for sequences listing.
9790 Put into view mode and set it up to kill the buffer when exiting
9793 2001-12-16 Bill Wohler <wohler@newt.com>
9795 * Released mh-e version 6.0.
9797 * MH-E-NEWS: Be a little more specific about incompatible changes.
9798 Added info about outdated manual.
9799 Removed variables in mh-scan regexp table that did not exist in
9801 Added helpful documentation about finding relevant variables
9802 containing regexps to mh-scan-format-file's description.
9804 * mh-e.el (mh-scan-format-file): Added information about getting a
9805 list of regexp variables that you'll need to change if you
9806 customize your scan's output.
9807 (mh-folder-mode): Added documentation about `mh-scan-format-file'
9808 for those users who modify their scan formats.
9810 * README: New file. Describes packages and provides simple
9811 installation instructions.
9813 * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
9814 -rf (closes SF #488661).
9816 2001-12-14 Bill Wohler <wohler@newt.com>
9818 * Released mh-e version 5.0.93.
9820 * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
9821 (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
9823 (MH-E-IMG2): New variable to hold images in mail sub-directory.
9824 (dist): Updated target to make mail sub-directory and copy
9825 MH-E-IMG2 images there.
9827 * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
9829 * mh-e.el: Reorganized variables having to do with the scan line.
9830 Moved some random variables that were interspersed out of the
9831 middle. Moved `mh-scan-format-file' first and let the variables
9834 As the number of variables increases, it is becoming important to
9835 organize the mh-e namespace. Several variables having to do with
9836 the format of scan lines were renamed, as follows:
9837 (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
9838 (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
9839 (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
9840 (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
9841 (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
9842 (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
9843 (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
9844 (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
9845 (mh-folder-scan-font-lock-face): Renamed to
9846 mh-folder-scan-format-face.
9847 (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
9849 2001-12-13 Bill Wohler <wohler@newt.com>
9851 * mh-utils.el (mh-msg-number-regexp): Renamed to
9852 mh-scan-msg-number-regexp.
9853 (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
9855 * Corrected typos, quoted variables in doc strings, and made minor
9856 wording changes in docs.
9858 2001-12-13 Peter S Galbraith <psg@debian.org>
9860 * mh-xemacs-compat.el: defalias 'match-string-no-properties to
9861 'match-string for XEmacs. I've seen a better function for this
9862 that actually removes text properties, but this will do for now.
9864 * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
9867 * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
9869 * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
9871 2001-12-12 Peter S Galbraith <psg@debian.org>
9873 * mh-comp.el (mh-send-letter): function local-variable-p needs two
9874 arguments in XEmacs.
9875 (mh-send-letter): sendmail-coding-system not bound in XEmacs.
9876 (mh-send-letter): default-buffer-file-coding-system not bound in
9879 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
9880 transient-mark-mode not bound in XEmacs. The feature of
9881 operations made on all messages in the selected range when
9882 transient-mark-mode is on doesn't work in XEmacs.
9884 * mh-e.el, mh-utils: Conditionalize calls to
9885 'add-to-list 'facemenu-unlisted-faces for XEmacs.
9887 2001-12-11 Jeffrey C Honig <jch@honig.net>
9889 * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
9890 specify the scan format string or file to use. Define formats for
9891 MH and nmh that are compatible with the standard format, but
9892 provide hints for font-lock. Define (mh-scan-format) for use by
9893 (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
9894 necessary to inform the scan program which scan format string or
9897 2001-12-07 Peter S Galbraith <psg@debian.org>
9899 * mh-e.el (scan.font-lock): New format file documented in comments.
9900 (mh-scan.font-lock-regexp): Adapted to new format.
9901 (mh-folder-font-lock-keywords): Use new format.
9903 * mh-e.el (page-down.xpm): Icon renamed from nextpage.
9905 * mh-utils.el (mh-decode-quoted-printable): Bug fix. Better check
9906 on what actually is a quoted-printable attachment.
9908 2001-12-06 Eric Ding <ericding@alum.mit.edu>
9910 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
9911 require mailcap.el here rather than using autoload at top of
9913 (mh-file-mime-type): get rid of unused variables (why were they
9914 there to begin with?)
9916 2001-12-06 Peter S Galbraith <psg@debian.org>
9918 * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
9919 mh-cur-scan-msg-regexp splits into these two variables.
9920 The whole-line fontification is disabled, but easily restored by a
9921 user (although it could be a defcustom with choices DISABLED or
9922 the correct regexp?)
9923 (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
9925 (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
9928 * cabinet.xpm: Revert to rescan icon name.
9929 * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
9931 * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
9932 that current message line highlight doesn't mess up other highlights.
9934 2001-12-05 Eric Ding <ericding@alum.mit.edu>
9936 * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
9937 cyan on dark backgrounds; through a series of changes, it had
9938 become the same color as mh-show-subject-face!
9940 2001-12-05 Bill Wohler <Bill.Wohler@openwave.com>
9942 * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
9943 a couple of small doc string tweaks while I was in there. Peter,
9944 if you don't agree, let me know and I'll back them out. I thought
9945 the "mh-e" in the text was redundant since the variables start
9946 with "mh"; I was also thinking ahead to how the documentation may
9949 2001-12-05 Peter S Galbraith <psg@debian.org>
9951 * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
9952 (mh-folder-current-msg-face): New face with only a background
9953 settings, used in font-lock for the current message.
9954 (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
9955 mh-cur-scan-msg-regexp.
9957 * mh-utils.el (mh-show-from-face): Use red3 instead of red for
9958 light backgrounds. It's not as bright on the eyes.
9959 (mh-show-subject-face): copy from mh-folder-subject-face instead.
9960 Makes the look consistent with folder-mode.
9962 * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
9963 need it to copy to mh-show-subject-face.
9965 2001-12-05 Bill Wohler <wohler@newt.com>
9967 * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
9968 from "a" to "E". Better mnemonic, nicer to folks used to using a
9971 2001-12-04 Bill Wohler <wohler@newt.com>
9973 * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
9975 2001-12-04 Peter S Galbraith <psg@debian.org>
9977 * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
9978 colours for folder-mode. Still themed, but fewer and darker
9979 colours (Blame Eric this time!). I'll get to underlining tomorrow
9982 * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
9983 don't have the word mail in them. Also generated a pbm format of
9984 each icon for users without XPM support conpiled into Emacs.
9986 2001-12-04 Eric Ding <ericding@alum.mit.edu>
9988 * mh-utils.el (mh-show-font-lock-keywords): Use
9989 mh-header-subject-font-lock instead of regexp for subject headers,
9990 which may go multiple lines.
9991 (mh-header-subject-font-lock): New function.
9992 Fix typos (hightlight -> highlight).
9994 2001-12-04 Eric Ding <ericding@alum.mit.edu>
9996 * mh-e.el: changes to face colors on dark backgrounds.
9997 (mh-folder-followup-face): change to LightGoldenRod.
9998 (mh-folder-date-face): change to snow3.
9999 (mh-folder-msg-number-face): change to snow4.
10001 2001-12-04 Bill Wohler <wohler@newt.com>
10003 * Released mh-e version 5.0.92.
10005 * mh-utils.el (gnus-cite-face-list)
10006 (mh-gnus-article-highlight-citation): Don't autoload. Revert to
10007 requiring in `mh-gnus-article-highlight-citation' as before. With
10008 the autoloads, if you ran mh-e before gnus, you'd get an undefined
10009 gnus variable when viewing an article in gnus. Go figure.
10011 2001-12-03 Bill Wohler <wohler@newt.com>
10013 * Released mh-e version 5.0.91.
10015 * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
10016 that workaround has been implemented.
10018 * Makefile (MH-E-OBJ): New variable to hold .elc files.
10019 (all): Just compile.
10020 (clean): New target that blows away MH-E-OBJ.
10021 (dist): Added $(MH-E-OBJ) to tarball.
10024 Attempt to quiet compilation errors to a dull roar.
10026 * mh-e.el: Require easymenu, added autoload of info.
10027 (mh-smail, mh-smail-other-window): Comment says these were needed
10030 * mh-utils.el: Don't require sendmail, but require mh-e.
10031 Moved autoloads to top of file, and autoload gnus-cite and
10034 * mh-pick.el: Require easymenu. Remove cond on
10035 `easy-menu-define'--it exists.
10037 * mh-mime.el: Autoload mailcap.
10039 * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
10043 * Makefile: (EMACS): New constant to hold emacs calling sequence.
10044 (install): Renamed to install-emacs.
10045 (compile): New target to compile all files.
10046 (dist): Make dependent on compile.
10047 (import): Renamed to import-emacs.
10048 (%.elc): New implicit rule to compile elisp files.
10050 * mh-e.el (mh-thread-map): Added "Td" for
10051 mh-delete-subject-thread.
10053 2001-12-03 Peter S Galbraith <psg@debian.org>
10055 * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
10057 * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
10058 (mh-folder-followup-face): Change to IndianRed.
10059 (mh-folder-deleted-face): Use sedate face instead of bright one.
10061 2001-12-03 Bill Wohler <wohler@newt.com>
10063 * mh-utils.el (mh-invisible-headers): Increase size of
10064 `max-specpdl-size' locally to work around insufficient default.
10065 (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
10067 2001-12-03 Jeffrey C Honig <jch@honig.net>
10069 * mh-utils.el (mh-find-progs): Searches should not stop if the
10070 strings are not found, there is error detection at the end of the
10071 routine (closes SF #488231).
10073 2001-12-02 Bill Wohler <wohler@newt.com>
10075 * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
10077 * Makefile (MH-E-IMG): New variable that contains images used by
10078 mh-e. Add these files to release.
10080 * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
10082 * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
10083 Is the hook called when you type `d' or when you type `x'?
10084 (mh-unseen-updated-hook): Reworded to be consistent with
10085 `mh-folder-updated-hook.'
10087 * mh-utils.el (mh-recenter): Accepted Gerd's change which is
10088 evaluated at compile time.
10090 2001-12-02 Bill Wohler <wohler@newt.com>
10092 * mh-e.el Major, major keymap changes. The specific changes are
10093 listed below, but view the sources, or use "C-h m" in MH Folder
10094 mode for the complete list.
10096 Use of sub-keymaps inspired by gnus. The changes tripped me up at
10097 first too, but after about 5 minutes of shock (which is to be
10098 expected, I've been using the old keybindings for 16 years), I
10099 honestly found the new bindings to be nice indeed. It will also
10100 provide flexibility to allow for future functionality. I hate to
10101 do this on the eve of the beta release, but you asked for it! It's
10102 likely I'll have to pull an Eric and back this change out, but if
10103 we can live with pink subjects, this can't be so bad ;-).
10104 Question: will the users revolt? If they do, I suppose we can
10105 release 6.0.1 the next day ;-).
10106 (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
10107 New keymaps which start with F, S, X, and D, respectively. The
10108 mhstore commands can go in the mh-extract-map eventually.
10109 (mh-thread-map): Renamed from mh-folder-thread-map.
10111 Keymap changes and rationale. The sub-keymaps allowed some
10112 consistency (e.g., esp. with l(ist) and k(ill).
10114 e Deleted. Already have x. Now used by mh-edit-again.
10115 a Deleted. Already have r. Now used by mh-extract-rej..
10116 j Deleted. Already have g.
10118 M-a -> e Better mnemonic. Matches rmail. Frees movement cmd.
10119 M-e -> a Try `a'gain!
10121 M-f -> Fv Frees movement command
10122 M-f -> Ff Alias (keep?)
10123 M-f -> Fo Alias (keep?)
10124 M-k -> Fk No reason but to keep with folder commands
10125 M-l -> Fl No reason but to keep with folder commands
10126 M-p -> Fp No reason but to keep with folder commands
10127 M-r -> Fr Frees movement command
10128 M-s -> Fs No reason but to keep with folder commands
10129 M-u -> Fu No reason but to keep with folder commands
10131 M-% -> Sd Better mnemonic
10132 M-# -> Sk Better mnemonic
10133 M-q -> Sl Better mnemonic
10134 C-xn -> Sn Frees up standard key binding
10135 % -> Sp Better mnemonic for putting a message in a sequence
10136 ? -> Ss Shows sequences that message is in
10137 C-xw -> Sw Frees up standard key binding
10139 M-n -> Xs Better mnemonic (shar)
10140 M-n -> Xu Better mnemonic (uuencode)
10142 M-SPC -> DSPC Frees mark command
10143 M-\177 -> D\177 No reason but to keep with digest commands
10144 M-b -> Db Frees movement command
10146 2001-12-01 Bill Wohler <wohler@newt.com>
10148 * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
10149 (mh-folder-thread-map): New map, created by gnus-define-keys.
10150 Reached when typing T in mh-folder-mode-map. Moved threading
10151 functions to this new keymap so we can use dired again.
10152 (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
10153 the new threading functions, no changes to the UI were made at
10154 this point--saving that for the next check-in.
10156 * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
10157 requires gnus-util.
10159 * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
10160 requires gnus-util.
10162 2001-12-01 Jeffrey C Honig <jch@honig.net>
10164 * mh-e.el: Update the documentation for the regexps used by
10165 `mh-folder-font-lock-keywords' to specify how many parethesized
10166 expressions they are expected to have and what those expressions
10167 are expected to match.
10169 2001-12-01 Bill Wohler <wohler@newt.com>
10171 * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
10172 \\{mh-folder-mode-map} suffices. Removed variable documentation
10173 also as this is already out of date and a maintenance hassle.
10174 Reference new mh customization group instead.
10176 * mh-comp.el (mh-letter-mode): Ditto. Also added new information
10177 about MIME directives getting processed automatically if inserted
10180 * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
10183 * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
10184 Comment in this function said that `b' shouldn't be used for
10185 burst-digest, as it is used for `back' in info, less, and rn. But
10186 what does `back' mean in MH Folder? I suppose if you visit a
10187 folder, you would go `back' to the original folder. Hmmm, I guess
10188 we'll leave the `b' binding alone for now.
10190 * mh-utils.el: Moved some of the variable comments to the first
10191 column so they wouldn't wrap in such an ugly fashion.
10192 (mh-showing-mode): Renamed variable and function from mh-showing
10193 to conform with minor mode conventions. Added optional arg to
10194 function so it would behave like a normal minor mode: no or nil
10195 arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
10196 out that desktop-create-buffer would barf when recreating mh-e
10197 buffers because it was calling mh-show with an arg.
10198 (mh-show-mode): Use define-derived-mode to simplify definition a
10200 (mh-set-mode-name): Deprecated by use of define-derived-mode.
10203 * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
10204 definition a *lot*.
10206 * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
10207 this message will appear in a future version of Emacs.
10208 (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
10210 (mh-folder-mode): Use define-derived-mode to simplify definition a
10213 * import-emacs (release): Change `(none)' to `mainline' so import
10214 doesn't choke after running `cvs up -A' on Emacs.
10215 (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
10216 (cvs update): Whoops! Forgot the second join (-jemacs).
10217 make import works fine again.
10219 2001-11-30 Peter S Galbraith <psg@debian.org>
10221 * mh-e.el (mh-folder-font-lock-keywords): Change order of
10222 font-lock patterns such that subject body text doesn't get date
10225 * mh-e.el (mh-scan-subject-regexp): Bug fix. Remove a dot.
10226 scan.font-lock users have to setq it separately.
10228 2001-11-30 Eric Ding <ericding@alum.mit.edu>
10230 * mh-utils.el (mh-clean-msg-header): Go back to using
10231 mh-delete-line. Using invisible text property is nicer in some
10232 ways, but winds up with somewhat mysterious behavior should user
10233 kill/yank stuff from the header (i.e., text gets yanked invisibly
10234 and won't be seen by user until file is reloaded).
10236 2001-11-29 Bill Wohler <wohler@newt.com>
10238 * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
10241 2001-11-29 Jeffrey C Honig <jch@honig.net>
10243 * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
10244 the current message if there are no messages in the folder.
10246 2001-11-29 Peter S Galbraith <psg@debian.org>
10248 * mh-e.el (mh-folder-font-lock-subject): New fontifier function
10249 for subject lines in folder-mode
10250 (mh-scan-followup-regexp): Deleted obsolete regexp. Use
10251 mh-scan-subject-regexp instead.
10252 (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
10253 instead of obsolete mh-scan-followup-regexp variable.
10254 (mh-folder-date-face, mh-folder-msg-number-face):
10255 (mh-folder-subject-face, mh-folder-followup-face):
10256 Now defined as proper faces instead of copied from font-lock
10259 * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
10260 valid media types used in MIME attachment compositions.
10261 (mh-file-mime-type): Use mh-media-type-regexp instead of
10262 hard-wiring its value.
10264 * mh-utils.el (mh-show-unquote-From): New function to unquote
10265 "^>From" in mh-show-mode (not saved to disk).
10266 (mh-show-mode): Call mh-show-unquote-From.
10268 2001-11-29 Eric Ding <ericding@alum.mit.edu>
10270 * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
10271 rather than mh-delete-line.
10272 (mh-make-line-invisible): New function to make line(s) invisible
10273 rather than deleting line(s). Optional argument specifies number
10274 of lines to delete.
10275 (mh-show-msg): screen-height has been deprecated; use no more.
10276 (mh-notate): screen-width has been deprecated; use no more.
10278 2001-11-29 Jeffrey C Honig <jch@honig.net>
10280 * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
10281 the existence of mhparam. The location of mhparam is used to find
10282 `mh-progs'. It uses the libdir and etcdir to find the
10283 `mh-lib-progs' and `mh-lib' directories. If etcdir doesn't return
10284 anything we assume `mh-lib-progs' is the same as `mh-lib' and that
10285 we are using MH instead of nmh.
10287 2001-11-29 Peter S Galbraith <psg@debian.org>
10289 * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
10290 second paren expression is the user match.
10291 (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
10292 expression to match user name, after Jeffrey's change to the regexps.
10294 2001-11-29 Bill Wohler <Bill.Wohler@openwave.com>
10296 * mh-utils.el (mh-clean-message-header): Default is now t.
10297 (mh-invisible-headers): Padded out to contain all the headers that
10298 the mh-e developers don't like to see (closes SF #415759).
10300 2001-11-28 Bill Wohler <Bill.Wohler@openwave.com>
10302 * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
10303 this allows mh-extract-rejected-mail to strip the start of the
10304 MDN, there is still a closing MIME marker at the end. This should
10305 be cleaned up eventually.
10307 2001-11-28 Peter S Galbraith <psg@debian.org>
10309 * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
10310 folder-mode when narrowed to sequence.
10311 * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
10312 mh-folder-seq-tool-bar-map.
10313 (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
10314 * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
10316 * mh-mime.el (mh-file-mime-type): Much better check on validity of
10319 * mh-e.el (mh-scan-subject-regexp): New regexp variable for
10320 subject string in folder mode. Used to extract subject sequence,
10321 and will be used for font-lock soon.
10322 * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
10323 using mh-scan-subject-regexp, allows users with non-standard
10324 scan format to use subject sequences.
10326 * mh-comp.el (mh-letter-fill-column): Fill column to use in
10327 mh-letter-mode. (Yes, I'm doing this in spite of what Bill said;
10328 Someone can always undo it later)
10329 (mh-letter-mode): setq fill-column to mh-letter-fill-column.
10331 2001-11-28 Bill Wohler <wohler@newt.com>
10333 * mh-e.el (mh-page-msg): The first time the end of page is hit,
10334 set mh-page-to-next-msg-p to t. The second time the end of page is
10335 hit, go to the next message.
10337 * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
10340 2001-11-27 Bill Wohler <wohler@newt.com>
10342 * mh-mime.el (mh-mime-content-types): Updated list of types to
10343 contain types used by mh-e developers, but not including types not
10345 http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
10347 2001-11-27 Peter S Galbraith <psg@debian.org>
10349 * mh-seq.el (mh-subject-thread-to-sequence) New function placing
10350 all messages with similar subject line into a sequence named
10352 (mh-narrow-to-subject-thread): New command to narrow to all
10353 messages with similar subject line into a sequence named 'subject.
10354 (mh-toggle-subject-thread): New command to toggle between a new
10355 'subject sequence or the wide view of a folder.
10356 (mh-delete-subject-thread): New command to delete all following
10357 messages with similar subject lines (leaving preceeding ones
10359 (mh-next-unseen-subject-thread): New command to create and move to
10360 a new subject thread created from the next unseen message as a
10362 * mh-e.el (mh-folder-message-menu): New menu entries for subject
10364 (mh-folder-mode-map): New keybindings for subject threads.
10365 (mh-lessp): New function to sort messages.
10367 * mh-utils.el (mh-show-font-lock-keywords): and various
10368 faces... scoped within eval-after-load "font-lock" to avoid
10369 requiring font-lock to use its faces.
10370 * mh-e.el (mh-folder-font-lock-keywords): Same.
10372 2001-11-27 Jeffrey C Honig <jch@honig.net>
10374 * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
10377 * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
10379 2001-11-26 Eric Ding <ericding@alum.mit.edu>
10381 * mh-utils.el: revert to using external mimedecode to decode
10382 MIME quoted-printable parts
10384 2001-11-26 Jeffrey C Honig <jch@honig.net>
10386 * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
10387 * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
10389 2001-11-26 Peter S Galbraith <psg@debian.org>
10391 * mh-mime.el (mh-file-mime-type): Make sure output from file
10392 command is known to mailcap file, otherwise prompt the user.
10393 (mh-mime-content-types): Add "image/png" type.
10395 * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
10396 mh-folder-*-face faces.
10397 * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
10398 mh-show-*-face faces.
10400 * mh-utils.el (mh-letter-header-font-lock): Bug fix. Fix infinite
10401 loop in emacs20 font-locking.
10402 (mh-header-field-font-lock): Preventive fix with similar change.
10404 * mh-comp.el (mh-reply-show-message-p): Typo. diplayed -> displayed.
10407 * mh-e.el (mh-folder-tool-bar-map): Bug fix. I had
10408 mh-repack-folder instead of mh-pack-folder.
10410 2001-11-26 Bill Wohler <wohler@phone.com>
10413 Updated header for consistency and to conform with (elisp)Library
10415 (mh-do-not-confirm): Updated documentation string to reflect
10416 reality (e.g., is no longer used by mh-kill-folder and is used by
10417 more functions than just mh-undo-folder).
10418 (mh-page-msg): Now shows the next undeleted message if looking at the
10419 bottom of the current message.
10420 (mh-process-or-undo-commands): Fixed indentation.
10423 (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
10424 cannot be determined with file command, use mailcap-mime-types (if
10425 available) to provide list for completing read.
10427 * MH-E-NEWS: First draft of mh-e 5.1 release notes.
10429 2001-11-26 Eric Ding <ericding@alum.mit.edu>
10431 * mh-utils.el (mh-decode-quoted-printable): Implement
10432 quoted-printable decoding in elisp (starting with code copied
10434 (mh-decode-quoted-printable-region): Move (require 'hexl) outside
10436 (mh-decode-quoted-printable): give user a choice between using
10437 internal code or external program to decode quoted-printable
10438 content. Resurrect code that calls external mimedecode program.
10440 2001-11-25 Peter S Galbraith <psg@debian.org>
10442 * mh-utils.el (mh-highlight-citation-p): New variable to determine
10443 whether to hightlight citations in message body with gnus,
10444 font-lock or not at all.
10445 (mh-show-font-lock-keywords): removed citations from keywords.
10446 (mh-show-font-lock-keywords-with-cite): New variable, equivalent
10447 to prior mh-show-font-lock-keywords.
10448 (mh-gnus-article-highlight-citation): hook into gnus for
10449 multi-level citation highlighting.
10450 (mh-show-mode): Use either mh-show-font-lock-keywords or
10451 mh-show-font-lock-keywords-with-cite, depending on value of
10452 mh-highlight-citation-p, and possibly call
10453 mh-gnus-article-highlight-citation.
10454 * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
10456 2001-11-25 Jeffrey C Honig <jch@honig.net>
10458 * mh-comp.el (mh-redistribute): Added mh-redist-background
10459 variable to cause mh-redistribute to run the redist command in the
10460 background. This causes the transaction log to be visible, like
10463 2001-11-25 Peter S Galbraith <psg@debian.org>
10465 * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
10466 new message if already showing messages.
10468 2001-11-22 Peter S Galbraith <psg@debian.org>
10470 * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
10471 specified, otherwise mh-refile-msg may try to create a folder with
10472 empty name, and this creates problems; even mh-undo can't handle
10473 it (Closes SF #476824).
10475 * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
10476 require 'info. Also tweaked help texts.
10477 (mh-letter-menu): Use headline capitalization (Closes SF #483203).
10478 * mh-e.el (mh-folder-tool-bar-map): Same as above.
10479 (mh-folder-folder-menu, mh-folder-message-menu):
10480 (mh-folder-sequence-menu): Same as above.
10481 * mh-pick.el (mh-pick-menu): Same as above.
10483 2001-11-21 Peter S Galbraith <psg@debian.org>
10485 * mh-comp.el (mh-reply-show-message-p): The setting of this
10486 variable determines whether the MH show-buffer is diplayed with
10487 the current message when using mh-reply without a prefix argument.
10488 Set it to nil if you already include the message automatically in
10489 your draft using "repl: -filter repl.filter" in your ~/.mh_profile
10491 (mh-reply): Don't show message in other window if
10492 mh-reply-show-message-p is nil.
10494 * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
10495 mh-execute-commands.
10497 * mh-utils.el (mh-show-mouse): New function to click on a message
10498 in folder-mode and show that message.
10499 * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
10501 * mh-e.el (mh-page-msg): Show buffer first if not displayed,
10502 instead of simply complaining there's no other window.
10504 * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
10505 (mh-folder-mode): Setup tool-bar.
10507 * mh-mime.el (mh-have-file-command): try to non-fatally load
10508 executable.el because emacs20 doesn't autoload it.
10509 * mh-utils.el (load "executable" t t): Idem.
10511 * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
10512 after-change-functions to nil, working around a strange font-lock
10513 bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
10516 * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
10517 mh-utils.el because it is needed in reading mail too.
10518 (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
10519 because they are needed by mh-show-mode's font-lock code.
10520 Unfortunately, this splits the field related code into two files.
10521 Perhaps it should all go into mh-utils?
10523 2001-11-20 Eric Ding <ericding@alum.mit.edu>
10525 * mh-utils.el (mh-show-from-face): Fix typo in defface
10527 2001-11-20 Bill Wohler <wohler@newt.com>
10529 * mh-utils.el (mh-mail-header-separator): Set to -------- as
10530 defined by MH (components, and replcomps files). This variable
10531 cannot be a regexp since it is used as an argument to insert and
10532 is passed through regexp-quote before being used. The previous
10533 value broke a lot of code, including mailcrypt.
10535 * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
10536 header field from mh-send-letter.
10537 (mh-edit-again, mh-extract-rejected-mail): Call
10538 mh-insert-header-separator to ensure that there is a separator.
10539 Packages such as mailcrypt depend on it.
10540 (mh-insert-header-separator): New function to insert
10541 mh-mail-header-separator if it doesn't exist.
10543 2001-11-20 Peter S Galbraith <psg@debian.org>
10545 * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
10546 * mh-e.el (mh-folder-mode): Same.
10547 * mh-utils.el (mh-show-mode): Same.
10549 * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
10550 with mh-good-msg-regexp.
10552 * mh-utils.el (mh-mail-header-separator): Bug fix. Moved from
10553 mh-comp.el to mh-utils.el (which mh-comp.el loads).
10555 * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
10556 suggested by Bill).
10557 * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
10559 * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
10560 to customizing mh-compose group.
10562 * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
10563 font-lock-support-mode to nil.
10564 (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
10565 bug fix. Don't return match beyond font-lock search limit.
10567 * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
10568 not a bound variable.
10570 2001-11-19 Peter S Galbraith <psg@debian.org>
10572 * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
10573 to 'Draft Editing' info node.
10575 * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
10577 (mh-header-to-font-lock, mh-header-cc-font-lock)
10578 (mh-header-field-font-lock): New helper function returning whole
10579 header field arguments to font-lock.
10580 (mh-show-font-lock-keywords): Heavily modified using the above.
10582 * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
10583 number in scan lines.
10584 (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
10585 (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
10586 scan lines for messages we sent.
10587 (mh-scan-followup-regexp): Regexp matching a followup subject
10588 line, starting with Re:
10589 (mh-scan-body-regexp):
10590 Regexp matching the message body beginning displayed in scan lines.
10591 (mh-scan.font-lock-regexp): Regexp matching output of the the
10592 optional scan.font-lock format file.
10593 (mh-folder-font-lock-keywords): New font-lock for folder-mode that
10594 uses the above regexps.
10596 2001-11-19 chad <y@mit.edu>
10598 * mh-comp.el (mh-letter-tool-bar-map): made both references to
10599 mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
10602 2001-11-19 Bill Wohler <wohler@newt.com>
10604 * mh-comp.el (mh-position-on-field): Move to the end of the header
10605 if the field is not present. This function was documented to do
10606 this, but wasn't doing so.
10607 (mh-insert-x-mailer): Simplified by using existing
10608 mh-goto-header-field and mh-insert-fields functions. Now that
10609 mh-insert-fields is used to insert X-Mailer header field, no
10610 longer need to include X-Mailer in mh-x-mailer-string.
10612 2001-11-18 Peter S Galbraith <psg@debian.org>
10614 * mh-comp.el (mh-letter-tool-bar-map): New version of
10615 mh-letter-mode tool-bar. Changed order of buttons; made customize
10616 and info buttons specific to mh-e.
10618 * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
10619 uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
10620 mh-cur-scan-msg-regexp, so will better adapt to non-default scan
10621 formats. Also, lines marked for refiling are now fontified.
10623 2001-11-18 Bill Wohler <wohler@newt.com>
10625 * mh-utils.el (mh-show-mode): Added local variable
10626 mail-header-separator which is initialized to
10627 mh-mail-header-separator.
10629 * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
10630 Needed when running mh-edit-again, since by then the separator is
10631 gone. Added documentation saying one should use
10632 mail-header-separator and initialize it from
10633 mh-mail-header-separator.
10634 (mh-forward): Initialize mail-header-separator since
10635 mh-letter-mode hasn't kicked in yet (which does initialize
10636 mail-header-separator).
10637 (mh-letter-mode): Initialize mail-header-separator from
10638 mh-mail-header-separator, not hard-coded string.
10640 * mh-comp.el (mh-insert-x-mailer-p): New variable to control
10641 whether X-Mailer string is inserted. Default: t.
10642 (mh-x-mailer-string): New variable that caches actual X-Mailer
10644 (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
10646 (mh-insert-x-mailer): New function that inserts X-Mailer header
10649 2001-11-17 Peter S Galbraith <psg@debian.org>
10651 * mh-utils.el (mh-letter-header-font-lock): New function to return
10652 the entire mail header to font-lock for sedate font-locking.
10653 (mh-show-font-lock-keywords): Modified to fontify whole lines and use
10654 mh-letter-header-font-lock above to fontify whole header.
10656 2001-11-17 Bill Wohler <wohler@newt.com>
10658 * mh-comp.el (mail-header-separator): Added ^ and $ to make more
10660 (mh-forward, mh-letter-mode): Replaced hard-coded string with
10661 mail-header-separator.
10663 2001-11-16 Bill Wohler <wohler@newt.com>
10665 * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
10666 (mh-version): The variable: Set to a number instead of Id since
10667 the Id didn't have the mh-e version number, and both Emacs and
10668 gnus do it this way too.
10669 (mh-version): The function: Fixed for nmh. Now displays mh-e
10670 version correctly. Cleaned up output and display mh-progs, etc.
10671 (Closes SF #405620.)
10673 2001-11-15 Peter S Galbraith <psg@debian.org>
10675 * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
10676 mh-letter-mode in emacs21. Uses icons from gnus/message.el.
10677 * mh-comp.el (mh-letter-mode): Add buffer-local binding of
10678 tool-bar-map to mh-letter-tool-bar-map.
10680 2001-11-15 Peter S Galbraith <psg@debian.org>
10682 * mh-mime.el (mh-have-file-command): Add check for existence of
10683 executable-find command, which Jeffrey didn't exist in emacs-20.4.
10684 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
10686 * mh-mime.el (mh-file-mime-type): Bug Fix. Some versions of
10687 'file' output a string like "file: Using regular magic file..."
10688 to stderr, so discard stderr when using call-process with 'file'.
10690 2001-11-14 Peter S Galbraith <psg@debian.org>
10692 * mh-mime.el (mh-have-file-command): Check if 'file' command on
10693 system accepts arguments -i -b before accepting it for our use.
10695 2001-11-14 Peter S Galbraith <psg@debian.org>
10697 * mh-utils.el (mh-find-progs): Use expand-file-name instead of
10698 concatenating together strings into a path.
10700 2001-11-14 Peter S Galbraith <psg@debian.org>
10702 * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
10703 menu only when mh-narrowed-to-seq is t.
10705 2001-11-14 Peter S Galbraith <psg@debian.org>
10707 * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
10708 of more complicated and error-prone call-process to which command.
10709 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
10712 2001-11-14 Jeffrey C Honig <jch@honig.net>
10714 * mh-e.el (mh-make-folder-mode-line): Bug fix. Properly deal with
10715 folders that do not have any lines in them. Print "no msgs"
10716 instead of "0 msgs". Do not try to print a range when there are
10718 * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the
10719 "scan: band message list" message.
10721 2001-11-13 Jeffrey C Honig <jch@honig.net>
10723 * mh-utils.el (mh-find-progs): Bug fix. Add "mh/etc" to the
10724 subdirectories to search for "components". On BSD/OS, nmh is in
10725 "/usr/contrib/mh/*".
10727 2001-11-13 Peter S Galbraith <psg@debian.org>
10729 * mh-comp.el (mh-letter-mode): Bug fix. Load mh-mime before
10730 setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
10731 message containing a MIME composition) such that the variable is
10732 properly declared as buffer-local.
10734 2001-11-12 Bill Wohler <wohler@newt.com>
10736 * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
10737 directory, not mh-lib (closes SF #481128).
10739 2001-11-12 Peter S Galbraith <psg@debian.org>
10741 * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
10742 In a sequence with pending deletes and refiles, running mh-widen
10743 would wipe out their notations, even though the sequences are still
10744 defined. Fixed by calling a new function,
10745 mh-notate-deleted-and-refiled. Also changed the coping of
10746 mh-goto-msg-num since it didn't work consistently.
10747 * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
10748 to fix above mh-widen bug. It's a first cut, we may want to clear
10749 all notations first, and notate the current-message sequence and
10750 user sequences. Time will tell.
10752 2001-11-12 Peter S Galbraith <psg@debian.org>
10754 * mh-seq.el (mh-widen): Make it attempt to stay on the same
10755 message number (closes SF bug #480922).
10757 2001-11-11 Bill Wohler <wohler@newt.com>
10759 * import-emacs: New shell script to import Emacs changes to mh-e.
10761 * Makefile (import): New target to import Emacs changes.
10763 2001-11-09 Peter S Galbraith <psg@debian.org>
10765 * mh-mime.el (mh-file-mime-type): Bug fix. Change regexp to
10766 extract mime type from 'file -i' command output.
10768 2001-11-08 Peter S Galbraith <psg@debian.org>
10770 * mh-utils.el (mh-update-sequences-after-mh-show):
10771 New customizable variable telling whether to run
10772 mh-update-sequences in mh-show-mode. Default is t.
10773 * mh-utils.el (mh-show-msg): Run mh-update-sequences when
10774 mh-update-sequences-after-mh-show is set.
10776 2001-11-08 Peter S Galbraith <psg@debian.org>
10778 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
10779 New variable telling whether command 'mimedecode' is on system.
10780 (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
10781 * mh-utils.el (mh-decode-quoted-printable):
10782 New customizable variable telling whether to run mimedecode on
10783 MIME message containing quoted-printable parts. mimedecode will
10784 only alter quoted-printable parts , leaving others intact, and the
10785 resulting message is still fully MIME.
10786 * mh-utils.el (mh-decode-quoted-printable): New function to run
10787 mimedecode on the current buffer.
10788 * mh-utils.el (mh-display-msg): Conditionnaly call
10789 mh-decode-quoted-printable function if mh-decode-quoted-printable
10790 variable is set, to view messages containing quoted-printable
10791 characters into 8-bit.
10793 2001-11-08 Peter S Galbraith <psg@debian.org>
10795 * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
10796 looking at a "forw: -mime" message containing a MIME composition.
10797 * mh-mime.el (mh-file-mime-type): Bug fix. Failed on files like
10798 "~/.mh_profile" because of shell construct. Wrapped filename with
10800 * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
10801 mh-letter-mode-map for mh-open-line.
10803 2001-11-07 Peter S Galbraith <psg@debian.org>
10805 * mh-comp.el (mh-open-line): New user function to split open a line
10806 when editing a reply with included text.
10807 * mh-comp.el (mh-current-fill-prefix): New function used by
10808 mh-open-line to get the fill-prefix on the current line.
10809 * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
10811 2001-11-06 Peter S Galbraith <psg@debian.org>
10813 * mh-seq.el (mh-region-to-sequence): New function, creating a
10814 sequence named 'region containing the message list in the selected
10816 * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
10817 mark is active and in transient-mark-mode.
10818 * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
10819 mark is active and in transient-mark-mode.
10820 * mh-e.el (mh-undo): Undo message marks for refile or deletion if
10821 region if mark is active and in transient-mark-mode.
10823 2001-11-06 Peter S Galbraith <psg@debian.org>
10825 * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
10826 Copy its settings for paragraph-start, paragraph-separate,
10827 fill-paragraph-function, adaptive-fill-regexp and
10828 adaptive-fill-first-line-regexp. This make M-q (fill-paragraph)
10831 2001-11-05 Peter S Galbraith <psg@debian.org>
10833 * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
10834 and always prompt the user for such a drastic step. Also change
10835 the prompt a bit to clarify it.
10837 2001-11-04 Peter S Galbraith <psg@debian.org>
10839 * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
10840 to tell when a MIME insertion was done in a letter.
10841 * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
10842 * mh-mime.el (mh-mhn-compose-external-type):
10843 Set mh-mhn-compose-insert-p.
10844 * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
10845 * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
10846 * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
10847 mh-mhn-compose-insert-p is set.
10849 2001-11-03 Peter S Galbraith <psg@debian.org>
10851 * mh-mime.el (mh-have-file-command): new function testing whether
10852 file command is on the system.
10853 * mh-mime.el (mh-file-mime-type): new function returning MIME type
10855 * mh-mime.el (mh-mhn-compose-insertion): Make use of
10856 mh-file-mime-type function instead of prompting.
10858 2001-10-30 Peter S Galbraith <psg@debian.org>
10860 * mh-utils.el (mh-show-use-goto-addr): defcustom this new
10861 variable, determining whether to call goto-addr in mh-show-mode.
10862 * mh-utils.el (mh-show-mode): Call goto-address when
10863 mh-show-use-goto-addr is t.
10865 2001-10-25 Peter S Galbraith <psg@debian.org>
10867 * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
10868 (list 4) to match elisp doc on what C-u prefix argument actually is.
10870 2001-10-23 Peter S Galbraith <psg@debian.org>
10872 * mh-utils.el (mh-summary-height): In my quest to make mh-e more
10873 useful out-of-the-box for new users, set mh-summary-height to a
10874 minimum of 4 and a maximum of 10 depending on frame height. I
10875 typically have 70 lines in my Emacs frame, so having a default of
10876 4 was silly for my case.
10877 * mh-e.el (mh-update-sequences): Check for nil value of
10878 mh-current-folder, which happens if mh-summary-height < 4
10879 although I haven't tracked doen why that happens.
10881 2001-10-22 Peter S Galbraith <psg@debian.org>
10883 * mh-comp.el (mh-insert-fields): Test for nil value when inserting
10886 2001-10-20 Peter S Galbraith <psg@debian.org>
10888 * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
10889 * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
10890 * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
10891 * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
10892 * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
10894 2001-10-19 Peter S Galbraith <psg@debian.org>
10896 * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
10897 * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
10898 is in use rather than MH) was set assuming that the string "nmh"
10899 will be in mh-lib-progs or mh-lib. This failed on Debian systems.
10900 Better to check for the existence of mhbuild in directory mh-progs.
10901 (closes SF bug #441776)
10903 2001-10-18 Peter S Galbraith <psg@debian.org>
10905 * mh-e.el: Add menubar entry from contrib/mh-menubar.el
10906 * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
10907 * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
10909 2001-07-30 Peter S Galbraith <psg@debian.org>
10911 * mh-e.el: Change font-lock patterns for folders.
10912 Fontify scan.font-lock patterns (which will be documented)
10913 and fontify subject lines prefixed with "Re:" differently.
10914 * mh-comp.el (mh-letter-mode): Add font-lock support as in
10917 2001-04-14 chad brown <y@mit.edu>
10919 * rearrange the font-lock keywords a bit
10921 2001-04-12 chad brown <y@mit.edu>
10923 * preliminary (somewhat boring) font-lock support for mh-e. More
10924 interesting font-lock support probably wants to have better
10925 support for multiple format files
10927 2001-02-24 chad brown <y@mit.edu>
10929 * add default nmh paths to mh-find-prog in mh-utils.el.
10930 change to mh-kill-folder in mh-funcs.el to make it more general.
10932 2001-02-19 Bill Wohler <wohler@newt.com>
10934 * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
10935 EMACS_HOME already exists to give developer a chance to set
10936 environment variable.
10937 (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
10939 (dist): Leave release in current directory.
10942 Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
10944 Copying and distribution of this file, with or without modification,
10945 are permitted in any medium without royalty provided the copyright
10946 notice and this notice are preserved.
10948 ;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51