diff options
| author | Eric S. Raymond | 2014-12-02 10:10:55 -0500 |
|---|---|---|
| committer | Eric S. Raymond | 2014-12-02 10:11:48 -0500 |
| commit | b1a765b3a8586cd53c21579982c8fbc0ce534336 (patch) | |
| tree | 61801046859be7d78354e3031b3e1f89c125088b | |
| parent | dd601050e7db69f322eea09d99751d8e6363b153 (diff) | |
| download | emacs-b1a765b3a8586cd53c21579982c8fbc0ce534336.tar.gz emacs-b1a765b3a8586cd53c21579982c8fbc0ce534336.zip | |
In vc, abolish the dir-status method.
| -rw-r--r-- | lisp/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/vc/vc-arch.el | 5 | ||||
| -rw-r--r-- | lisp/vc/vc-bzr.el | 11 | ||||
| -rw-r--r-- | lisp/vc/vc-cvs.el | 17 | ||||
| -rw-r--r-- | lisp/vc/vc-dir.el | 2 | ||||
| -rw-r--r-- | lisp/vc/vc-git.el | 9 | ||||
| -rw-r--r-- | lisp/vc/vc-hg.el | 6 | ||||
| -rw-r--r-- | lisp/vc/vc-mtn.el | 5 | ||||
| -rw-r--r-- | lisp/vc/vc-rcs.el | 10 | ||||
| -rw-r--r-- | lisp/vc/vc-sccs.el | 10 | ||||
| -rw-r--r-- | lisp/vc/vc-src.el | 11 | ||||
| -rw-r--r-- | lisp/vc/vc-svn.el | 16 | ||||
| -rw-r--r-- | lisp/vc/vc.el | 52 |
13 files changed, 68 insertions, 89 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8226b3d3c36..364d28e1bb7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2014-12-02 Eric S. Raymond <esr@snark.thyrsus.com> | 1 | 2014-12-02 Eric S. Raymond <esr@snark.thyrsus.com> |
| 2 | 2 | ||
| 3 | * vc.el, all backends: API simplification: Abolish dir-status. | ||
| 4 | It's replaced by dir-status-files. | ||
| 5 | |||
| 3 | * vc.el, all backends: API simplification: Remove 4th | 6 | * vc.el, all backends: API simplification: Remove 4th |
| 4 | 'default-state' argument from vc-dir-status files and its backend | 7 | 'default-state' argument from vc-dir-status files and its backend |
| 5 | methods - no backend method ever set it. It was used only in the | 8 | methods - no backend method ever set it. It was used only in the |
diff --git a/lisp/vc/vc-arch.el b/lisp/vc/vc-arch.el index 1bdad2a04f9..d1344f2b1cc 100644 --- a/lisp/vc/vc-arch.el +++ b/lisp/vc/vc-arch.el | |||
| @@ -310,10 +310,11 @@ Only the value `maybe' can be trusted :-(." | |||
| 310 | 'up-to-date | 310 | 'up-to-date |
| 311 | 'edited))))))))) | 311 | 'edited))))))))) |
| 312 | 312 | ||
| 313 | ;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher. | 313 | ;; dir-status-files called from vc-dir, which loads vc, |
| 314 | ;; which loads vc-dispatcher. | ||
| 314 | (declare-function vc-exec-after "vc-dispatcher" (code)) | 315 | (declare-function vc-exec-after "vc-dispatcher" (code)) |
| 315 | 316 | ||
| 316 | (defun vc-arch-dir-status (dir callback) | 317 | (defun vc-arch-dir-status-files (dir _files callback) |
| 317 | "Run 'tla inventory' for DIR and pass results to CALLBACK. | 318 | "Run 'tla inventory' for DIR and pass results to CALLBACK. |
| 318 | CALLBACK expects (ENTRIES &optional MORE-TO-COME); see | 319 | CALLBACK expects (ENTRIES &optional MORE-TO-COME); see |
| 319 | `vc-dir-refresh'." | 320 | `vc-dir-refresh'." |
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index a534a1ced3f..1963f4e39ac 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el | |||
| @@ -967,9 +967,9 @@ stream. Standard error output is discarded." | |||
| 967 | (forward-line)) | 967 | (forward-line)) |
| 968 | (funcall update-function result))) | 968 | (funcall update-function result))) |
| 969 | 969 | ||
| 970 | (defun vc-bzr-dir-status (dir update-function) | 970 | (defun vc-bzr-dir-status-files (dir files update-function) |
| 971 | "Return a list of conses (file . state) for DIR." | 971 | "Return a list of conses (file . state) for DIR." |
| 972 | (vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S") | 972 | (apply 'vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S" files) |
| 973 | (vc-run-delayed | 973 | (vc-run-delayed |
| 974 | (vc-bzr-after-dir-status update-function | 974 | (vc-bzr-after-dir-status update-function |
| 975 | ;; "bzr status" results are relative to | 975 | ;; "bzr status" results are relative to |
| @@ -981,13 +981,6 @@ stream. Standard error output is discarded." | |||
| 981 | ;; frob the results accordingly. | 981 | ;; frob the results accordingly. |
| 982 | (file-relative-name dir (vc-bzr-root dir))))) | 982 | (file-relative-name dir (vc-bzr-root dir))))) |
| 983 | 983 | ||
| 984 | (defun vc-bzr-dir-status-files (dir files update-function) | ||
| 985 | "Return a list of conses (file . state) for DIR." | ||
| 986 | (apply 'vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S" files) | ||
| 987 | (vc-run-delayed | ||
| 988 | (vc-bzr-after-dir-status update-function | ||
| 989 | (file-relative-name dir (vc-bzr-root dir))))) | ||
| 990 | |||
| 991 | (defvar vc-bzr-shelve-map | 984 | (defvar vc-bzr-shelve-map |
| 992 | (let ((map (make-sparse-keymap))) | 985 | (let ((map (make-sparse-keymap))) |
| 993 | ;; Turn off vc-dir marking | 986 | ;; Turn off vc-dir marking |
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el index b07a05c6586..a5b50c16e09 100644 --- a/lisp/vc/vc-cvs.el +++ b/lisp/vc/vc-cvs.el | |||
| @@ -1069,13 +1069,14 @@ state." | |||
| 1069 | (if basedir result | 1069 | (if basedir result |
| 1070 | (funcall update-function result)))) | 1070 | (funcall update-function result)))) |
| 1071 | 1071 | ||
| 1072 | (defun vc-cvs-dir-status (dir update-function) | 1072 | (defun vc-cvs-dir-status-files (dir files update-function) |
| 1073 | "Create a list of conses (file . state) for DIR." | 1073 | "Create a list of conses (file . state) for FILES in DIR. |
| 1074 | ;; FIXME check all files in DIR instead? | 1074 | Query all files in DIR if files is nil." |
| 1075 | (let ((local (vc-cvs-stay-local-p dir))) | 1075 | (let ((local (vc-cvs-stay-local-p dir))) |
| 1076 | (if (and local (not (eq local 'only-file))) | 1076 | (if (and (not files) local (not (eq local 'only-file))) |
| 1077 | (vc-cvs-dir-status-heuristic dir update-function) | 1077 | (vc-cvs-dir-status-heuristic dir update-function) |
| 1078 | (vc-cvs-command (current-buffer) 'async dir "-f" "status") | 1078 | (if (not files) (setq files (vc-expand-dirs (list dir) 'CVS))) |
| 1079 | (vc-cvs-command (current-buffer) 'async dir "-f" "status" files) | ||
| 1079 | ;; Alternative implementation: use the "update" command instead of | 1080 | ;; Alternative implementation: use the "update" command instead of |
| 1080 | ;; the "status" command. | 1081 | ;; the "status" command. |
| 1081 | ;; (vc-cvs-command (current-buffer) 'async | 1082 | ;; (vc-cvs-command (current-buffer) 'async |
| @@ -1084,12 +1085,6 @@ state." | |||
| 1084 | (vc-run-delayed | 1085 | (vc-run-delayed |
| 1085 | (vc-cvs-after-dir-status update-function))))) | 1086 | (vc-cvs-after-dir-status update-function))))) |
| 1086 | 1087 | ||
| 1087 | (defun vc-cvs-dir-status-files (dir files update-function) | ||
| 1088 | "Create a list of conses (file . state) for DIR." | ||
| 1089 | (apply 'vc-cvs-command (current-buffer) 'async dir "-f" "status" files) | ||
| 1090 | (vc-run-delayed | ||
| 1091 | (vc-cvs-after-dir-status update-function))) | ||
| 1092 | |||
| 1093 | (defun vc-cvs-file-to-string (file) | 1088 | (defun vc-cvs-file-to-string (file) |
| 1094 | "Read the content of FILE and return it as a string." | 1089 | "Read the content of FILE and return it as a string." |
| 1095 | (condition-case nil | 1090 | (condition-case nil |
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index d97b9cd6a64..7e4bc13bd80 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -1097,7 +1097,7 @@ Throw an error if another update process is in progress." | |||
| 1097 | (setq default-directory def-dir) | 1097 | (setq default-directory def-dir) |
| 1098 | (erase-buffer) | 1098 | (erase-buffer) |
| 1099 | (vc-call-backend | 1099 | (vc-call-backend |
| 1100 | backend 'dir-status def-dir | 1100 | backend 'dir-status-files def-dir nil |
| 1101 | (lambda (entries &optional more-to-come) | 1101 | (lambda (entries &optional more-to-come) |
| 1102 | ;; ENTRIES is a list of (FILE VC_STATE EXTRA) items. | 1102 | ;; ENTRIES is a list of (FILE VC_STATE EXTRA) items. |
| 1103 | ;; If MORE-TO-COME is true, then more updates will come from | 1103 | ;; If MORE-TO-COME is true, then more updates will come from |
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index fad834bcee8..048857b605d 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -50,8 +50,7 @@ | |||
| 50 | ;; STATE-QUERYING FUNCTIONS | 50 | ;; STATE-QUERYING FUNCTIONS |
| 51 | ;; * registered (file) OK | 51 | ;; * registered (file) OK |
| 52 | ;; * state (file) OK | 52 | ;; * state (file) OK |
| 53 | ;; * dir-status (dir update-function) OK | 53 | ;; - dir-status-files (dir files uf) OK |
| 54 | ;; - dir-status-files (dir files uf) NOT NEEDED | ||
| 55 | ;; * working-revision (file) OK | 54 | ;; * working-revision (file) OK |
| 56 | ;; - latest-on-branch-p (file) NOT NEEDED | 55 | ;; - latest-on-branch-p (file) NOT NEEDED |
| 57 | ;; * checkout-model (files) OK | 56 | ;; * checkout-model (files) OK |
| @@ -474,15 +473,11 @@ or an empty string if none." | |||
| 474 | (vc-run-delayed | 473 | (vc-run-delayed |
| 475 | (vc-git-after-dir-status-stage stage files update-function))) | 474 | (vc-git-after-dir-status-stage stage files update-function))) |
| 476 | 475 | ||
| 477 | (defun vc-git-dir-status (_dir update-function) | 476 | (defun vc-git-dir-status-files (_dir files update-function) |
| 478 | "Return a list of (FILE STATE EXTRA) entries for DIR." | 477 | "Return a list of (FILE STATE EXTRA) entries for DIR." |
| 479 | ;; Further things that would have to be fixed later: | 478 | ;; Further things that would have to be fixed later: |
| 480 | ;; - how to handle unregistered directories | 479 | ;; - how to handle unregistered directories |
| 481 | ;; - how to support vc-dir on a subdir of the project tree | 480 | ;; - how to support vc-dir on a subdir of the project tree |
| 482 | (vc-git-dir-status-goto-stage 'update-index nil update-function)) | ||
| 483 | |||
| 484 | (defun vc-git-dir-status-files (_dir files update-function) | ||
| 485 | "Return a list of (FILE STATE EXTRA) entries for FILES in DIR." | ||
| 486 | (vc-git-dir-status-goto-stage 'update-index files update-function)) | 481 | (vc-git-dir-status-goto-stage 'update-index files update-function)) |
| 487 | 482 | ||
| 488 | (defvar vc-git-stash-map | 483 | (defvar vc-git-stash-map |
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index bfd1447aa31..7099defb37c 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el | |||
| @@ -43,7 +43,6 @@ | |||
| 43 | ;; STATE-QUERYING FUNCTIONS | 43 | ;; STATE-QUERYING FUNCTIONS |
| 44 | ;; * registered (file) OK | 44 | ;; * registered (file) OK |
| 45 | ;; * state (file) OK | 45 | ;; * state (file) OK |
| 46 | ;; - dir-status (dir update-function) OK | ||
| 47 | ;; - dir-status-files (dir files uf) OK | 46 | ;; - dir-status-files (dir files uf) OK |
| 48 | ;; - dir-extra-headers (dir) OK | 47 | ;; - dir-extra-headers (dir) OK |
| 49 | ;; - dir-printer (fileinfo) OK | 48 | ;; - dir-printer (fileinfo) OK |
| @@ -613,11 +612,6 @@ REV is the revision to check out into WORKFILE." | |||
| 613 | ;; Follows vc-exec-after. | 612 | ;; Follows vc-exec-after. |
| 614 | (declare-function vc-set-async-update "vc-dispatcher" (process-buffer)) | 613 | (declare-function vc-set-async-update "vc-dispatcher" (process-buffer)) |
| 615 | 614 | ||
| 616 | (defun vc-hg-dir-status (dir update-function) | ||
| 617 | (vc-hg-command (current-buffer) 'async dir "status" "-C") | ||
| 618 | (vc-run-delayed | ||
| 619 | (vc-hg-after-dir-status update-function))) | ||
| 620 | |||
| 621 | (defun vc-hg-dir-status-files (dir files update-function) | 615 | (defun vc-hg-dir-status-files (dir files update-function) |
| 622 | (apply 'vc-hg-command (current-buffer) 'async dir "status" "-mardui" "-C" files) | 616 | (apply 'vc-hg-command (current-buffer) 'async dir "status" "-mardui" "-C" files) |
| 623 | (vc-run-delayed | 617 | (vc-run-delayed |
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el index 85aaf3dc542..f35e87e2e2e 100644 --- a/lisp/vc/vc-mtn.el +++ b/lisp/vc/vc-mtn.el | |||
| @@ -126,10 +126,11 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." | |||
| 126 | ((match-end 2) (push (list (match-string 3) 'added) result)))) | 126 | ((match-end 2) (push (list (match-string 3) 'added) result)))) |
| 127 | (funcall update-function result))) | 127 | (funcall update-function result))) |
| 128 | 128 | ||
| 129 | ;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher. | 129 | ;; dir-status-files called from vc-dir, which loads vc, |
| 130 | ;; which loads vc-dispatcher. | ||
| 130 | (declare-function vc-exec-after "vc-dispatcher" (code)) | 131 | (declare-function vc-exec-after "vc-dispatcher" (code)) |
| 131 | 132 | ||
| 132 | (defun vc-mtn-dir-status (dir update-function) | 133 | (defun vc-mtn-dir-status-files (dir _files update-function) |
| 133 | (vc-mtn-command (current-buffer) 'async dir "status") | 134 | (vc-mtn-command (current-buffer) 'async dir "status") |
| 134 | (vc-run-delayed | 135 | (vc-run-delayed |
| 135 | (vc-mtn-after-dir-status update-function))) | 136 | (vc-mtn-after-dir-status update-function))) |
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el index 5b375868a80..20b292f5fe8 100644 --- a/lisp/vc/vc-rcs.el +++ b/lisp/vc/vc-rcs.el | |||
| @@ -157,12 +157,10 @@ For a description of possible values, see `vc-check-master-templates'." | |||
| 157 | 157 | ||
| 158 | (autoload 'vc-expand-dirs "vc") | 158 | (autoload 'vc-expand-dirs "vc") |
| 159 | 159 | ||
| 160 | (defun vc-rcs-dir-status (dir update-function) | 160 | (defun vc-rcs-dir-status-files (dir files update-function) |
| 161 | ;; Doing individual vc-state calls is painful but there | 161 | (if (not files) (setq files (vc-expand-dirs (list dir) 'RCS))) |
| 162 | ;; is no better way in RCS-land. | 162 | (let ((result nil)) |
| 163 | (let ((flist (vc-expand-dirs (list dir) 'RCS)) | 163 | (dolist (file files) |
| 164 | (result nil)) | ||
| 165 | (dolist (file flist) | ||
| 166 | (let ((state (vc-state file)) | 164 | (let ((state (vc-state file)) |
| 167 | (frel (file-relative-name file))) | 165 | (frel (file-relative-name file))) |
| 168 | (when (and (eq (vc-backend file) 'RCS) | 166 | (when (and (eq (vc-backend file) 'RCS) |
diff --git a/lisp/vc/vc-sccs.el b/lisp/vc/vc-sccs.el index 514748e8283..c7144c0a223 100644 --- a/lisp/vc/vc-sccs.el +++ b/lisp/vc/vc-sccs.el | |||
| @@ -134,12 +134,10 @@ For a description of possible values, see `vc-check-master-templates'." | |||
| 134 | 134 | ||
| 135 | (autoload 'vc-expand-dirs "vc") | 135 | (autoload 'vc-expand-dirs "vc") |
| 136 | 136 | ||
| 137 | (defun vc-sccs-dir-status (dir update-function) | 137 | (defun vc-sccs-dir-status-files (dir files update-function) |
| 138 | ;; Doing lots of individual VC-state calls is painful, but | 138 | (if (not files) (setq files (vc-expand-dirs (list dir) 'RCS))) |
| 139 | ;; there is no better option in SCCS-land. | 139 | (let ((result nil)) |
| 140 | (let ((flist (vc-expand-dirs (list dir) 'SCCS)) | 140 | (dolist (file files) |
| 141 | (result nil)) | ||
| 142 | (dolist (file flist) | ||
| 143 | (let ((state (vc-state file)) | 141 | (let ((state (vc-state file)) |
| 144 | (frel (file-relative-name file))) | 142 | (frel (file-relative-name file))) |
| 145 | (when (and (eq (vc-backend file) 'SCCS) | 143 | (when (and (eq (vc-backend file) 'SCCS) |
diff --git a/lisp/vc/vc-src.el b/lisp/vc/vc-src.el index a2ebeef22b9..3186d7254cb 100644 --- a/lisp/vc/vc-src.el +++ b/lisp/vc/vc-src.el | |||
| @@ -31,8 +31,7 @@ | |||
| 31 | ;; STATE-QUERYING FUNCTIONS | 31 | ;; STATE-QUERYING FUNCTIONS |
| 32 | ;; * registered (file) OK | 32 | ;; * registered (file) OK |
| 33 | ;; * state (file) OK | 33 | ;; * state (file) OK |
| 34 | ;; * dir-status (dir update-function) OK | 34 | ;; - dir-status-files (dir files uf) OK |
| 35 | ;; - dir-status-files (dir files uf) ?? | ||
| 36 | ;; - dir-extra-headers (dir) NOT NEEDED | 35 | ;; - dir-extra-headers (dir) NOT NEEDED |
| 37 | ;; - dir-printer (fileinfo) ?? | 36 | ;; - dir-printer (fileinfo) ?? |
| 38 | ;; * working-revision (file) OK | 37 | ;; * working-revision (file) OK |
| @@ -179,11 +178,11 @@ For a description of possible values, see `vc-check-master-templates'." | |||
| 179 | 178 | ||
| 180 | (autoload 'vc-expand-dirs "vc") | 179 | (autoload 'vc-expand-dirs "vc") |
| 181 | 180 | ||
| 182 | (defun vc-src-dir-status (dir update-function) | 181 | (defun vc-src-dir-status-files (dir files update-function) |
| 183 | ;; FIXME: Use one src status -a call for this | 182 | ;; FIXME: Use one src status -a call for this |
| 184 | (let ((flist (vc-expand-dirs (list dir) 'SRC)) | 183 | (if (not files) (setq files (vc-expand-dirs (list dir) 'RCS))) |
| 185 | (result nil)) | 184 | (let ((result nil)) |
| 186 | (dolist (file flist) | 185 | (dolist (file files) |
| 187 | (let ((state (vc-state file)) | 186 | (let ((state (vc-state file)) |
| 188 | (frel (file-relative-name file))) | 187 | (frel (file-relative-name file))) |
| 189 | (when (and (eq (vc-backend file) 'SRC) | 188 | (when (and (eq (vc-backend file) 'SRC) |
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el index 8ca8a0978e3..abeeac0be14 100644 --- a/lisp/vc/vc-svn.el +++ b/lisp/vc/vc-svn.el | |||
| @@ -195,22 +195,20 @@ If you want to force an empty list of arguments, use t." | |||
| 195 | (setq result (cons (list filename state) result))))) | 195 | (setq result (cons (list filename state) result))))) |
| 196 | (funcall callback result))) | 196 | (funcall callback result))) |
| 197 | 197 | ||
| 198 | ;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher. | 198 | ;; dir-status-files called from vc-dir, which loads vc, |
| 199 | ;; which loads vc-dispatcher. | ||
| 199 | (declare-function vc-exec-after "vc-dispatcher" (code)) | 200 | (declare-function vc-exec-after "vc-dispatcher" (code)) |
| 200 | 201 | ||
| 201 | (defun vc-svn-dir-status (_dir callback) | 202 | (autoload 'vc-expand-dirs "vc") |
| 203 | |||
| 204 | (defun vc-svn-dir-status-files (dir files callback) | ||
| 202 | "Run 'svn status' for DIR and update BUFFER via CALLBACK. | 205 | "Run 'svn status' for DIR and update BUFFER via CALLBACK. |
| 203 | CALLBACK is called as (CALLBACK RESULT BUFFER), where | 206 | CALLBACK is called as (CALLBACK RESULT BUFFER), where |
| 204 | RESULT is a list of conses (FILE . STATE) for directory DIR." | 207 | RESULT is a list of conses (FILE . STATE) for directory DIR." |
| 205 | ;; FIXME should this rather be all the files in dir? | 208 | (if (not files) (setq files (vc-expand-dirs (list dir) 'SVN))) |
| 206 | (vc-svn-command (current-buffer) 'async nil "status" "-u") | 209 | (vc-svn-command (current-buffer) 'async nil "status" "-u" files) |
| 207 | (vc-run-delayed (vc-svn-after-dir-status callback))) | 210 | (vc-run-delayed (vc-svn-after-dir-status callback))) |
| 208 | 211 | ||
| 209 | (defun vc-svn-dir-status-files (_dir files callback) | ||
| 210 | (apply 'vc-svn-command (current-buffer) 'async nil "status" files) | ||
| 211 | (vc-run-delayed | ||
| 212 | (vc-svn-after-dir-status callback))) | ||
| 213 | |||
| 214 | (defun vc-svn-dir-extra-headers (_dir) | 212 | (defun vc-svn-dir-extra-headers (_dir) |
| 215 | "Generate extra status headers for a Subversion working copy." | 213 | "Generate extra status headers for a Subversion working copy." |
| 216 | (let (process-file-side-effects) | 214 | (let (process-file-side-effects) |
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index c4810cf8b8b..6e0e2c657b1 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el | |||
| @@ -130,31 +130,32 @@ | |||
| 130 | ;; reliable state computation; it is usually called immediately after | 130 | ;; reliable state computation; it is usually called immediately after |
| 131 | ;; C-x v v. | 131 | ;; C-x v v. |
| 132 | ;; | 132 | ;; |
| 133 | ;; - dir-status (dir update-function) | 133 | ;; - dir-status-files (dir files update-function) |
| 134 | ;; | 134 | ;; |
| 135 | ;; Produce RESULT: a list of lists of the form (FILE VC-STATE EXTRA) | 135 | ;; Produce RESULT: a list of lists of the form (FILE VC-STATE EXTRA) |
| 136 | ;; for the files in DIR. | 136 | ;; for FILES in DIR. If FILES is nil. report on all files in DIR. |
| 137 | ;; (It is OK, though possibly inefficient, to ignore the FILES argument | ||
| 138 | ;; and always report on all files in DIR.) | ||
| 139 | ;; | ||
| 137 | ;; EXTRA can be used for backend specific information about FILE. | 140 | ;; EXTRA can be used for backend specific information about FILE. |
| 138 | ;; If a command needs to be run to compute this list, it should be | 141 | ;; If a command needs to be run to compute this list, it should be |
| 139 | ;; run asynchronously using (current-buffer) as the buffer for the | 142 | ;; run asynchronously using (current-buffer) as the buffer for the |
| 140 | ;; command. When RESULT is computed, it should be passed back by | 143 | ;; command. |
| 141 | ;; doing: (funcall UPDATE-FUNCTION RESULT nil). | 144 | ;; |
| 142 | ;; If the backend uses a process filter, hence it produces partial results, | 145 | ;; When RESULT is computed, it should be passed back by doing: |
| 143 | ;; they can be passed back by doing: | 146 | ;; (funcall UPDATE-FUNCTION RESULT nil). If the backend uses a |
| 144 | ;; (funcall UPDATE-FUNCTION RESULT t) | 147 | ;; process filter, hence it produces partial results, they can be |
| 145 | ;; and then do a (funcall UPDATE-FUNCTION RESULT nil) | 148 | ;; passed back by doing: (funcall UPDATE-FUNCTION RESULT t) and then |
| 146 | ;; when all the results have been computed. | 149 | ;; do a (funcall UPDATE-FUNCTION RESULT nil) when all the results |
| 150 | ;; have been computed. | ||
| 151 | ;; | ||
| 147 | ;; To provide more backend specific functionality for `vc-dir' | 152 | ;; To provide more backend specific functionality for `vc-dir' |
| 148 | ;; the following functions might be needed: `dir-extra-headers', | 153 | ;; the following functions might be needed: `dir-extra-headers', |
| 149 | ;; `dir-printer', `extra-dir-menu' and `dir-status-files'. | 154 | ;; `dir-printer', and `extra-dir-menu'. |
| 150 | ;; | 155 | ;; |
| 151 | ;; - dir-status-files (dir files update-function) | 156 | ;; This function should report on all requested files, including |
| 152 | ;; | 157 | ;; up-to-date or ignored files. If it is not provided, the default is to |
| 153 | ;; This function is identical to dir-status except that it should | 158 | ;; consider that all files are in 'up-to-date state. |
| 154 | ;; only report status for the specified FILES. Also it needs to | ||
| 155 | ;; report on all requested files, including up-to-date or ignored | ||
| 156 | ;; files. If not provided, the default is to consider that the files | ||
| 157 | ;; are in 'up-to-date state. | ||
| 158 | ;; | 159 | ;; |
| 159 | ;; - dir-extra-headers (dir) | 160 | ;; - dir-extra-headers (dir) |
| 160 | ;; | 161 | ;; |
| @@ -389,7 +390,6 @@ | |||
| 389 | ;; the backend command. It should return a status of either 0 (no | 390 | ;; the backend command. It should return a status of either 0 (no |
| 390 | ;; differences found), or 1 (either non-empty diff or the diff is | 391 | ;; differences found), or 1 (either non-empty diff or the diff is |
| 391 | ;; run asynchronously). | 392 | ;; run asynchronously). |
| 392 | |||
| 393 | ;; | 393 | ;; |
| 394 | ;; - revision-completion-table (files) | 394 | ;; - revision-completion-table (files) |
| 395 | ;; | 395 | ;; |
| @@ -580,6 +580,9 @@ | |||
| 580 | ;; - INCOMPATIBLE CHANGE: The old fourth 'default-state' argument of | 580 | ;; - INCOMPATIBLE CHANGE: The old fourth 'default-state' argument of |
| 581 | ;; vc-dir-status-files is gone; none of the back ends actually used it. | 581 | ;; vc-dir-status-files is gone; none of the back ends actually used it. |
| 582 | ;; | 582 | ;; |
| 583 | ;; - vc-dir-status is no longer a public method; it has been replaced | ||
| 584 | ;; by vc-dir-status-files. | ||
| 585 | ;; | ||
| 583 | ;; - vc-state-heuristic is no longer a public method (the CVS backend | 586 | ;; - vc-state-heuristic is no longer a public method (the CVS backend |
| 584 | ;; retains it as a private one). | 587 | ;; retains it as a private one). |
| 585 | ;; | 588 | ;; |
| @@ -632,12 +635,13 @@ | |||
| 632 | ;; | 635 | ;; |
| 633 | ;;;; Internal cleanups: | 636 | ;;;; Internal cleanups: |
| 634 | ;; | 637 | ;; |
| 635 | ;; - Another important thing: merge all the status-like backend operations. | 638 | ;; - Another important thing: merge all the status-like backend |
| 636 | ;; We should remove dir-status, state, and dir-status-files, and | 639 | ;; operations. We should remove dir-status-files and state and |
| 637 | ;; replace them with just `status' which takes a fileset and a continuation | 640 | ;; replace them with just `status' which takes a fileset and a |
| 638 | ;; (like dir-status) and returns a buffer in which the process(es) are run | 641 | ;; continuation (like dir-status-files) and returns a buffer in |
| 639 | ;; (or nil if it worked synchronously). Hopefully we can define the old | 642 | ;; which the process(es) are run (or nil if it worked |
| 640 | ;; 4 operations in term of this one. | 643 | ;; synchronously). Hopefully we can define the old operations in |
| 644 | ;; term of this one. | ||
| 641 | ;; | 645 | ;; |
| 642 | ;;;; Unify two different versions of the amend capability | 646 | ;;;; Unify two different versions of the amend capability |
| 643 | ;; | 647 | ;; |