Tramp does not have a handler for insert-file-contents-literally,
This causes copy-file to fail if the first argument is a Tramp file,
because tramp-do-copy-or-rename-via-buffer fetches the file contents
using insert-file-contents-literally.  (Copies in the other direction
work fine.)


--- ChangeLog.orig      2002-08-03 15:42:57.000000000 +0000
+++ ChangeLog   2002-08-03 21:33:54.000000000 +0000
@@ -1,3 +1,13 @@
+2002-08-03  Michael Shields  <[EMAIL PROTECTED]>
+
+       * tramp.el (tramp-file-name-handler-alist): Add handler for
+       insert-file-contents-literally.
+       (tramp-handle-insert-file-contents,
+       tramp-handle-insert-file-contents-literally): Wrappers around
+       tramp-really-handle-insert-file-contents.
+       (tramp-really-handle-insert-file-contents): New, formed from the
+       old tramp-handle-insert-file-contents.
+
 2002-08-03  Kai Großjohann  <[EMAIL PROTECTED]>
 
        Version 2.0.6 released.
--- tramp.el.orig       2002-08-03 16:06:44.000000000 +0000
+++ tramp.el    2002-08-03 21:27:09.000000000 +0000
@@ -1414,6 +1414,7 @@
     (expand-file-name . tramp-handle-expand-file-name)
     (file-local-copy . tramp-handle-file-local-copy)
     (insert-file-contents . tramp-handle-insert-file-contents)
+    (insert-file-contents-literally . tramp-handle-insert-file-contents-literally)
     (write-region . tramp-handle-write-region)
     (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory)
     (dired-call-process . tramp-handle-dired-call-process)
@@ -2846,6 +2847,18 @@
 (defun tramp-handle-insert-file-contents
   (filename &optional visit beg end replace)
   "Like `insert-file-contents' for tramp files."
+  (tramp-really-handle-insert-file-contents 'insert-file-contents
+                                           filename visit beg end replace))
+
+(defun tramp-handle-insert-file-contents-literally
+  (filename &optional visit beg end replace)
+  "Like `insert-file-contents-literally' for tramp files."
+  (tramp-really-handle-insert-file-contents 'insert-file-contents-literally
+                                           filename visit beg end replace))
+
+(defun tramp-really-handle-insert-file-contents
+  (real-handler filename &optional visit beg end replace)
+  "Like `insert-file-contents' for tramp files."
   (barf-if-buffer-read-only)
   (setq filename (expand-file-name filename))
   (with-parsed-tramp-file-name filename nil
@@ -2872,7 +2885,7 @@
         multi-method method user host
         9 "Inserting local temp file `%s'..." local-copy)
        (setq result
-             (tramp-run-real-handler 'insert-file-contents
+             (tramp-run-real-handler real-handler
                                      (list local-copy nil beg end replace)))
        ;; Now `last-coding-system-used' has right value.  Remember it.
        (when (boundp 'last-coding-system-used)




Emacs  : XEmacs 21.4 (patch 6) "Common Lisp" [Lucid] (i386-debian-linux, Mule) of Sat 
Apr  6 2002 on eeyore
Package: tramp (2.0.7)

current state:
==============
(setq
 tramp-ls-command nil
 tramp-test-groks-nt nil
 tramp-file-exists-command nil
 tramp-current-multi-method nil
 tramp-current-method nil
 tramp-current-user nil
 tramp-current-host nil
 tramp-auto-save-directory nil
 tramp-default-method "rsync"
 tramp-rsh-end-of-line "\n"
 tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" "/usr/ccs/bin" 
"/local/bin"
                     "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" 
"/usr/pkg/bin"
                     "/usr/contrib/bin")
 tramp-login-prompt-regexp ".*ogin: *"
 tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):? *"
 tramp-wrong-passwd-regexp "^.*\\(?:Connection \\(?:closed\\|refused\\)\\|Host key 
verification failed\\.\\|Login \\(?:Incorrect\\|incorrect\\)\\|Name or service not 
known\\|Permission denied\\.\\|Sorry, try again\\.\\).*\\|^.*\\(Received signal 
[0-9]+\\).*"
 tramp-temp-name-prefix "tramp."
 tramp-file-name-structure 
'("\\`/\\[\\(\\([a-zA-Z0-9-]+\\)/\\)?\\(\\([-a-zA-Z0-9_#/:]+\\)@\\)?\\([-a-zA-Z0-9_#/:@.]+\\)\\]\\(.*\\)\\'"
 2 4 5 6)
 tramp-file-name-regexp "\\`/\\[.*\\]"
 tramp-multi-file-name-structure 
'("\\`/\\[\\(\\([a-z0-9]+\\)?\\)\\(\\(%s\\)+\\)\\]\\(.*\\)\\'" 2
                                   3 -1)
 tramp-multi-file-name-hop-structure 
'("/\\([a-z0-9_]+\\):\\([a-z0-9_]+\\)@\\([a-z0-9.-]+\\)" 1 2
                                       3)
 tramp-multi-methods '("multi" "multiu")
 tramp-multi-connection-function-alist '(("telnet" tramp-multi-connect-telnet "telnet 
%h%n")
                                         ("rsh" tramp-multi-connect-rlogin "rsh %h -l 
%u%n")
                                         ("ssh" tramp-multi-connect-rlogin "ssh %h -l 
%u%n")
                                         ("su" tramp-multi-connect-su "su - %u%n")
                                         ("sudo" tramp-multi-connect-su "sudo -u %u 
-s%n"))
 tramp-make-tramp-file-format "/[%m/%u@%h]%p"
 tramp-end-of-output "/////"
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 backup-by-copying nil
 backup-by-copying-when-linked t
 backup-by-copying-when-mismatch nil
 nil nil
 file-name-handler-alist 
'(("\\(\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\)\\|\\(\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'\\)\\|\\(\\.tgz\\'\\)\\|\\(\\.gz\\(~\\|\\.~[0-9]+~\\)?\\'\\)"
 . jka-compr-handler)
                           ("\\`/\\[.*\\]" . tramp-file-name-handler)
                           ("^/[^/:]+:" . remote-path-file-handler-function))
 )

-- 
Shields.

_______________________________________________
Tramp-devel mailing list
[EMAIL PROTECTED]
http://mail.freesoftware.fsf.org/mailman/listinfo/tramp-devel

Reply via email to