* vc/vc-hooks.el (vc-state, vc-working-revision):
Use `vc-responsible-backend' in order to support unregistered files.
* vc/vc-rcs.el (vc-rcs-fetch-master-state):
* vc/vc-sccs.el (vc-sccs-working-revision): Handle undefined
master name.
* vc/vc-rcs.el (vc-rcs-unregister): Support unregistered files.
* vc/vc-src.el (vc-src-working-revision): Do not return an empty string.
This also removes switch "-C -C" from vc-git-annotate-command.
Fixes: debbugs:17945
* vc/vc.el (vc-annotate-switches): New defcustom.
* vc/vc-bzr.el (vc-bzr-annotate-switches): New defcustom.
(vc-bzr-annotate-command): Use it.
* vc/vc-cvs.el (vc-cvs-annotate-switches): New defcustom.
(vc-cvs-annotate-command): Use it.
* vc/vc-git.el (vc-git-annotate-switches): New defcustom.
(vc-git-annotate-command): Use it.
* vc/vc-hg.el (vc-hg-annotate-switches): New defcustom.
(vc-hg-annotate-command): Use it.
* vc/vc-mtn.el (vc-mtn-annotate-switches): New defcustom.
(vc-mtn-annotate-command): Use it.
* vc/vc-svn.el (vc-svn-annotate-switches): New defcustom.
(vc-svn-annotate-command): Use it.
Remove lines from lisp/vc/vc-bzr.el again that were accidentally
restored in commit 2015-01-17T09:56:45!ulm@gentoo.org.
(Previously removed in commit 2014-12-01T13:24:27Z!esr@thyrsus.com.)
* version.el (emacs-bzr-version-dirstate, emacs-bzr-version-bzr):
Remove.
(emacs-repository-get-version): Discard the Bazaar case.
* vc/vc-bzr.el (vc-bzr-version-dirstate): Rename from
emacs-bzr-version-dirstate and move from version.el to here.
(vc-bzr-working-revision): Use it.
* lisp/vc/compare-w.el: Require diff-mode for diff faces.
(compare-windows-removed, compare-windows-added): New faces
inheriting from diff faces.
(compare-windows): Define obsolete face alias.
(compare-windows-highlight): Replace face `compare-windows' with
new faces `compare-windows-added' and `compare-windows-removed'.
(compare-windows-get-recent-window): Signal an error when
no other window is found.
Fixes: debbugs:19451
* vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el,
vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: rrollback
method removed, to be replaced in the future by uncommit.
* lisp/fringe.el (fringe-bitmap-p): Make it a plain function.
* lisp/tooltip.el (tooltip-region-active-p): Remove.
* lisp/net/shr.el (shr-char-breakable-p, shr-char-kinsoku-bol-p)
(shr-char-kinsoku-eol-p, shr-char-nospace-p): Use define-inline.
* lisp/url/url-future.el (url-future-done-p, url-future-completed-p)
(url-future-errored-p, url-future-cancelled-p):
* lisp/url/url-dav.el (url-dav-http-success-p): Use define-inline.
* lisp/vc/ediff-init.el (ediff-odd-p): Remove.
(ediff-background-face): Use cl-oddp instead.
(ediff-buffer-live-p): Make it a defsubst.
* lisp/vc/compare-w.el (compare-windows-get-window-function):
New defcustom.
(compare-windows-get-recent-window)
(compare-windows-get-next-window): New functions.
(compare-windows, compare-windows-sync-default-function):
Use `compare-windows-get-window-function' instead of `next-window'.
(compare-windows): Add diff/match messages with region boundaries.
Fixes: debbugs:19170
Saving a buffer visiting a file under SVN control would hang if the
remote repository were unreachable, because the VC hooks tried to run
"svn status -u" on the file, where the "-u" tells svn to get update
information from the remote repository.
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html
* vc/vc-svn.el (vc-svn-state): Remove optional `localp' argument
and always pass "-v" to "svn status", never "-u".
* vc.el, all backends: API simplification: Remove 4th 'default-state'
argument from vc-dir-status files and its backend methods - no backend
method ever set it. It was used only in the fallback method to to set
a default of 'up-to-date, though a convoluted call chain obscured
this.
* vc/vc.el and all backends: API simplification; clear-headers is no
longer a public method. It is now local to the one place it's used,
in the RCS steal-lock method.
* lisp/vc/vc.el (vc-find-conflicted-file): Look for conflicted files in the
current "project" rather than just the current directory.
* lisp/vc/vc-git.el (vc-git-conflicted-files): Clarify in which directory
the file names make sense.
* vc/vc.el, vc/vc-cvs.el, vc/vc-rcs.el, vc/vc-svn.el: The 'merge'
backend method of RCS/CVS/SVN is now 'merge-file', to contrast with
'merge-branch'. Prompting for merge revisions is pushed down to the
back ends; this fixes a layering violation that caused bad behavior
with SVN.
* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-stay-local-p and repository-hostname are no longer public
methods. Only the CVS and SVN backends used these, and the SVN
support was conditioned out because svn status -v is too slow.
The CVS back end retaiin this machibery and the vc-stay-local
configuration variable now only affects it.