diff options
author | Michael Albinus <albinus@detlef> | 2010-08-17 06:52:16 +0200 |
---|---|---|
committer | Michael Albinus <albinus@detlef> | 2010-08-17 06:52:16 +0200 |
commit | bb6aba9c64387817e0c9e054a9b0d77361cfa769 (patch) | |
tree | e6a55053745f37d6bc57a27361e1d51cf1234b71 /lisp/net | |
parent | 573d150b4cdff52c36468a357bf3b435d44c2d7d (diff) | |
download | emacs-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.el | 18 |
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) |