• Gerd Moellmann's avatar
    (vc-next-action-on-file): Do not visit the file if it's · 0e362f54
    Gerd Moellmann authored
    not necessary.  If verbose in state `needs-patch', do the same as
    under `up-to-date'.  When NOT verbose and `needs-patch', check out
    latest version instead of `merge-news'.
    (vc-next-action-dired): Don't mess with default-directory here; it
    breaks other parts of dired.  It is the job of the
    backend-specific functions to adjust it temporarily if they need
    (vc-next-action): Remove a special CVS case.
    (vc-clear-headers): New optional arg FILE.
    (vc-checkin, vc-checkout): Set properties vc-state and
    vc-checkout-time properly.
    (vc-finish-steal): Call steal-lock, not steal, which doesn't
    (vc-print-log): Use new backend function `show-log-entry'.
    (vc-cancel-version): Do the checks in a different order.  Added a
    FIXME concerning RCS-only code.
    (vc-responsible-backend): New optional arg `register'.
    (vc-default-could-register): New function.
    (vc-dired-buffers-for-dir, vc-dired-resynch-file): New functions.
    (vc-resynch-buffer): Call vc-dired-resynch-file.
    (vc-start-entry, vc-finish-logentry, vc-revert-buffer): Use
    vc-resynch-buffer instead of vc-resynch-window.
    (vc-next-action-dired): Don't redisplay here, that gets done as a
    result of the individual file operations.
    (vc-retrieve-snapshot): Corrected prompt order.
    (vc-version-diff): Use `require' to check for existence of
    (vc-do-command): Doc fix.
    (vc-finish-logentry): When checking in from vc-dired, choose the
    right backend for logentry check.
    (vc-dired-mode-map): Inherit from dired-mode-map.
    (vc-dired-mode): Local value of dired-move-to-filename-regexp
    (vc-dired-state-info): Removed, updated caller.
    (vc-default-dired-state-info): Use parentheses instead of hyphens.
    (vc-dired-hook): Use vc-BACKEND-dir-state, if available.
    (vc-dired-listing-switches): New variable.
    (vc-directory): Use it, instead of dired-listing-switches.
    (vc-revert-buffer): Hide the frame for dedicated windows
    (vc-update-changelog): Split into generic part and default
    implementation.  Doc string adapted.
    (vc-default-update-changelog): New function.  Call the `rcs2log'
    script in exec-directory, to fix a long-standing nuisance.
    (vc-next-action-on-file): Doc fix.
    (vc-maybe-resolve-conflicts): Don't just toggle smerge-mode.
    (vc-print-log): Eval `file' before constructing the continuation.
    (vc-next-action-on-file): Corrected several messages.
    (vc-merge): Add prefix arg `merge-news'; handle it.
    (vc-finish-logentry): Thinko in the "same comment"
    (vc-parent-buffer, vc-parent-buffer-name): Protect them
    against kill-all-local-variables.
    (vc-log-edit): Don't save vc-parent-buffer any more.
    (vc-last-comment-match): Initialize to an empty string.
    (vc-post-command-functions): New hook.
    (vc-do-command): Run it.
    (vc-next-action-on-file): Remove unnecessary pop-to-buffer.
    (vc-finish-logentry): Only add the comment to the ring if it's
    different from the last comment entered.
    (vc-new-comment-index): New function.
    (vc-previous-comment): Use it.  Make the minibuffer message
    slightly less terse.
    (vc-comment-search-reverse): Make it work forward as well.  Don't
    set vc-comment-ring-index if no match is found.  Use
    (vc-comment-search-forward): Use vc-comment-search-reverse.
    (vc-dired-mode-map): Don't inherit from dired-mode-map since
    define-derived-mode will do it for us.  Bind `v' to a keymap that
    inherits from vc-prefix-map so that we can bind `vt' without
    binding C-x v t.
    (vc-retrieve-snapshot): Parenthesis typo.
    (vc-create-snapshot, vc-default-create-snapshot): Swap DIR
    and NAME.
    (vc-retrieve-snapshot): Split into two parts.
    (vc-default-retrieve-snapshot): New function.
    (vc-do-command): Remove unused commands.
    (vc-version-diff): Make sure default-directory ends with a slash.
    Move the window commands into a vc-exec-after.
    (vc-print-log): Move more of the code into the `vc-exec-after'.
    (vc-exec-after): Fix disassembly of previous sentinel.
    (vc-print-log): Search current revision from beginning of buffer.
    (vc-revert-buffer): Clear echo area after the diff is finished.
    (vc-prefix-map): Removed definition of "t" for terse display in vc
    (vc-dired-mode-map): Inherit from dired-mode-map.  Added
    definition of "vt" for terse display.
    (vc-dired-mode): Fix dired-move-to-filename-regexp.
    (vc-exec-after): Avoid caddr.
    (vc-exec-after): New function.
    (vc-do-command): Use it to add a termination message for async
    (vc-checkout): Try to handle a missing-backend situation.
    (vc-version-diff): Use vc-exec-after to fix the behavior for diffs
    of a directory with a backend using async diffs.
    (vc-print-log): Use vc-exec-after and use log-view-goto-rev if
    (vc-next-action-on-file): Use vc-revert-buffer to revert
    when there are no changes.
    (vc-prefix-map): Move the autoload to vc-hooks.el and move
    the `fset' outside of the defvar so that it works even if
    vc-prefix-map was already defined.
    (vc-setup-buffer): New function, split out of vc-do-command.
    (vc-do-command): Allow BUFFER to be t to mean `just use the
    current buffer without any fuss'.
    (vc-version-diff): Change the `diff' backend operation to just put
    the diff in the current buffer without erasing it.  Always use
    (vc-workfile-unchanged-p): If checkout-time comparison is
    not possible, use vc-BACKEND-workfile-unchanged-p.
    (vc-default-workfile-unchanged-p): New function.  Delegates to a
    full vc-BACKEND-diff.
    (vc-editable-p): Renamed from vc-writable-p.
    (with-vc-file, vc-merge): Use vc-editable-p.
    (vc-do-command): Remove unused var vc-file and fix the
    doubly-defined `status' var.  Add a user message when starting an
    async command.
    (vc-restore-buffer-context, vc-resynch-buffer, vc-start-entry)
    (vc-finish-steal, vc-checkin, vc-finish-logentry, vc-rename-file):
    Use with-current-buffer.
    (vc-buffer-sync): Use unless.
    (vc-next-action-on-file): If the file is 'edited by read-only,
    make it read-write instead of trying to commit.
    (vc-version-diff, vc-update-change-log): Use `setq
    default-directory' rather than `cd'.
    (vc-log-edit): Don't forget to set default-directory in the
    (vc-checkout): Don't do anything special for ange-ftp
    files since ange-ftp already has vc-registered return nil.
    (vc-do-command): Use file-relative-name.
    (vc-responsible-backend): Use vc-backend if possible.
    (vc-create-snapshot): Improve the `interactive' spec. Add support
    for branches and dispatch to backend-specific `create-snapshot'.
    (vc-default-create-snapshot): New function, containing the bulk of
    the old vc-create-snapshot.
    (vc-retrieve-snapshot): Improve the interactive spec.
    (vc-do-command): Get rid of the `last' argument.
    (vc-header-alist): Remove, replaced by vc-X-header.
    (vc-insert-headers): Use vc-X-header instead of vc-header-alist.
    (vc-dired-hook): Use expand-file-name instead of concat.
    (vc-directory): Use file-name-as-directory.
    (vc-snapshot-precondition, vc-create-snapshot)
    (vc-retrieve-snapshot): Allow the command to operate on any
     Update Copyright and add a crude list of backend funs.
    (vc-writable-p): New function.
    (with-vc-file): Use vc-writable-p.
    (vc-next-action-on-file): Update call to vc-steal-lock and
    (vc-register): Avoid vc-name.
    (vc-locking-user): Remove.
    (vc-steal-lock): Make the `owner' arg non-optional.
    (vc-merge): Use vc-writable-p instead of vc-locking-user and
    (vc-default-dired-state-info): Use vc-state instead of
    vc-locking-user and return special strings for special states.
    (vc-dired-hook): Use vc-up-to-date-p instead of vc-locking-user
    and get rid of one of the special CVS cases.
    (vc-cancel-version): prettify error message with \\[...].
    (vc-rename-master): New function.
    (vc-rename-file): Use vc-BACKEND-rename-file (which might in turn
    use vc-rename-master) instead of vc-BACKEND-record-rename.  Make
    the CVS special case generic.
    (vc-default-record-rename): Remove.
    (vc-file-tree-walk-internal): Only call FUNC for files that are
    under control of some VC backend and replace `concat' with
    (vc-file-tree-walk): Update docstring.
    (vc-version-diff, vc-snapshot-precondition, vc-create-snapshot)
    (vc-retrieve-snapshot): Update call to vc-file-tree-walk.
    (vc-version-diff): Expand file name read from the
    minibuffer.  Handle the case when a previous version number can't
    be guessed.  Give suitable messages when there were no differences
    (vc-clear-headers): Call backend-specific implementation, if one
    (vc-cancel-version): Made error checks generic.  When done, clear
    headers generically, too.
    (vc-locking-user): Moved from vc-hooks.el.
    (vc-version-diff): Left out a vc- in call to
    (vc-default-dired-state-info, vc-default-record-rename)
    (vc-default-merge-news): Update for the new backend argument.
    (vc-merge): Use vc-find-backend-function.
    (vc-register): Put a FIXME note for a newly found bug.
    Call vc-call-backend without the leading vc-.
    (vc-responsible-backend, vc-finish-logentry, vc-annotate)
    (vc-check-headers): Call vc-call-backend without the leading vc-.
    (vc-annotate-time-span): Replace confusing use of `cond' with
    (vc-annotate-display): Replace confusing use of `cond' with `or'.
    Call vc-call-backend without the leading vc-.
    (vc-process-filter): New function.
    (vc-do-command): Setup `vc-process-filter' for the async process.
    (vc-maybe-resolve-conflicts): New function to reduce
    code-duplication.  Additionally, it puts the buffer in
    `smerge-mode' if applicable.
    (vc-next-action-on-file): Use `vc-maybe-resolve-conflicts' after
    calling `merge-news'.
    (vc-merge): Use `vc-maybe-resolve-conflicts' after calling
    (vc-log-edit): New function.  Replacement for `vc-log-mode' by
    interfacing to log-edit.el.
    (vc-start-entry): Call `vc-log-edit' instead of `vc-log-mode' if
    log-edit is available.
    (vc-resolve-conflicts): Delegate to `smerge-ediff' if available.
    (vc-register): Remove `vc-buffer-backend' setup.
    (vc-log-mode-map): New name for vc-log-entry-mode and merge the
    defvar and the initialization.
    (vc-log-mode): Minor docstring fix and use vc-log-mode-map.
    (vc-file-clear-masterprops): Removed.
    (vc-checkin, vc-revert-buffer): Removed calls to the above.
    (vc-version-diff): Use buffer-size without argument.
    (vc-register): Heed vc-initial-comment.
    (vc-workfile-unchanged-p): Remove unused argument
    `want-differences-if-changed' and simplify.
    (vc-next-action-on-file) [needs-merge]: Resynch the buffer.
    (vc-revert-buffer): Use `unchanged-p' rather than vc-diff's status
    output (which is invalid for async vc-diff) to decide whether to
    do the revert silently or not.
    (with-vc-file, vc-next-action, vc-version-diff)
    (vc-dired-mark-locked): Replaced usage of vc-locking-user with
    vc-state or vc-up-to-date-p.
    (vc-merge): Use vc-backend-defines to check whether merging is
    possible.  Set state to 'edited after successful merge.
    (vc-recompute-state, vc-next-action-on-file): Update to
    new `vc-state' semantics.
    (vc-finish-steal): Set 'vc-state to 'edited rather than setting
    'vc-locking-user to the current user.
    (vc-merge): Inline vc-backend-merge.  Comment out code that I
    don't understand and hence can't adapt to the new `vc-state' and
    `vc-locking-user' semantics.
    (vc-backend-merge): Remove.
    (vc-do-command): kill-all-local-variables, to reset any
    major-mode in which the buffer might have been put earlier.  Use
    `remove' and `when'.  Allow `okstatus' to be `async' and use
    `start-process' in this case.
    (vc-version-diff): Handle the case where the diff looks empty
    because of the use of an async process.
    (vc-next-action-on-file): Removed optional parameter
    `simple'.  Recompute state unconditionally.
    (vc-default-toggle-read-only): Removed.
    (vc-backend-dispatch, vc-annotate-mode-syntax-table):
    (vc-prefix-map): Move from vc-hooks.el and make autoloaded.
    (vc-release-greater-or-equal-p): Move to vc-rcs.el.
    (vc-file-clear-masterprops): Braindead "fix".  It was a nop and
    still is. So maybe it should be removed.
    (vc-head-version, vc-find-binary): Remove.
    (vc-recompute-state): Move from vc-hooks.el.
    (vc-next-action-on-file): Add a `simple' argument to allow
    avoiding the `recompute' step (use for vc-cvs-simple-toggle).
    (vc-default-toggle-read-only, vc-default-record-rename): New
    (vc-next-action, vc-dired-hook): Use vc-state instead of
    (vc-dired-mode-map): Properly defvar it.
    (vc-print-log): Call log-view-mode if available.
    (small-temporary-file-directory): defvar instead of use boundp.
    (vc-merge-news): Moved to vc-cvs.el.
    (vc-default-merge-news): New function.
    (function' quotes.
    (vc-annotate-mode-map, vc-annotate-mode-syntax-table): Initialize
    directly in the defvar.
    (vc-do-command): Bind inhibit-read-only so as to properly handle
    the case where the destination buffer has been made read-only.
    (vc-diff): Delegate to vc-version-diff in all cases.
    (vc-version-diff): Setup the *vc-diff* buffer as was done in
    (vc-annotate-mode-variables): Removed (code moved partly to
    defvars and partly to vc-annotate-add-menu).
    (vc-annotate-mode): Turned into a derived-mode.
    (vc-annotate-add-menu): Moved in code in
    (vc-update-change-log): Use make-temp-file if available.
    (vc-next-action-on-file): Added handling of state
    (vc-checkout-carefully): Is now practically obsolete, unless the
    above is too slow to be enabled unconditionally.
    (vc-update-change-log): Fixed typo.
    (vc-responsible-backend): New function.
    (vc-register): Largely rewritten.
    (vc-admin): Removed (implementation moved into vc-register).
    (vc-checkin): Redocumented.
    (vc-finish-logentry): If no backend defined yet (because we are in
    the process of registering), use the responsible backend.
     Updated callers of `vc-checkout-required' to use
    (vc-backend-release, vc-backend-release-p): Functions
    moved into vc-rcs.el
    (vc-backend-revert): Function moved into `vc-revert';
    `vc-next-action' must be updated to accomodate this change.
    (vc-backend-steal): Function moved into `vc-finish-steal'.
    (vc-backend-logentry-check): Function moved into
    (vc-backend-printlog): Function moved into `vc-print-log'.
    (vc-backend-uncheck): Function moved into `vc-cancel-version'.
    (vc-backend-assign-name): Function moved into
    (vc-workfile-unchanged-p,vc-diff,vc-version-diff): Updated
    to use the vc-BACKEND-diff functions instead; `vc-diff' is now
     Typo fixed.  This checkin is made with our new VC code
    base for the very first time.  A simple `(vc-checkin
    (buffer-file-name))' was used to perform it.
    (vc-checkin): Merged with `vc-backend-checkin' and updated
    to match the split into various backends.
    (vc-backend-checkin): Removed.  Merged with `vc-checkin'.
    (vc-retrieve-snapshot): Bug fix.
    (vc-next-action-on-file): Bug found and fixed.
    (vc-checkout, vc-version-other-window, vc-retrieve-snapshot)
    (vc-cancel-version): Handle of vc-BACKEND-checkout updated.
    (vc-next-action-on-file): Rewritten for the new state model.
    (vc-backend-merge-news): Renamed to `vc-merge-news'.  (Specific parts
    still need to be split, and implemented for RCS).
    (vc-admin): Updated to handle selection of appropriate
    backend.  Current implementation is crufty and need re-thinking.
    (vc-annotate-get-backend, vc-annotate-display-default)
    (vc-annotate-add-menu, vc-annotate, vc-annotate-display): Annotate
    functionality updated quite a lot to support multiple backends.
    Variables `vc-annotate-mode', `vc-annotate-buffers',
    `vc-annotate-backend' added.
    `vc-uses-locking' to `vc-checkout-required'.  Renamed the `locked'
    state to `reserved'.
    (vc-update-change-log): Use small-temporary-file-directory,
    if defined.  (Merged from main line, slightly adapted.)
     Split the annotate feature into a BACKEND specific part
    and moved it from the vc-cvs.el file to this one.
    (vc-resynch-window): Added TODO comment: check for
    interaction with view mode according to recent RCS change.
    (vc-backend-merge-news): Merged "CMUP" patch from mainline.
     Converted the remaining function comments to
    documentation strings.
    (vc-backend-release, vc-release-greater-or-equal)
    (vc-backend-release-p, vc-trunk-p, vc-branch-p, vc-branch-part)
    (vc-minor-part, vc-previous-version): Functions that operate and
    compare revision numbers got proper documentation.  Comments added
    about their possible removal.
    (vc-latest-on-branch-p): Function removed and replaced in
    the vc-backend.el files.
    (vc-backend-diff): Function removed and placed in the
    backend files.
    (vc-backend-checkout): Function removed and replaced in
    the vc-backend.el files.
    (vc-backend-admin): Removed and replaced in the
    vc-backend.el files.
    (Martin): Removed all the annotate functionality since it
    is CVS backend specific.
     [Merged from mainline.]
    (vc-dired-mode): Make the dired-move-to-filename-regexp
    regexp match the date, to avoid treating date as file size.
    Add YYYY S option to WESTERN/
     Require `compile' when compiling.
    (vc-logentry-check-hook): New option.
    (vc-steal-lock): Use compose-mail.
    (vc-dired-mode-map): Defvar when compiling.
    (vc-add-triple, vc-record-rename, vc-lookup-triple): Moved to
    vc-sccs.el and renamed.  Callers changed.
    (vc-backend-checkout, vc-backend-logentry-check)
    (vc-backend-merge-news): Doc fix.
    (vc-default-logentry-check): New function.
    (vc-backend-checkin, vc-backend-revert, vc-backend-steal)
    (vc-backend-uncheck, vc-backend-print-log, vc-backend-assign-name)
    (vc-backend-merge): Doc fix.  Use backend functions.
    (vc-check-headers): Use backend functions.
    (vc-backend-release): Call vc-system-release.
    (vc-rcs-release, vc-cvs-release, vc-sccs-release): Moved to
    backend files.
    (vc-backend-release): Dispatch to backend functions.
    (vc-backend-release-p): Don't mention CVS, RCS.  [The SCCS case
    probably needs attention.]
    (vc-dired-mode, vc-dired-reformat-line, vc-dired-purge):
    Doc fix.
    (vc-fetch-cvs-status): Moved to vc-cvs.el and renamed.
    (vc-default-dired-state-info): New function.
    (vc-dired-state-info): Dispatch to backends.
    (vc-dired-hook): Doc fix.  Simplify, pending removal of CVS specifics.
    (vc-file-clear-masterprops, vc-latest-on-branch-p)
    (vc-version-other-window, vc-backend-assign-name): Removed
    references to vc-latest-version; sometimes changed into
    (with-vc-file, vc-next-action-on-file, vc-merge)
    (vc-backend-checkout): Changed calls to `vc-checkout-model' to
    (vc-fetch-cvs-status): Use renamed vc-cvs-parse-status.
     Some doc fixes for autoloaded and interactive functions.
    Fix compilation warnings from ediff stuff.
    (vc-rcs-release, vc-cvs-release, vc-sccs-release): Custom fix.
     This is 1999-03-13T05:04:24Z!kwzh@gnu.org from the emacs sources
vc.el 113 KB