]> git.eshelyaron.com Git - emacs.git/commitdiff
Make all vc-*-responsible-p functions return a string
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 14 Nov 2021 01:38:48 +0000 (02:38 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 14 Apr 2022 13:46:43 +0000 (15:46 +0200)
* lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
* lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
* lisp/vc/vc-dav.el (vc-dav-responsible-p):
* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Return a file name
instead of t when we get a match (which is what
vc-backend-for-registration expects) (bug#51800).

This fixes the regression reported in bug#54935.

Do not merge to master.

lisp/vc/vc-cvs.el
lisp/vc/vc-dav.el
lisp/vc/vc-rcs.el
lisp/vc/vc-sccs.el

index 559bb25d091255f0d2fb932e152d33b83d003cc1..e4524db951bdd1b1a726f7ec32cc12cbbbd934e0 100644 (file)
@@ -309,10 +309,11 @@ to the CVS command."
 
 (defun vc-cvs-responsible-p (file)
   "Return non-nil if CVS thinks it is responsible for FILE."
-  (file-directory-p (expand-file-name "CVS"
-                                     (if (file-directory-p file)
-                                         file
-                                       (file-name-directory file)))))
+  (let ((dir (if (file-directory-p file)
+                file
+              (file-name-directory file))))
+    (and (file-directory-p (expand-file-name "CVS" dir))
+         dir)))
 
 (defun vc-cvs-could-register (file)
   "Return non-nil if FILE could be registered in CVS.
index 1cc447fe0f99bfea62cdf19e5eab69122f966a0b..61e2cd2390070587efaaf26b39fda0e892133cb5 100644 (file)
@@ -136,10 +136,10 @@ It should return a status of either 0 (no differences found), or
   "Find the version control state of all files in DIR in a fast way."
   )
 
-(defun vc-dav-responsible-p (_url)
+(defun vc-dav-responsible-p (url)
   "Return non-nil if DAV considers itself `responsible' for URL."
   ;; Check for DAV support on the web server.
-  t)
+  (and t url))
 
 ;;; Unimplemented functions
 ;;
index 4137ece8d611668051439d58ed3950f7dee8feee..dc6f3c891592ed4f5c59c3a6d2d11f917f973b13 100644 (file)
@@ -290,10 +290,11 @@ to the RCS command."
 (defun vc-rcs-responsible-p (file)
   "Return non-nil if RCS thinks it would be responsible for registering FILE."
   ;; TODO: check for all the patterns in vc-rcs-master-templates
-  (file-directory-p (expand-file-name "RCS"
-                                      (if (file-directory-p file)
-                                          file
-                                        (file-name-directory file)))))
+  (let ((dir (if (file-directory-p file)
+                file
+              (file-name-directory file))))
+    (and (file-directory-p (expand-file-name "RCS" dir))
+         dir)))
 
 (defun vc-rcs-receive-file (file rev)
   "Implementation of receive-file for RCS."
index 2ca848dae1636e324463539fbb1fee7ffad5b21e..ef64cd9d580f6ff4127b2de5ca38248b78828a8e 100644 (file)
@@ -214,9 +214,13 @@ to the SCCS command."
 (defun vc-sccs-responsible-p (file)
   "Return non-nil if SCCS thinks it would be responsible for registering FILE."
   ;; TODO: check for all the patterns in vc-sccs-master-templates
-  (or (file-directory-p (expand-file-name "SCCS" (file-name-directory file)))
-      (stringp (vc-sccs-search-project-dir (or (file-name-directory file) "")
-                                          (file-name-nondirectory file)))))
+  (or (and (file-directory-p
+            (expand-file-name "SCCS" (file-name-directory file)))
+           file)
+      (let ((dir (vc-sccs-search-project-dir (or (file-name-directory file) "")
+                                            (file-name-nondirectory file))))
+        (and (stringp dir)
+             dir))))
 
 (defun vc-sccs-checkin (files comment &optional rev)
   "SCCS-specific version of `vc-backend-checkin'."