view etc/MH-E-NEWS @ 31384:f6cb7dfe5e7c

(vc-cvs-show-log-entry): New function. (vc-cvs-stay-local): Allow it to be a hostname regexp as well. (vc-cvs-remote-p): Renamed to vc-cvs-stay-local-p. Handle hostname regexps. Updated all callers. (vc-cvs-responsible-p): Handle directories as well. (vc-cvs-could-register): New function. (vc-cvs-retrieve-snapshot): Parse "cvs update" output, keep file properties up-to-date. (vc-cvs-checkout): Do the right thing when the workfile does not exist. (vc-cvs-registered): Use new function vc-cvs-parse-entry to do the actual work. (vc-cvs-remote-p): Allow FILE to be a directory, too. (vc-cvs-dir-state): New function. (vc-cvs-dir-state-heuristic): New function, subroutine of the above. (vc-cvs-parse-entry): New function, also to be used in vc-cvs-registered. (vc-cvs-checkout): Slight restructuring to make the control-flow more clear and to avoid running `cvs' twice. (vc-cvs-workfile-version): Removed comment that this is not reached. It is. (vc-cvs-merge): Set state to 'edited after merge. (vc-cvs-merge-news): Set workfile version to nil if not known. (vc-cvs-latest-on-branch-p): Recommented. Candidate for removal. (vc-cvs-checkin): Raise the max-correct status from 0 to 1. Make sure to switch to *vc* before looking for an error message. Use vc-parse-buffer. (vc-cvs-create-snapshot): Swap DIR and NAME. (vc-cvs-retrieve-snapshot): New function (untested). (vc-cvs-stay-local): Default to t. (vc-cvs-remote-p): New function and property. (vc-cvs-state): Stay local only if the above is t. (vc-handle-cvs): Removed. (vc-cvs-registered): Don't check vc-handle-cvs -- it should all be done via vc-handled-backends now. (vc-cvs-header): Escape Id. (vc-cvs-state, vc-cvs-fetch-status): Use with-temp-file. Use the new BUFFER=t argument to vc-do-command. (vc-cvs-print-log, vc-cvs-diff): Insert in the current buffer. (vc-cvs-state): Use vc-do-command instead of vc-simple-command. (vc-cvs-diff): Remove unused and unsupported argument CMP. (vc-cvs-registered): Obey vc-handle-cvs. (vc-cvs-registered): Use with-temp-buffer. Reorder extraction of fields and call to file-attributes because of a temporary bug in rcp.el. (vc-cvs-fetch-status): Use with-current-buffer. Merge in code from vc-cvs-hooks.el. (proto vc-cvs-registered): Require 'vc-cvs instead of 'vc-cvs-hooks. Don't require 'vc anymore. (vc-cvs-responsible-p): Use expand-file-name instead of concat and file-directory-p instead of file-exists-p. (vc-cvs-create-snapshot): New function, replacing vc-cvs-assign-name. (vc-cvs-assign-name): Remove. (vc-cvs-header): New var. Update Copyright. (vc-cvs-diff): Remove unused `backend' variable. (vc-cvs-checkout): Only toggle read-only if the buffer is setup right. (tail): Provide vc-cvs. (vc-cvs-merge-news, vc-cvs-checkout): Removed call to vc-file-clear-masterprops. (vc-cvs-state): Typo. (vc-cvs-merge-news): Return the status code rather than the error msg. (vc-cvs-state): Don't overwrite a non-heuristic state with a heuristic one. (vc-cvs-merge-news): Just use 'edited for the case with conflicts. (vc-cvs-checkin): Do a trivial parse to set the state in case of error. That allows us to get to 'needs-merge even in the stay-local case. There's still no way to detect 'needs-patch in such a setup (or to force an update for that matter). (vc-cvs-logentry-check): Remove, the default works as well. (vc-cvs-print-log, vc-cvs-diff): Run cvs asynchronously. (vc-cvs-stay-local): Renamed from vc-cvs-simple-toggle. Redocumented. (vc-cvs-state): If locality is wanted, use vc-cvs-state-heuristic. (vc-cvs-toggle-read-only): Removed. (for compiler warnings). (vc-cvs-release, vc-cvs-system-release): Remove. (vc-cvs-use-edit, vc-cvs-simple-toggle): New config variables. (vc-cvs-dired-state-info): Use `cvs-state' and slightly different status symbols. (vc-cvs-parse-status, vc-cvs-state): Move from vc-cvs-hooks.el. (vc-cvs-toggle-read-only): First cut at a function to allow a cvs-status-free vc-toggle-read-only. (vc-cvs-merge-news): Move from cvs-merge-news in vc.el. (vc-cvs-checkin): Use vc-recompute-state+vc-state instead of vc-cvs-status. Also set vc-state rather than vc-locking-user. (vc-cvs-checkout): Modify access rights directly if the user requested not to use `cvs edit'. And refresh the mode line. (if workfile' that got lost when the code was extracted from vc.el. And merged the tail with the rest of the code (not possible in the old vc.el where the tail was shared among all backends). And explicitly set the state to 'edited if `writable' is set. (vc-cvs-revert,vc-cvs-checkout): References to `vc-checkout-model' updated to `vc-cvs-update-model'. (vc-cvs-logentry-check): Function added. (vc-cvs-revert,vc-cvs-checkout): Function calls to `vc-checkout-required' updated to `vc-cvs-uses-locking'. (vc-cvs-admin): Added the query-only option as required by the vc.el file. (vc-cvs-annotate-difference): Updated to handle beginning of annotate buffers correctly. Rename `vc-uses-locking' to `vc-checkout-required'. Rename the `locked' state to `reserved'. (vc-cvs-annotate-difference): Handle possible millenium problem (merged from mainline). Split the annotate feature into a BACKEND-specific part and moved the non-BACKEND stuff to vc.el. (vc-cvs-latest-on-branch-p): Function added. (vc-cvs-revert): Merged and adapted "unedit" patch from main line. (vc-cvs-diff): Function added. (vc-cvs-checkout): Function `vc-cvs-checkout' added. Require vc when compiling. (vc-cvs-register-switches): Doc fix. (vc-annotate-color-map, vc-annotate-menu-elements): Fix custom type. (vc-cvs-print-log, vc-cvs-assign-name, vc-cvs-merge) (vc-cvs-check-headers, vc-cvs-steal, vc-cvs-revert, vc-cvs-checkin): New functions (code from vc.el). (vc-annotate-display-default): Fix interactive spec. (vc-annotate-time-span): Doc fix. Moved the annotate functionality from vc.el. (vc-cvs-admin, vc-cvs-fetch-status): Added from vc.el. (vc-cvs-system-release): Renamed from vc-cvs-backend-release. (vc-cvs-release): Moved from vc.el. (vc-cvs-backend-release): New function. (vc-cvs-dired-state-info, vc-cvs-fetch-status): Moved from vc.el and renamed.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 04 Sep 2000 19:48:04 +0000
parents e96ffe544684
children 2568d5a27317
line wrap: on
line source

User-visible changes to mh-e in version 5.0 from 4.1.

   Note: This being a major release, there are many internal changes.
This document lists only changes to the external interfaces of mh-e.

   When upgrading, you must either explicitly reload the new versions of
all mh-e files that are already loaded or restart your Emacs.

   mh-e 5.0.1 contains minor changes from mh-e 5.0 to integrate it with
Emacs 19.29.

   mh-e 5.0.2 contains additional minor changes to integrate it with
reporter.el (requires reporter.el version 3.1c or later) and Emacs
19.30.  The mh-goto-msg function is much faster, which also speeds up
several other operations.

Major Changes and New Features in mh-e
======================================

   The emphasis for this release has been on consistency and
documentation.  Many documentation strings were enhanced.
Documentation strings were changed to comments for internal functions
and variables.

   There is now proper documentation in the form of a 75-page users
manual.  The Texinfo source is mh-e.texi; the formatted Info document
is mh-e.info.

   There is a new command `mh-update-sequences', which updates MH's
idea of what messages are in the Unseen sequence and what is the current
folder and message.  `mh-quit' calls it.  While `mh-execute-commands'
has always done this updating as a side effect, the new function is
faster.

   The MH profile entry "Inbox:" is supported.

   If the show-buffer is modified, the user is queried before mh-e
reuses the buffer to show a different message.  This buffer is also
auto-saved and backed up correctly.

   `mh-store-buffer' is significantly more robust.  It now handles
messages created by a wide variety of packaging software.  The status
message for `uudecode' includes the name of the file created.  An error
is signaled if the subprocess exits with a non-zero status.

   `mh-search-folder' behaves predictably, adding messages found to the
`search' sequence.  It correctly handles the case of no messages found.

   `mh-burst-digest' (`M-b') now only rescans the part of the folder
affected by the burst.  It is now much faster in a large folder.

New mh-e Hooks and Customization Variables
==========================================

   `mh-default-folder-for-message-function': new name for the old
`mh-msg-folder-hook', which wasn't a hook.  The old name was confusing,
leading people to think they could use `add-hook' with it, when
actually `setq' is the correct way.

   `mh-sortm-args': When this variable is used has changed.  Now
`mh-sortm-args' is passed if there IS a prefix argument to
`mh-sort-folder'.  The assumption is that for arguments you normally
want, you would specify them in an MH profile entry.

   `mh-mhn-args': new hook, a list of additional arguments to pass to
the `mhn' program if `mh-edit-mhn' is given a prefix argument.

   `mh-edit-mhn-hook': new hook called by `mh-edit-mhn', the function
that formats MIME messages.

   `mh-folder-list-change-hook': new hook, called whenever the cached
list of folders, `mh-folder-list', is changed.

   `mh-find-path-hook': new hook, called when entering mh-e.

   `mh-repl-formfile': new variable, used to change the format file
used by `mh-reply' from the default of "replcomps".

   New variables to customize the scan format and notating:
`mh-note-deleted', `mh-note-refiled', `mh-note-seq', `mh-note-cur',
`mh-note-copied', `mh-note-printed'.

Key Binding Changes in mh-e
===========================

   `RET' runs `mh-show' for consistency with the Finder and Info.  The
old binding `.' still works, but `RET' is now the standard binding.

   `M-<' now runs `mh-first-msg' for consistency with `M->', which runs
`mh-last-msg'.

   `C-c C-f C-d' in MH-Letter mode moves to a Dcc: header field.

   `C-c C-f C-r' in MH-Letter mode moves to a From: header field.

   `g' is now the standard binding for `mh-goto-msg'.  The old binding
`j' still works.

Other Improvements and Changes to mh-e
======================================

   `mh-lpr-command-format' no longer passes the "-p" argument to `lpr'
by default.  The mail header typically has the date anyway.

   When prompting for a sequence name, if no sequences have been used
yet, mh-e will offer the first sequence the current message is in.

   The patterns of more mailers are recognized by
`mh-extract-rejected-mail'.

   `mh-insert-prefix-string' no longer wraps the call to the
`mail-citation-hook' function in a `save-excursion' so the hook writer
can choose whether to leave point at the beginning or the end of the
yanked text.

   `mh-write-msg-to-file': The prompt now refers to "message" or
"message body" depending on which will be written.  (This is controlled
by a prefix argument.)  The file defaults to the last-used file instead
of supplying only the directory name.

   mh-e uses message ranges when running MH commands.  Thus "rmm 1 2 3
4 6" is now "rmm 1-4 6".  This change makes it less likely to overflow
system argument list limits, and it might be faster, too.

Bug Fixes to mh-e
=================

   mh-e's idea of the unseen sequence now stays in sync with MH's
better.

   Functions that are supposed to find fields in the message header no
longer look in the message body.

   mh-e would sometimes fail to remove the "%" from a scan line when the
message was removed from a sequence if the message was also in the
Previous sequence.

   The variable `mh-inc-prog' is now correctly used in all places.

   `mh-pipe-msg' runs the process in the correct directory.

   A partially scanned folder will no longer lose the "/select"
annotation when you execute marked deletes and refiles with `x'.