]> git.eshelyaron.com Git - emacs.git/commitdiff
(ange-ftp-dired-call-process): Return 1 if error.
authorRichard M. Stallman <rms@gnu.org>
Sun, 24 Mar 1996 00:26:02 +0000 (00:26 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 24 Mar 1996 00:26:02 +0000 (00:26 +0000)
(ange-ftp-call-chmod): If ftp chmod cmd fails, try rsh.
(ange-ftp-remote-shell): New variable.

lisp/ange-ftp.el

index c230de0d5812482fa09d9da00562d33be93dd9b0..1da75d4e3e3711d694fe94b7943a794d556d3c11 100644 (file)
@@ -4089,10 +4089,16 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
        (ftp-error (insert (format "%s: %s, %s\n"
                                    (nth 1 oops)
                                    (nth 2 oops)
-                                   (nth 3 oops))))
-       (error (insert (format "%s\n" (nth 1 oops)))))
+                                   (nth 3 oops)))
+                  ;; Caller expects nonzero value to mean failure.
+                  1)
+       (error (insert (format "%s\n" (nth 1 oops)))
+              1))
     (apply 'call-process program nil (not discard) nil arguments)))
 
+(defvar ange-ftp-remote-shell "rsh" 
+  "Remote shell to use for chmod, if FTP server rejects the `chmod' command.")
+
 ;; Handle an attempt to run chmod on a remote file
 ;; by using the ftp chmod command.
 (defun ange-ftp-call-chmod (args)
@@ -4114,10 +4120,9 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
                                                (format "doing chmod %s"
                                                        abbr))))
                (or (car result)
-                   (ange-ftp-error host user
-                                   (format "chmod: %s: \"%s\""
-                                           file 
-                                           (cdr result)))))))))
+                   (call-process 
+                    ange-ftp-remote-shell
+                    nil t nil host "chmod" mode name)))))))
      (cdr args)))
   (setq ange-ftp-ls-cache-file nil)    ;Stop confusing Dired.
   0)