;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-;; Author: Kai.Grossjohann@CS.Uni-Dortmund.DE
+;; Author: Kai.Grossjohann@CS.Uni-Dortmund.DE
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
;;
;; Notes:
;; -----
-;;
+;;
;; This package only works for Emacs 20 and higher, and for XEmacs 21
;; and higher. (XEmacs 20 is missing the `with-timeout' macro. Emacs
;; 19 is reported to have other problems. For XEmacs 21, you need the
(unless (fboundp 'uudecode-decode-region)
(autoload 'uudecode-decode-region "uudecode"))
-;; ;; It does not work to load EFS after loading TRAMP.
+;; ;; It does not work to load EFS after loading TRAMP.
;; (when (fboundp 'efs-file-handler-function)
;; (require 'efs))
(tramp-su-args nil)
(tramp-telnet-program nil)
(tramp-telnet-args nil))
- ("fcp"
+ ("fcp"
(tramp-connection-function tramp-open-connection-rsh)
(tramp-rsh-program "fsh")
(tramp-rcp-program "fcp")
(setq filename (tramp-file-name-path
(tramp-dissect-file-name
(expand-file-name filename)))))
-
+
;; Right, they are on the same host, regardless of user, method, etc.
;; We now make the link on the remote machine. This will occur as the user
;; that FILENAME belongs to.
l-multi-method l-method l-user l-host
(format "cd %s && %s -sf %s %s"
cwd ln
- filename
+ filename
l-path)
t)))))
multi-method method user host path))
(tramp-send-command
multi-method method user host
- (format "tramp_file_attributes %s"
+ (format "tramp_file_attributes %s"
(tramp-shell-quote-argument path)))
(tramp-wait-for-output)
(let ((result (read (current-buffer))))
(push (buffer-substring (point)
(tramp-line-end-position))
result))
-
+
(tramp-send-command multi-method method user host "cd")
(tramp-wait-for-output)
'file-error
(list "Removing old file name" "no such directory" filename)))
;; Which is better, -r or -R? (-r works for me <daniel@danann.net>)
- (tramp-send-command multi-method method user host
+ (tramp-send-command multi-method method user host
(format "rm -r %s" (tramp-shell-quote-argument path)))
;; Wait for the remote system to return to us...
;; This might take a while, allow it plenty of time.
;; Make sure that it worked...
(and (tramp-handle-file-exists-p filename)
(error "Failed to recusively delete %s" filename))))
-
+
(defun tramp-handle-dired-call-process (program discard &rest arguments)
"Like `dired-call-process' for tramp files."
;; `tramp-completion-file-name-regexp-unified' aren't different.
;; If nil, `tramp-completion-run-real-handler' is called (i.e. forwarding to
;; `tramp-file-name-handler'). Otherwise, it takes `tramp-run-real-handler'.
-;; Using `last-input-event' is a little bit risky, because completing a file
+;; Using `last-input-event' is a little bit risky, because completing a file
;; might require loading other files, like "~/.netrc", and for them it
;; shouldn't be decided based on that variable. On the other hand, those files
;; shouldn't have partial tramp file name syntax. Maybe another variable should
(funcall (nth 0 x) (nth 1 x)))))
(tramp-get-completion-function m))
- (setq result (append result
+ (setq result (append result
(mapcar
(lambda (x)
(tramp-get-completion-user-host
;; [nil nil "x" nil nil]
;; [nil "x" nil nil nil]
-;; "/x:" "/x:y" "/x:y:"
+;; "/x:" "/x:y" "/x:y:"
;; [nil nil nil "x" ""] [nil nil nil "x" "y"] [nil "x" nil "y" ""]
;; "/[x/" "/[x/y"
;; [nil "x" nil "" nil] [nil "x" nil "y" nil]
(tramp-handle-file-exists-p existing)
(not (tramp-handle-file-exists-p nonexisting))))
(error "Couldn't find command to check if file exists."))))
-
+
;; CCC test ksh or bash found for tilde expansion?
(defun tramp-find-shell (multi-method method user host)
(tramp-check-ls-commands multi-method method user host "gnuls" tramp-remote-path)
(tramp-check-ls-commands multi-method method user host "gls" tramp-remote-path)))
-;; ------------------------------------------------------------
-;; -- Functions for establishing connection --
-;; ------------------------------------------------------------
+;; ------------------------------------------------------------
+;; -- Functions for establishing connection --
+;; ------------------------------------------------------------
;; The following functions are actions to be taken when seeing certain
;; prompts from the remote host. See the variable
(when multi-method
(error "Cannot multi-connect using telnet connection method"))
(tramp-pre-connection multi-method method user host)
- (tramp-message 7 "Opening connection for %s@%s using %s..."
+ (tramp-message 7 "Opening connection for %s@%s using %s..."
(or user (user-login-name)) host method)
(let ((process-environment (copy-sequence process-environment)))
(setenv "TERM" tramp-terminal-type)
p multi-method method user host)
(tramp-post-connection multi-method method user host)))))
-
+
(defun tramp-open-connection-rsh (multi-method method user host)
"Open a connection using an rsh METHOD.
This starts the command `rsh HOST -l USER'[*], then waits for a remote
(error "Cannot multi-connect using rsh connection method"))
(tramp-pre-connection multi-method method user host)
(if (and user (not (string= user "")))
- (tramp-message 7 "Opening connection for %s@%s using %s..."
+ (tramp-message 7 "Opening connection for %s@%s using %s..."
user host method)
(tramp-message 7 "Opening connection at %s using %s..." host method))
(let ((process-environment (copy-sequence process-environment))
(> emacs-major-version 20))
tramp-dos-coding-system))
(p (if (and user (not (string= user "")))
- (apply #'start-process bufnam buf rsh-program
+ (apply #'start-process bufnam buf rsh-program
host "-l" user rsh-args)
- (apply #'start-process bufnam buf rsh-program
+ (apply #'start-process bufnam buf rsh-program
host rsh-args)))
(found nil))
(process-kill-without-query p)
tramp-actions-before-shell)
(tramp-open-connection-setup-interactive-shell
p multi-method method user host)
- (tramp-post-connection multi-method method
+ (tramp-post-connection multi-method method
user host)))))
-;; HHH: Not Changed. Multi method. It is not clear to me how this can
+;; HHH: Not Changed. Multi method. It is not clear to me how this can
;; handle not giving a user name in the "file name".
;;
;; This is more difficult than for the single-hop method. In the
(tramp-post-connection multi-method method user host)))))
;; HHH: Changed. Multi method. Don't know how to handle this in the case
-;; of no user name provided. Hack to make it work as it did before:
+;; of no user name provided. Hack to make it work as it did before:
;; changed `user' to `(or user (user-login-name))' in the places where
;; the value is actually used.
(defun tramp-multi-connect-telnet (p method user host command)
(tramp-process-multi-actions p method user host
tramp-multi-actions)))
-;; HHH: Changed. Multi method. Don't know how to handle this in the case
-;; of no user name provided. Hack to make it work as it did before:
+;; HHH: Changed. Multi method. Don't know how to handle this in the case
+;; of no user name provided. Hack to make it work as it did before:
;; changed `user' to `(or user (user-login-name))' in the places where
;; the value is actually used.
(defun tramp-multi-connect-rlogin (p method user host command)
(tramp-process-multi-actions p method user host
tramp-multi-actions)))
-;; HHH: Changed. Multi method. Don't know how to handle this in the case
-;; of no user name provided. Hack to make it work as it did before:
+;; HHH: Changed. Multi method. Don't know how to handle this in the case
+;; of no user name provided. Hack to make it work as it did before:
;; changed `user' to `(or user (user-login-name))' in the places where
;; the value is actually used.
(defun tramp-multi-connect-su (p method user host command)
""))
-;; ------------------------------------------------------------
-;; -- TRAMP file names --
-;; ------------------------------------------------------------
+;; ------------------------------------------------------------
+;; -- TRAMP file names --
+;; ------------------------------------------------------------
;; Conversion functions between external representation and
;; internal data structure. Convenience functions for internal
;; data structure.
"Return t iff NAME is a tramp file."
(save-match-data
(string-match tramp-file-name-regexp name)))
-
+
;; HHH: Changed. Used to assign the return value of (user-login-name)
;; to the `user' part of the structure if a user name was not
;; provided, now it assigns nil.
If both MULTI-METHOD and METHOD are nil, do a lookup in
`tramp-default-method-alist'."
(or multi-method method (tramp-find-default-method user host)))
-
+
;; HHH: Not Changed. Multi method. Will probably not handle the case where
;; a user name is not provided in the "file name" very well.
(defun tramp-dissect-multi-file-name (name)
it does the right thing."
(delete "" (split-string string pattern)))
-;; ------------------------------------------------------------
-;; -- Kludges section --
-;; ------------------------------------------------------------
+;; ------------------------------------------------------------
+;; -- Kludges section --
+;; ------------------------------------------------------------
;; Currently (as of Emacs 20.5), the function `shell-quote-argument'
;; does not deal well with newline characters. Newline is replaced by
;; strange when doing zerop, we should kill the process and start
;; again. (Greg Stark)
;; * Add caching for filename completion. (Greg Stark)
-;; Of course, this has issues with usability (stale cache bites)
+;; Of course, this has issues with usability (stale cache bites)
;; -- <daniel@danann.net>
;; * Provide a local cache of old versions of remote files for the rsync
;; transfer method to use. (Greg Stark)