mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08:00
(tramp-default-method): Under Windows, change from plink to pscp.
(tramp-copy-failed-regexp, tramp-action-copy-failed): Add. (tramp-actions-copy-out-of-band): Add pair (tramp-copy-failed-regexp tramp-action-copy-failed). (tramp-action-out-of-band): Move "Permission denied" handling to tramp-action-copy-failed. (tramp-do-copy-or-rename-file-out-of-band): unwind-protect killing of process buffer.
This commit is contained in:
parent
3559aa8b6b
commit
6b2633cced
2 changed files with 37 additions and 11 deletions
|
|
@ -1,3 +1,14 @@
|
|||
2006-11-24 Lars Hansen <larsh@soem.dk>
|
||||
* net/tramp.el (tramp-default-method): Under Windows, change from
|
||||
plink to pscp.
|
||||
(tramp-copy-failed-regexp, tramp-action-copy-failed): Add.
|
||||
(tramp-actions-copy-out-of-band): Add pair (tramp-copy-failed-regexp
|
||||
tramp-action-copy-failed).
|
||||
(tramp-action-out-of-band): Move "Permission denied" handling to
|
||||
tramp-action-copy-failed.
|
||||
(tramp-do-copy-or-rename-file-out-of-band): unwind-protect killing of
|
||||
process buffer.
|
||||
|
||||
2006-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* pgg-pgp.el (pgg-pgp-process-region): Change `args' from a list of
|
||||
|
|
|
|||
|
|
@ -673,8 +673,8 @@ various functions for details."
|
|||
|
||||
(defcustom tramp-default-method
|
||||
(if (and (fboundp 'executable-find)
|
||||
(executable-find "plink"))
|
||||
"plink"
|
||||
(executable-find "pscp"))
|
||||
"pscp"
|
||||
"scp")
|
||||
"*Default method to use for transferring files.
|
||||
See `tramp-methods' for possibilities.
|
||||
|
|
@ -943,6 +943,17 @@ be ignored safely."
|
|||
:group 'tramp
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom tramp-copy-failed-regexp
|
||||
(concat "\\(.+: "
|
||||
(regexp-opt '("Permission denied"
|
||||
"not a regular file"
|
||||
"is a directory"
|
||||
"No such file or directory") t)
|
||||
"\\)\\s-*")
|
||||
"Regular expression matching copy problems in (s)cp operations."
|
||||
:group 'tramp
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom tramp-process-alive-regexp
|
||||
""
|
||||
"Regular expression indicating a process has finished.
|
||||
|
|
@ -1340,6 +1351,7 @@ corresponding PATTERN matches, the ACTION function is called."
|
|||
(defcustom tramp-actions-copy-out-of-band
|
||||
'((tramp-password-prompt-regexp tramp-action-password)
|
||||
(tramp-wrong-passwd-regexp tramp-action-permission-denied)
|
||||
(tramp-copy-failed-regexp tramp-action-copy-failed)
|
||||
(tramp-process-alive-regexp tramp-action-out-of-band))
|
||||
"List of pattern/action pairs.
|
||||
This list is used for copying/renaming with out-of-band methods.
|
||||
|
|
@ -3174,12 +3186,13 @@ be a local filename. The method used must be an out-of-band method."
|
|||
(message "Transferring %s to %s..." filename newname)
|
||||
|
||||
;; Use rcp-like program for file transfer.
|
||||
(let ((p (apply 'start-process (buffer-name trampbuf) trampbuf
|
||||
copy-program copy-args)))
|
||||
(tramp-set-process-query-on-exit-flag p nil)
|
||||
(tramp-process-actions p multi-method method user host
|
||||
tramp-actions-copy-out-of-band))
|
||||
(kill-buffer trampbuf)
|
||||
(unwind-protect
|
||||
(let ((p (apply 'start-process (buffer-name trampbuf) trampbuf
|
||||
copy-program copy-args)))
|
||||
(tramp-set-process-query-on-exit-flag p nil)
|
||||
(tramp-process-actions p multi-method method user host
|
||||
tramp-actions-copy-out-of-band))
|
||||
(kill-buffer trampbuf))
|
||||
(message "Transferring %s to %s...done" filename newname)
|
||||
|
||||
;; Set the mode.
|
||||
|
|
@ -5353,6 +5366,11 @@ Returns nil if none was found, else the command is returned."
|
|||
(kill-process p)
|
||||
(throw 'tramp-action 'permission-denied))
|
||||
|
||||
(defun tramp-action-copy-failed (p multi-method method user host)
|
||||
"Signal copy failed."
|
||||
(kill-process p)
|
||||
(error "%s" (match-string 1)))
|
||||
|
||||
(defun tramp-action-yesno (p multi-method method user host)
|
||||
"Ask the user for confirmation using `yes-or-no-p'.
|
||||
Send \"yes\" to remote process on confirmation, abort otherwise.
|
||||
|
|
@ -5409,9 +5427,6 @@ The terminal type can be configured with `tramp-terminal-type'."
|
|||
(tramp-message 10 "'set mode' error ignored.")
|
||||
(tramp-message 9 "Process has finished.")
|
||||
(throw 'tramp-action 'ok))
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "^.cp.?: \\(.+: Permission denied.?\\)$" nil t)
|
||||
(error "Remote host: %s" (match-string 1)))
|
||||
(tramp-message 9 "Process has died.")
|
||||
(throw 'tramp-action 'process-died)))
|
||||
(t nil)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue