* lisp/vc/vc-arch.el (vc-exec-after): Declare.
(vc-switches): Autoload.
* lisp/vc/vc-bzr.el: No need to require vc when compiling.
(vc-exec-after, vc-set-async-update, vc-default-dir-printer)
(vc-resynch-buffer, vc-dir-refresh): Declare.
(vc-setup-buffer, vc-switches): Autoload.
* lisp/vc/vc-dir.el (desktop-missing-file-warning): Declare.
* lisp/vc/vc-mtn.el (vc-exec-after): Declare.
(vc-switches): Autoload.
* lisp/vc/vc-rcs.el (vc-expand-dirs, vc-switches)
(vc-tag-precondition, vc-buffer-sync, vc-rename-master): Autoload.
(vc-file-tree-walk): Declare.
* lisp/vc/vc-svn.el (vc-exec-after): Declare.
(vc-switches, vc-setup-buffer): Autoload.
* lisp/obsolete/vc-mcvs.el (vc-checkout, vc-switches, vc-default-revert):
Autoload.
(vc-resynch-buffer): Declare.
2013-05-28 Glenn Morris <rgm@gnu.org>
+ * vc/vc-arch.el (vc-exec-after): Declare.
+ (vc-switches): Autoload.
+ * vc/vc-bzr.el: No need to require vc when compiling.
+ (vc-exec-after, vc-set-async-update, vc-default-dir-printer)
+ (vc-resynch-buffer, vc-dir-refresh): Declare.
+ (vc-setup-buffer, vc-switches): Autoload.
+ * vc/vc-dir.el (desktop-missing-file-warning): Declare.
+ * vc/vc-mtn.el (vc-exec-after): Declare.
+ (vc-switches): Autoload.
+ * vc/vc-rcs.el (vc-expand-dirs, vc-switches)
+ (vc-tag-precondition, vc-buffer-sync, vc-rename-master): Autoload.
+ (vc-file-tree-walk): Declare.
+ * vc/vc-svn.el (vc-exec-after): Declare.
+ (vc-switches, vc-setup-buffer): Autoload.
+ * obsolete/vc-mcvs.el (vc-checkout, vc-switches, vc-default-revert):
+ Autoload.
+ (vc-resynch-buffer): Declare.
+
* obsolete/fast-lock.el (byte-compile-warnings):
Don't warn about obsolete features in this obsolete file.
'up-to-date
'edited)))))))))
+;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher.
+(declare-function vc-exec-after "vc-dispatcher" (code))
+
(defun vc-arch-dir-status (dir callback)
"Run 'tla inventory' for DIR and pass results to CALLBACK.
CALLBACK expects (ENTRIES &optional MORE-TO-COME); see
(message "There are unresolved conflicts in %s"
(file-name-nondirectory rej))))))
+(autoload 'vc-switches "vc")
+
(defun vc-arch-checkin (files rev comment)
(if rev (error "Committing to a specific revision is unsupported"))
;; FIXME: This implementation probably only works for singleton filesets
(eval-when-compile
(require 'cl-lib)
- (require 'vc) ;; for vc-exec-after
- (require 'vc-dir))
+ (require 'vc-dir)) ; vc-dir-at-event
;; Clear up the cache to force vc-call to check again and discover
;; new functions when we reload this file.
("^Using saved parent location: \\(.+\\)" 1 nil nil 0))
"Value of `compilation-error-regexp-alist' in *vc-bzr* buffers.")
+;; Follows vc-bzr-(async-)command, which uses vc-do-(async-)command
+;; from vc-dispatcher.
+(declare-function vc-exec-after "vc-dispatcher" (code))
+;; Follows vc-exec-after.
+(declare-function vc-set-async-update "vc-dispatcher" (process-buffer))
+
(defun vc-bzr-pull (prompt)
"Pull changes into the current Bzr branch.
Normally, this runs \"bzr pull\". However, if the branch is a
(2 'change-log-email))
("^ *timestamp: \\(.*\\)" (1 'change-log-date-face)))))))
+(autoload 'vc-setup-buffer "vc-dispatcher")
+
(defun vc-bzr-print-log (files buffer &optional shortlog start-revision limit)
"Print commit log associated with FILES into specified BUFFER.
If SHORTLOG is non-nil, use --line format.
(goto-char (point-min)))
found)))
+(autoload 'vc-switches "vc")
+
(defun vc-bzr-diff (files &optional rev1 rev2 buffer)
"VC bzr backend for diff."
(let* ((switches (vc-switches 'bzr 'diff))
(:conc-name vc-bzr-extra-fileinfo->))
extra-name) ;; original name for rename targets, new name for
+(declare-function vc-default-dir-printer "vc-dir" (backend fileentry))
+
(defun vc-bzr-dir-printer (info)
"Pretty-printer for the vc-dir-fileinfo structure."
(let ((extra (vc-dir-fileinfo->extra info)))
'help-echo shelve-help-echo
'face 'font-lock-variable-name-face))))))
+;; Follows vc-bzr-command, which uses vc-do-command from vc-dispatcher.
+(declare-function vc-resynch-buffer "vc-dispatcher"
+ (file &optional keep noquery reset-vc-info))
+
(defun vc-bzr-shelve (name)
"Create a shelve."
(interactive "sShelf name: ")
(match-string 1)
(error "Cannot find shelf at point"))))
+;; vc-bzr-shelve-delete-at-point must be called from a vc-dir buffer.
+(declare-function vc-dir-refresh "vc-dir" ())
+
(defun vc-bzr-shelve-delete-at-point ()
(interactive)
(let ((shelve (vc-bzr-shelve-get-at-point (point))))
"Auxiliary information to be saved in desktop file."
(cons (desktop-file-name default-directory dirname) vc-dir-backend))
+(defvar desktop-missing-file-warning)
+
(defun vc-dir-restore-desktop-buffer (_filename _buffername misc-data)
"Restore a `vc-dir' buffer specified in a desktop file."
(let ((dir (car misc-data))
((match-end 2) (push (list (match-string 3) 'added) result))))
(funcall update-function result)))
+;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher.
+(declare-function vc-exec-after "vc-dispatcher" (code))
+
(defun vc-mtn-dir-status (dir update-function)
(vc-mtn-command (current-buffer) 'async dir "status")
(vc-exec-after
;; (defun vc-mtn-show-log-entry (revision)
;; )
+(autoload 'vc-switches "vc")
+
(defun vc-mtn-diff (files &optional rev1 rev2 buffer)
"Get a difference report using monotone between two revisions of FILES."
(apply 'vc-mtn-command (or buffer "*vc-diff*") 1 files "diff"
(vc-rcs-state file))))
(vc-rcs-state file)))))
+(autoload 'vc-expand-dirs "vc")
+
(defun vc-rcs-dir-status (dir update-function)
;; FIXME: this function should be rewritten or `vc-expand-dirs'
;; should be changed to take a backend parameter. Using
;; RCS is totally file-oriented, so all we have to do is make the directory.
(make-directory "RCS"))
+(autoload 'vc-switches "vc")
+
(defun vc-rcs-register (files &optional rev comment)
"Register FILES into the RCS version-control system.
REV is the optional revision number for the files. COMMENT can be used
;;; Tag system
;;;
+(autoload 'vc-tag-precondition "vc")
+(declare-function vc-file-tree-walk "vc" (dirname func &rest args))
+
(defun vc-rcs-create-tag (dir name branchp)
(when branchp
(error "RCS backend does not support module branches"))
(t "rcs2log")))
"Path to the `rcs2log' program (normally in `exec-directory').")
+(autoload 'vc-buffer-sync "vc-dispatcher")
+
(defun vc-rcs-update-changelog (files)
"Default implementation of update-changelog.
Uses `rcs2log' which only works for RCS and CVS."
nil t)
(replace-match "$\\1$"))))
+(autoload 'vc-rename-master "vc")
+
(defun vc-rcs-rename-file (old new)
;; Just move the master file (using vc-rcs-master-templates).
(vc-rename-master (vc-name old) new vc-rcs-master-templates))
(setq result (cons (list filename state) result)))))
(funcall callback result)))
+;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher.
+(declare-function vc-exec-after "vc-dispatcher" (code))
+
(defun vc-svn-dir-status (dir callback)
"Run 'svn status' for DIR and update BUFFER via CALLBACK.
CALLBACK is called as (CALLBACK RESULT BUFFER), where
(vc-svn-command "*vc*" 0 "." "checkout"
(concat "file://" default-directory "SVN")))
+(autoload 'vc-switches "vc")
+
(defun vc-svn-register (files &optional rev comment)
"Register FILES into the SVN version-control system.
The COMMENT argument is ignored This does an add but not a commit.
(require 'add-log)
(set (make-local-variable 'log-view-per-file-logs) nil))
+(autoload 'vc-setup-buffer "vc-dispatcher")
+
(defun vc-svn-print-log (files buffer &optional shortlog start-revision limit)
"Print commit log associated with FILES into specified BUFFER.
SHORTLOG is ignored.