]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp.el (tramp-set-file-uid-gid): Protect `call-process'
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 23 Oct 2007 21:56:54 +0000 (21:56 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 23 Oct 2007 21:56:54 +0000 (21:56 +0000)
when we are local.

lisp/ChangeLog
lisp/net/tramp.el

index 5288be5ad8ffca1afb5c2b7ce8c2b73eadf47325..258a63614277ce03592d22a087aaf74e3c217a21 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-set-file-uid-gid): Protect `call-process'
+       when we are local.
+
 2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/python.el (python-current-defun): Remove left-over
index 881fa6ceb5a93b6a4e96d63b29f682fffc36c630..b54641b311ed2f9a1d129649b4df8d45da03e92d 100644 (file)
@@ -2575,11 +2575,14 @@ and gid of the corresponding user is taken.  Both parameters must be integers."
     ;; We handle also the local part, because there doesn't exist
     ;; `set-file-uid-gid'.
     (let ((uid (or (and (integerp uid) uid) (tramp-get-local-uid 'integer)))
-         (gid (or (and (integerp gid) gid) (tramp-get-local-uid 'integer)))
+         (gid (or (and (integerp gid) gid) (tramp-get-local-gid 'integer)))
          (default-directory (tramp-compat-temporary-file-directory)))
-      (call-process
-       "chown" nil nil nil
-       (format "%d:%d" uid gid) (tramp-shell-quote-argument filename)))))
+      ;; "chown" might not exist, for example on Win32.
+      (condition-case nil
+         (call-process
+          "chown" nil nil nil
+          (format "%d:%d" uid gid) (tramp-shell-quote-argument filename))
+       (error nil)))))
 
 ;; Simple functions using the `test' command.