1. 04 Sep, 2000 21 commits
    • Gerd Moellmann's avatar
      (vc-cvs-show-log-entry): New function. · c1b25099
      Gerd Moellmann authored
      (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
      (vc-cvs-parse-entry): New function, also to be used in
      (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-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): 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
      (tail): Provide vc-cvs.
      (vc-cvs-merge-news, vc-cvs-checkout): Removed call to
      (vc-cvs-state): Typo.
      (vc-cvs-merge-news): Return the status code rather than the error
      (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
      (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
      (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.
      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.
      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.
    • Gerd Moellmann's avatar
      (vc-rcs-show-log-entry): New function. · d8aff077
      Gerd Moellmann authored
      (vc-rcs-checkin, vc-rcs-checkout): Don't set all properties.
      (vc-rcs-register): If there is no RCS subdir, ask the
      user whether to create one.
      (vc-rcs-state-heuristic): Use
      (vc-rcs-checkout): Remove the error-handling for missing-rcs.
      (vc-rcs-state-heuristic): Don't use file-writable-p.
      (vc-rcs-print-log): Insert in the current buffer.
      (vc-rcs-diff): Insert in the current buffer and remove unused arg
      (vc-rcs-workfile-unchanged-p): Use vc-do-command
      instead of vc-simple-command.
      (vc-rcs-fetch-master-state): Removed check for unlocked-changes to
      avoid doing a diff when opening a file.
      (vc-rcs-state): Added check for unlocked-changes.
      (vc-rcs-header): Escape Id.
      (vc-rcs-workfile-unchanged-p): Remove optional arg VERSION.
      (vc-rcs-state): Call vc-workfile-unchanged-p, not the RCS-specific
      (vc-rcs-state-heuristic): Use file-writable-p instead
      of comparing userids.
      (vc-rcs-fetch-master-state): Handle the case where rcs is missing.
      Simplify the logic by eliminating unreachable code.
      (vc-rcs-diff): Only pass `2' to vc-do-command if necessary and
      just do a recursive call if we need to retry.
      (vc-rcs-checkout): Handle the case where rcs is missing by making
      the buffer read-write if requested and re-signalling the error.
      (vc-rcs-find-most-recent-rev): New function.  The code
      derives from the old vc-parse-buffer but uses the revision number
      rather than the date (much easier to compare robustly).
      (vc-rcs-fetch-master-state): Use `with-temp-buffer'.  Adapt to the
      new vc-parse-buffer (and vc-rcs-find-most-recent-rev).  Find the
      locking-user more directly.  Check strict locking and set
      checkout-model appropriately.
      (vc-rcs-parse-locks): Remove.
      (vc-rcs-latest-on-branch-p): Use with-temp-buffer and adapt to the
      new vc-parse-buffer (and vc-rcs-find-most-recent-rev).
      (vc-rcs-system-release): Use with-current-buffer and
      (vc-rcs-register, vc-rcs-checkout): Use with-current-buffer.
       Merge in code
      from vc-rcs-hooks.el.  Don't require 'vc anymore.
      (vc-rcs-responsible-p): Use expand-file-name instead of concat and
      file-directory-p instead of file-exists-p.
      (vc-rcs-exists): Remove.
      (vc-rcs-header): New var.
       Update Copyright.
      (vc-rcs-rename-file): New function.
      (vc-rcs-diff): Remove unused `backend' variable.
      (vc-rcs-clear-headers): New function; code moved here
      from vc-clear-headers in vc.el.
      (tail): Provide vc-rcs and remove vc-rcs-logentry-check.
      (vc-rcs-register): Parse command output to find master
      file name and workfile version.
      (vc-rcs-checkout): Removed call to vc-file-clear-masterprops.
       Require vc and vc-rcs-hooks.
      (vc-rcs-trunk-p, vc-rcs-branch-part): Move to vc-rcs-hooks.
      (vc-rcs-backend-release-p): Remove (use vc-rcs-release-p).
      (vc-release-greater-or-equal-p): Move from vc.
      (vc-rcs-trunk-p, vc-rcs-branch-p, vc-rcs-branch-part,
      vc-rcs-minor-part, vc-rcs-previous-version): Remove duplicates.
      (vc-rcs-checkout): Add a missing `new-version' argument in the
      call to vc-rcs-latest-on-branch-p.  Hopefully that was the right
      (vc-rcs-steal-lock): Renamed from `vc-rcs-steal'.
       Updated everything to use `vc-checkout-model'.
      (vc-rcs-backend-release-p): function added.  other
      stuff updated to reference this function instead of the old
      (vc-rcs-logentry-check): Function added.
      (vc-rcs-checkin, vc-rcs-previous-version)
      (vc-rcs-checkout): Name space cleaned up.  No more revision number
      crunching function names that are not prefixed with vc-rcs.
      (vc-rcs-checkout-model): Function added.  References to
      `vc-checkout-model' replaced.
      (vc-rcs-admin): Added the query-only option as
      required by the vc.el file.
      (vc-rcs-exists): Function added.
      Use with-temp-file instead of /bin/sh.  Merged from mainline
      (vc-rcs-latest-on-branch-p): Moved to vc-rcs-hooks.el.
      (vc-rcs-latest-on-branch-p, vc-rcs-trunk-p)
      (vc-rcs-branch-p, vc-rcs-branch-part, vc-rcs-minor-part)
      (vc-rcs-previous-version): Functions added.
      (vc-rcs-diff): Function added.
      (vc-rcs-checkout) Bug (typo) found and fixed.
      (vc-rcs-register-switches) Variable `vc-rcs-register-switches' added.
       Require vc when compiling.
      (vc-rcs-print-log, vc-rcs-assign-name, vc-rcs-merge)
      (vc-rcs-check-headers, vc-rcs-steal, vc-rcs-uncheck, vc-rcs-revert)
      (vc-rcs-checkin): New functions (code from vc.el).
      (vc-rcs-previous-version, vc-rcs-system-release, vc-rcs-checkout):
      Doc fix.
      (vc-rcs-release): Deleted.  (Duplicated vc-rcs-system-release).
      (vc-rcs-trunk-p, vc-rcs-branch-p, vc-rcs-branch-part)
      (vc-rcs-minor-part, vc-rcs-previous-version, vc-rcs-release)
      (vc-rcs-release-p, vc-rcs-admin, vc-rcs-checkout): New functions
      from vc.el.
      Renamed from vc-rcs-backend-release.
    • Gerd Moellmann's avatar
      Minor doc fixes. · 0e0d9831
      Gerd Moellmann authored
      (vc-default-mode-line-string): Show state
      `needs-patch' as a `-' too.
      (vc-after-save): Call vc-dired-resynch-file.
      (vc-file-not-found-hook): Ask the user whether to
      check out a non-existing file.
      (vc-find-backend-function): If function doesn't
      exist, return nil instead of error.
      (vc-call-backend): Doc fix.
      (vc-prefix-map): Move the autoload from vc.el.
      (vc-simple-command): Removed.
      (vc-handled-backends): Docstring change.
      (vc-ignore-vc-files): Mark obsolete.
      (vc-registered): Check vc-ignore-vc-files.
      (vc-find-file-hook, vc-file-not-found-hook): Don't check
      (vc-parse-buffer): Lobotomize the monster.
      (vc-simple-command): Docstring fix.
      (vc-registered): Align the way the file-handler is called with the
      way the function itself works.
      (vc-file-owner): Remove.
      (vc-header-alist): Move the dummy def from vc.el.
      (vc-backend-hook-functions): Remove.
      (vc-find-backend-function): Don't try to load vc-X-hooks anymore.
      (vc-backend): Reintroduce the test for `file = nil' now that I
      know why it was there (and added a comment to better remember).
       Update Copyright.
      (vc-backend): Don't accept a nil argument any more.
      (vc-up-to-date-p): Turn into a defsubst.
      (vc-possible-master): New function.
      (vc-check-master-templates): Use `vc-possible-master' and allow
      funs in vc-X-master-templates to return a non-existent file.
      (vc-loadup): Remove.
      (vc-find-backend-function): Use `require'.  Also, handle the case
      where vc-BACKEND-hooks.el doesn't exist.
      (vc-call-backend): Cleanup.
      (vc-find-backend-function): Return a cons cell if
      using the default function.
      (vc-call-backend): If calling the default function, pass it the
      backend as first argument.  Update the docstring accordingly.
      (vc-default-state-heuristic, vc-default-mode-line-string): Update
      for the new backend argument.
      (vc-make-backend-sym): Renamed from vc-make-backend-function.
      (vc-find-backend-function): Use the new name.
      (vc-default-registered): New function.
      (vc-backend-functions): Remove.
      (vc-loadup): Don't setup 'vc-functions.
      (vc-find-backend-function): New function.
      (vc-call-backend): Use above fun and populate 'vc-functions
      (vc-backend-defines): Remove.
      (vc-backend-hook-functions, vc-backend-functions)
      (vc-make-backend-function, vc-call): Pass names without leading
      `vc-' to vc-call-backend so we can blindly prefix them with
      (vc-loadup): Don't load vc-X-hooks if vc-X is requested.
      (vc-call-backend): Always try to load vc-X-hooks.
      (vc-registered): Remove vc- in call to vc-call-backend.
      (vc-default-back-end, vc-buffer-backend): Remove.
      (vc-kill-buffer-hook): Remove `vc-buffer-backend' handling.
      (vc-loadup): Load files quietly.
      (vc-call-backend): Oops, brain fart.
      (vc-locking-user): If locked by the calling user,
      return that name.  Redocumented.
      (vc-user-login-name): Simplify the code a tiny bit.
      (vc-state): Don't use 'reserved any more.  Just use the same
      convention as the one used for vc-<backend>-state where the
      locking user (as a string) is returned.
      (vc-locking-user): Update, based on the above convention. The
      'vc-locking-user property has disappeared.
      (vc-mode-line, vc-default-mode-line-string): Adapt to new
      (vc-backend-functions): Removed vc-toggle-read-only.
      (vc-toggle-read-only): Undid prev change.
      (vc-master-templates): Def the obsolete var.
      (vc-file-prop-obarray): Use `make-vector'.
      (vc-backend-functions): Add new hookable functions
      vc-toggle-read-only, vc-record-rename and vc-merge-news.
      (vc-loadup): If neither backend nor default functions exist, use
      the backend function rather than nil.
      (vc-call-backend): If the function if not bound yet, try to load
      the non-hook file to see if it provides it.
      (vc-call): New macro plus use it wherever possible.
      (vc-backend-subdirectory-name): Use neither `vc-default-back-end'
      nor `vc-find-binary' since it's only called from
      vc-mistrust-permission which is only used once the backend is
      (vc-checkout-model): Fix parenthesis.
      (vc-recompute-state, vc-prefix-map): Move to vc.el.
      (vc-backend-functions): Renamed `vc-steal' to
      (vc-call-backend): Changed error message.
      (vc-state): Added description of state `unlocked-changes'.
      (vc-backend-hook-functions, vc-backend-functions):
      Updated function lists.
      (vc-call-backend): Fixed typo.
      (vc-backend-hook-functions): Renamed vc-uses-locking
      to vc-checkout-model.
      (vc-checkout-required): Renamed to vc-checkout-model.
      Re-implemented and re-commented.
      (vc-after-save): Use vc-checkout-model.
      (vc-backend-functions): Added `vc-diff' to the list
      of functions possibly implemented in a vc-BACKEND library.
      (vc-checkout-required): Bug fixed that caused an error to be
      signaled during `vc-after-save'.
      (vc-backend-hook-functions): `vc-checkout-required'
      updated to `vc-uses-locking'.
      (vc-checkout-required): Call to backend function
      `vc-checkout-required' updated to `vc-uses-locking' instead.
      (vc-parse-buffer): Bug found and fixed.
      (vc-backend-functions): `vc-annotate-command',
      `vc-annotate-difference' added to supported backend functions.
       vc-state-heuristic added to
       Implemented new state model.
      (vc-state, vc-state-heuristic, vc-default-state-heuristic): New
      (vc-locking-user): Simplified.  Now only needed if the file is
      locked by somebody else.
      (vc-lock-from-permissions): Removed.  Functionality is in
      vc-sccs-hooks.el and vc-rcs-hooks.el now.
      (vc-mode-line-string): New name for former vc-status.  Adapted.
      (vc-mode-line): Adapted to use the above.  Removed optional
      (vc-master-templates): Is really obsolete.
      Commented out the definition for now.  What is the right procedure
      to get rid of it?
      (vc-registered, vc-backend, vc-buffer-backend, vc-name): Largely
      (vc-default-registered): Removed.
      (vc-check-master-templates): New function; does mostly what the
      above did before.
      (vc-locking-user): Don't rely on the backend to set the property.
      (vc-latest-version, vc-your-latest-version): Removed.
      (vc-backend-hook-functions): Removed them from this list, too.
      (vc-fetch-properties): Removed.
      (vc-workfile-version): Doc fix.
      Moved into vc-rcs-hooks.el, under the name
      (vc-master-locks, vc-master-locking-user):
      Moved into both
      vc-rcs-hooks.el and vc-sccs-hooks.el.  These properties and access
      functions are implementation details of those two backends.
      (vc-parse-locks, vc-fetch-master-properties): Split
      into back-end specific parts and removed.  Callers not updated
      yet; because I guess these callers will disappear into back-end
      specific files anyway.
      (vc-checkout-model): Renamed to vc-uses-locking.
      Store yes/no in the property, and return t/nil.  Updated all
      (vc-checkout-model): Punt to backends.
      (vc-default-locking-user): New function.
      (vc-locking-user, vc-workfile-version): Punt to backends.
      (vc-rcsdiff-knows-brief, vc-rcs-lock-from-diff)
      (vc-master-workfile-version): Moved from vc-hooks.
      (vc-lock-file): Moved to vc-sccs-hooks and renamed.
      (vc-handle-cvs, vc-cvs-parse-status, vc-cvs-status):
      Moved to vc-cvs-hooks.
       Add doc strings in various places.  Simplify the
      minor mode setup.
      (vc-handled-backends): New user variable.
      (vc-parse-buffer, vc-insert-file, vc-default-registered): Minor
      (vc-backend-hook-functions, vc-backend-functions):
      New variable.
      (vc-make-backend-function, vc-loadup, vc-call-backend)
      (vc-backend-defines): New functions.
       Various doc fixes.
      (vc-default-back-end, vc-follow-symlinks): Custom fix.
      (vc-match-substring): Function removed.  Callers changed to use
      (vc-lock-file, vc-consult-rcs-headers, vc-kill-buffer-hook):
       vc-registered has been renamed
      vc-default-registered.  Some functions have been moved to the
      backend specific files.  they all support the
      vc-BACKEND-registered functions.
       This is 1998-11-11T18:47:32Z!kwzh@gnu.org from the emacs sources
    • Gerd Moellmann's avatar
    • 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
    • Gerd Moellmann's avatar
      (DONTCOMPILE): Fix typo in file name. · 39efdf3f
      Gerd Moellmann authored
    • Dave Love's avatar
      64-bit on Solaris now works. · c00bc844
      Dave Love authored
    • Dave Love's avatar
      (index, rindex): Prototype conditionally. · 517699ca
      Dave Love authored
    • Dave Love's avatar
      *** empty log message *** · 7d817b83
      Dave Love authored
    • Dave Love's avatar
      help-echo and menu prompts stuff · b08d86c6
      Dave Love authored
    • Dave Love's avatar
      help-echo stuff, find-image, image-size. · e3b9fc91
      Dave Love authored
    • Dave Love's avatar
      help-echo stuff · 05cae5d0
      Dave Love authored
    • Miles Bader's avatar
      (remap_menubar): · b7fa4a06
      Miles Bader authored
        Only include the menu-margin in the initial X & Y positions for
        horizontal menu-bars.
        If moving a sub-menu to the left-side, increment its x-position by the
        shadow-thickness to make it look more attached to the invoking
        menu-item (similarly to the way it would be displayed on the right side).
    • Miles Bader's avatar
    • Gerd Moellmann's avatar
      (syms_of_lread): Make Vbytecomp_version_regexp a Lisp · bb970e67
      Gerd Moellmann authored
      variable; recognize Emacs 19 elc files.
    • Miles Bader's avatar
      *** empty log message *** · 7a3d0e0e
      Miles Bader authored
    • Miles Bader's avatar
      (xmenu_show): · 357460d0
      Miles Bader authored
        Call x_set_menu_resources_from_menu_face before initially popping up
        the menu, so the menu doesn't flash when the face settings are
        significantly different from the defaults.
    • Miles Bader's avatar
    • Dave Love's avatar
      (custom-set-variables): Print message about errors in · a033ea13
      Dave Love authored
    • Dave Love's avatar
      (widget-sexp-validate): Fix garbled code. · 1d869634
      Dave Love authored
    • Stefan Monnier's avatar
      (WIDE_CHAR_SUPPORT): New macro. · 14473664
      Stefan Monnier authored
      (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
      (BIT_UNIBYTE): Remove.
      (re_match_2_internal): Delete corresponding code and streamline the
      BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
      (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
      (re_wctype_t): New type.
      (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
      (regex_compile): Use them and fix handling of overly long char classes.
  2. 03 Sep, 2000 19 commits