Provide a better header. Corrected the check whether any files were
found at all (don't display a listing in this case). Under CVS,
display cvs-status rather than vc-locking-user.
(vc-next-action-on-file): When doing a check-in in vc-dired-mode, find
the file in another window.
(vc-next-action-dired): Update dired listing while processing the
files.
(vc-next-action): Check whether a check-in comment is really needed
for this mass operation.
(vc-checkout): Resynch the buffer, even if it's not current.
(vc-dired-state-info, vc-dired-update-line): New functions.
(vc-dired-prefix-map): Added local definition for `g' and `='.
(vc-dired-reformat-line): Simplified. Erase the hardlink count from
the listing, because it doesn't relate to version control.
(vc-rcs-release, vc-cvs-release, vc-sccs-release): New variables, may
be set by the user.
(vc-backend-release, vc-release-greater-or-equal, vc-backend-release-p):
New Functions.
(vc-do-command): Allow FILE to be nil.
(vc-backend-checkin): When creating a branch, don't bother to unlock
the old version if this is RCS 5.6.2 or higher.
(vc-next-action-on-file): Allow lock-stealing only if RCS 5.6.2 or
higher.
(vc-backend-admin, vc-backend-checkin): If available, use ci -i and -j.
Updated Developer's Notes.
(vc-fetch-master-properties): CVS case: Use it.
(vc-lock-from-permissions, vc-file-owner, vc-rcs-lock-from-diff):
New functions.
(vc-locking-user): Largely rewritten. Uses the above, handles RCS
non-strict locking. Under CVS in CVSREAD-mode, learn the locking state
from the permissions.
(vc-find-cvs-master): Use vc-insert-file, rather than
find-file-noselect. Greatly speeds up things.
(vc-consult-rcs-headers): Bug fix, return status in all cases.
(compilation-sentinel): If compilation-exit-message-function is non-nil,
call it to produce messages for buffer and mode line.
(grep): Use that variable to produce snazzier messages.
added, but not yet committed.
(vc-backend-checkout): RCS case: In non-strict locking mode, force to
overwrite the writable workfile. CVS case: Do the right thing in
CVSREAD-mode.
CVS case: new state `locally-added'.
(vc-locking-user): Under RCS with non-strict locking, don't trust
the file permissions. CVS case: change which states count as
"locked".
(vc-consult-rcs-headers): Streamlined. Don't set vc-locking-user if
this is called under CVS. Under RCS, use a heuristic to find the
value of vc-checkout-model without examining the master file.
(vc-parse-locks): Set vc-checkout-model.
(vc-status): Comment change.
(vc-after-save-hook, vc-after-save): The former renamed to the
latter. Now unconditionally called by `basic-save-buffer', determines
whether the buffer should be "locked" or not.
(vc-mode-line): No longer use dynamic after-save-hook. Changed
references to `automatic' into `implicit'.
(vc-checkout-model): Values are now `manual' and `implicit'. Derive
the property on a per-file basis, supporting all possible modes.
(makefile-define-space-face): New function.
(makefile-tab-face): Variable deleted.
(makefile-define-tab-face): Function deleted.
(makefile-font-lock-keywords): Highlight leading spaces, not tabs.
(vip-read-string-with-history): minibuffer-setup-hook no longer
waits for the user to type, if there are unread events.
Harnessed view-minor-mode.
Added (vip-leave-region-active) to all simple movement commands.
since `newline-and-indent' doesn't either. Don't turn a trailing
quoted tab into a space.
(sh-mode): Use new `skeleton-newline-indent-rigidly'.
(sh-set-shell): Make maximum font-locking also hightlight keywords
after ``' and `!'. (The latter is for ksh '93 but should't hurt other
shells.)
(skeleton-internal-1): Use it for indenting after \n because previous
behaviour was only useful for `sh-script.el' and old `ada.el'. Other
modes now get their own indentation.
(skeleton, skeleton-modified, skeleton-point, skeleton-regions): `New'
variables for passing between the mutually recursive functions of
the skeleton engine. Introduced to remove compiler warnings.
(skeleton-proxy): New argument `str' to make this settable when calling
a skeleton as a function.
(skeleton-insert): New argument `str' to pass down. Element `\n'
now usually indents according to mode. Subskeletons may also have
a list of strings as iterator. Earlier modification also removed
meaning of `quit' -- I did not put it back in since it's useless.
When quitting out of a subskeleton while still wrapping around text
don't duplicate first line of that text.
(skeleton-end-hook): New hook useful say for modes that leave a `;' on
an empty line to indent right and then want to clean it up when doing
a skeleton there.
(vc-backend-checkin): Clear master properties before doing the
check-in. In the CVS case, catch error and display an appropriate
message in the echo area.
(vc-backend-revert): Clear master properties, because some might get
outdated by the operation.
(vc-backend-merge-news): Scan the output of "cvs update" and find out
whether conflicts have occurred.
(vc-finish-logentry): Delete the *VC-log* buffer *before* doing the
actual check-in. That leads to a better display in case the check-in
fails.
(vc-latest-on-branch-p): Defined it for CVS in the obvious way.
(vc-next-action-on-file): Removed special CVS cases. At this level,
CVS is now mostly handled like the other backends.
(vc-backend-checkout): CVS case: Clear sticky tag as default when
doing a verbose checkout. (This used to be done in
vc-next-action-on-file.)
(vc-locking-user): Count cvs status `unresolved-conflict' as "locked".
(vc-checkout-model): New property and access function (still simplistic).
(vc-after-save-hook): New function.
(vc-mode-line): When the file is locked by somebody else, make the
buffer read-only. (Formerly this was only done for root.) Don't
write-protect the buffer if the file is unlocked. Instead, install
vc-after-save-hook, which "locks" the file when modifications are
saved.