boundp 'vc-ignore-menu-filter.
(vc-status-tool-bar-map): Make it defvar.
(vc-status-mode): vc-status-tool-bar-map now variable.
(vc-status-toggle-mark): toggle-mark-file => vc-status-toggle-mark-file.
(vc-status-mode): Make it local.
(vc-status-refresh): Use it to save the marked files.
(vc-update-vc-status-buffer): Use it to restore the marked files.
* vc-svn.el (vc-svn-after-dir-status):
* vc-hg.el (vc-hg-after-dir-status): Clean up the temporary buffer.
setting it.
(vc-status-menu-map): Do not define using easy-menu.
(vc-status-menu-map): New defalias.
(vc-status-mode-map): Hook up the menu.
(top-level): Update TODO.
* vc-hg.el (vc-hg-extra-status-menu): Return a keymap.
* vc-bzr.el (vc-bzr-init-version): Rename to ...
(vc-bzr-init-revision): ... this.
busy case ...
(vc-set-mode-line-busy-indicator): ... in this new function.
(vc-status-refresh): Call vc-set-mode-line-busy-indicator.
(vc-update-vc-status-buffer): Reset mode-line-process.
(vc-status-mark-all-files, vc-status-unmark-all-files): Change to
mark/unmark all the files with the same state as the current one.
With a prefix argument mark/unmark all files.
(vc-status-mode-menu): Adjust strings.
(vc-update-vc-status-buffer): Only do something when the argument
is not nil.
(vc-status-kill-dir-status-process): New function.
(vc-status-mode-map): Bind it.
(vc-status-process-buffer): New variable.
(vc-status-mode): Make it local.
(vc-status-refresh): Set it.
* vc-hg.el (vc-hg-dir-status):
* vc-git.el (vc-git-dir-status):
* vc-svn.el (vc-svn-dir-status): Return the buffer in which the
command is run.
busy case ...
(vc-set-mode-line-busy-indicator): ... in this new function.
(vc-status-refresh): Call vc-set-mode-line-busy-indicator.
(vc-update-vc-status-buffer): Reset mode-line-process.
(vc-status-mark-all-files, vc-status-unmark-all-files): Change to
mark/unmark all the files with the same state as the current one.
With a prefix argument mark/unmark all files.
(vc-status-mode-menu): Adjust strings.
(vc-status-mode-map, vc-status-mode-menu): Mark them instead for
vc-status-mark-file and vc-status-unmark-file.
(vc-status-mark-unmark): New function.
(vc-status-previous-line, vc-status-mark-all-files): No longer
interactive.
(vc-status-mode-menu): Add a :filter.
(vc-status-printer): Add faces.
* vc-hg.el (vc-hg-extra-status-menu): New function.
(vc-hg-dir-status): Clean up the buffer before using it.
(vc-exec-after): Append CODE to previous fragments.
(vc-diff-finish): Take BUFFER directly, not BUFFER-NAME;
take MESSAGES instead of VERBOSE; use it when non-nil.
(vc-diff-internal): Compute messages once; use them;
update call to vc-diff-finish.
(vc-process-filter): Do nothing if buffer not live.
(vc-diff-finish): Rename from vc-diff-sentinel.
No longer take REV1-NAME and REV2-NAME.
Instead, take BUFFER-NAME. Do nothing if buffer not live.
Don't do window resize if no window displays buffer.
(vc-diff-internal): Use vc-diff-finish.
(vc-update-vc-status-buffer): New function broken out of ...
(vc-status-refresh): ... here. Pass vc-update-vc-status-buffer to
the dir-status backend function.
* vc-hg.el (vc-hg-dir-status): Compute the status asynchronously.
Move the output processing to ...
(vc-hg-after-dir-status): ... here. Call the function passed as
an argument with the results.
(vc-next-action): Register 'unregistered and 'ignored files. Use
when and unless instead of if where appropriate.
(vc-start-entry): Fix typo.
(vc-status): Autoload it.
* vc-svn.el (vc-svn-find-file-hook):
* vc-arch.el (vc-arch-find-file-hook):
* pcvs.el (cvs-revert-if-needed):
* vc.el (vc-maybe-resolve-conflicts): Use it instead of vc-mode.
(top-level): Add a Todo list.
vc-status-insert-headers. Just return header.
(vc-status-move-to-goal-column): New function.
(vc-status-mode-map): Define more keys.
(vc-status-mode): Use vc-status-refresh. Now 'special.
(vc-status-refresh): New function.
(vc-status-next-line): Likewise.
(vc-status-previous-line): Likewise.
(vc-status-mark-file): Use vc-status-next-line.
(vc-status-unmark-file): Use vc-status-previous-line.
(vc-status-unmark-file-up): New function.
(vc-status-register): Likewise.
(vc-status-find-file): Likewise.
(vc-status-find-file-other-window): Likewise.
(vc-status-current-file): Likewise.
(vc-ensure-vc-buffer): Understand vc-status mode.
and 'unregistered states.
* vc-hooks.el (vc-state): Added 'removed state to documentation.
* vc-hg (vc-hg-parse-status): Recognize 'added, 'removed, and
'up-to-date state. Deal with the possibility that C for clean
might change to "=" in the next point release.
* vc-git.el (vc-git-parse-status): Recognize 'removed.
* vc.el (header comment): Better description of new dir-state.
(vc-compatible-state): Defines which states are mutually
compatible; usable with 'edited as a test for which can be committed on.
(vc-dired-hook): Turn off undo in the VC-Dired buffer, a speed tweak.
(vc-default-dired-state-info): Display 'removed state.
* vc-bzr.el (vc-bzr-dir-state): Recognize 'added.
states. and the new return-value convention. These are not
actually used yet, just set.
* vc-svn.el (vc-svn-parse-status): Set 'ignored and 'unregistered
states when appropriate.
* vc-hg.el (vc-hg-state,vc-hg-dir-state): Set 'ignored and
'unregistered' when appropriate.
* vc-git.el: Document that we don't set the new states yet.
* vc.el (vc-dired-state-info): Display 'unregistered and
'ignored states.
* vc-cvs.el (vc-cvs-parse-status): Set the 'ignored state when
appropriate.
* vc-bzr.el (vc-bzr-dir-state): Set 'ignored and
'unregistered' when appropriate.
to vc-hooks.el so it will be available to other modes, such as
speedbar.el. Also, teach it to recognize monotine state directories.
* speedbar.el: Remove this mode's fragile assumptions about
version-control systems. Instead, make it use logic from
vc-hooks.el so it will become smarter whenever VC mode does.
* vc-hooks.el: 'added is a real state, not a future hypothetical
one. Fix the documentation.