Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/ChangeLog,v
retrieving revision 1.64
diff -u -u -r1.64 ChangeLog
--- ChangeLog	2006/10/21 19:10:18	1.64
+++ ChangeLog	2006/12/30 20:59:58
@@ -1,3 +1,7 @@
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	* Makefile (AUTHOR_VERSION): Bump to 2.0.55.
+
 2006-10-21  Norbert Koch  <viteno@xemacs.org>
 
 	* Makefile (VERSION): XEmacs package 1.34 released.
Index: ChangeLog.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/ChangeLog.upstream,v
retrieving revision 1.14
diff -u -u -r1.14 ChangeLog.upstream
--- ChangeLog.upstream	2006/08/29 06:03:29	1.14
+++ ChangeLog.upstream	2006/12/30 20:59:59
@@ -1,10 +1,21 @@
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Version 2.0.55 released.
+
+	* configure.ac: Bump version.
+
+2006-10-21  Michael Albinus  <michael.albinus@gmx.de>
+
+	* configure.ac: Bump version (to 2.0.55-pre).  Update merge
+	version to 2.0.54.
+
 2006-08-29  Michael Albinus  <michael.albinus@gmx.de>
 
 	Version 2.0.54 released.
 
-	* configure.ac: Bump version. Backport from Tramp 2.1
+	* configure.ac: Bump version. Backport from Tramp 2.1.
 
-	* aclocal.m4: Backport from Tramp 2.1
+	* aclocal.m4: Backport from Tramp 2.1.
 
 2006-05-06  Michael Albinus  <michael.albinus@gmx.de>
 
Index: Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/Makefile,v
retrieving revision 1.64
diff -u -u -r1.64 Makefile
--- Makefile	2006/10/21 19:10:18	1.64
+++ Makefile	2006/12/30 20:59:59
@@ -18,7 +18,7 @@
 # Boston, MA 02111-1307, USA.
 
 VERSION = 1.34
-AUTHOR_VERSION = 2.0.54
+AUTHOR_VERSION = 2.0.55
 MAINTAINER = Kai Großjohann <kai.grossjohann@gmx.net>
 PACKAGE = tramp
 PKG_TYPE = regular
Index: lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/ChangeLog,v
retrieving revision 1.35
diff -u -u -r1.35 ChangeLog
--- lisp/ChangeLog	2006/10/21 11:37:13	1.35
+++ lisp/ChangeLog	2006/12/30 21:00:01
@@ -1,9 +1,100 @@
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Version 2.0.55 released.
+
+2006-12-21  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-completion-mode): Use `wholenump' instead of
+	`integerp'.  `char-equal' could fail else in case of negative
+	numbers.  Reported by Toby Speight <T.M.Speight.90@cantab.net>.
+
+2006-12-20  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-default-method): We still need to check for
+	`executable-find', because it is not bound under Emacs 20.
+	(tramp-handle-file-name-completion)
+	(tramp-completion-handle-file-name-completion): PREDICATE must be
+	applied on the expanded car's in `try-completion'.
+
+2006-12-20  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-handle-file-name-completion)
+	(tramp-completion-handle-file-name-completion): Handle optional
+	parameter PREDICATE.
+	(tramp-find-default-method): Add code for default values.
+
+2006-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-methods): Introduce new method `scpc'.  Remove
+	"ControlMaster" option from the other `scp*' methods.
+	(tramp-default-method): Check for ssh-agent before setting to
+	`scp'.
+	(top): Check for `font-lock-add-keywords' before calling; it
+	doesn't exist under XEmacs.
+
+2006-12-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-default-method): Before setting to "pscp", check
+	whether package password.el is loaded, or Pageant is running.
+
+2006-12-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-methods): Add "ControlPath" and "ControlMaster"
+	to scp, scp1 and scp2 methods.  Suggested by Andreas Schwab
+	<schwab@suse.de>.
+	(tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-open-connection-rsh): Compute format spec for ?t.
+	(tramp-process-actions): Trace command parameters.
+
+2006-11-24  Lars Hansen  <larsh@soem.dk>
+
+	* 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  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-yn-prompt-regexp): Fix regexp.
+
+2006-11-18  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (top): cl and custom are always required.
+
+2006-11-11  Glenn Morris  <rgm@gnu.org>
+
+	* tramp.el (tramp-unified-filenames): Improve previous doc fix.
+
+2006-11-10  Glenn Morris  <rgm@gnu.org>
+
+	* tramp.el (tramp-unified-filenames): Doc fix (Nil -> nil).
+
+2006-11-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.el (tramp-default-method): scp is the default method.
+
+2006-11-05  Lars Hansen  <larsh@soem.dk>
+
+	* tramp.el (with-parsed-tramp-file-name): Correct debug spec.
+	Highlight as keyword.
+	(tramp-do-copy-or-rename-file): Correct data for
+	'file-already-exists.  Don't call tramp-method-out-of-band-p for
+	local files.
+	(tramp-touch): Quote file name.
+
 2006-10-21  Michael Albinus  <michael.albinus@gmx.de>
 
-	* tramp.el (tramp-completion-mode): Remove clause (not
+	* tramp.el (tramp-yn-prompt-regexp): Add question from plink.
+	(tramp-completion-mode): Remove clause (not
 	tramp-unified-filenames), because the function is called in other
 	context too, where this check results in wrong results in the
 	XEmacs case on Windows.
+	(tramp-touch): UTC handling is not possible for XEmacs.
 
 2006-08-29  Michael Albinus  <michael.albinus@gmx.de>
 
Index: lisp/tramp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/tramp.el,v
retrieving revision 1.35
diff -u -u -r1.35 tramp.el
--- lisp/tramp.el	2006/10/21 11:37:13	1.35
+++ lisp/tramp.el	2006/12/30 21:00:05
@@ -113,7 +113,7 @@
 ;;;###autoload
 (defvar tramp-unified-filenames (not (featurep 'xemacs))
   "Non-nil means to use unified Ange-FTP/Tramp filename syntax.
-Nil means to use a separate filename syntax for Tramp.")
+Otherwise, use a separate filename syntax for Tramp.")
 
 ;; Load foreign methods.  Because they do require Tramp internally, this
 ;; must be done with the `eval-after-load' trick.
@@ -149,12 +149,11 @@
 		    (when (featurep 'tramp-smb)
 		      (unload-feature 'tramp-smb 'force)))))))
 
-(eval-when-compile
-  (require 'cl)
-  (require 'custom)
-  ;; Emacs 19.34 compatibility hack -- is this needed?
-  (or (>= emacs-major-version 20)
-      (load "cl-seq")))
+(require 'cl)
+(require 'custom)
+;; Emacs 19.34 compatibility hack -- is this needed?
+(or (>= emacs-major-version 20)
+    (load "cl-seq"))
 
 (unless (boundp 'custom-print-functions)
   (defvar custom-print-functions nil))	; not autoloaded before Emacs 20.4
@@ -473,6 +472,17 @@
               (tramp-copy-args            nil)
               (tramp-copy-keep-date-arg   nil)
 	      (tramp-password-end-of-line nil))
+     ("scpc"  (tramp-connection-function  tramp-open-connection-rsh)
+              (tramp-login-program        "ssh")
+              (tramp-copy-program         "scp")
+              (tramp-remote-sh            "/bin/sh")
+              (tramp-login-args           ("-o" "ControlPath=%t.%%r@%%h:%%p"
+					   "-o" "ControlMaster=yes"
+					   "-e" "none"))
+              (tramp-copy-args            ("-o" "ControlPath=%t.%%r@%%h:%%p"
+					   "-o" "ControlMaster=auto"))
+              (tramp-copy-keep-date-arg   "-p")
+	      (tramp-password-end-of-line nil))
      ("scpx"  (tramp-connection-function  tramp-open-connection-rsh)
               (tramp-login-program        "ssh")
               (tramp-copy-program         "scp")
@@ -567,6 +577,7 @@
     If `tramp-connection-function' is `tramp-open-connection-su', then
     \"%u\" in this list is replaced by the user name, and \"%%\" can
     be used to obtain a literal percent character.
+    \"%t\" is replaced by the temporary file name for `scp'-like methods.
   * `tramp-copy-program'
     This specifies the name of the program to use for remotely copying
     the file; this might be the absolute filename of rcp or the name of
@@ -673,10 +684,41 @@
   :type '(repeat (list string function string)))
 
 (defcustom tramp-default-method
-  (if (and (fboundp 'executable-find)
-	   (executable-find "plink"))
-      "plink"
-    "ssh")
+  ;; An external copy method seems to be preferred, because it is much
+  ;; more performant for large files, and it hasn't too serious delays
+  ;; for small files.  But it must be ensured that there aren't
+  ;; permanent password queries.  Either a password agent like
+  ;; "ssh-agent" or "Pageant" shall run, or the optional password.el
+  ;; package shall be active for password caching.  "scpc" would be
+  ;; another good choice because of the "ControlMaster" option, but
+  ;; this is a more modern alternative in OpenSSH 4, which cannot be
+  ;; taken as default.
+  (let ((e-f (and (fboundp 'executable-find)
+		  (symbol-function 'executable-find))))
+    (cond
+     ;; PuTTY is installed.
+     ((and e-f (funcall e-f "pscp"))
+      (if (or (fboundp 'password-read)
+	      ;; Pageant is running.
+	      (and (fboundp 'w32-window-exists-p)
+		   (funcall (symbol-function 'w32-window-exists-p)
+			    "Pageant" "Pageant")))
+	  "pscp"
+	"plink"))
+     ;; There is an ssh installation.
+     ((and e-f (funcall e-f "scp"))
+      (if (or (fboundp 'password-read)
+	      ;; ssh-agent is running.
+	      (getenv "SSH_AUTH_SOCK")
+	      (getenv "SSH_AGENT_PID"))
+	  "scp"
+	"ssh"))
+     ;; Under Emacs 20, `executable-find' does not exists.  So we
+     ;; couldn't check whether there is an ssh implementation.  Let's
+     ;; hope the best.
+     ((not e-f) "ssh")
+     ;; Fallback.
+     (t "ftp")))
   "*Default method to use for transferring files.
 See `tramp-methods' for possibilities.
 Also see `tramp-default-method-alist'."
@@ -914,8 +956,10 @@
   :type 'regexp)
 
 (defcustom tramp-yn-prompt-regexp
-  (concat (regexp-opt '("Store key in cache? (y/n)") t)
-	  "\\s-*")
+  (concat
+   (regexp-opt '("Store key in cache? (y/n)"
+		 "Update cached key? (y/n, Return cancels connection)") t)
+   "\\s-*")
   "Regular expression matching all y/n queries which need to be confirmed.
 The confirmation should be done with y or n.
 The regexp should match at end of buffer.
@@ -944,6 +988,17 @@
   :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.
@@ -1341,6 +1396,7 @@
 (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.
@@ -2018,11 +2074,12 @@
      ,@body))
 
 (put 'with-parsed-tramp-file-name 'lisp-indent-function 2)
-;; To be activated for debugging containing this macro
-;; It works only when VAR is nil.  Otherwise, it can be deactivated by
-;; (put 'with-parsed-tramp-file-name 'edebug-form-spec 0)
-;; I'm too stupid to write a precise SPEC for it.
-(put 'with-parsed-tramp-file-name 'edebug-form-spec t)
+;; Enable debugging.
+(def-edebug-spec with-parsed-tramp-file-name (form symbolp body))
+;; Highlight as keyword.
+(when (functionp 'font-lock-add-keywords)
+  (funcall 'font-lock-add-keywords
+	   'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>")))
 
 (defmacro tramp-let-maybe (variable value &rest body)
   "Let-bind VARIABLE to VALUE in BODY, but only if VARIABLE is not obsolete.
@@ -2812,17 +2869,18 @@
 
 
 ;; The following isn't needed for Emacs 20 but for 19.34?
-(defun tramp-handle-file-name-completion (filename directory)
+(defun tramp-handle-file-name-completion
+  (filename directory &optional predicate)
   "Like `file-name-completion' for tramp files."
   (unless (tramp-tramp-file-p directory)
     (error
      "tramp-handle-file-name-completion invoked on non-tramp directory `%s'"
      directory))
-  (with-parsed-tramp-file-name directory nil
-    (try-completion
-     filename
-     (mapcar (lambda (x) (cons x nil))
-	     (file-name-all-completions filename directory)))))
+  (try-completion
+   filename
+   (mapcar 'list (file-name-all-completions filename directory))
+   (when predicate
+     (lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
 
 ;; cp, mv and ln
 
@@ -2905,7 +2963,7 @@
   (unless ok-if-already-exists
     (when (file-exists-p newname)
       (signal 'file-already-exists
-              (list newname))))
+              (list "File already exists" newname))))
   (let ((t1 (tramp-tramp-file-p filename))
 	(t2 (tramp-tramp-file-p newname))
 	v1-multi-method v1-method v1-user v1-host v1-localname
@@ -2978,10 +3036,10 @@
       ;; copy-program can be invoked.
       (if (and (not v1-multi-method)
 	       (not v2-multi-method)
-	       (or (tramp-method-out-of-band-p
-		    v1-multi-method v1-method v1-user v1-host)
-		   (tramp-method-out-of-band-p
-		    v2-multi-method v2-method v2-user v2-host)))
+	       (or (and t1 (tramp-method-out-of-band-p
+                            v1-multi-method v1-method v1-user v1-host))
+		   (and t2 (tramp-method-out-of-band-p
+                            v2-multi-method v2-method v2-user v2-host))))
 	  (tramp-do-copy-or-rename-file-out-of-band
 	   op filename newname keep-date)
 	;; Use the generic method via a Tramp buffer.
@@ -3142,6 +3200,14 @@
 	      v2-user v2-host
 	      (tramp-shell-quote-argument v2-localname))))
 
+    ;; Handle ControlMaster/ControlPath
+    (setq copy-args
+	  (mapcar
+	   (lambda (x)
+	     (format-spec
+	      x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix)))))
+	   copy-args))
+
     ;; Handle keep-date argument
     (when keep-date
       (if t1
@@ -3176,12 +3242,13 @@
       (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.
@@ -4471,7 +4538,7 @@
     (member (match-string 1 file) (mapcar 'car tramp-methods)))
    ((or (equal last-input-event 'tab)
   	;; Emacs
-  	(and (integerp last-input-event)
+  	(and (wholenump last-input-event)
 	     (or
 	      ;; ?\t has event-modifier 'control
 	      (char-equal last-input-event ?\t)
@@ -4573,10 +4640,14 @@
 
 ;; Method, host name and user name completion for a file.
 ;;;###autoload
-(defun tramp-completion-handle-file-name-completion (filename directory)
+(defun tramp-completion-handle-file-name-completion
+  (filename directory &optional predicate)
   "Like `file-name-completion' for tramp files."
-  (try-completion filename
-   (mapcar 'list (file-name-all-completions filename directory))))
+  (try-completion
+   filename
+   (mapcar 'list (file-name-all-completions filename directory))
+   (when predicate
+     (lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
 
 ;; I misuse a little bit the tramp-file-name structure in order to handle
 ;; completion possibilities for partial methods / user names / host names.
@@ -5036,15 +5107,25 @@
 (defun tramp-touch (file time)
   "Set the last-modified timestamp of the given file.
 TIME is an Emacs internal time value as returned by `current-time'."
-  (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time t)))
+  (let* ((utc
+	  ;; With GNU Emacs, `format-time-string' has an optional
+	  ;; parameter UNIVERSAL.  This is preferred.
+	  (and (functionp 'subr-arity)
+	       (= 3 (cdr (funcall (symbol-function 'subr-arity)
+				  (symbol-function 'format-time-string))))))
+	 (touch-time
+	  (if utc
+	      (format-time-string "%Y%m%d%H%M.%S" time t)
+	    (format-time-string "%Y%m%d%H%M.%S" time))))
     (if (tramp-tramp-file-p file)
 	(with-parsed-tramp-file-name file nil
 	  (let ((buf (tramp-get-buffer multi-method method user host)))
 	    (unless (zerop (tramp-send-command-and-check
 			    multi-method method user host
-			    (format "TZ=UTC; export TZ; touch -t %s %s"
+			    (format "%s touch -t %s %s"
+				    (if utc "TZ=UTC; export TZ;" "")
 				    touch-time
-				    localname)
+				    (tramp-shell-quote-argument localname))
 			    t))
 	      (pop-to-buffer buf)
 	      (error "tramp-touch: touch failed, see buffer `%s' for details"
@@ -5354,6 +5435,11 @@
   (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.
@@ -5410,9 +5496,6 @@
 	       (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)))
@@ -5477,6 +5560,7 @@
 
 (defun tramp-process-actions (p multi-method method user host actions)
   "Perform actions until success."
+  (tramp-message 10 "%s" (mapconcat 'identity (process-command p) " "))
   (let (exit)
     (while (not exit)
       (tramp-message 9 "Waiting for prompts from remote shell")
@@ -5647,10 +5731,14 @@
 			multi-method
 			(tramp-find-method multi-method method user host)
 			user host 'tramp-login-program))
-	  (login-args (tramp-get-method-parameter
-		     multi-method
-		     (tramp-find-method multi-method method user host)
-		     user host 'tramp-login-args))
+	  (login-args (mapcar
+		       (lambda (x)
+			 (format-spec
+			  x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix)))))
+		       (tramp-get-method-parameter
+			multi-method
+			(tramp-find-method multi-method method user host)
+			user host 'tramp-login-args)))
 	  (real-host host))
       ;; The following should be changed.  We need a more general
       ;; mechanism to parse extra host args.
@@ -6904,8 +6992,8 @@
 	item)
     (while choices
       (setq item (pop choices))
-      (when (and (string-match (nth 0 item) (or host ""))
-		 (string-match (nth 1 item) (or user "")))
+      (when (and (string-match (or (nth 0 item) "") (or host ""))
+		 (string-match (or (nth 1 item) "") (or user "")))
 	(setq method (nth 2 item))
 	(setq choices nil)))
     method))
Index: lisp/trampver.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/trampver.el,v
retrieving revision 1.14
diff -u -u -r1.14 trampver.el
--- lisp/trampver.el	2006/08/29 06:03:38	1.14
+++ lisp/trampver.el	2006/12/30 21:00:05
@@ -30,7 +30,7 @@
 ;; are auto-frobbed from configure.ac, so you should edit that file and run
 ;; "autoconf && ./configure" to change them.
 
-(defconst tramp-version "2.0.54"
+(defconst tramp-version "2.0.55"
   "This version of Tramp.")
 
 (defconst tramp-bug-report-address "tramp-devel@gnu.org"
Index: texi/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/ChangeLog,v
retrieving revision 1.31
diff -u -u -r1.31 ChangeLog
--- texi/ChangeLog	2006/08/29 06:03:40	1.31
+++ texi/ChangeLog	2006/12/30 21:00:05
@@ -1,3 +1,22 @@
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Version 2.0.55 released.
+
+2006-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.texi (External transfer methods): Describe new method `scpc'.
+
+2006-11-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.texi (Configuration): scp is the default method.
+	(Default Method): Use ssh as example for another method.
+
+2006-10-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.texi (Frequently Asked Questions): Remove questions marked with
+	"???".  There have been no complaints for years, so the information
+	must be appropriate.
+
 2006-08-29  Michael Albinus  <michael.albinus@gmx.de>
 
 	Version 2.0.54 released.
Index: texi/tramp.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/tramp.texi,v
retrieving revision 1.24
diff -u -u -r1.24 tramp.texi
--- texi/tramp.texi	2006/08/29 06:03:40	1.24
+++ texi/tramp.texi	2006/12/30 21:00:06
@@ -456,11 +456,10 @@
 @cindex configuration
 
 @cindex default configuration
-@value{tramp} is (normally) fully functional when it is initially installed.
-It is initially configured to use the @command{ssh} program to connect
-to the remote host and to use base64 or uu encoding to transfer the
-files through that shell connection.  So in the easiest case, you just
-type @kbd{C-x C-f} and then enter the filename
+@value{tramp} is (normally) fully functional when it is initially
+installed.  It is initially configured to use the @command{scp}
+program to connect to the remote host.  So in the easiest case, you
+just type @kbd{C-x C-f} and then enter the filename
 @file{@value{prefix}@var{user}@@@var{machine}@value{postfix}@var{/path/to.file}}.
 
 On some hosts, there are problems with opening a connection.  These are
@@ -833,6 +832,26 @@
 This method supports the @samp{-p} hack.
 
 
+@item @option{scpc} --- @command{ssh} and @command{scp}
+@cindex method scpx
+@cindex scpx method
+@cindex scp (with scpx method)
+@cindex ssh (with scpx method)
+
+Newer versions of @option{ssh} (for example OpenSSH 4) offer an option
+@option{ControlMaster}.  This allows @option{scp} to reuse an existing
+@option{ssh} channel, which increases performance.
+
+Before you use this method, you shall check whether your @option{ssh}
+implementation does support this option.  Try from the command line
+
+@example
+ssh localhost -o ControlMaster=yes
+@end example
+
+This method supports the @samp{-p} hack.
+
+
 @item @option{pscp} --- @command{plink} and @command{pscp}
 @cindex method pscp
 @cindex pscp method
@@ -1036,7 +1055,7 @@
 is not specified in the @value{tramp} file name.  For example:
 
 @lisp
-(setq tramp-default-method "scp")
+(setq tramp-default-method "ssh")
 @end lisp
 
 @vindex tramp-default-method-alist
@@ -2008,11 +2027,6 @@
 Web page with instructions:
 @uref{http://www4.ncsu.edu/~tlroche/plinkTramp.html}
 @end ignore
-
-??? Is the XEmacs info correct?
-
-??? Can somebody provide some information for getting it to work on NT
-Emacs?  I think there was some issue with @command{ssh}?
 
 
 @item
Index: texi/trampver.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/trampver.texi,v
retrieving revision 1.14
diff -u -u -r1.14 trampver.texi
--- texi/trampver.texi	2006/08/29 06:03:41	1.14
+++ texi/trampver.texi	2006/12/30 21:00:06
@@ -4,11 +4,11 @@
 @c In the Tramp CVS, the version number is auto-frobbed from
 @c configure.ac, so you should edit that file and run
 @c "autoconf && ./configure" to change the version number.
-@set trampver 2.0.54
+@set trampver 2.0.55
 
 @c Other flags from configuration
 @set prefix /usr/local
-@set lispdir /usr/local/share/xemacs/site-lisp
+@set lispdir /usr/local/lib/xemacs/site-lisp
 @set infodir /usr/local/info
 
 @c Formatting of the tramp program name consistent.
