Commits

Anonymous committed d6f8fe3 Merge

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-11

Merge from emacs--devo--0

Patches applied:

* emacs--devo--0 (patch 34-42)

- Update from CVS
- Merge from gnus--rel--5.10

* gnus--rel--5.10 (patch 14-17)

- Update from CVS
- Merge from emacs--devo--0

  • Participants
  • Parent commits 6a1672f, 5ea0e0a

Comments (0)

Files changed (75)

 (If you want to install the Emacs binary, type "make install" instead
 of "make" in the last command.)
 
-Occasionally the files "lisp/loaddefs.el" or lisp/mh-e/mh-loaddefs.el
-will need be updated to reflect new autoloaded functions.  If you see
-errors about undefined lisp functions during compilation, that may be
-the reason.  Another symptom may be an error saying that "loaddefs.el"
-could not be found; this is due to a change in the way loaddefs.el was
-handled in CVS, and should only happen once, for users that are
-updating old CVS trees.
+Occasionally the file "lisp/loaddefs.el" will need be updated to
+reflect new autoloaded functions.  If you see errors about undefined
+lisp functions during compilation, that may be the reason.  Another
+symptom may be an error saying that "loaddefs.el" could not be found;
+this is due to a change in the way loaddefs.el was handled in CVS, and
+should only happen once, for users that are updating old CVS trees.
 
-To update loaddefs.el and mh-loaddefs.el, do:
+To update loaddefs.el, do:
 
   $ cd lisp
-  $ make autoloads mh-autoloads EMACS=../src/emacs
+  $ make autoloads EMACS=../src/emacs
 
 If either of the above partial procedures fails, try "make bootstrap".
 

File etc/ChangeLog

+2006-02-03  Bill Wohler  <wohler@newt.com>
+
+	Release MH-E version 7.91.
+
+	* NEWS, MH-E-NEWS: Update for MH-E release 7.91.
+
+2006-02-02  Bill Wohler  <wohler@newt.com>
+
+	Release MH-E version 7.90.
+
+	* NEWS, MH-E-NEWS: Update for MH-E release 7.90.
+
 2006-01-29  Michael Olson  <mwolson@gnu.org>
 
 	* NEWS: Add entry for ERC.

File etc/MH-E-NEWS

 * COPYRIGHT
 
-Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 	
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
 notice and this notice are preserved.
 
+* Changes in MH-E 7.91
+
+Version 7.91 is the second 8.0 beta release and fixes several bugs
+that were uncovered in wider testing.
+
+* Changes in MH-E 7.90
+
+Version 7.90 is the first 8.0 beta release and is a release that has
+finally broken away from some unfortunate legacy decisions in favor of
+something that will be easier to use and support. Many bugs were fixed
+and many features were added, including making the pick search
+equivalent to the other types of searches.
+
+The rewrite of the manual accelerated dramatically in recent months
+and drove the changes in this release. In order to make the
+manual--and hence the software--better, clearer, more consistent, more
+predictable, and easier to understand, many variables and functions
+were renamed. The changes to the user-visible variables are listed
+here. It is our hope that you, dear MH-E user, will embrace the
+changes for the better and forgive us from making so many incompatible
+changes.
+
+If you use undocumented functionality, be sure to read the ChangeLog
+for changes that might affect you.
+
+** New Features in MH-E 7.90
+
+*** Entry Points Have Moved
+
+Emacs 21 users must now add `(require 'mh-autoloads)' because the
+entry points (such as `mh-rmail' and `mh-smail') have moved to
+different files which have made the autoloads that come with Emacs
+inaccurate. This change was necessary because the code was reorganized
+to remove circular dependencies, to make the code more stable and
+maintainable, and to reduce the time to load MH-E.
+
+*** MH-E No Longer Calls install-mh
+
+The new variant detection code makes use of `mhparam' which assumes
+that your MH environment has already been set up. The code to call
+`install-mh', which could no longer be run anyway, was removed.
+
+*** Use run-hook-with-args
+
+We use normal hooks whenever possible and do not use
+`run-hook-with-args' (with one documented exception) (closes SF
+#643702).
+
+*** Merge mh-index.el and mh-pick.el
+
+We merged `mh-index.el' and `mh-pick.el' into a new file
+`mh-search.el'. As part of this process, the old `F s' behavior of
+adding messages to the search sequence has been removed. The `F i'
+keybinding was then renamed to `F s' (`mh-search'). The mode of the
+search-pattern buffer was renamed from MH-Pick to MH-Search. Within
+the MH-Search buffer, the command `C-c C-p' (`mh-pick-do-search') now
+runs pick on the given folder recursively and displays the results in
+a search folder like the other search methods (closes SF #829207).
+
+*** Improve Security of mh-fetch-x-image-url
+
+The default has been changed to "Never Fetch." Those of you who like
+the value of "Ask Before Fetching" will have to customize this option
+(closes SF #831278).
+
+*** Remove Emacs 20 Support
+
+As it turns out, we had already added some code that didn't work on
+Emacs 20. However, now we've formalized it and removed code that was
+present solely for Emacs 20 support (closes SF #1359240).
+
+*** Derive mh-letter-mode from mail-mode
+
+MH-Letter mode is now derived from `mail-mode'. We were able to delete
+a lot of code. In return, there are a few `mail-mode' commands that
+are available that may or may not be useful and the `mail-mode-hook'
+is run (closes SF #1385571).
+
+*** Add Choices to mh-to-field-choices
+
+In MH-Letter mode, you can use the "C-c C-f (mh-to-field)" prefix to
+go to and insert fields. The fields "Reply-To:", "Mail-Reply-To:",
+"Mail-Followup-To:" can now be created via the "C-r", "C-a" (for
+author), and "C-l" keys respectively. The key for the "From:" field
+has been renamed from "C-r" to "C-m" for consistency with `mail-mode'
+(closes SF #1400139).
+
+*** MH-Folder Keymap Changes
+
+The function `mh-ps-print-toggle-mime' was never implemented and the
+functionality in `mh-ps-print-msg-show' was better afforded by
+`mh-ps-print-msg' and `mh-ps-print-msg-file'.
+
+Key          7.4.85                        7.4.90
+
+F i          mh-index-search               -
+F s          mh-search-folder              mh-search
+P A          mh-ps-print-toggle-mime       -
+P M          mh-ps-print-toggle-mime       -
+P s          mh-ps-print-msg-show          -
+
+*** MH-Letter Keymap Changes
+
+The change where `mh-letter-mode' derives from `mail-mode' adds a few
+keybindings. Some are interesting; experiment! Most of the changes
+have to do with the renaming of the functions with "mhn" in them to
+"mh" because nmh doesn't use `mhn'. The names were also made
+consistent with the the family of "mml" functions.
+
+Key          7.4.85                        7.4.90
+
+C-c C-e      mh-edit-mhn                   mh-mh-to-mime
+C-c C-f C-a  -                             mh-to-field
+C-c C-f C-l  -                             mh-to-field
+C-c C-f RET  -                             mh-to-field
+C-c C-f a    -                             mh-to-field
+C-c C-f l    -                             mh-to-field
+C-c C-f m    -                             mh-to-field
+C-c RET C-g  mh-mhn-compose-anon-ftp       mh-mh-compose-anon-ftp
+C-c RET C-t  mh-mhn-compose-external-compressed-tar
+                                           mh-mh-compose-external-compressed-tar
+C-c RET C-u  mh-revert-mhn-edit            mh-mh-to-mime-undo
+C-c RET C-x  mh-mhn-compose-external-type  mh-mh-compose-external-type
+C-c RET g    mh-mhn-compose-anon-ftp       mh-mh-compose-anon-ftp
+C-c RET t    mh-mhn-compose-external-compressed-tar
+                                           mh-mh-compose-external-compressed-tar
+C-c RET u    mh-revert-mhn-edit            mh-mh-to-mime-undo
+C-c RET x    mh-mhn-compose-external-type  mh-mh-compose-external-type
+
+*** MH-Search Keymap Changes
+
+These are the changes associated with the new search mode. The command
+`C-c C-c' (`mh-index-do-search') now performs the standard indexed
+search, while `C-c C-p' (`mh-pick-do-search') runs pick as before,
+only better!
+
+Key          7.4.85                        7.4.90
+
+C-c C-c      mh-do-search                  mh-index-do-search
+C-c TAB      mh-index-do-search            -
+
+** New Variables in MH-E 7.90
+
+*** mh-after-commands-processed-hook
+
+Hook run by `x' (`mh-execute-commands') after performing outstanding
+refile and delete requests.
+
+*** mh-before-commands-processed-hook
+
+Renamed from `mh-folder-updated-hook'. It wasn't clear whether
+`mh-folder-updated-hook' was run before or after the commands were
+executed. We now provide both with clear names.
+
+*** mh-highlight-citation-style
+
+Renamed from `mh-highlight-citation-p' since it wasn't a boolean. The
+new name is also more descriptive.
+
+*** mh-insert-signature-hook
+
+Renamed from `mh-letter-insert-signature-hook' since most of the other
+hooks do not carry the mode in the prefix and because the new name is
+equally clear.
+
+*** mh-kill-folder-suppress-prompt-hooks
+
+Renamed from `mh-kill-folder-suppress-prompt-hook'. By convention,
+abnormal hooks, which this is, either have a -function or -hooks
+suffix.
+
+*** mh-mhl-format-file
+
+Renamed from `mhl-formfile' to put it in the MH-E namespace and to be
+consistent with other similar options.
+
+*** mh-mh-to-mime-hook
+
+Renamed from `mh-edit-mhn-hook'. We have a family of `mh-mml-to-mime'
+functions and variables; the older mhn functions and variables were
+renamed to have a consistent `mh-mh-to-mime' prefix.
+
+*** mh-new-messages-folders
+
+Renamed from `mh-index-new-messages-folders' for clarity.
+
+*** mh-path
+
+Additional list of directories to search for MH.
+
+*** mh-redist-full-contents-flag
+
+On means the `dist' command needs entire letter for redistribution.
+This was previously a variable. It's now an option.
+
+*** mh-search-mode-hook
+
+Renamed from `mh-pick-mode-hook' as part of the
+`mh-index.el'/`mh-pick.el' merge into `mh-search.el'.
+
+*** mh-search-program
+
+Renamed from `mh-index-program' as part of the
+`mh-index.el'/`mh-pick.el' merge into `mh-search.el'.
+
+*** mh-sortm-args
+
+Additional arguments for `sortm'. This was previously an internal
+variable. It's now an user-customizable option.
+
+*** mh-speed-update-interval
+
+Renamed from `mh-speed-flists-interval' for clarity.
+
+*** mh-ticked-messages-folders
+
+Renamed from `mh-index-ticked-messages-folders' for clarity.
+
+*** mh-xemacs-tool-bar-position
+
+Renamed from `mh-xemacs-toolbar-position' per GNU Emacs naming conventions.
+
+*** mh-xemacs-use-tool-bar-flag
+
+Renamed from `mh-xemacs-use-toolbar-flag' per GNU Emacs naming conventions.
+
+*** mh-yank-behavior
+
+Renamed from `mh-yank-from-start-of-msg' for clarity.
+
+** Variables Deleted in MH-E 7.90
+
+*** mail-citation-hook
+
+This is already defined in `sendmail.el'.
+
+*** mh-edit-mhn-hook
+
+Renamed to `mh-mh-to-mime-hook'.
+
+*** mh-folder-updated-hook
+
+Renamed to `mh-before-commands-processed-hook'.
+
+*** mh-highlight-citation-p
+
+Renamed to `mh-highlight-citation-style'.
+
+*** mh-index-new-messages-folders
+
+Renamed to `mh-new-messages-folders'.
+
+*** mh-index-program
+
+Renamed to `mh-search-program'.
+
+*** mh-index-ticked-messages-folders
+
+Renamed to `mh-ticked-messages-folders'.
+
+*** mh-kill-folder-suppress-prompt-hook
+
+Renamed to `mh-kill-folder-suppress-prompt-hooks'.
+
+*** mh-letter-insert-signature-hook
+
+Renamed to `mh-insert-signature-hook'.
+
+*** mhl-formfile
+
+Renamed to `mh-mhl-format-file'.
+
+*** mh-pick-mode-hook
+
+Renamed to `mh-search-mode-hook'.
+
+*** mh-speed-flists-interval
+
+Renamed to `mh-speed-update-interval'.
+
+*** mh-speed-run-flists-flag
+
+Deleted since setting `mh-speed-flists-interval' to 0 accomplishes the
+same thing.
+
+*** mh-xemacs-toolbar-position
+
+Renamed to `mh-xemacs-tool-bar-position'.
+
+*** mh-xemacs-use-toolbar-flag
+
+Renamed to `mh-xemacs-use-tool-bar-flag'.
+
+*** mh-yank-from-start-of-msg
+
+Renamed to `mh-yank-behavior'.
+
+** Bug Fixes in MH-E 7.90
+
+*** Error Message When Trying to Send Using MH-E
+
+This behavior is no longer observed (closes SF #1002103).
+
+*** "Args out of range" Error in Displaying Message
+
+This behavior is no longer observed (closes SF #1227504).
+
+*** Front-and-back Truncation in mailto: Rendering
+
+This behavior is no longer observed (closes SF #1227510).
+
+*** Completions Offered by mh-refile-message Are Not Sorted
+
+This behavior is no longer observed (closes SF #698734).
+
+*** Add Message-ID to Outgoing Messages
+
+If you replied to a message in your `+outbox', an `In-Reply-To:'
+header field was created that broke threading at the recipient's end.
+We now add a `Message-ID:' to outgoing messages which fixes this
+(closes SF #725425).
+
+*** Speedbar Creating New Folders Instead of Visiting Existing 
+
+This was actually fixed in 7.4.3 (closes SF #792300).
+
+*** Args Out of Range
+
+This compilation error was actually fixed in 7.4.3 (closes SF
+#806577).
+
+*** Initialization Fails If ~/Mail Exists
+
+MH-E no longer calls `install-mh' so this issue has gone away (closes
+SF #835192).
+
+*** RETURN Causes Infinite Loop in mh-letter
+
+This behavior is no longer observed (closes SF #887346).
+
+*** Missing Headers When Replying to All
+
+User needed to edit `replgroupcomps' (closes SF #918194).
+
+*** mh-find-path Doesn't Use mhparam
+
+MH-E no longer peeks into the MH profile `~/.mh_profile' directly. It
+uses `mhparam' instead (closes SF #1016027).
+
+*** mh-index-previous-folder Does Not Work Correctly
+
+If your cursor was on an item below a folder heading and you used
+`M-TAB' (`mh-index-previous-folder'), you would move to the previous
+folder heading. This has been fixed (closes SF #1126188).
+
+*** XEmacs Compile Fails
+
+Compiling produced a "Symbol's value as variable is void: require"
+error on all files. This has been fixed. As a bonus, warnings have
+been reduced from hundreds to just a few (closes SF #1127595).
+
+*** buffer-offer-save Permanent Local
+
+There was a movement to make `buffer-offer-save' a permanent local
+which would have meant that we could not set it in `mh-letter-mode'.
+However, this movement was fraught with issues and was postponed
+(closes SF #1184756).
+
+*** Better Handling of Empty cur Sequence
+
+If you refiled a message into a folder and then used `F r'
+(`mh-rescan-folder') in that folder, your cursor would be taken to the
+first message. The cursor now stays where it was (closes SF #1207247).
+
+*** Name of the Draft File in mh-comp.el
+
+MH is documented to use the draft file. If you use a draft file for
+something else (like Sylpheed), then use draft folders (closes SF
+#1231483).
+
+*** Use Standard Default Notation in Prompts
+
+Emacs changed their defaults in prompts from "Prompt: [value]" to
+"Prompt (default value): ". All MH-E prompts have been updated to
+comply with the new standard (closes SF #1275933).
+
+*** Msg Display Broken After Displaying Msg with Inline Image
+
+Messages with inline images no longer trim certain message header
+fields (closes SF #1306141).
+
+*** mh-visit-folder Munges font-lock-keywords
+
+MH-E broke highlighting in Gnus buffers. This was actually a problem
+in CVS Emacs 22 and has been fixed there (closes SF #1393879).
+
+*** Illegal Filename Chars for W32 Filesystems
+
+Windows users who view `X-Image-URL:' images could not cache the
+images since the cached image file names had illegal characters. This
+has been fixed (closes SF #1396499).
+
+*** mh-send Doesn't Handle mml Insertions Via mail-user-agent
+
+Can now forward messages in Gnus if MH-E is your `mail-user-agent'
+(closes SF #1399307).
+
+
+
 * Changes in MH-E 7.85
 
 Version 7.85 heralds a migration of the CVS repository from
 rewritten and it is very likely that you no longer to set them and
 their setting may confuse other MH-E settings.
 
-** Variables Deleted in MH-E
+** Variables Deleted in MH-E 7.4.80
 
 Variables that have been removed from MH-E that have not been
 discussed elsewhere are listed here.
 GNU Emacs NEWS -- history of user-visible changes.  2003-05-21
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
           Free Software Foundation, Inc.
 See the end for copying conditions.
 
 ---
 ** MH-E changes.
 
-Upgraded to MH-E version 7.85. There have been major changes since
+Upgraded to MH-E version 7.91. There have been major changes since
 version 5.0.2; see MH-E-NEWS for details.
 
 ** Calendar changes:
 
 * Other features we would like:
 
+** Create a category of errors called `user-error' for errors which are
+typically due to pilot errors and should thus be in debug-ignored-errors.
+
+** Give Tar mode all the features of Archive mode.
+
 ** Create a category of errors called `process-error'
   for some or all errors associated with using subprocesses.
 
   "japanese".  Currently, most Japanese users are using external
   packages (e.g. tamago, anthy) or an input method via XIM.
 
+** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\
+but which can also be used as a modifier).
+
 ** Provide the toolbar on ttys. This could map a bit like tmm-menubar
    for the menubar and buttons could look a bit like those used by customize.
 

File lisp/.arch-inventory

 # Auto-generated lisp files, which ignore
 precious ^(loaddefs|finder-inf|cus-load)\.el$
 
-# Something generated during a windows build?!?
-precious ^(Makefile\.unix)$
-
 # arch-tag: fc62dc9f-3a91-455b-b8e7-d49df66beee0

File lisp/ChangeLog

+2006-02-03  Werner Lemberg  <wl@gnu.org>
+
+	* textmodes/nroff-mode.el (nroff-font-lock-keywords): Don't be
+	greedy to find the closing bracket in \*[...] and similar
+	expressions.  This is a first rough fix -- many additional
+	refinements are necessary to make nroff mode really usable with
+	groff.
+
+2006-02-03  Jens Petersen  <petersen@redhat.com>  (tiny change)
+
+	* international/mule-cmds.el (set-locale-environment): Add
+	"/usr/share/X11/locale/locale.alias" to search list for xorg-x11
+	libX11.
+
+2006-02-03  Joe Wells  <jbw@macs.hw.ac.uk>  (tiny change)
+
+	* arc-mode.el (archive-maybe-copy): Fix the way directories in the
+	archive are created in archive-tmpdir.
+
+2006-02-02  John Paul Wallington  <jpw@pobox.com>
+
+	* ibuffer.el (ibuffer-compressed-file-name-regexp): New defcustom.
+	(ibuffer-fontification-alist): Use it.
+	(ibuffer-mode-map): Bind `ibuffer-mark-compressed-file-buffers'
+	to "* z" and the Ibuffer Mark menu.
+
+	* ibuf-ext.el (ibuffer-mark-compressed-file-buffers): New command.
+
+2006-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* textmodes/table.el (*table--cell-describe-mode)
+	(*table--cell-describe-bindings): Undo last change since
+	print-help-return-message is not obsoleted by anything at all.
+
+2006-02-02  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* emulation/cua-base.el (cua-mode): Doc fix.
+
+2006-02-02  Juanma Barranquero  <lekktu@gmail.com>
+
+	* dframe.el (dframe-handle-make-frame-visible)
+	(dframe-handle-iconify-frame, dframe-get-focus)
+	(dframe-select-attached-frame, dframe-power-click)
+	(dframe-frame-mode): Fix typos in docstrings.
+
+	* ezimage.el (ezimage-mail, ezimage-object-out-of-date)
+	(ezimage-insert-image-button-maybe, ezimage-insert-over-text):
+	Fix typos in docstrings.
+
+	* hi-lock.el (hi-lock-mode, hi-lock-line-face-buffer)
+	(hi-lock-face-buffer, hi-lock-font-lock-hook)
+	(hi-lock-archaic-interface-message-used)
+	(hi-lock-file-patterns-range): Fix typos in docstrings.
+
+	* savehist.el (savehist-loaded, savehist-load, savehist-install)
+	(savehist-autosave, savehist-trim-history): Fix typos in docstrings.
+
+	* mail/mailclient.el (mailclient-place-body-on-clipboard-flag):
+	Fix typo in docstring.
+
+	* net/newsticker.el (newsticker--decode-iso8601-date)
+	(newsticker--set-customvar, newsticker--buffer-insert-item)
+	(newsticker--do-run-auto-mark-filter)
+	(newsticker--parse-generic-feed): Doc fixes.
+	(newsticker--retrieval-timer-list, newsticker-url-list)
+	(newsticker-hide-immortal-items-in-echo-area)
+	(newsticker-hide-obsolete-items-in-echo-area)
+	(newsticker-new-item-face, newsticker--enclosure)
+	(newsticker-buffer-update, newsticker-w3m-show-inline-images)
+	(newsticker--parse-atom-0.3, newsticker--parse-rss-1.0)
+	(newsticker--parse-generic-feed, newsticker--cache-contains)
+	(newsticker--stat-num-items, newsticker-download-enclosures):
+	Fix typos in docstrings.
+
+	* net/rcirc.el (rcirc-debug): Doc fix.
+	(rcirc-fill-column, rcirc-receive-message-hooks)
+	(rcirc-browse-url-map, rcirc-read-only-flag, rcirc-prompt)
+	(rcirc-mode, rcirc-generate-new-buffer-name)
+	(rcirc-startup-channels, rcirc-ignore-update-automatic)
+	(rcirc-cmd-ignore, rcirc-browse-url, rcirc-url-regexp):
+	Fix typos in docstrings.
+	(rcirc-print): "?\ " -> "?\s".
+	(rcirc-cmd-join): Improve argument/docstring consistency.
+
+2006-02-01  Mark A. Hershberger  <mah@everybody.org>
+
+	* xml.el (xml-parse-region): Move save-excursion and set-buffer up
+	before narrow-to-region.
+
+2006-02-01  Richard M. Stallman  <rms@gnu.org>
+
+	* simple.el (move-beginning-of-line): Scan properly for invis change.
+
+	* replace.el (multi-occur-in-matching-buffers): Fix prev change.
+
+2006-02-01  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-convert-file-attributes): Set file's gid
+	change bit only when id-format is 'integer.  Reported by Matt
+	Hodges <M.P.Hodges@rl.ac.uk>.
+
+2006-02-01  Juanma Barranquero  <lekktu@gmail.com>
+
+	* hilit-chg.el (highlight-changes-initial-state)
+	(highlight-changes-global-initial-state): Doc fixes.
+	(highlight-changes-global-modes, global-highlight-changes):
+	Fix typos in docstrings.
+
+2006-02-01  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/cua-base.el (cua-mode): Mention that CUA enables
+	transient-mark-mode in doc string.
+
 2006-01-31  Richard M. Stallman  <rms@gnu.org>
 
 	* replace.el (multi-occur): Doc fix.
-	(multi-occur-in-matching-buffers): Renamed from
+	(multi-occur-in-matching-buffers): Rename from
 	multi-occur-by-filename-regexp.  Prefix arg says match
 	buffer names instead of file names.
 

File lisp/arc-mode.el

 	      (archive-name
 	       (or (and archive-subfile-mode (aref archive-subfile-mode 0))
 		   archive)))
-	  (make-directory archive-tmpdir t)
-	  ;; If ARCHIVE includes leading directories, make sure they
-	  ;; exist under archive-tmpdir.
-	  (let ((arch-dir (file-name-directory archive)))
-	    (if arch-dir
-		(make-directory (concat
-				 (file-name-as-directory archive-tmpdir)
-				 arch-dir)
-				t)))
 	  (setq archive-local-name
 		(archive-unique-fname archive-name archive-tmpdir))
+	  ;; Maked sure all the leading directories in
+	  ;; archive-local-name exist under archive-tmpdir, so that
+	  ;; the directory structure recorded in the archive is
+	  ;; reconstructed in the temporary directory.
+	  (make-directory (file-name-directory archive-local-name) t)
 	  (save-restriction
 	    (widen)
 	    (write-region start (point-max) archive-local-name nil 'nomessage))

File lisp/dframe.el

 ;;; dframe --- dedicate frame support modes
 
-;;; Copyright (C) 1996, 97, 98, 99, 2000, 01, 02, 03, 04, 05 Free Software Foundation
+;;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;    2005 Free Software Foundation
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: file, tags, tools
 the value.
 CACHE-VAR is a variable used to cache a cached frame.
 BUFFER-VAR is a variable used to cache the buffer being used in dframe.
-This buffer will have `dframe-mode' run on it.
+This buffer will have `dframe-frame-mode' run on it.
 FRAME-NAME is the name of the frame to create.
 LOCAL-MODE-FN is the function used to call this one.
 PARAMETERS are frame parameters to apply to this dframe.
 
 (defun dframe-handle-make-frame-visible (e)
   "Handle a `make-frame-visible' event.
-Should enables auto-updating if the last state was also enabled.
+Should enable auto-updating if the last state was also enabled.
 Argument E is the event making the frame visible."
   (interactive "e")
   (let ((f last-event-frame))
 
 (defun dframe-handle-iconify-frame (e)
   "Handle a `iconify-frame' event.
-Should disables auto-updating if the last state was also enabled.
+Should disable auto-updating if the last state was also enabled.
 Argument E is the event iconifying the frame."
   (interactive "e")
   (let ((f last-event-frame))
 frame is selected.  If the FRAME-VAR is active, then select the
 attached frame.  If FRAME-VAR is nil, ACTIVATOR is called to
 created it.  HOOK is an optional argument of hooks to run when
-selecting FRAME."
+selecting FRAME-VAR."
   (interactive)
   (if (eq (selected-frame) (symbol-value frame-var))
       (if (frame-live-p dframe-attached-frame)
     dframe-attached-frame))
 
 (defun dframe-select-attached-frame (&optional frame)
-  "Switch to the frame the dframe controlled frame FRAME was started from. If
-optional arg FRAME is nil assume the attached frame is already selected and
-just run the hooks `dframe-after-select-attached-frame-hook'. Return the
-attached frame."
+  "Switch to the frame the dframe controlled frame FRAME was started from.
+If optional arg FRAME is nil assume the attached frame is already selected
+and just run the hooks `dframe-after-select-attached-frame-hook'.  Return
+the attached frame."
   (let ((frame (dframe-attached-frame frame)))
     (if frame (select-frame frame))
     (prog1 frame
       (funcall dframe-mouse-position-function)))
 
 (defun dframe-power-click (e)
-  "Activate any `dframe' mouse click as a power click.
+  "Activate any dframe mouse click as a power click.
 A power click will dispose of cached data (if available) or bring a buffer
 up into a different window.
 This should be bound to mouse event E."

File lisp/emacs-lisp/unsafep.el

 ;;      passed a circular list to `assoc', Emacs would crash.  Historically,
 ;;      problems of this kind have been few and short-lived.
 
+;;; Code:
+
 (provide 'unsafep)
 (require 'byte-opt)  ;Set up the `side-effect-free' properties
 
 (defcustom safe-functions nil
-  "t to disable `unsafep', or a list of assumed-safe functions."
+  "A list of assumed-safe functions, or t to disable `unsafep'."
   :group 'lisp
   :type  '(choice (const :tag "No" nil) (const :tag "Yes" t) hook))
 
 
 
 (defun unsafep-function (fun)
-  "Return nil if FUN is a safe function
+  "Return nil iff FUN is a safe function.
 \(either a safe lambda or a symbol that names a safe function).  Otherwise
 result is a reason code."
   (cond
 	(if reason (throw 'unsafep-progn reason))))))
 
 (defun unsafep-let (clause)
-  "CLAUSE is a let-binding, either SYM or (SYM) or (SYM VAL).  Checks VAL
+  "Check the safety of a let binding.
+CLAUSE is a let-binding, either SYM or (SYM) or (SYM VAL).  Checks VAL
 and throws a reason to `unsafep' if unsafe.  Returns SYM."
   (let (reason sym)
     (if (atom clause)
     sym))
 
 (defun unsafep-variable (sym global-okay)
-  "Returns nil if SYM is safe as a let-binding sym
+  "Return nil if SYM is safe as a let-binding sym
 \(because it already has a temporary binding or is a non-risky buffer-local
 variable), otherwise a reason why it is unsafe.  Failing to be locally bound
 is okay if GLOBAL-OKAY is non-nil."
 	     (local-variable-p sym)))
     `(global-variable ,sym))))
 
-;;; arch-tag: 6216f98b-eb8f-467a-9c33-7a7644f50658
-;; unsafep.el ends here.
+;; arch-tag: 6216f98b-eb8f-467a-9c33-7a7644f50658
+;;; unsafep.el ends here

File lisp/emulation/cua-base.el

 
 You can customize `cua-enable-cua-keys' to completely disable the
 CUA bindings, or `cua-prefix-override-inhibit-delay' to change
-the prefix fallback behavior."
+the prefix fallback behavior.
+
+CUA mode manages Transient Mark mode internally.  Trying to disable
+Transient Mark mode while CUA mode is enabled does not work; if you
+only want to highlight the region when it is selected using a
+shifted movement key, set `cua-highlight-region-shift-only'."
   :global t
   :group 'cua
   :set-after '(cua-enable-modeline-indications cua-rectangle-modifier-key)

File lisp/erc/ChangeLog

+2006-02-03  Zhang Wei  <id.brep@gmail.com>  (tiny change)
+
+	* erc.el (erc-version-string): Don't hard-code Emacs version.
+	(erc-version): Use emacs-version.
+
 2006-01-30  Simon Josefsson  <jas@extundo.com>
 
 	* erc.el (erc-open-ssl-stream): Use tls.el.

File lisp/erc/erc.el

 
 ;;; Code:
 
-(defconst erc-version-string "Version 5.1 (Emacs 22)"
+(defconst erc-version-string "Version 5.1"
   "ERC version.  This is used by function `erc-version'.")
 
 (eval-when-compile (require 'cl))
 If optional argument HERE is non-nil, insert version number at point."
   (interactive "P")
   (let ((version-string
-	 (format "ERC %s" erc-version-string)))
+	 (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version)))
     (if here
 	(insert version-string)
       (if (interactive-p)

File lisp/ezimage.el

 
        )
   (if (not (fboundp 'make-glyph))
-      
+
 (defmacro defezimage (variable imagespec docstring)
   "Don't bother loading up an image...
 Argument VARIABLE is the variable to define.
 
 (defezimage ezimage-mail
   ((:type xpm :file "ezimage/mail.xpm" :ascent center))
-  "Image if an envelope.")
+  "Image of an envelope.")
 
 (defezimage ezimage-checkout
   ((:type xpm :file "ezimage/checkmark.xpm" :ascent center))
 
 (defezimage ezimage-object-out-of-date
   ((:type xpm :file "ezimage/bitsbang.xpm" :ascent center))
-  "Image representing bits with a ! in it.  (an out of data object file.)")
+  "Image representing bits with a ! in it.  (An out of data object file.)")
 
 (defezimage ezimage-label
   ((:type xpm :file "ezimage/label.xpm" :ascent center))
   "Insert an image button based on text starting at START for LENGTH chars.
 If buttontext is unknown, just insert that text.
 If we have an image associated with it, use that image.
-Optional argument STRING is a st ring upon which to add text properties."
+Optional argument STRING is a string upon which to add text properties."
   (when ezimage-use-images
     (let* ((bt (buffer-substring start (+ length start)))
 	   (a (assoc bt ezimage-expand-image-button-alist)))
 
 (defun ezimage-insert-over-text (image start end &optional string)
   "Place IMAGE over the text between START and END.
-Assumes the image is part of a gui and can be clicked on.
+Assumes the image is part of a GUI and can be clicked on.
 Optional argument STRING is a string upon which to add text properties."
   (when ezimage-use-images
     (if (featurep 'xemacs)

File lisp/gnus/ChangeLog

+2006-02-03  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus-util.el (gnus-error): Describe `args'.
+
+2006-02-03  Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de>
+
+	* nnweb.el (nnweb-request-group): Avoid growing overview files.
+
+2006-02-03  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* rfc2231.el (rfc2231-parse-string): Add missing semicolons to
+	segmented lines of parameter value to cope with Thunderbird 1.5
+	bug (cf. https://bugzilla.mozilla.org/show_bug.cgi?id=323318).
+	Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
+	(rfc2231-encode-string): Don't make lines exceeding 76 column.
+
+2006-02-01  Max Froumentin  <max@lapin-bleu.net>  (tiny change)
+
+	* mml.el (mml-generate-mime-1): Correct the order of inline signed
+	parts.
+
 2006-01-31  Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de>
 
 	* nnweb.el (nnweb-group-alist): Use defvar instead of defvoo,

File lisp/gnus/gnus-util.el

     (apply 'format args)))
 
 (defun gnus-error (level &rest args)
-  "Beep an error if LEVEL is equal to or less than `gnus-verbose'."
+  "Beep an error if LEVEL is equal to or less than `gnus-verbose'.
+ARGS are passed to `message'."
   (when (<= (floor level) gnus-verbose)
     (apply 'message args)
     (ding)

File lisp/gnus/mml.el

 ;;; mml.el --- A package for parsing and validating MML documents
 
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
 		  ;; Skip `multipart' and attributes.
 		  (when (and (consp part) (consp (cdr part)))
 		    (insert "\n--" mml-boundary "\n")
-		    (mml-generate-mime-1 part))))
+		    (mml-generate-mime-1 part)
+		    (goto-char (point-max)))))
 	      (insert "\n--" mml-boundary "--\n")))))
        (t
 	(error "Invalid element: %S" cont)))

File lisp/gnus/nnweb.el

 (deffoo nnweb-request-group (group &optional server dont-check)
   (nnweb-possibly-change-server group server)
   (unless (or nnweb-ephemeral-p
-	      dont-check)
+	      dont-check
+	      nnweb-articles)
     (nnweb-read-overview group))
   (cond
    ((not nnweb-articles)

File lisp/gnus/rfc2231.el

 ;;; rfc2231.el --- Functions for decoding rfc2231 headers
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005,
+;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
 	  display-name mailbox c display-string parameters
 	  attribute value type subtype number encoded
 	  prev-attribute prev-encoded)
+      ;; Some mailer (e.g. Thunderbird 1.5) doesn't terminate each
+      ;; line with semicolon when folding a long parameter value.
+      (while (string-match "\\([^\t\n\r ;]\\)[\t ]*\r?\n[\t ]+" string)
+	(setq string (replace-match "\\1;\n " nil nil string)))
       (ietf-drums-init (mail-header-remove-whitespace
 			(mail-header-remove-comments string)))
       (let ((table (copy-syntax-table ietf-drums-syntax-table)))
 	(special (ietf-drums-token-to-list "*'%\n\t"))
 	(ascii (ietf-drums-token-to-list ietf-drums-text-token))
 	(num -1)
+	(limit (- 74 (length param)))
 	spacep encodep charsetp charset broken)
     (with-temp-buffer
       (insert value)
       (when charsetp
 	(setq charset (mm-encode-body)))
       (cond
-       ((or encodep charsetp)
+       ((or encodep charsetp
+	    (progn
+	      (end-of-line)
+	      (> (current-column) (if spacep (- limit 2) limit))))
+	(setq limit (- limit 6))
 	(goto-char (point-min))
+	(insert (symbol-name (or charset 'us-ascii)) "''")
 	(while (not (eobp))
-	  (when (> (current-column) 60)
-	    (insert ";\n")
-	    (setq broken t))
 	  (if (or (not (memq (following-char) ascii))
 		  (memq (following-char) control)
 		  (memq (following-char) tspecial)
 		  (memq (following-char) special)
 		  (eq (following-char) ? ))
 	      (progn
+		(when (>= (current-column) (1- limit))
+		  (insert ";\n")
+		  (setq broken t))
 		(insert "%" (format "%02x" (following-char)))
 		(delete-char 1))
+	    (when (> (current-column) limit)
+	      (insert ";\n")
+	      (setq broken t))
 	    (forward-char 1)))
 	(goto-char (point-min))
-	(insert (symbol-name (or charset 'us-ascii)) "''")
-	(goto-char (point-min))
 	(if (not broken)
 	    (insert param "*=")
 	  (while (not (eobp))
 	    (forward-line 1))))
        (spacep
 	(goto-char (point-min))
-	(insert param "=\"")
+	(insert "\n " param "=\"")
 	(goto-char (point-max))
 	(insert "\""))
        (t
 	(goto-char (point-min))
-	(insert param "=")))
+	(insert "\n " param "=")))
       (buffer-string))))
 
 (provide 'rfc2231)

File lisp/hi-lock.el

 
 (defcustom hi-lock-file-patterns-range 10000
   "Limit of search in a buffer for hi-lock patterns.
-When a file is visited and hi-lock mode is on patterns starting
+When a file is visited and hi-lock mode is on, patterns starting
 up to this limit are added to font-lock's patterns.  See documentation
 of functions `hi-lock-mode' and `hi-lock-find-patterns'."
   :type 'integer
 
 (defvar hi-lock-archaic-interface-message-used nil
   "True if user alerted that `global-hi-lock-mode' is now the global switch.
-Earlier versions of hi-lock used `hi-lock-mode' as the global switch,
+Earlier versions of hi-lock used `hi-lock-mode' as the global switch;
 the message is issued if it appears that `hi-lock-mode' is used assuming
 that older functionality.  This variable avoids multiple reminders.")
 
   Remove highlighting on matches of REGEXP in current buffer.
 
 \\[hi-lock-write-interactive-patterns]
-  Write active REGEXPs into buffer as comments (if possible). They will
+  Write active REGEXPs into buffer as comments (if possible).  They will
   be read the next time file is loaded or when the \\[hi-lock-find-patterns] command
   is issued.  The inserted regexps are in the form of font lock keywords.
-  (See `font-lock-keywords') They may be edited and re-loaded with \\[hi-lock-find-patterns],
+  (See `font-lock-keywords'.)  They may be edited and re-loaded with \\[hi-lock-find-patterns],
   any valid `font-lock-keywords' form is acceptable.
 
 \\[hi-lock-find-patterns]
 When hi-lock is started and if the mode is not excluded, the
 beginning of the buffer is searched for lines of the form:
   Hi-lock: FOO
-where FOO is a list of patterns. These are added to the font lock keywords
-already present.  The patterns must start before position (number
-of characters into buffer) `hi-lock-file-patterns-range'.  Patterns
-will be read until
+where FOO is a list of patterns.  These are added to the font lock
+keywords already present.  The patterns must start before position
+\(number of characters into buffer) `hi-lock-file-patterns-range'.
+Patterns will be read until
  Hi-lock: end
-is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'."
+is found.  A mode is excluded if it's in the list `hi-lock-exclude-modes'."
   :group 'hi-lock
   :lighter (:eval (if (or hi-lock-interactive-patterns
 			  hi-lock-file-patterns)
 Interactively, prompt for REGEXP then FACE.  Buffer-local history
 list maintained for regexps, global history maintained for faces.
 \\<minibuffer-local-map>Use \\[next-history-element] and \\[previous-history-element] to retrieve next or previous history item.
-\(See info node `Minibuffer History')"
+\(See info node `Minibuffer History'.)"
   (interactive
    (list
     (hi-lock-regexp-okay
 Interactively, prompt for REGEXP then FACE.  Buffer-local history
 list maintained for regexps, global history maintained for faces.
 \\<minibuffer-local-map>Use \\[next-history-element] and \\[previous-history-element] to retrieve next or previous history item.
-\(See info node `Minibuffer History')"
+\(See info node `Minibuffer History'.)"
   (interactive
    (list
     (hi-lock-regexp-okay
         (message "Hi-lock added %d patterns." (length all-patterns))))))
 
 (defun hi-lock-font-lock-hook ()
-  "Add hi lock patterns to font-lock's."
+  "Add hi-lock patterns to font-lock's."
   (if font-lock-mode
       (progn
 	(font-lock-add-keywords nil hi-lock-file-patterns t)

File lisp/hilit-chg.el

 ;; active or passive mode?
 ;;
 (defcustom highlight-changes-initial-state 'active
-  "*What state (active or passive) `highlight-changes' should start in.
-This is used when `highlight-changes' is called with no argument.
+  "*What state (active or passive) Highlight Changes mode should start in.
+This is used when `highlight-changes-mode' is called with no argument.
 This variable must be set to one of the symbols `active' or `passive'."
   :type '(choice (const :tag "Active" active)
 		 (const :tag "Passive" passive))
   :group 'highlight-changes)
 
 (defcustom highlight-changes-global-initial-state 'passive
-  "*What state `global-highlight-changes' should start in.
+  "*What state global Highlight Changes mode should start in.
 This is used if `global-highlight-changes' is called with no argument.
 This variable must be set to either `active' or `passive'."
   :type '(choice (const :tag "Active" active)
 A value of nil means no buffers are suitable for `global-highlight-changes'
 \(effectively disabling the mode).
 
-Examples:
+Example:
         (c-mode c++-mode)
 means that Highlight Changes mode is turned on for buffers in C and C++
 modes only."
 		  (copy-face 'highlight-changes new-name)
 		(copy-face old-name new-name)
 		))
-	    (setq new-list (append  (list new-name) new-list))
+	    (setq new-list (append (list new-name) new-list))
 	    (setq n (1- n))
 	    (setq p (cdr p)))
 	  (if (equal new-list (widget-value w))
 
 ;;; Functions...
 
-(defun hilit-chg-map-changes  (func &optional start-position end-position)
+(defun hilit-chg-map-changes (func &optional start-position end-position)
   "Call function FUNC for each region used by Highlight Changes mode."
   ;; if start-position is nil, (point-min) is used
   ;; if end-position is nil, (point-max) is used
 When called interactively:
 - if no prefix, toggle global Highlight Changes mode on or off
 - if called with a positive prefix (or just C-u) turn it on in active mode
-- if called with a zero prefix  turn it on in passive mode
+- if called with a zero prefix turn it on in passive mode
 - if called with a negative prefix turn it off
 
 When called from a program:

File lisp/ibuf-ext.el

 ;;; ibuf-ext.el --- extensions for ibuffer
 
 ;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
 	 (memq major-mode ibuffer-help-buffer-modes)))))
 
 ;;;###autoload
+(defun ibuffer-mark-compressed-file-buffers ()
+  "Mark buffers whose associated file is compressed."
+  (interactive)
+  (ibuffer-mark-on-buffer
+   #'(lambda (buf)
+       (with-current-buffer buf
+	 (and buffer-file-name
+	      (string-match ibuffer-compressed-file-name-regexp
+			   buffer-file-name))))))
+
+;;;###autoload
 (defun ibuffer-mark-old-buffers ()
   "Mark buffers which have not been viewed in `ibuffer-old-time' days."
   (interactive)

File lisp/ibuffer.el

 ;;; ibuffer.el --- operate on buffers like dired
 
 ;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
 
 (defcustom ibuffer-fontification-alist
   `((10 buffer-read-only font-lock-constant-face)
-    (15 (string-match "^*" (buffer-name)) font-lock-keyword-face)
-    (20 (and (string-match "^ " (buffer-name))
+    (15 (and buffer-file-name
+	     (string-match ibuffer-compressed-file-name-regexp
+			   buffer-file-name))
+	font-lock-doc-face)
+    (20 (string-match "^*" (buffer-name)) font-lock-keyword-face)
+    (25 (and (string-match "^ " (buffer-name))
 	     (null buffer-file-name))
 	italic)
-    (25 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face)
-    (30 (eq major-mode 'dired-mode) font-lock-function-name-face))
+    (30 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face)
+    (35 (eq major-mode 'dired-mode) font-lock-function-name-face))
   "An alist describing how to fontify buffers.
 Each element should be of the form (PRIORITY FORM FACE), where
 PRIORITY is an integer, FORM is an arbitrary form to evaluate in the
   :type '(repeat function)
   :group 'ibuffer)
 
+(defcustom ibuffer-compressed-file-name-regexp
+  (concat "\\.\\("
+	(regexp-opt '("arj" "bgz" "bz2" "gz" "lzh" "taz" "tgz" "zip" "z"))
+	"\\)$")
+  "Regexp to match compressed file names."
+  :type 'regexp
+  :group 'ibuffer)
+
 (defcustom ibuffer-hook nil
   "Hook run when `ibuffer' is called."
   :type 'hook
     (define-key map (kbd "* /") 'ibuffer-mark-dired-buffers)
     (define-key map (kbd "* e") 'ibuffer-mark-dissociated-buffers)
     (define-key map (kbd "* h") 'ibuffer-mark-help-buffers)
+    (define-key map (kbd "* z") 'ibuffer-mark-compressed-file-buffers)
     (define-key map (kbd ".") 'ibuffer-mark-old-buffers)
 
     (define-key map (kbd "d") 'ibuffer-mark-for-delete)
     (define-key-after map [menu-bar mark mark-help-buffers]
       '(menu-item "Mark help buffers" ibuffer-mark-help-buffers
 		  :help "Mark buffers in help-mode"))
+    (define-key-after map [menu-bar mark mark-compressed-file-buffers]
+      '(menu-item "Mark compressed file buffers" ibuffer-mark-compressed-file-buffers
+		  :help "Mark buffers which have a file that is compressed"))
     (define-key-after map [menu-bar mark mark-old-buffers]
       '(menu-item "Mark old buffers" ibuffer-mark-old-buffers
 		  :help "Mark buffers which have not been viewed recently"))

File lisp/international/mule-cmds.el

   ;; to a system without X.
   (setq locale-translation-file-name
 	(let ((files
-	       '("/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4
+	       '("/usr/share/X11/locale/locale.alias" ; e.g. X11R7
+		 "/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4
 		 "/usr/X11R6/lib/X11/locale/locale.alias" ; XFree86, e.g. RedHat 4.2
 		 "/usr/openwin/lib/locale/locale.alias" ; e.g. Solaris 2.6
 		 ;;

File lisp/mail/mailclient.el

 
 ;;; Commentary:
 
-;; This package allows to hand over a buffer to be sent off 
-;; via the system's designated e-mail client. 
+;; This package allows to hand over a buffer to be sent off
+;; via the system's designated e-mail client.
 ;; Note that the e-mail client will display the contents of the buffer
 ;; again for editing.
 ;; The e-mail client is taken to be whoever handles a mailto: URL
-;; via `browse-url'. 
+;; via `browse-url'.
 ;; Mailto: URLs are composed according to RFC2368.
 
 ;; MIME bodies are not supported - we rather expect the mail client
 ;; to encode the body and add, for example, a digital signature.
 ;; The mailto URL RFC calls for "short text messages that are
-;; actually the content of automatic processing." 
+;; actually the content of automatic processing."
 ;; So mailclient.el is ideal for situations where an e-mail is
-;; generated automatically, and the user can edit it in the 
-;; mail client (e.g. bug-reports). 
+;; generated automatically, and the user can edit it in the
+;; mail client (e.g. bug-reports).
 
 ;; To activate:
 ;; (setq send-mail-function 'mailclient-send-it) ; if you use `mail'
 (require 'sendmail)   ;; for mail-sendmail-undelimit-header
 (require 'mail-utils) ;; for mail-fetch-field
 
-(defcustom mailclient-place-body-on-clipboard-flag  
+(defcustom mailclient-place-body-on-clipboard-flag
   (fboundp 'w32-set-clipboard-data)
   "If non-nil, put the e-mail body on the clipboard in mailclient.
-This is useful on systems where only short mailto:// URLs are 
-supported. Defaults to non-nil on Windows, nil otherwise."
+This is useful on systems where only short mailto:// URLs are
+supported.  Defaults to non-nil on Windows, nil otherwise."
   :type 'boolean
   :group 'mail)
 
 	  (lambda (char)
 	    (cond
 	     ((eq char ?\x20) "%20")   ;; space
-	     ((eq char ?\n) "%0D%0A")  ;; newline 
+	     ((eq char ?\n) "%0D%0A")  ;; newline
 	     ((string-match "[-a-zA-Z0-9_:/.@]" (char-to-string char))
 	      (char-to-string char))   ;; printable
 	     (t                        ;; everything else
 (defvar mailclient-delim-static "?")
 (defun mailclient-url-delim ()
   (let ((current mailclient-delim-static))
-    (setq mailclient-delim-static "&") 
+    (setq mailclient-delim-static "&")
     current))
 
 (defun mailclient-gather-addresses (str &optional drop-first-name)
   (let ((field (mail-fetch-field str nil t)))
     (if field
 	(save-excursion
-	  (let ((first t) 
+	  (let ((first t)
 		(result ""))
 	    (mapc
 	     (lambda (recp)
-	       (setq result 
-		     (concat 
+	       (setq result
+		     (concat
 		      result
 		      (if (and drop-first-name
 			       first)
 			  ""
 			(concat (mailclient-url-delim) str "="))
-		      (mailclient-encode-string-as-url 
+		      (mailclient-encode-string-as-url
 		       recp)))
 	       (setq first nil))
-	     (split-string 
+	     (split-string
 	      (mail-strip-quoted-names field) "\, *"))
 	    result)))))
 
 ;;;###autoload
-(defun mailclient-send-it () 
+(defun mailclient-send-it ()
   "Pass current buffer on to the system's mail client.
 Suitable value for `send-mail-function'.
 The mail client is taken to be the handler of mailto URLs."
 	  (while (and (re-search-forward "\n\n\n*" delimline t)
 		      (< (point) delimline))
 	    (replace-match "\n"))
-	  (let ((case-fold-search t))  
+	  (let ((case-fold-search t))
 	    ;; initialize limiter
 	    (setq mailclient-delim-static "?")
 	    ;; construct and call up mailto URL
-	    (browse-url 
-	     (concat 
+	    (browse-url
+	     (concat
 	      (save-excursion
 		(narrow-to-region (point-min) delimline)
-		(concat 
+		(concat
 		 "mailto:"
 		 ;; some of the headers according to RFC822
-		 (mailclient-gather-addresses "To"   
-					      'drop-first-name)	         
+		 (mailclient-gather-addresses "To"
+					      'drop-first-name)
 		 (mailclient-gather-addresses "cc"  )
 		 (mailclient-gather-addresses "bcc"  )
 		 (mailclient-gather-addresses "Resent-To"  )
 		   (if subj ;; if non-blank
 		       ;; the mail client will deal with
 		       ;; warning the user etc.
-		       (concat (mailclient-url-delim) "subject=" 
+		       (concat (mailclient-url-delim) "subject="
 			       (mailclient-encode-string-as-url subj))
 		     ""))))
 	      ;; body
-	      (concat 
-	       (mailclient-url-delim) "body=" 
+	      (concat
+	       (mailclient-url-delim) "body="
 	       (mailclient-encode-string-as-url
 		(if mailclient-place-body-on-clipboard-flag
 		    (progn
-		      (clipboard-kill-ring-save  
+		      (clipboard-kill-ring-save
 		       (+ 1 delimline) (point-max))
 		      (concat
 		       "*** E-Mail body has been placed on clipboard, "

File lisp/mh-e/ChangeLog

+2006-02-03  Bill Wohler  <wohler@newt.com>
+
+	* mh-e.el (Version, mh-version): Add +cvs to version.
+
+2006-02-03  Bill Wohler  <wohler@newt.com>
+
+	Release MH-E version 7.91.
+
+	* mh-e.el (Version, mh-version): Update for release 7.91.
+
+2006-02-03  Bill Wohler  <wohler@newt.com>
+
+	* mh-utils.el (mh-image-load-path, mh-image-load-path-called-flag)
+	(mh-image-load-path): Checkdoc fix. Docstring edits. Reduce scope
+	of local variable mh-library-name.
+
+	* mh-e.el (mh-folder-msg-number, mh-folder-refiled, mh-folder-to)
+	(mh-show-cc, mh-show-date, mh-show-header): Replace (min-colors
+	88) with (min-colors 64) in face specifications so that MH-E still
+	looks good on systems with fewer colors (such as Eric Ding's).
+
+2006-02-03  Peter Galbraith  <psg@debian.org>
+
+	* mh-utils.el (mh-image-load-path): New variable to optionally
+	hold the directory where MH-E images are stored.  If nil, then 
+	the function `mh-image-load-path' will find it.  This variable
+	will be used for Debian packaging.
+	(mh-image-load-path function): Use variable `mh-image-load-path'
+	if non-nil and exists.
+
+2006-02-03  Mark D. Baushke  <mdb@gnu.org>
+
+	* mh-tool-bar.el: Add conditional require of 'tool-bar or 'toolbar
+	for gnu-emacs or xemacs to avoid void-variable tool-bar-map lisp
+	errors if describe-bindings is called before tool-bar-mode is used.
+
+2006-02-03  Peter S Galbraith  <psg@debian.org>
+
+	* mh-compat.el (mh-url-unreserved-chars): Fix typo from
+	`mh-url-unresrved-chars'.
+
+2006-02-02  Bill Wohler  <wohler@newt.com>
+
+	* mh-e.el (Version, mh-version): Add +cvs to version.
+
+2006-02-02  Bill Wohler  <wohler@newt.com>
+
+	Release MH-E version 7.90.
+
+	* mh-e.el (Version, mh-version): Update for release 7.90.
+
+2006-02-01  Bill Wohler  <wohler@newt.com>
+
+	* mh-search.el (which-func-mode): Shush compiler on Emacs 21 too.
+
+	* mh-alias.el (mh-alias-gecos-name): Use
+	mh-replace-regexp-in-string instead of replace-regexp-in-string.
+	(crm, multi-prompt): Use mh-require instead of require.
+	(mh-goto-address-find-address-at-point): Use
+	mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position. Use
+	mh-match-string-no-properties instead of
+	match-string-no-properties.
+
+	* mh-comp.el (mh-modify-header-field): Use
+	mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position.
+
+	* mh-compat.el (mailabbrev): Use mh-require instead of require.
+	(mh-assoc-string, mh-display-completion-list, mh-face-foreground)
+	(mh-face-background): Make docstring consistent.
+	(mh-require, mh-cancel-timer, mh-display-color-cells)
+	(mh-line-beginning-position, mh-line-end-position)
+	(mh-match-string-no-properties, mh-replace-regexp-in-string)
+	(mh-view-mode-enter): Move definition here from mh-xemacs.el and 
+	add mh- prefix since compatibility functions should have our
+	package prefix (mh-) by Emacs convention and to avoid messing up
+	checks for the same functions in other packages.
+
+	* mh-e.el (mh-compiling-flag): Move mh-xemacs-compiling-flag here
+	from mh-xemacs.el and rename.
+	(mh-xargs): Use mh-line-beginning-position and
+	mh-line-end-position instead of line-beginning-position and
+	line-end-position.
+	(mh-defface-compat): Use mh-display-color-cells instead of
+	display-color-cells.
+
+	* mh-folder.el (which-func): Use mh-require instead of require.
+
+	* mh-funcs.el (mh-list-folders): Use mh-view-mode-enter instead of
+	view-mode-enter.
+
+	* mh-gnus.el (gnus-util, mm-bodies, mm-decode, mm-view, mml): Use
+	mh-require instead of require.
+
+	* mh-letter.el (mh-letter-header-end, mh-letter-mode)
+	(mh-letter-next-header-field): Use mh-line-beginning-position and
+	mh-line-end-position instead of line-beginning-position and
+	line-end-position.
+
+	* mh-limit.el (mh-subject-to-sequence-unthreaded): Use
+	mh-match-string-no-properties instead of
+	match-string-no-properties.
+	(mh-narrow-to-header-field): Use mh-line-beginning-position and
+	mh-line-end-position instead of line-beginning-position and
+	line-end-position.
+
+	* mh-mime.el (mh-mime-inline-part, mh-mm-display-part)
+	(mh-mh-quote-unescaped-sharp, mh-mh-directive-present-p): Use
+	mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position.
+
+	* mh-search.el (which-func): Use mh-require instead of require.
+	(mh-make-pick-template, mh-index-visit-folder)
+	(mh-pick-parse-search-buffer, mh-swish-next-result)
+	(mh-mairix-next-result, mh-namazu-next-result)
+	(mh-pick-next-result, mh-grep-next-result)
+	(mh-index-create-imenu-index, mh-index-match-checksum)
+	(mh-md5sum-parser, mh-openssl-parser, mh-index-update-maps): Use
+	mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position.
+
+	* mh-seq.el (mh-list-sequences): Use mh-view-mode-enter instead of
+	view-mode-enter.
+	(mh-folder-size-flist, mh-parse-flist-output-line)
+	(mh-add-sequence-notation): Use mh-line-beginning-position and
+	mh-line-end-position instead of line-beginning-position and
+	line-end-position.
+
+	* mh-show.el (mh-show-addr): Use mh-require instead of require.
+
+	* mh-speed.el (mh-folder-speedbar-menu-items, mh-speed-toggle)
+	(mh-speed-view, mh-folder-speedbar-buttons)
+	(mh-speed-highlight, mh-speed-goto-folder)
+	(mh-speed-add-buttons, mh-speed-parse-flists-output)
+	(mh-speed-invalidate-map, mh-speedbar-change-expand-button-char)
+	(mh-speed-add-folder): Use mh-line-beginning-position and
+	mh-line-end-position instead of line-beginning-position and
+	line-end-position.
+	(mh-speed-flists): Use mh-cancel-timer instead of cancel-timer.
+
+	* mh-thread.el (mh-thread-find-children)
+	(mh-thread-parse-scan-line, mh-thread-generate): Use
+	mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position.
+
+	* mh-utils.el (mh-colors-available-p): Use mh-display-color-cells
+	instead of display-color-cells.
+	(mh-folder-list): Use mh-replace-regexp-in-string instead of
+	replace-regexp-in-string.
+	(mh-sub-folders-actual, mh-letter-toggle-header-field-display):
+	Use mh-line-beginning-position and mh-line-end-position instead of
+	line-beginning-position and line-end-position.
+
+	* mh-comp.el (mh-send-sub): Don't find components file in current
+	directory--this seems to have been a side-effect of commenting out
+	the use of an old mh-etc variable. Improve error message.
+
 2006-01-31  Bill Wohler  <wohler@newt.com>
 
 	* mh-acros.el (mh-defun-compat, mh-defmacro-compat): Add name
 	argument since compatibility functions should have our package
 	prefix (mh-) by Emacs convention and to avoid messing up checks
 	for the same functions in other packages. Use explicit argument
-	instead of forming name by adding mh-e prefix so that one can grep
+	instead of forming name by adding mh- prefix so that one can grep
 	and find the definition.
 
 	* mh-alias.el (mh-alias-local-users, mh-alias-reload)

File lisp/mh-e/mh-alias.el

         (setq res (match-string 1 res)))
     ;; Replace "&" with capitalized username
     (if (string-match "&" res)
-        (setq res (replace-regexp-in-string "&" (capitalize username) res)))
+        (setq res (mh-replace-regexp-in-string "&" (capitalize username) res)))
     ;; Remove " character
     (if (string-match "\"" res)
-        (setq res (replace-regexp-in-string "\"" "" res)))
+        (setq res (mh-replace-regexp-in-string "\"" "" res)))
     ;; If empty string, use username instead
     (if (string-equal "" res)
         (setq res username))
    (t
     (mh-alias-ali alias))))
 
-(require 'crm nil t)                   ; completing-read-multiple
-(require 'multi-prompt nil t)
+(mh-require 'crm nil t)                 ; completing-read-multiple
+(mh-require 'multi-prompt nil t)
 
 ;;;###mh-autoload
 (defun mh-read-address (prompt)
 
 Then search backwards to beginning of line for the start of an
 e-mail address. If no e-mail address found, return nil."
-  (re-search-backward "[^-_A-z0-9.@]" (line-beginning-position) 'lim)
+  (re-search-backward "[^-_A-z0-9.@]" (mh-line-beginning-position) 'lim)
   (if (or (looking-at mh-address-mail-regexp) ; already at start
           (and (re-search-forward mh-address-mail-regexp
-                                  (line-end-position) 'lim)
+                                  (mh-line-end-position) 'lim)
                (goto-char (match-beginning 0))))
-      (match-string-no-properties 0)))
+      (mh-match-string-no-properties 0)))
 
 (defun mh-alias-apropos (regexp)
   "Show all aliases or addresses that match a regular expression REGEXP."

File lisp/mh-e/mh-comp.el

                        (setq components
                              (expand-file-name mh-comp-formfile mh-lib)))
                       components)
-                     ((file-exists-p
-                       (setq components
-                             (expand-file-name mh-comp-formfile
-                                               ;; What is this mh-etc ??  -sm
-                                               ;; This is dead code, so
-                                               ;; remove it.
-                                        ;(and (boundp 'mh-etc) mh-etc)
-                                               )))
-                      components)
                      (t
-                      (error "Can't find components file \"%s\""
-                             components))))
+                      (error "Can't find %s in %s or %s"
+                             mh-comp-formfile mh-user-path mh-lib))))
                   nil)))
       (mh-insert-fields "To:" to "Subject:" subject "Cc:" cc)
       (goto-char (point-max))
   (cond ((and overwrite-flag
               (mh-goto-header-field (concat field ":")))
          (insert " " value)
-         (delete-region (point) (line-end-position)))
+         (delete-region (point) (mh-line-end-position)))
         ((and (not overwrite-flag)
               (mh-regexp-in-field-p (concat "\\b" value "\\b") field))
          ;; Already there, do nothing.

File lisp/mh-e/mh-compat.el

 ;; macros we can retire.
 
 ;; Please use mh-gnus.el when providing compatibility with different
-;; versions of Gnus and mh-xemacs.el for compatibility with XEmacs.
+;; versions of Gnus.
 
-;; Items are listed alphabetically.
+;; Items are listed alphabetically (except for mh-require which is
+;; needed by a lesser character).
+
+(require 'mh-acros)
+
+(mh-do-in-gnu-emacs
+  (defalias 'mh-require 'require))
+
+(mh-do-in-xemacs
+  (defun mh-require (feature &optional filename noerror)
+    "If feature FEATURE is not loaded, load it from FILENAME.
+If FEATURE is not a member of the list `features', then the feature
+is not loaded; so load the file FILENAME.
+If FILENAME is omitted, the printname of FEATURE is used as the file name.
+If the optional third argument NOERROR is non-nil,
+then return nil if the file is not found instead of signaling an error.
+
+Simulate NOERROR argument in XEmacs which lacks it."
+    (if (not (featurep feature))
+        (if filename
+            (load filename noerror t)
+          (load (format "%s" feature) noerror t)))))
 
 (mh-defun-compat mh-assoc-string assoc-string (key list case-fold)
   "Like `assoc' but specifically for strings.
 Case is ignored if CASE-FOLD is non-nil.
-This function added by MH-E for Emacs versions that lack
-`assoc-string', introduced in Emacs 22."
+This function is used by Emacs versions that lack `assoc-string',
+introduced in Emacs 22."
   (if case-fold
       (assoc-ignore-case key list)
     (assoc key list)))
 
-(require 'mailabbrev nil t)
-(mh-defun-compat mh-mail-abbrev-make-syntax-table
-  mail-abbrev-make-syntax-table ()
-  "Emacs 21 and XEmacs don't have this function."
-  nil)
+;; For XEmacs.
+(defalias 'mh-cancel-timer
+  (if (fboundp 'cancel-timer)
+      'cancel-timer
+    'delete-itimer))
+
+(mh-defun-compat mh-display-color-cells display-color-cells (&optional display)
+  "Return the number of color cells supported by DISPLAY.
+This function is used by XEmacs to always return 0 when compiling
+to avoid compiling errors. Otherwise uses `device-color-cells'."
+  (if mh-compiling-flag
+      0
+    (device-color-cells display)))
 
 (defmacro mh-display-completion-list (completions &optional common-substring)
   "Display the list of COMPLETIONS.
 See documentation for `display-completion-list' for a description of the
 arguments COMPLETIONS and perhaps COMMON-SUBSTRING.
-This macro added by MH-E for Emacs versions that lack a
-COMMON-SUBSTRING argument, introduced in Emacs 22."
+This macro is used by Emacs versions that lack a COMMON-SUBSTRING
+argument, introduced in Emacs 22."
   (if (< emacs-major-version 22)
       `(display-completion-list ,completions)
     `(display-completion-list ,completions ,common-substring)))
   "Return the foreground color name of FACE, or nil if unspecified.
 See documentation for `face-foreground' for a description of the
 arguments FACE, FRAME, and perhaps INHERIT.
-This macro added by MH-E for Emacs versions that lack an INHERIT
-argument, introduced in Emacs 22."
+This macro is used by Emacs versions that lack an INHERIT argument,
+introduced in Emacs 22."
   (if (< emacs-major-version 22)
       `(face-foreground ,face ,frame)
     `(face-foreground ,face ,frame ,inherit)))
   "Return the background color name of face, or nil if unspecified.
 See documentation for `back-foreground' for a description of the
 arguments FACE, FRAME, and INHERIT.
-This macro added by MH-E for Emacs versions that lack an INHERIT
-argument, introduced in Emacs 22."
+This macro is used by Emacs versions that lack an INHERIT argument,
+introduced in Emacs 22."
   (if (< emacs-major-version 22)
       `(face-background ,face ,frame)
     `(face-background ,face ,frame ,inherit)))
 
+;; For XEmacs.
+(defalias 'mh-line-beginning-position
+  (if (fboundp 'line-beginning-position)
+      'line-beginning-position
+    'point-at-bol))
+
+;; For XEmacs.
+(defalias 'mh-line-end-position
+  (if (fboundp 'line-end-position)
+      'line-end-position
+    'point-at-eol))
+
+(mh-require 'mailabbrev nil t)
+(mh-defun-compat mh-mail-abbrev-make-syntax-table
+  mail-abbrev-make-syntax-table ()
+  "Emacs 21 and XEmacs don't have `mail-abbrev-make-syntax-table'.
+This function does nothing on those systems."
+  nil)
+
+(mh-defun-compat mh-match-string-no-properties
+  match-string-no-properties (num &optional string)
+  "Return string of text matched by last search, without text properties.
+This function is used by XEmacs that lacks `match-string-no-properties'.
+The function `buffer-substring-no-properties' is used instead.
+The argument STRING is ignored."
+  (buffer-substring-no-properties
+   (match-beginning num) (match-end num)))
+
+(mh-defun-compat mh-replace-regexp-in-string replace-regexp-in-string
+  (rep string &optional fixedcase literal subexp start)
+  "Replace REGEXP with REP everywhere in STRING and return result.
+This function is used by XEmacs that lacks `replace-regexp-in-string'.
+The function `replace-in-string' is used instead.
+The arguments FIXEDCASE, LITERAL, SUBEXP, and START are ignored."
+  (replace-in-string string regexp rep))
+
 ;; Copy of constant from url-util.el in Emacs 22; needed by Emacs 21.
 (if (not (boundp 'url-unreserved-chars))
-    (defconst mh-url-unresrved-chars
+    (defconst mh-url-unreserved-chars
       '(
         ?a ?b ?c ?d ?e ?f ?g ?h ?i ?j ?k ?l ?m ?n ?o ?p ?q ?r ?s ?t ?u ?v ?w ?x ?y ?z
         ?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?L ?M ?N ?O ?P ?Q ?R ?S ?T ?U ?V ?W ?X ?Y ?Z
        (char-to-string char)))
    str ""))
 
+(mh-defun-compat mh-view-mode-enter
+  view-mode-enter (&optional return-to exit-action)
+  "Enter View mode.
+This function is used by XEmacs that lacks `view-mode-enter'.
+The function `view-mode' is used instead.
+The arguments RETURN-TO and EXIT-ACTION are ignored."
+  ;; Shush compiler.
+  (if return-to nil)
+  (if exit-action nil)
+  (view-mode 1))
+
 (defmacro mh-write-file-functions ()
   "Return `write-file-functions' if it exists.
 Otherwise return `local-write-file-hooks'.

File lisp/mh-e/mh-e.el

 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
-;; Version: 7.85+cvs
+;; Version: 7.91+cvs
 ;; Keywords: mail
 
 ;; This file is part of GNU Emacs.
 
 (eval-and-compile
   (defvar mh-xemacs-flag (featurep 'xemacs)
-    "Non-nil means the current Emacs is XEmacs."))
+    "Non-nil means the current Emacs is XEmacs.")
+  (defvar mh-compiling-flag nil
+    "Non-nil means we're compiling."))
+
+(eval-when (compile)
+  (setq mh-compiling-flag t))
+
 (mh-do-in-xemacs
   (require 'mh-xemacs))
 
 ;; Try to keep variables local to a single file. Provide accessors if
 ;; variables are shared. Use this section as a last resort.
 
-(defconst mh-version "7.85+sans-entropy" "Version number of MH-E.")
+(defconst mh-version "7.91+cvs" "Version number of MH-E.")
 
 ;; Variants
 
           (let ((arg-list (reverse args))
                 (count 0))
             (while (and (not (eobp)) (< count mh-index-max-cmdline-args))
-              (push (buffer-substring-no-properties (point) (line-end-position))
+              (push (buffer-substring-no-properties (point)
+                                                    (mh-line-end-position))
                     arg-list)
               (incf count)
               (forward-line))
 colors."
   (if mh-min-colors-defined-flag
       spec
-    (let ((cells (display-color-cells))
+    (let ((cells (mh-display-color-cells))
           new-spec)
       ;; Remove entries with min-colors, or delete them if we have fewer colors
       ;; than they specify.
 
 (defface mh-folder-msg-number
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "snow4"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "snow3"))
      (((class color))
       (:foreground "cyan"))))
 
 (defface mh-folder-refiled
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "DarkGoldenrod"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "LightGoldenrod"))
      (((class color))
       (:foreground "yellow" :weight light))
 
 (defface mh-folder-to
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "RosyBrown"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "LightSalmon"))
      (((class color))
       (:foreground "green"))
 
 (defface mh-show-cc
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "DarkGoldenrod"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "LightGoldenrod"))
      (((class color))
       (:foreground "yellow" :weight light))
 
 (defface mh-show-date
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "ForestGreen"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "PaleGreen"))
      (((class color))
       (:foreground "green"))
 
 (defface mh-show-header
   (mh-defface-compat
-   '((((class color) (min-colors 88) (background light))
+   '((((class color) (min-colors 64) (background light))
       (:foreground "RosyBrown"))
-     (((class color) (min-colors 88) (background dark))
+     (((class color) (min-colors 64) (background dark))
       (:foreground "LightSalmon"))
      (((class color))
       (:foreground "green"))

File lisp/mh-e/mh-folder.el

                         (cons (current-buffer) nil)))))
 
 ;; Register mh-folder-mode as supporting which-function-mode...
-(require 'which-func nil t)
+(mh-require 'which-func nil t)
 (when (boundp 'which-func-modes)
   (add-to-list 'which-func-modes 'mh-folder-mode))
 

File lisp/mh-e/mh-funcs.el

                                             "-recurse"
                                           "-norecurse"))
         (goto-char (point-min))
-        (view-mode-enter)
+        (mh-view-mode-enter)
         (setq view-exit-action 'kill-buffer)
         (message "Listing folders...done")))))
 

File lisp/mh-e/mh-gnus.el

 
 (require 'mh-e)
 
-(require 'gnus-util nil t)
-(require 'mm-bodies nil t)
-(require 'mm-decode nil t)
-(require 'mm-view nil t)
-(require 'mml nil t)
+(mh-require 'gnus-util nil t)
+(mh-require 'mm-bodies nil t)
+(mh-require 'mm-decode nil t)
+(mh-require 'mm-view nil t)
+(mh-require 'mml nil t)
 
 ;; Copy of function from gnus-util.el.
 (mh-defun-compat mh-gnus-local-map-property gnus-local-map-property (map)

File lisp/mh-e/mh-letter.el

     (goto-char (point-min))
     (cond ((equal mh-mail-header-separator "") (point-min))
           ((search-forward (format "\n%s\n" mh-mail-header-separator) nil t)
-           (line-beginning-position 0))