]> code.delx.au - gnu-emacs/blobdiff - lisp/net/tramp-vc.el
Add a provide statement.
[gnu-emacs] / lisp / net / tramp-vc.el
index ded30f4b09c606e3c00ecdc5267693f3a831e0e2..3cc54eda650ae5fa1d49363ddb346fd95951b6b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-vc.el --- Version control integration for TRAMP.el
 
-;; Copyright (C) 2000 by Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004 by Free Software Foundation, Inc.
 
 ;; Author: Daniel Pittman <daniel@danann.net>
 ;; Keywords: comm, processes
   (require 'vc-rcs))
 (require 'tramp)
 
+;; Avoid byte-compiler warnings if the byte-compiler supports this.
+;; Currently, XEmacs supports this.
+(eval-when-compile
+  (when (fboundp 'byte-compiler-options)
+    (let (unused-vars) ; Pacify Emacs byte-compiler
+      (defalias 'warnings 'identity) ; Pacify Emacs byte-compiler
+      (byte-compiler-options (warnings (- unused-vars))))))
+
 ;; -- vc --
 
 ;; This used to blow away the file-name-handler-alist and reinstall
@@ -69,7 +77,7 @@
   "Like `vc-do-command' but invoked for tramp files.
 See `vc-do-command' for more information."
   (save-match-data
-    (and file (setq file (tramp-handle-expand-file-name file)))
+    (and file (setq file (expand-file-name file)))
     (if (not buffer) (setq buffer "*vc*"))
     (if vc-command-messages
        (message "Running `%s' on `%s'..." command file))
@@ -77,7 +85,7 @@ See `vc-do-command' for more information."
          (squeezed nil)
          (olddir default-directory)
          vc-file status)
-      (let* ((v (tramp-dissect-file-name (tramp-handle-expand-file-name file)))
+      (let* ((v (tramp-dissect-file-name (expand-file-name file)))
             (multi-method (tramp-file-name-multi-method v))
             (method (tramp-file-name-method v))
             (user (tramp-file-name-user v))
@@ -122,7 +130,7 @@ See `vc-do-command' for more information."
        (save-excursion
          (save-window-excursion
            ;; Actually execute remote command
-           (tramp-handle-shell-command
+           (shell-command
             (mapconcat 'tramp-shell-quote-argument
                        (cons command squeezed) " ") t)
            ;;(tramp-wait-for-output)
@@ -163,7 +171,9 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
   (if vc-command-messages
       (message "Running %s on %s..." command file))
   (save-current-buffer
-    (unless (eq buffer t) (vc-setup-buffer buffer))
+    (unless (eq buffer t)
+      ; Pacify byte-compiler
+      (funcall (symbol-function 'vc-setup-buffer) buffer))
     (let ((squeezed nil)
          (inhibit-read-only t)
          (status 0))
@@ -180,7 +190,7 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
       (let ((w32-quote-process-args t))
         (when (eq okstatus 'async)
           (message "Tramp doesn't do async commands, running synchronously."))
-        (setq status (tramp-handle-shell-command
+        (setq status (shell-command
                       (mapconcat 'tramp-shell-quote-argument
                                  (cons command squeezed) " ") t))
         (when (or (not (integerp status))
@@ -192,9 +202,10 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
                  (if (integerp status) (format "status %d" status) status))))
       (if vc-command-messages
           (message "Running %s...OK" command))
-      (vc-exec-after
-       `(run-hook-with-args
-         'vc-post-command-functions ',command ',localname ',flags))
+      ; Pacify byte-compiler
+      (funcall (symbol-function 'vc-exec-after)
+              `(run-hook-with-args
+                'vc-post-command-functions ',command ',localname ',flags))
       status))))
 
 
@@ -206,6 +217,7 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
 ;; Daniel Pittman <daniel@danann.net>
 ;;-(if (fboundp 'vc-call-backend)
 ;;-    () ;; This is the new VC for which we don't have an appropriate advice yet
+(unless (fboundp 'process-file)
 (if (fboundp 'vc-call-backend)
     (defadvice vc-do-command
       (around tramp-advice-vc-do-command
@@ -231,7 +243,7 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
           (setq ad-return-value
                 (apply 'tramp-vc-do-command buffer okstatus command 
                        (or file (buffer-file-name)) last flags))
-        ad-do-it))))
+        ad-do-it)))))
 ;;-)
 
 
@@ -246,7 +258,7 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
   ;; Don't switch to the *vc-info* buffer before running the
   ;; command, because that would change its default directory
   (save-match-data
-    (let* ((v (tramp-dissect-file-name (tramp-handle-expand-file-name file)))
+    (let* ((v (tramp-dissect-file-name (expand-file-name file)))
           (multi-method (tramp-file-name-multi-method v))
           (method (tramp-file-name-method v))
           (user (tramp-file-name-user v))
@@ -273,7 +285,7 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
        (save-excursion
          (save-window-excursion
            ;; Actually execute remote command
-           (tramp-handle-shell-command
+           (shell-command
             (mapconcat 'tramp-shell-quote-argument
                        (append (list command) args (list localname)) " ")
             (get-buffer-create"*vc-info*"))
@@ -325,7 +337,8 @@ Since TRAMP doesn't do async commands yet, this function doesn't, either."
                              (not want-differences-if-changed))))
         (zerop status))
     ;; New VC.  Call `vc-default-workfile-unchanged-p'.
-    (vc-default-workfile-unchanged-p (vc-backend file) filename)))
+      (funcall (symbol-function 'vc-default-workfile-unchanged-p)
+              (vc-backend filename) filename)))
 
 (defadvice vc-workfile-unchanged-p
   (around tramp-advice-vc-workfile-unchanged-p
@@ -391,17 +404,18 @@ filename we are thinking about..."
   ;; Pacify byte-compiler; this symbol is bound in the calling
   ;; function.  CCC: Maybe it would be better to move the
   ;; boundness-checking into this function?
-  (let ((file (symbol-value 'file))
-       (remote-uid
-        ;; With Emacs 21.4, `file-attributes' has got an optional parameter
-        ;; ID-FORMAT. Handle this case backwards compatible.
-        (if (and (functionp 'subr-arity)
-                 (= 2 (cdr (subr-arity (symbol-function 'file-attributes)))))
-            (nth 2 (file-attributes file 'integer))
-          (nth 2 (file-attributes file)))))
+  (let* ((file (symbol-value 'file))
+        (remote-uid
+         ;; With Emacs 21.4, `file-attributes' has got an optional parameter
+         ;; ID-FORMAT. Handle this case backwards compatible.
+         (if (and (functionp 'subr-arity)
+                  (= 2 (cdr (funcall (symbol-function 'subr-arity)
+                                     (symbol-function 'file-attributes)))))
+             (nth 2 (file-attributes file 'integer))
+           (nth 2 (file-attributes file)))))
     (if (and uid (/= uid remote-uid))
        (error "tramp-handle-vc-user-login-name cannot map a uid to a name")
-      (let* ((v (tramp-dissect-file-name (tramp-handle-expand-file-name file)))
+      (let* ((v (tramp-dissect-file-name (expand-file-name file)))
             (u (tramp-file-name-user v)))
        (cond ((stringp u) u)
              ((vectorp u) (elt u (1- (length u))))
@@ -432,8 +446,8 @@ filename we are thinking about..."
 (defun tramp-file-owner (filename)
   "Return who owns FILE (user name, as a string)."
   (let ((v (tramp-dissect-file-name 
-           (tramp-handle-expand-file-name filename))))
-    (if (not (tramp-handle-file-exists-p filename))
+           (expand-file-name filename))))
+    (if (not (file-exists-p filename))
         nil                             ; file cannot be opened
       ;; file exists, find out stuff
       (save-excursion