summaryrefslogtreecommitdiff
path: root/lisp/net
diff options
context:
space:
mode:
authorMichael Albinus <albinus@detlef>2010-08-17 06:52:16 +0200
committerMichael Albinus <albinus@detlef>2010-08-17 06:52:16 +0200
commitbb6aba9c64387817e0c9e054a9b0d77361cfa769 (patch)
treee6a55053745f37d6bc57a27361e1d51cf1234b71 /lisp/net
parent573d150b4cdff52c36468a357bf3b435d44c2d7d (diff)
downloademacs-bb6aba9c64387817e0c9e054a9b0d77361cfa769.tar.gz
* net/tramp.el (tramp-handle-make-symbolic-link): Flush file
properties. (tramp-handle-process-file): Call the program in a subshell, in order to preserve working directory. (tramp-action-password): Hide password prompt before next run. (tramp-process-actions): Widen connection buffer for the trace.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/tramp.el18
1 files changed, 13 insertions, 5 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index e715ef596d0..052dc7d7575 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2552,7 +2552,7 @@ target of the symlink differ."
(unless ln
(tramp-error
l 'file-error
- "Making a symbolic link. ln(1) does not exist on the remote host."))
+ "Making a symbolic link. ln(1) does not exist on the remote host."))
;; Do the 'confirm if exists' thing.
(when (file-exists-p linkname)
@@ -2573,6 +2573,9 @@ target of the symlink differ."
(tramp-file-name-localname
(tramp-dissect-file-name (expand-file-name filename)))))
+ (tramp-flush-file-property l (file-name-directory l-localname))
+ (tramp-flush-file-property l l-localname)
+
;; 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.
@@ -4638,7 +4641,9 @@ beginning of local filename are not substituted."
(setq outbuf (current-buffer))))
(when stderr (setq command (format "%s 2>%s" command stderr)))
- ;; Send the command. It might not return in time, so we protect it.
+ ;; Send the command. It might not return in time, so we protect
+ ;; it. Call it in a subshell, in order to preserve working
+ ;; directory.
(condition-case nil
(unwind-protect
(setq ret
@@ -4646,7 +4651,7 @@ beginning of local filename are not substituted."
v (format "\\cd %s; %s"
(tramp-shell-quote-argument localname)
command)
- nil t))
+ t t))
;; We should show the output anyway.
(when outbuf
(with-current-buffer outbuf
@@ -6698,8 +6703,10 @@ file exists and nonzero exit status otherwise."
"Query the user for a password."
(with-current-buffer (process-buffer proc)
(tramp-check-for-regexp proc tramp-password-prompt-regexp)
- (tramp-message vec 3 "Sending %s" (match-string 1)))
- (tramp-enter-password proc))
+ (tramp-message vec 3 "Sending %s" (match-string 1))
+ (tramp-enter-password proc)
+ ;; Hide password prompt.
+ (narrow-to-region (point-max) (point-max))))
(defun tramp-action-succeed (proc vec)
"Signal success in finding shell prompt."
@@ -6810,6 +6817,7 @@ The terminal type can be configured with `tramp-terminal-type'."
(tramp-process-one-action proc vec actions))
(tramp-process-one-action proc vec actions)))))
(with-current-buffer (tramp-get-connection-buffer vec)
+ (widen)
(tramp-message vec 6 "\n%s" (buffer-string)))
(unless (eq exit 'ok)
(tramp-clear-passwd vec)