[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tramp (2.2.6-pre); executable-find of nil
From: |
Dave Abrahams |
Subject: |
tramp (2.2.6-pre); executable-find of nil |
Date: |
Fri, 09 Nov 2012 16:59:20 -0500 |
Enter your bug report in this message, including as much detail
as you possibly can about the problem, what you did to cause it
and what the local and remote machines are.
If you can give a simple set of instructions to make this bug
happen reliably, please include those. Thank you for helping
kill bugs in Tramp.
Before reproducing the bug, you might apply
M-x tramp-cleanup-all-connections
This allows to investigate from a clean environment. Another
useful thing to do is to put
(setq tramp-verbose 9)
in the ~/.emacs file and to repeat the bug. Then, include the
contents of the *tramp/foo* buffer and the *debug tramp/foo*
buffer in your bug report.
--bug report follows this line--
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
locate-file-internal(nil ("/Users/dave/bin/" "/Users/dave/.cabal/bin/"
"/Users/dave/bin/git-scripts/" "/Users/dave/bin/python-scripts/"
"/usr/local/bin/" "/usr/local/sbin/" "/opt/local/bin/" "/opt/local/sbin/"
"/Users/dave/src/git-submodule-tools/" "/usr/bin/" "/bin/" "/usr/sbin/"
"/sbin/" "/usr/X11/bin/" "/Users/dave/.emacs.d/el-get/xcscope/" "./"
"/Applications/Emacs.app/Contents/MacOS/libexec/"
"/Applications/Emacs.app/Contents/MacOS/bin/") ("") 1)
locate-file(nil ("/Users/dave/bin/" "/Users/dave/.cabal/bin/"
"/Users/dave/bin/git-scripts/" "/Users/dave/bin/python-scripts/"
"/usr/local/bin/" "/usr/local/sbin/" "/opt/local/bin/" "/opt/local/sbin/"
"/Users/dave/src/git-submodule-tools/" "/usr/bin/" "/bin/" "/usr/sbin/"
"/sbin/" "/usr/X11/bin/" "/Users/dave/.emacs.d/el-get/xcscope/" "./"
"/Applications/Emacs.app/Contents/MacOS/libexec/"
"/Applications/Emacs.app/Contents/MacOS/bin/") ("") 1)
executable-find(nil)
(let ((default-directory (tramp-compat-temporary-file-directory)))
(executable-find copy-program))
(if (let ((default-directory (tramp-compat-temporary-file-directory)))
(executable-find copy-program)) nil (tramp-error v (quote file-error) "Cannot
find copy program: %s" copy-program))
(unless (let ((default-directory (tramp-compat-temporary-file-directory)))
(executable-find copy-program)) (tramp-error v (quote file-error) "Cannot find
copy program: %s" copy-program))
(if (and t1 t2) (let* ((dir-flag (file-directory-p filename)) (tmpfile
(tramp-compat-make-temp-file localname dir-flag))) (if dir-flag (setq tmpfile
(expand-file-name (file-name-nondirectory newname) tmpfile))) (unwind-protect
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory
(expand-file-name ".." tmpfile) (quote recursive)) (delete-file tmpfile)))))
(setq tramp-current-method (tramp-file-name-method v) tramp-current-user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil))
tramp-current-host (tramp-file-name-real-host v)) (setq v (car
(tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal (file-name-nondirectory filename)
(file-name-nondirectory newname))) (quote file-name-directory) (quote
identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let (...) (if
... ... y)))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar (lambda
... ...) x)) (unless (member "" x) (mapconcat (quote identity) x " ")))
(tramp-get-method-parameter method (quote tramp-copy-env))))) (unless (let
((default-directory (tramp-compat-temporary-file-directory))) (executable-find
copy-program)) (tramp-error v (quote file-error) "Cannot find copy program: %s"
copy-program)) (with-temp-buffer (unwind-protect (let ((default-directory
(file-name-directory (if t1 filename newname))) (process-environment
(copy-sequence process-environment))) (tramp-set-connection-property v
"process-name" (buffer-name (current-buffer))) (tramp-set-connection-property v
"process-buffer" (current-buffer)) (while copy-env (tramp-message orig-vec 5
"%s=\"%s\"" (car copy-env) (cadr copy-env)) (setenv (pop copy-env) (pop
copy-env))) (let ((p (let ... ...))) (tramp-message orig-vec 6 "%s" (mapconcat
(quote identity) (process-command p) " "))
(tramp-compat-set-process-query-on-exit-flag p nil) (tramp-process-actions p v
nil tramp-actions-copy-out-of-band))) (tramp-message orig-vec 6 "\n%s"
(buffer-string)) (tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename)))))
(let* ((v (tramp-dissect-file-name (if t1 filename newname))) (method
(tramp-file-name-method v)) (user (tramp-file-name-user v)) (host
(tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop
(tramp-file-name-hop v))) (if (and t1 t2) (let* ((dir-flag (file-directory-p
filename)) (tmpfile (tramp-compat-make-temp-file localname dir-flag))) (if
dir-flag (setq tmpfile (expand-file-name (file-name-nondirectory newname)
tmpfile))) (unwind-protect (progn (tramp-do-copy-or-rename-file-out-of-band op
filename tmpfile keep-date) (tramp-do-copy-or-rename-file-out-of-band (quote
rename) tmpfile newname keep-date)) (ignore-errors (if dir-flag
(tramp-compat-delete-directory (expand-file-name ".." tmpfile) (quote
recursive)) (delete-file tmpfile))))) (setq tramp-current-method
(tramp-file-name-method v) tramp-current-user (or (tramp-file-name-user v)
(tramp-get-connection-property v "login-as" nil)) tramp-current-host
(tramp-file-name-real-host v)) (setq v (car (tramp-compute-multi-hops v)))
(aset v 3 localname) (setq source (if t1 (tramp-make-copy-program-file-name v)
filename) target (funcall (if (and (file-directory-p filename) (string-equal
(file-name-nondirectory filename) (file-name-nondirectory newname))) (quote
file-name-directory) (quote identity)) (if t2
(tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let ...
...))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar ... x)) (unless
(member "" x) (mapconcat ... x " "))) (tramp-get-method-parameter method (quote
tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory (file-name-directory
...)) (process-environment (copy-sequence process-environment)))
(tramp-set-connection-property v "process-name" (buffer-name (current-buffer)))
(tramp-set-connection-property v "process-buffer" (current-buffer)) (while
copy-env (tramp-message orig-vec 5 "%s=\"%s\"" (car copy-env) (cadr copy-env))
(setenv (pop copy-env) (pop copy-env))) (let ((p ...)) (tramp-message orig-vec
6 "%s" (mapconcat ... ... " ")) (tramp-compat-set-process-query-on-exit-flag p
nil) (tramp-process-actions p v nil tramp-actions-copy-out-of-band)))
(tramp-message orig-vec 6 "\n%s" (buffer-string))
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive)))))
(with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2)
(let* ((dir-flag (file-directory-p filename)) (tmpfile
(tramp-compat-make-temp-file localname dir-flag))) (if dir-flag (setq tmpfile
(expand-file-name (file-name-nondirectory newname) tmpfile))) (unwind-protect
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory
(expand-file-name ".." tmpfile) (quote recursive)) (delete-file tmpfile)))))
(setq tramp-current-method (tramp-file-name-method v) tramp-current-user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil))
tramp-current-host (tramp-file-name-real-host v)) (setq v (car
(tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal (file-name-nondirectory filename)
(file-name-nondirectory newname))) (quote file-name-directory) (quote
identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let ...
...))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar ... x)) (unless
(member "" x) (mapconcat ... x " "))) (tramp-get-method-parameter method (quote
tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory (file-name-directory
...)) (process-environment (copy-sequence process-environment)))
(tramp-set-connection-property v "process-name" (buffer-name (current-buffer)))
(tramp-set-connection-property v "process-buffer" (current-buffer)) (while
copy-env (tramp-message orig-vec 5 "%s=\"%s\"" (car copy-env) (cadr copy-env))
(setenv (pop copy-env) (pop copy-env))) (let ((p ...)) (tramp-message orig-vec
6 "%s" (mapconcat ... ... " ")) (tramp-compat-set-process-query-on-exit-flag p
nil) (tramp-process-actions p v nil tramp-actions-copy-out-of-band)))
(tramp-message orig-vec 6 "\n%s" (buffer-string))
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive)))))
(let* ((t1 (tramp-tramp-file-p filename)) (t2 (tramp-tramp-file-p newname))
(orig-vec (tramp-dissect-file-name (if t1 filename newname))) copy-program
copy-args copy-env copy-keep-date port spec source target)
(with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2) (let*
((dir-flag (file-directory-p filename)) (tmpfile (tramp-compat-make-temp-file
localname dir-flag))) (if dir-flag (setq tmpfile (expand-file-name
(file-name-nondirectory newname) tmpfile))) (unwind-protect (progn
(tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory ... ...)
(delete-file tmpfile))))) (setq tramp-current-method (tramp-file-name-method v)
tramp-current-user (or (tramp-file-name-user v) (tramp-get-connection-property
v "login-as" nil)) tramp-current-host (tramp-file-name-real-host v)) (setq v
(car (tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal ... ...)) (quote file-name-directory)
(quote identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq
host (tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method ...)
copy-args) (setq copy-args (append copy-args ...)))) copy-env (delq nil (mapcar
(lambda (x) (setq x ...) (unless ... ...)) (tramp-get-method-parameter method
(quote tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory ...)
(process-environment ...)) (tramp-set-connection-property v "process-name"
(buffer-name ...)) (tramp-set-connection-property v "process-buffer"
(current-buffer)) (while copy-env (tramp-message orig-vec 5 "%s=\"%s\"" ...
...) (setenv ... ...)) (let (...) (tramp-message orig-vec 6 "%s" ...)
(tramp-compat-set-process-query-on-exit-flag p nil) (tramp-process-actions p v
nil tramp-actions-copy-out-of-band))) (tramp-message orig-vec 6 "\n%s"
(buffer-string)) (tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive))))))
tramp-do-copy-or-rename-file-out-of-band(rename
"/var/folders/b2/w0_x7_854hz82sbrdxqqd6gr0000gn/T/tramp.646IeT.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" t)
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile
keep-date) (tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile
newname keep-date))
(unwind-protect (progn (tramp-do-copy-or-rename-file-out-of-band op filename
tmpfile keep-date) (tramp-do-copy-or-rename-file-out-of-band (quote rename)
tmpfile newname keep-date)) (ignore-errors (if dir-flag
(tramp-compat-delete-directory (expand-file-name ".." tmpfile) (quote
recursive)) (delete-file tmpfile))))
(let* ((dir-flag (file-directory-p filename)) (tmpfile
(tramp-compat-make-temp-file localname dir-flag))) (if dir-flag (setq tmpfile
(expand-file-name (file-name-nondirectory newname) tmpfile))) (unwind-protect
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory
(expand-file-name ".." tmpfile) (quote recursive)) (delete-file tmpfile)))))
(if (and t1 t2) (let* ((dir-flag (file-directory-p filename)) (tmpfile
(tramp-compat-make-temp-file localname dir-flag))) (if dir-flag (setq tmpfile
(expand-file-name (file-name-nondirectory newname) tmpfile))) (unwind-protect
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory
(expand-file-name ".." tmpfile) (quote recursive)) (delete-file tmpfile)))))
(setq tramp-current-method (tramp-file-name-method v) tramp-current-user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil))
tramp-current-host (tramp-file-name-real-host v)) (setq v (car
(tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal (file-name-nondirectory filename)
(file-name-nondirectory newname))) (quote file-name-directory) (quote
identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let (...) (if
... ... y)))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar (lambda
... ...) x)) (unless (member "" x) (mapconcat (quote identity) x " ")))
(tramp-get-method-parameter method (quote tramp-copy-env))))) (unless (let
((default-directory (tramp-compat-temporary-file-directory))) (executable-find
copy-program)) (tramp-error v (quote file-error) "Cannot find copy program: %s"
copy-program)) (with-temp-buffer (unwind-protect (let ((default-directory
(file-name-directory (if t1 filename newname))) (process-environment
(copy-sequence process-environment))) (tramp-set-connection-property v
"process-name" (buffer-name (current-buffer))) (tramp-set-connection-property v
"process-buffer" (current-buffer)) (while copy-env (tramp-message orig-vec 5
"%s=\"%s\"" (car copy-env) (cadr copy-env)) (setenv (pop copy-env) (pop
copy-env))) (let ((p (let ... ...))) (tramp-message orig-vec 6 "%s" (mapconcat
(quote identity) (process-command p) " "))
(tramp-compat-set-process-query-on-exit-flag p nil) (tramp-process-actions p v
nil tramp-actions-copy-out-of-band))) (tramp-message orig-vec 6 "\n%s"
(buffer-string)) (tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename)))))
(let* ((v (tramp-dissect-file-name (if t1 filename newname))) (method
(tramp-file-name-method v)) (user (tramp-file-name-user v)) (host
(tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop
(tramp-file-name-hop v))) (if (and t1 t2) (let* ((dir-flag (file-directory-p
filename)) (tmpfile (tramp-compat-make-temp-file localname dir-flag))) (if
dir-flag (setq tmpfile (expand-file-name (file-name-nondirectory newname)
tmpfile))) (unwind-protect (progn (tramp-do-copy-or-rename-file-out-of-band op
filename tmpfile keep-date) (tramp-do-copy-or-rename-file-out-of-band (quote
rename) tmpfile newname keep-date)) (ignore-errors (if dir-flag
(tramp-compat-delete-directory (expand-file-name ".." tmpfile) (quote
recursive)) (delete-file tmpfile))))) (setq tramp-current-method
(tramp-file-name-method v) tramp-current-user (or (tramp-file-name-user v)
(tramp-get-connection-property v "login-as" nil)) tramp-current-host
(tramp-file-name-real-host v)) (setq v (car (tramp-compute-multi-hops v)))
(aset v 3 localname) (setq source (if t1 (tramp-make-copy-program-file-name v)
filename) target (funcall (if (and (file-directory-p filename) (string-equal
(file-name-nondirectory filename) (file-name-nondirectory newname))) (quote
file-name-directory) (quote identity)) (if t2
(tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let ...
...))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar ... x)) (unless
(member "" x) (mapconcat ... x " "))) (tramp-get-method-parameter method (quote
tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory (file-name-directory
...)) (process-environment (copy-sequence process-environment)))
(tramp-set-connection-property v "process-name" (buffer-name (current-buffer)))
(tramp-set-connection-property v "process-buffer" (current-buffer)) (while
copy-env (tramp-message orig-vec 5 "%s=\"%s\"" (car copy-env) (cadr copy-env))
(setenv (pop copy-env) (pop copy-env))) (let ((p ...)) (tramp-message orig-vec
6 "%s" (mapconcat ... ... " ")) (tramp-compat-set-process-query-on-exit-flag p
nil) (tramp-process-actions p v nil tramp-actions-copy-out-of-band)))
(tramp-message orig-vec 6 "\n%s" (buffer-string))
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive)))))
(with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2)
(let* ((dir-flag (file-directory-p filename)) (tmpfile
(tramp-compat-make-temp-file localname dir-flag))) (if dir-flag (setq tmpfile
(expand-file-name (file-name-nondirectory newname) tmpfile))) (unwind-protect
(progn (tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory
(expand-file-name ".." tmpfile) (quote recursive)) (delete-file tmpfile)))))
(setq tramp-current-method (tramp-file-name-method v) tramp-current-user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil))
tramp-current-host (tramp-file-name-real-host v)) (setq v (car
(tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal (file-name-nondirectory filename)
(file-name-nondirectory newname))) (quote file-name-directory) (quote
identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq host
(tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method (quote
tramp-copy-args)) copy-args) (setq copy-args (append copy-args (let ...
...))))) copy-env (delq nil (mapcar (lambda (x) (setq x (mapcar ... x)) (unless
(member "" x) (mapconcat ... x " "))) (tramp-get-method-parameter method (quote
tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory (file-name-directory
...)) (process-environment (copy-sequence process-environment)))
(tramp-set-connection-property v "process-name" (buffer-name (current-buffer)))
(tramp-set-connection-property v "process-buffer" (current-buffer)) (while
copy-env (tramp-message orig-vec 5 "%s=\"%s\"" (car copy-env) (cadr copy-env))
(setenv (pop copy-env) (pop copy-env))) (let ((p ...)) (tramp-message orig-vec
6 "%s" (mapconcat ... ... " ")) (tramp-compat-set-process-query-on-exit-flag p
nil) (tramp-process-actions p v nil tramp-actions-copy-out-of-band)))
(tramp-message orig-vec 6 "\n%s" (buffer-string))
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive)))))
(let* ((t1 (tramp-tramp-file-p filename)) (t2 (tramp-tramp-file-p newname))
(orig-vec (tramp-dissect-file-name (if t1 filename newname))) copy-program
copy-args copy-env copy-keep-date port spec source target)
(with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2) (let*
((dir-flag (file-directory-p filename)) (tmpfile (tramp-compat-make-temp-file
localname dir-flag))) (if dir-flag (setq tmpfile (expand-file-name
(file-name-nondirectory newname) tmpfile))) (unwind-protect (progn
(tramp-do-copy-or-rename-file-out-of-band op filename tmpfile keep-date)
(tramp-do-copy-or-rename-file-out-of-band (quote rename) tmpfile newname
keep-date)) (ignore-errors (if dir-flag (tramp-compat-delete-directory ... ...)
(delete-file tmpfile))))) (setq tramp-current-method (tramp-file-name-method v)
tramp-current-user (or (tramp-file-name-user v) (tramp-get-connection-property
v "login-as" nil)) tramp-current-host (tramp-file-name-real-host v)) (setq v
(car (tramp-compute-multi-hops v))) (aset v 3 localname) (setq source (if t1
(tramp-make-copy-program-file-name v) filename) target (funcall (if (and
(file-directory-p filename) (string-equal ... ...)) (quote file-name-directory)
(quote identity)) (if t2 (tramp-make-copy-program-file-name v) newname))) (setq
host (tramp-file-name-host v) port "") (when (string-match
tramp-host-with-port-regexp host) (setq port (string-to-number (match-string 2
host)) host (string-to-number (match-string 1 host)))) (setq user (or
(tramp-file-name-user v) (tramp-get-connection-property v "login-as" nil)))
(setq host (or host "") user (or user "") port (or port "") spec
(format-spec-make 104 host 117 user 112 port 116 (tramp-get-connection-property
(tramp-get-connection-process v) "temp-file" "") 107 (if keep-date " " ""))
copy-program (tramp-get-method-parameter method (quote tramp-copy-program))
copy-keep-date (tramp-get-method-parameter method (quote tramp-copy-keep-date))
copy-args (delete " " (dolist (x (tramp-get-method-parameter method ...)
copy-args) (setq copy-args (append copy-args ...)))) copy-env (delq nil (mapcar
(lambda (x) (setq x ...) (unless ... ...)) (tramp-get-method-parameter method
(quote tramp-copy-env))))) (unless (let ((default-directory
(tramp-compat-temporary-file-directory))) (executable-find copy-program))
(tramp-error v (quote file-error) "Cannot find copy program: %s" copy-program))
(with-temp-buffer (unwind-protect (let ((default-directory ...)
(process-environment ...)) (tramp-set-connection-property v "process-name"
(buffer-name ...)) (tramp-set-connection-property v "process-buffer"
(current-buffer)) (while copy-env (tramp-message orig-vec 5 "%s=\"%s\"" ...
...) (setenv ... ...)) (let (...) (tramp-message orig-vec 6 "%s" ...)
(tramp-compat-set-process-query-on-exit-flag p nil) (tramp-process-actions p v
nil tramp-actions-copy-out-of-band))) (tramp-message orig-vec 6 "\n%s"
(buffer-string)) (tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))) (when (and keep-date
(not copy-keep-date)) (set-file-times newname (nth 5 (file-attributes
filename)))) (unless (and keep-date copy-keep-date) (ignore-errors
(set-file-modes newname (tramp-default-file-modes filename))))) (unless (eq op
(quote copy)) (if (file-regular-p filename) (delete-file filename)
(tramp-compat-delete-directory filename (quote recursive))))))
tramp-do-copy-or-rename-file-out-of-band(copy
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" t)
(cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 (nth 7
(file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))
(let* ((v2 (tramp-dissect-file-name newname)) (v2-method
(tramp-file-name-method v2)) (v2-user (tramp-file-name-user v2)) (v2-host
(tramp-file-name-host v2)) (v2-localname (tramp-file-name-localname v2))
(v2-hop (tramp-file-name-hop v2))) (cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 (nth 7
(file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date))))
(with-parsed-tramp-file-name newname v2 (cond ((tramp-equal-remote filename
newname) (tramp-do-copy-or-rename-file-directly op filename newname
ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p
v1 (nth 7 (file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date))))
(let* ((v1 (tramp-dissect-file-name filename)) (v1-method
(tramp-file-name-method v1)) (v1-user (tramp-file-name-user v1)) (v1-host
(tramp-file-name-host v1)) (v1-localname (tramp-file-name-localname v1))
(v1-hop (tramp-file-name-hop v1))) (with-parsed-tramp-file-name newname v2
(cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 (nth 7
(file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))))
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 (nth 7
(file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))))
(cond ((and t1 t2) (with-parsed-tramp-file-name filename v1
(with-parsed-tramp-file-name newname v2 (cond ((tramp-equal-remote filename
newname) (tramp-do-copy-or-rename-file-directly op filename newname
ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p
v1 (nth 7 ...)) (tramp-do-copy-or-rename-file-out-of-band op filename newname
keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename newname
keep-date)))))) ((or t1 t2) (cond ((tramp-local-host-p v)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v (nth 7
(file-attributes (file-truename filename))))
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))) (t
(error "Tramp implementation says this cannot happen")))
(let ((tramp-message-show-progress-reporter-message (and
tramp-message-show-progress-reporter-message (not tm)))) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 ...)
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date))))))
((or t1 t2) (cond ((tramp-local-host-p v)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v (nth 7
(file-attributes ...))) (tramp-do-copy-or-rename-file-out-of-band op filename
newname keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename
newname keep-date)))) (t (error "Tramp implementation says this cannot
happen"))) (when context (apply (quote set-file-selinux-context) (list newname
context))) (when (and t1 (eq op (quote rename))) (with-parsed-tramp-file-name
filename v1 (tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname))))
(unwind-protect (let ((tramp-message-show-progress-reporter-message (and
tramp-message-show-progress-reporter-message (not tm)))) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond (... ...) (... ...) (t ...))))) ((or t1 t2) (cond ((tramp-local-host-p
v) (tramp-do-copy-or-rename-file-directly op filename newname
ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p
v (nth 7 ...)) (tramp-do-copy-or-rename-file-out-of-band op filename newname
keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename newname
keep-date)))) (t (error "Tramp implementation says this cannot happen"))) (when
context (apply (quote set-file-selinux-context) (list newname context))) (when
(and t1 (eq op (quote rename))) (with-parsed-tramp-file-name filename v1
(tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname))))
(if tm (tramp-compat-funcall (quote cancel-timer) tm)) (tramp-message v 0
"%s...done" (format "%s %s to %s" (if (eq op (quote copy)) "Copying"
"Renaming") filename newname)))
(let (pr tm) (tramp-message v 0 "%s..." (format "%s %s to %s" (if (eq op
(quote copy)) "Copying" "Renaming") filename newname)) (when (and
tramp-message-show-progress-reporter-message tramp-message-show-message (<= 0
(min tramp-verbose 3))) (ignore-errors (setq pr (tramp-compat-funcall (quote
make-progress-reporter) (format "%s %s to %s" (if (eq op ...) "Copying"
"Renaming") filename newname)) tm (when pr (run-at-time 3 0.1 (quote
tramp-progress-reporter-update) pr))))) (unwind-protect (let
((tramp-message-show-progress-reporter-message (and
tramp-message-show-progress-reporter-message (not tm)))) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond ... ... ...)))) ((or t1 t2) (cond ((tramp-local-host-p v)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v ...)
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))) (t
(error "Tramp implementation says this cannot happen"))) (when context (apply
(quote set-file-selinux-context) (list newname context))) (when (and t1 (eq op
(quote rename))) (with-parsed-tramp-file-name filename v1
(tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname))))
(if tm (tramp-compat-funcall (quote cancel-timer) tm)) (tramp-message v 0
"%s...done" (format "%s %s to %s" (if (eq op (quote copy)) "Copying"
"Renaming") filename newname))))
(tramp-with-progress-reporter v 0 (format "%s %s to %s" (if (eq op (quote
copy)) "Copying" "Renaming") filename newname) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond ((tramp-equal-remote filename newname)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v1 ...)
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date))))))
((or t1 t2) (cond ((tramp-local-host-p v)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v (nth 7
(file-attributes ...))) (tramp-do-copy-or-rename-file-out-of-band op filename
newname keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename
newname keep-date)))) (t (error "Tramp implementation says this cannot
happen"))) (when context (apply (quote set-file-selinux-context) (list newname
context))) (when (and t1 (eq op (quote rename))) (with-parsed-tramp-file-name
filename v1 (tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname))))
(let* ((v (tramp-dissect-file-name (if t1 filename newname))) (method
(tramp-file-name-method v)) (user (tramp-file-name-user v)) (host
(tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop
(tramp-file-name-hop v))) (when (and (not ok-if-already-exists) (file-exists-p
newname)) (tramp-error v (quote file-already-exists) "File %s already exists"
newname)) (tramp-with-progress-reporter v 0 (format "%s %s to %s" (if (eq op
(quote copy)) "Copying" "Renaming") filename newname) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond (... ...) (... ...) (t ...))))) ((or t1 t2) (cond ((tramp-local-host-p
v) (tramp-do-copy-or-rename-file-directly op filename newname
ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p
v (nth 7 ...)) (tramp-do-copy-or-rename-file-out-of-band op filename newname
keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename newname
keep-date)))) (t (error "Tramp implementation says this cannot happen"))) (when
context (apply (quote set-file-selinux-context) (list newname context))) (when
(and t1 (eq op (quote rename))) (with-parsed-tramp-file-name filename v1
(tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname)))))
(with-parsed-tramp-file-name (if t1 filename newname) nil (when (and (not
ok-if-already-exists) (file-exists-p newname)) (tramp-error v (quote
file-already-exists) "File %s already exists" newname))
(tramp-with-progress-reporter v 0 (format "%s %s to %s" (if (eq op (quote
copy)) "Copying" "Renaming") filename newname) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond (... ...) (... ...) (t ...))))) ((or t1 t2) (cond ((tramp-local-host-p
v) (tramp-do-copy-or-rename-file-directly op filename newname
ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p
v (nth 7 ...)) (tramp-do-copy-or-rename-file-out-of-band op filename newname
keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename newname
keep-date)))) (t (error "Tramp implementation says this cannot happen"))) (when
context (apply (quote set-file-selinux-context) (list newname context))) (when
(and t1 (eq op (quote rename))) (with-parsed-tramp-file-name filename v1
(tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname)))))
(let ((t1 (tramp-tramp-file-p filename)) (t2 (tramp-tramp-file-p newname))
(context (and preserve-selinux-context (apply (quote file-selinux-context)
(list filename)))) pr tm) (with-parsed-tramp-file-name (if t1 filename newname)
nil (when (and (not ok-if-already-exists) (file-exists-p newname)) (tramp-error
v (quote file-already-exists) "File %s already exists" newname))
(tramp-with-progress-reporter v 0 (format "%s %s to %s" (if (eq op (quote
copy)) "Copying" "Renaming") filename newname) (cond ((and t1 t2)
(with-parsed-tramp-file-name filename v1 (with-parsed-tramp-file-name newname
v2 (cond ... ... ...)))) ((or t1 t2) (cond ((tramp-local-host-p v)
(tramp-do-copy-or-rename-file-directly op filename newname ok-if-already-exists
keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v ...)
(tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date)) (t
(tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)))) (t
(error "Tramp implementation says this cannot happen"))) (when context (apply
(quote set-file-selinux-context) (list newname context))) (when (and t1 (eq op
(quote rename))) (with-parsed-tramp-file-name filename v1
(tramp-flush-file-property v1 (file-name-directory localname))
(tramp-flush-file-property v1 localname))) (when t2
(with-parsed-tramp-file-name newname v2 (tramp-flush-file-property v2
(file-name-directory localname)) (tramp-flush-file-property v2 localname))))))
tramp-do-copy-or-rename-file(copy
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil nil)
(cond ((or (tramp-tramp-file-p filename) (tramp-tramp-file-p newname))
(tramp-do-copy-or-rename-file (quote copy) filename newname
ok-if-already-exists keep-date preserve-uid-gid preserve-selinux-context))
(preserve-selinux-context (tramp-run-real-handler (quote copy-file) (list
filename newname ok-if-already-exists keep-date preserve-uid-gid
preserve-selinux-context))) (preserve-uid-gid (tramp-run-real-handler (quote
copy-file) (list filename newname ok-if-already-exists keep-date
preserve-uid-gid))) (t (tramp-run-real-handler (quote copy-file) (list filename
newname ok-if-already-exists keep-date))))
tramp-sh-handle-copy-file("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil
nil)
apply(tramp-sh-handle-copy-file
("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil
nil))
(if fn (apply (cdr fn) args) (tramp-run-real-handler operation args))
(let ((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (apply
(cdr fn) args) (tramp-run-real-handler operation args)))
(progn (let ((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn
(apply (cdr fn) args) (tramp-run-real-handler operation args))))
(unwind-protect (progn (let ((fn (assoc operation
tramp-sh-file-name-handler-alist))) (if fn (apply (cdr fn) args)
(tramp-run-real-handler operation args)))) (set-match-data
save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal (match-data))) (unwind-protect (progn (let
((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (apply (cdr
fn) args) (tramp-run-real-handler operation args)))) (set-match-data
save-match-data-internal (quote evaporate))))
(save-match-data (let ((fn (assoc operation
tramp-sh-file-name-handler-alist))) (if fn (apply (cdr fn) args)
(tramp-run-real-handler operation args))))
(let ((tramp-locker t)) (save-match-data (let ((fn (assoc operation
tramp-sh-file-name-handler-alist))) (if fn (apply (cdr fn) args)
(tramp-run-real-handler operation args)))))
(progn (setq tramp-locked t) (let ((tramp-locker t)) (save-match-data (let
((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (apply (cdr
fn) args) (tramp-run-real-handler operation args))))))
(unwind-protect (progn (setq tramp-locked t) (let ((tramp-locker t))
(save-match-data (let ((fn (assoc operation tramp-sh-file-name-handler-alist)))
(if fn (apply (cdr fn) args) (tramp-run-real-handler operation args)))))) (setq
tramp-locked tl))
(let ((tl tramp-locked)) (unwind-protect (progn (setq tramp-locked t) (let
((tramp-locker t)) (save-match-data (let ((fn ...)) (if fn (apply ... args)
(tramp-run-real-handler operation args)))))) (setq tramp-locked tl)))
tramp-sh-file-name-handler(copy-file
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil nil)
apply(tramp-sh-file-name-handler copy-file
("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil
nil))
(catch (quote suppress) (apply foreign operation args))
(catch (quote non-essential) (catch (quote suppress) (apply foreign operation
args)))
(setq result (catch (quote non-essential) (catch (quote suppress) (apply
foreign operation args))))
(let ((sf (symbol-function foreign)) result) (when (and (listp sf) (eq (car
sf) (quote autoload))) (let ((default-directory
(tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror)
(quote nomessage)))) (setq result (catch (quote non-essential) (catch (quote
suppress) (apply foreign operation args)))) (cond ((eq result (quote
non-essential)) (tramp-message v 5 "Non-essential received in operation %s"
(append (list operation) args)) (tramp-run-real-handler operation args)) ((eq
result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1
"Suppress received in operation %s" (append (list operation) args))
(tramp-cleanup v) (tramp-run-real-handler operation args))) (t result)))
(lambda nil (let ((sf (symbol-function foreign)) result) (when (and (listp
sf) (eq (car sf) (quote autoload))) (let ((default-directory
(tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror)
(quote nomessage)))) (setq result (catch (quote non-essential) (catch (quote
suppress) (apply foreign operation args)))) (cond ((eq result (quote
non-essential)) (tramp-message v 5 "Non-essential received in operation %s"
(append (list operation) args)) (tramp-run-real-handler operation args)) ((eq
result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1
"Suppress received in operation %s" (append (list operation) args))
(tramp-cleanup v) (tramp-run-real-handler operation args))) (t result))))()
funcall((lambda nil (let ((sf (symbol-function foreign)) result) (when (and
(listp sf) (eq (car sf) (quote autoload))) (let ((default-directory
(tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror)
(quote nomessage)))) (setq result (catch (quote non-essential) (catch (quote
suppress) (apply foreign operation args)))) (cond ((eq result (quote
non-essential)) (tramp-message v 5 "Non-essential received in operation %s"
(append (list operation) args)) (tramp-run-real-handler operation args)) ((eq
result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1
"Suppress received in operation %s" (append (list operation) args))
(tramp-cleanup v) (tramp-run-real-handler operation args))) (t result)))))
(if debug-on-error (funcall body) (condition-case err (funcall body) ((debug
quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received
in operation %s" (append (list operation) args))) (signal (car err) (cdr err)))
(error (cond ((and completion (zerop (length localname)) (memq operation (quote
...))) t) ((and completion (zerop (length localname)) (memq operation (quote
...))) filename) (t (signal (car err) (cdr err)))))))
(let ((body (lambda nil (let ((sf (symbol-function foreign)) result) (when
(and (listp sf) (eq ... ...)) (let (...) (load ... ... ...))) (setq result
(catch (quote non-essential) (catch ... ...))) (cond ((eq result ...)
(tramp-message v 5 "Non-essential received in operation %s" ...)
(tramp-run-real-handler operation args)) ((eq result ...) (let ... ... ...
...)) (t result)))))) (if debug-on-error (funcall body) (condition-case err
(funcall body) ((debug quit) (let (tramp-message-show-message) (tramp-message v
1 "Interrupt received in operation %s" (append (list operation) args))) (signal
(car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq operation
...)) t) ((and completion (zerop ...) (memq operation ...)) filename) (t
(signal (car err) (cdr err))))))))
(tramp-compat-condition-case-unless-debug err (let ((sf (symbol-function
foreign)) result) (when (and (listp sf) (eq (car sf) (quote autoload))) (let
((default-directory (tramp-compat-temporary-file-directory))) (load (cadr sf)
(quote noerror) (quote nomessage)))) (setq result (catch (quote non-essential)
(catch (quote suppress) (apply foreign operation args)))) (cond ((eq result
(quote non-essential)) (tramp-message v 5 "Non-essential received in operation
%s" (append (list operation) args)) (tramp-run-real-handler operation args))
((eq result (quote suppress)) (let (tramp-message-show-message) (tramp-message
v 1 "Suppress received in operation %s" (append (list operation) args))
(tramp-cleanup v) (tramp-run-real-handler operation args))) (t result)))
((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt
received in operation %s" (append (list operation) args))) (signal (car err)
(cdr err))) (error (cond ((and completion (zerop (length localname)) (memq
operation (quote (file-exists-p file-directory-p)))) t) ((and completion (zerop
(length localname)) (memq operation (quote (expand-file-name
file-name-as-directory)))) filename) (t (signal (car err) (cdr err))))))
(if foreign (tramp-compat-condition-case-unless-debug err (let ((sf
(symbol-function foreign)) result) (when (and (listp sf) (eq (car sf) (quote
autoload))) (let ((default-directory (tramp-compat-temporary-file-directory)))
(load (cadr sf) (quote noerror) (quote nomessage)))) (setq result (catch (quote
non-essential) (catch (quote suppress) (apply foreign operation args)))) (cond
((eq result (quote non-essential)) (tramp-message v 5 "Non-essential received
in operation %s" (append (list operation) args)) (tramp-run-real-handler
operation args)) ((eq result (quote suppress)) (let
(tramp-message-show-message) (tramp-message v 1 "Suppress received in operation
%s" (append ... args)) (tramp-cleanup v) (tramp-run-real-handler operation
args))) (t result))) ((debug quit) (let (tramp-message-show-message)
(tramp-message v 1 "Interrupt received in operation %s" (append (list
operation) args))) (signal (car err) (cdr err))) (error (cond ((and completion
(zerop (length localname)) (memq operation (quote ...))) t) ((and completion
(zerop (length localname)) (memq operation (quote ...))) filename) (t (signal
(car err) (cdr err)))))) (tramp-run-real-handler operation args))
(let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method
v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname
(tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign
(tramp-compat-condition-case-unless-debug err (let ((sf (symbol-function
foreign)) result) (when (and (listp sf) (eq (car sf) (quote autoload))) (let
((default-directory ...)) (load (cadr sf) (quote noerror) (quote nomessage))))
(setq result (catch (quote non-essential) (catch (quote suppress) (apply
foreign operation args)))) (cond ((eq result (quote non-essential))
(tramp-message v 5 "Non-essential received in operation %s" (append ... args))
(tramp-run-real-handler operation args)) ((eq result (quote suppress)) (let
(tramp-message-show-message) (tramp-message v 1 "Suppress received in operation
%s" ...) (tramp-cleanup v) (tramp-run-real-handler operation args))) (t
result))) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1
"Interrupt received in operation %s" (append (list operation) args))) (signal
(car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq operation
...)) t) ((and completion (zerop ...) (memq operation ...)) filename) (t
(signal (car err) (cdr err)))))) (tramp-run-real-handler operation args)))
(with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let ((sf (symbol-function
foreign)) result) (when (and (listp sf) (eq (car sf) (quote autoload))) (let
((default-directory ...)) (load (cadr sf) (quote noerror) (quote nomessage))))
(setq result (catch (quote non-essential) (catch (quote suppress) (apply
foreign operation args)))) (cond ((eq result (quote non-essential))
(tramp-message v 5 "Non-essential received in operation %s" (append ... args))
(tramp-run-real-handler operation args)) ((eq result (quote suppress)) (let
(tramp-message-show-message) (tramp-message v 1 "Suppress received in operation
%s" ...) (tramp-cleanup v) (tramp-run-real-handler operation args))) (t
result))) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1
"Interrupt received in operation %s" (append (list operation) args))) (signal
(car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq operation
...)) t) ((and completion (zerop ...) (memq operation ...)) filename) (t
(signal (car err) (cdr err)))))) (tramp-run-real-handler operation args)))
(let* ((filename (tramp-replace-environment-variables (apply (quote
tramp-file-name-for-operation) operation args))) (completion
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler
filename))) (with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let ((sf (symbol-function
foreign)) result) (when (and (listp sf) (eq ... ...)) (let (...) (load ... ...
...))) (setq result (catch (quote non-essential) (catch ... ...))) (cond ((eq
result ...) (tramp-message v 5 "Non-essential received in operation %s" ...)
(tramp-run-real-handler operation args)) ((eq result ...) (let ... ... ...
...)) (t result))) ((debug quit) (let (tramp-message-show-message)
(tramp-message v 1 "Interrupt received in operation %s" (append ... args)))
(signal (car err) (cdr err))) (error (cond ((and completion ... ...) t) ((and
completion ... ...) filename) (t (signal ... ...))))) (tramp-run-real-handler
operation args))))
(progn (let* ((filename (tramp-replace-environment-variables (apply (quote
tramp-file-name-for-operation) operation args))) (completion
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler
filename))) (with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let ((sf ...) result) (when (and
... ...) (let ... ...)) (setq result (catch ... ...)) (cond (... ... ...) (...
...) (t result))) ((debug quit) (let (tramp-message-show-message)
(tramp-message v 1 "Interrupt received in operation %s" ...)) (signal (car err)
(cdr err))) (error (cond (... t) (... filename) (t ...))))
(tramp-run-real-handler operation args)))))
(unwind-protect (progn (let* ((filename (tramp-replace-environment-variables
(apply (quote tramp-file-name-for-operation) operation args))) (completion
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler
filename))) (with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let (... result) (when ... ...)
(setq result ...) (cond ... ... ...)) ((debug quit) (let ... ...) (signal ...
...)) (error (cond ... ... ...))) (tramp-run-real-handler operation args)))))
(set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal (match-data))) (unwind-protect (progn (let*
((filename (tramp-replace-environment-variables (apply ... operation args)))
(completion (tramp-completion-mode-p)) (foreign
(tramp-find-foreign-file-name-handler filename))) (with-parsed-tramp-file-name
filename nil (if foreign (tramp-compat-condition-case-unless-debug err (let ...
... ... ...) (... ... ...) (error ...)) (tramp-run-real-handler operation
args))))) (set-match-data save-match-data-internal (quote evaporate))))
(save-match-data (let* ((filename (tramp-replace-environment-variables (apply
(quote tramp-file-name-for-operation) operation args))) (completion
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler
filename))) (with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let ((sf ...) result) (when (and
... ...) (let ... ...)) (setq result (catch ... ...)) (cond (... ... ...) (...
...) (t result))) ((debug quit) (let (tramp-message-show-message)
(tramp-message v 1 "Interrupt received in operation %s" ...)) (signal (car err)
(cdr err))) (error (cond (... t) (... filename) (t ...))))
(tramp-run-real-handler operation args)))))
(if tramp-mode (save-match-data (let* ((filename
(tramp-replace-environment-variables (apply (quote
tramp-file-name-for-operation) operation args))) (completion
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler
filename))) (with-parsed-tramp-file-name filename nil (if foreign
(tramp-compat-condition-case-unless-debug err (let (... result) (when ... ...)
(setq result ...) (cond ... ... ...)) ((debug quit) (let ... ...) (signal ...
...)) (error (cond ... ... ...))) (tramp-run-real-handler operation args)))))
(tramp-run-real-handler operation args))
tramp-file-name-handler(copy-file
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t nil nil)
copy-file("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t)
byte-code("@;\203. \305@ \n#\207\306 \n\f$\207" [attrs to ok-flag
from preserve-time make-symbolic-link copy-file] 5)
dired-copy-file-recursive("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil t t top)
dired-copy-file("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/sudo:address@hidden:/opt/local/etc/dovecot/conf.d/10-mail.conf" nil)
byte-code("
\n#\210\f\203. \306\n!\210.T.\307\310.\n.$\210\311\n.\f\"\207" [file-creator
from to dired-overwrite-confirmed overwrite success-count dired-remove-file
message "%s: %d of %d" dired-add-file operation total actual-marker-char] 5)
dired-create-files(dired-copy-file "Copy"
("/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-auth.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-director.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-logging.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-mail.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-master.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/10-ssl.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/15-lda.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/15-mailboxes.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/20-imap.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/20-lmtp.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/20-pop3.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/90-acl.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/90-plugin.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/90-quota.conf"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-checkpassword.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-deny.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-ldap.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-master.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-passwdfile.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-sql.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-static.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-system.conf.ext"
"/scpc:cone.local:/usr/local/etc/dovecot/conf.d/auth-vpopmail.conf.ext")
#[(from) "\302\303! \"\207" [from target expand-file-name
file-name-nondirectory] 3] 67)
dired-do-create-files(copy dired-copy-file "Copy" nil 67 nil nil)
dired-do-copy(nil)
call-interactively(dired-do-copy nil nil)
--8<---------------cut here---------------end--------------->8---
Emacs : GNU Emacs 24.2.2 (x86_64-apple-darwin11.4.2, Carbon Version 1.6.0
AppKit 1138.51)
of 2012-10-30 on Murasame.local
Package: tramp (2.2.6-pre)
current state:
==============
--
Dave Abrahams
BoostPro Computing Software Development Training
http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost
- tramp (2.2.6-pre); executable-find of nil,
Dave Abrahams <=