User: albinus
Date: 06/01/22 23:10:59
Modified: packages/xemacs-packages/tramp/texi ChangeLog tramp.texi
trampver.texi
Log:
Sync with Tramp 2.0.52.
Revision Changes Path
1.56 +5 -1 XEmacs/packages/xemacs-packages/tramp/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/ChangeLog,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -p -r1.55 -r1.56
--- ChangeLog 2005/10/12 08:13:38 1.55
+++ ChangeLog 2006/01/22 22:10:41 1.56
@@ -1,3 +1,7 @@
+2006-01-22 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * Makefile (AUTHOR_VERSION): Bump to 2.0.52.
+
2005-10-12 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 1.28 released.
@@ -5,7 +9,7 @@
2005-10-11 Steve Youngs <steve(a)sxemacs.org>
* Makefile (REQUIRES): Remove fsf-compat, add sh-script (for
- executable-find).
+ executable-find).
2005-10-09 Norbert Koch <viteno(a)xemacs.org>
1.12 +28 -0 XEmacs/packages/xemacs-packages/tramp/ChangeLog.upstream
Index: ChangeLog.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/ChangeLog.upstream,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- ChangeLog.upstream 2005/10/08 15:02:16 1.11
+++ ChangeLog.upstream 2006/01/22 22:10:41 1.12
@@ -1,3 +1,31 @@
+2006-01-22 Michael Albinus <michael.albinus(a)gmx.de>
+
+ Version 2.0.52 released.
+
+ * configure.ac: Bump version.
+
+2005-12-02 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * configure.ac: Remove creation of info directory.
+
+ * Makefile.in (MANIFEST): Call ./config.status in order to
+ regenerate $(CONFIG_FILES).
+
+2005-10-23 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * Makefile.in (clean): Cleanup also subdirectory test.
+ (MANIFEST): Exclude tramp2 and .cvsignore.
+
+2005-10-11 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * configure.ac: Bump version (to 2.0.52-pre). Update merge
+ version to 2.0.51.
+
+2005-10-11 Steve Youngs <steve(a)sxemacs.org>
+
+ * Makefile.XEmacs (REQUIRES): Remove fsf-compat, add
+ sh-script (for executable-find).
+
2005-10-08 Michael Albinus <michael.albinus(a)gmx.de>
Version 2.0.51 released.
1.56 +1 -1 XEmacs/packages/xemacs-packages/tramp/Makefile
Index: Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/Makefile,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -p -r1.55 -r1.56
--- Makefile 2005/10/12 08:13:38 1.55
+++ Makefile 2006/01/22 22:10:41 1.56
@@ -18,7 +18,7 @@
# Boston, MA 02111-1307, USA.
VERSION = 1.28
-AUTHOR_VERSION = 2.0.51
+AUTHOR_VERSION = 2.0.52
MAINTAINER = Kai Großjohann <kai.grossjohann(a)gmx.net>
PACKAGE = tramp
PKG_TYPE = regular
1.30 +96 -1 XEmacs/packages/xemacs-packages/tramp/lisp/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/ChangeLog,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -p -r1.29 -r1.30
--- ChangeLog 2005/10/11 12:42:15 1.29
+++ ChangeLog 2006/01/22 22:10:49 1.30
@@ -1,7 +1,102 @@
+2006-01-22 Michael Albinus <michael.albinus(a)gmx.de>
+
+ Version 2.0.52 released.
+
+ * tramp.el, tramp-ftp.el, tramp-util.el, tramp-vc.el: Add code for
+ unloading Tramp. See comment before `tramp-unload-tramp' for
+ checklist.
+
+ * tramp.el (tramp-unload-file-name-handler-alist)
+ (tramp-unload-tramp): New defuns.
+ (tramp-advice-PC-expand-many-files): New defadvice.
+ (tramp-save-PC-expand-many-files, tramp-setup-complete) Defuns
+ removed.
+
+ * tramp-ftp.el (tramp-ftp-enable-ange-ftp): New defun.
+
+ * tramp-util.el (top): Apply `ignore' instead of `identity' for
+ byte-compiler pacification.
+
+2005-12-18 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-handle-expand-file-name): Remove double slash.
+
+2005-11-13 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp-util.el (top): Fix compilation warning.
+
+2005-11-12 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-handle-file-attributes-with-ls): Return t as
+ 9th attribute. It doesn't matter, because it will be converted
+ later on.
+ (tramp-handle-file-ownership-preserved-p): Rewritten. The old
+ implementation was just heuristic.
+ (tramp-post-connection): Set uid and gid properties.
+ (tramp-convert-file-attributes): Set file's gid change bit.
+ (tramp-get-remote-uid, tramp-get-remote-gid): New defuns.
+
+2005-11-09 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-handle-expand-file-name): Use "~root" for tilde
+ expansion in case of su(do)? methods. The home directory of the
+ local user will be taken else.
+
+2005-11-05 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-open-connection-telnet)
+ (tramp-open-connection-rsh, tramp-open-connection-su)
+ (tramp-open-connection-multi): Set PS1 to "$ ". Otherwise, a
+ local shell prompt could hurt. Reported by Romain Francoise
+ <romain(a)orebokech.com>.
+
+2005-11-02 Lars Hansen <larsh(a)soem.dk>
+
+ * tramp.el (tramp-action-out-of-band): Handle scp message
+ "Permission denied".
+
+2005-10-30 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-chunksize): Escape parentheses in docstring
+ starting at beginning of line. Fontification is messed up when
+ `open-paren-in-column-0-is-defun-start' set to t. Reported by
+ John Paul Wallington <jpw(a)pobox.com>.
+
+2005-10-28 Richard M. Stallman <rms(a)gnu.org>
+
+ * tramp.el (tramp-completion-mode): defvar moved up.
+
+2005-10-23 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-let-maybe): Add `edebug-form-spec' property.
+ (tramp-handle-expand-file-name): Bind `default-directory' locally
+ to "/" in order to avoid problems with UNC shares or Cygwin
+ mounts.
+
+2005-10-17 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-completion-mode): New defvar. Used in
+ `tramp-completion-mode' for checking if we are in completion mode.
+ (tramp-completion-handle-file-name-all-completions): Reorder code
+ in order to complete for file names only in case there are no
+ method/user/host completions. This is necessary for cooperation
+ with ido. Reported by Kim F. Storm <storm(a)cua.dk>.
+
+2005-10-08 Lars Hansen <larsh(a)soem.dk>
+
+ * tramp.el (tramp-perl-directory-files-and-attributes): Add error
+ handling.
+ (tramp-handle-directory-files-and-attributes): Handle perl error
+ msg.
+
2005-10-11 Steve Youngs <steve(a)sxemacs.org>
* tramp.el: Require `timer-funcs' instead of `timer' if in
- XEmacs.
+ XEmacs.
+
+2005-10-09 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.el (tramp-md5-function): Fix typo in error message.
2005-10-08 Michael Albinus <michael.albinus(a)gmx.de>
1.9 +62 -44 XEmacs/packages/xemacs-packages/tramp/lisp/tramp-util.el
Index: tramp-util.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/tramp-util.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- tramp-util.el 2005/08/07 15:55:39 1.8
+++ tramp-util.el 2006/01/22 22:10:49 1.9
@@ -1,7 +1,8 @@
;;; -*- coding: iso-2022-7bit; -*-
;;; tramp-util.el --- Misc utility functions to use with Tramp
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: kai.grossjohann(a)gmx.net
;; Keywords: comm, extensions, processes
@@ -31,58 +32,75 @@
(eval-when-compile (require 'cl))
(require 'compile)
(require 'tramp)
+(add-hook 'tramp-util-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp)
+ (unload-feature 'tramp 'force))))
;; Define a Tramp minor mode. It's intention is to redefine some keys for Tramp
;; specific functions, like compilation.
;; The key remapping works since Emacs 22 only. Unknown for XEmacs.
-(when (fboundp 'define-minor-mode)
+;; Pacify byte-compiler
+(eval-when-compile
+ (unless (fboundp 'define-minor-mode)
+ (defalias 'define-minor-mode 'identity)
+ (defvar tramp-minor-mode))
+ (unless (featurep 'xemacs)
+ (defalias 'add-menu-button 'ignore)))
+
+(defvar tramp-minor-mode-map (make-sparse-keymap)
+ "Keymap for Tramp minor mode.")
+
+(define-minor-mode tramp-minor-mode "Tramp minor mode for utility functions."
+:group 'tramp
+:global nil
+:init-value nil
+:lighter " Tramp"
+:keymap tramp-minor-mode-map
+ (setq tramp-minor-mode
+ (and tramp-minor-mode (tramp-tramp-file-p default-directory))))
+
+(add-hook 'find-file-hooks 'tramp-minor-mode t)
+(add-hook 'tramp-util-unload-hook
+ '(lambda ()
+ (remove-hook 'find-file-hooks 'tramp-minor-mode)))
+
+(add-hook 'dired-mode-hook 'tramp-minor-mode t)
+(add-hook 'tramp-util-unload-hook
+ '(lambda ()
+ (remove-hook 'dired-mode-hook 'tramp-minor-mode)))
- (defvar tramp-minor-mode-map (make-sparse-keymap)
- "Keymap for Tramp minor mode.")
-
- (define-minor-mode tramp-minor-mode "Tramp minor mode for utility functions."
-:group 'tramp
-:global nil
-:init-value nil
-:lighter " Tramp"
-:keymap tramp-minor-mode-map
- (setq tramp-minor-mode
- (and tramp-minor-mode (tramp-tramp-file-p default-directory))))
-
- (add-hook 'find-file-hooks 'tramp-minor-mode t)
- (add-hook 'dired-mode-hook 'tramp-minor-mode t)
-
- (defun tramp-remap-command (old-command new-command)
- "Replaces bindings of OLD-COMMAND by NEW-COMMAND.
+(defun tramp-remap-command (old-command new-command)
+ "Replaces bindings of OLD-COMMAND by NEW-COMMAND.
If remapping functionality for keymaps is defined, this happens for all
bindings. Otherwise, only bindings active during invocation are taken
into account. XEmacs menubar bindings are not changed by this."
- (if (functionp 'command-remapping)
- ;; Emacs 22
- (eval
- `(define-key tramp-minor-mode-map [remap ,old-command] new-command))
- ;; previous Emacs versions.
- (mapcar
- '(lambda (x)
- (define-key tramp-minor-mode-map x new-command))
- (where-is-internal old-command))))
-
- (tramp-remap-command 'compile 'tramp-compile)
- (tramp-remap-command 'recompile 'tramp-recompile)
-
- ;; XEmacs has an own mimic for menu entries
- (when (fboundp 'add-menu-button)
- (funcall 'add-menu-button
- '("Tools" "Compile")
- ["Compile..."
- (command-execute (if tramp-minor-mode 'tramp-compile 'compile))
-:active (fboundp 'compile)])
- (funcall 'add-menu-button
- '("Tools" "Compile")
- ["Repeat Compilation"
- (command-execute (if tramp-minor-mode 'tramp-recompile 'recompile))
-:active (fboundp 'compile)])))
+ (if (functionp 'command-remapping)
+ ;; Emacs 22
+ (eval
+ `(define-key tramp-minor-mode-map [remap ,old-command] new-command))
+ ;; previous Emacs versions.
+ (mapcar
+ '(lambda (x)
+ (define-key tramp-minor-mode-map x new-command))
+ (where-is-internal old-command))))
+
+(tramp-remap-command 'compile 'tramp-compile)
+(tramp-remap-command 'recompile 'tramp-recompile)
+
+;; XEmacs has an own mimic for menu entries
+(when (fboundp 'add-menu-button)
+ (funcall 'add-menu-button
+ '("Tools" "Compile")
+ ["Compile..."
+ (command-execute (if tramp-minor-mode 'tramp-compile 'compile))
+:active (fboundp 'compile)])
+ (funcall 'add-menu-button
+ '("Tools" "Compile")
+ ["Repeat Compilation"
+ (command-execute (if tramp-minor-mode 'tramp-recompile 'recompile))
+:active (fboundp 'compile)]))
;; Utility functions.
1.16 +44 -25 XEmacs/packages/xemacs-packages/tramp/lisp/tramp-vc.el
Index: tramp-vc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/tramp-vc.el,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -p -r1.15 -r1.16
--- tramp-vc.el 2005/08/07 15:55:39 1.15
+++ tramp-vc.el 2006/01/22 22:10:49 1.16
@@ -1,7 +1,7 @@
;;; tramp-vc.el --- Version control integration for TRAMP.el
;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Daniel Pittman <daniel(a)danann.net>
;; Keywords: comm, processes
@@ -220,36 +220,39 @@ Since TRAMP doesn't do async commands ye
;; Daniel Pittman <daniel(a)danann.net>
;;-(if (fboundp 'vc-call-backend)
;;- () ;; This is the new VC for which we don't have an appropriate advice yet
+;;-)
(unless (fboundp 'process-file)
-(if (fboundp 'vc-call-backend)
+ (if (fboundp 'vc-call-backend)
+ (defadvice vc-do-command
+ (around tramp-advice-vc-do-command
+ (buffer okstatus command file &rest flags)
+ activate)
+ "Invoke tramp-vc-do-command for tramp files."
+ (let ((file (symbol-value 'file))) ;pacify byte-compiler
+ (if (or (and (stringp file) (tramp-tramp-file-p file))
+ (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name))))
+ (setq ad-return-value
+ (apply 'tramp-vc-do-command-new buffer okstatus command
+ file ;(or file (buffer-file-name))
+ flags))
+ ad-do-it)))
(defadvice vc-do-command
(around tramp-advice-vc-do-command
- (buffer okstatus command file &rest flags)
- activate)
+ (buffer okstatus command file last &rest flags)
+ activate)
"Invoke tramp-vc-do-command for tramp files."
- (let ((file (symbol-value 'file))) ;pacify byte-compiler
- (if (or (and (stringp file) (tramp-tramp-file-p file))
- (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name))))
- (setq ad-return-value
- (apply 'tramp-vc-do-command-new buffer okstatus command
- file ;(or file (buffer-file-name))
- flags))
- ad-do-it)))
- (defadvice vc-do-command
- (around tramp-advice-vc-do-command
- (buffer okstatus command file last &rest flags)
- activate)
- "Invoke tramp-vc-do-command for tramp files."
- (let ((file (symbol-value 'file))) ;pacify byte-compiler
- (if (or (and (stringp file) (tramp-tramp-file-p file))
- (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name))))
- (setq ad-return-value
- (apply 'tramp-vc-do-command buffer okstatus command
- (or file (buffer-file-name)) last flags))
- ad-do-it)))))
-;;-)
+ (let ((file (symbol-value 'file))) ;pacify byte-compiler
+ (if (or (and (stringp file) (tramp-tramp-file-p file))
+ (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name))))
+ (setq ad-return-value
+ (apply 'tramp-vc-do-command buffer okstatus command
+ (or file (buffer-file-name)) last flags))
+ ad-do-it))))
+ (add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'vc-do-command))))
+
;; XEmacs uses this to do some of its work. Like vc-do-command, we
;; need to enhance it to make VC work via TRAMP-mode.
;;
@@ -324,6 +327,9 @@ Since TRAMP doesn't do async commands ye
(or file (buffer-file-name)) args))
ad-do-it)))
+(add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'vc-simple-command)))
+
;; `vc-workfile-unchanged-p'
;; This function does not deal well with remote files, so we do the
@@ -364,7 +370,10 @@ Since TRAMP doesn't do async commands ye
(tramp-vc-workfile-unchanged-p filename want-differences-if-changed))
ad-do-it))
+(add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'vc-workfile-unchanged-p)))
+
;; Redefine a function from vc.el -- allow tramp files.
;; `save-match-data' seems not to be required -- it isn't in
;; the original version, either.
@@ -445,6 +454,9 @@ filename we are thinking about..."
(tramp-handle-vc-user-login-name uid)))) ; get the owner name
ad-do-it))) ; else call the original
+(add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'vc-user-login-name)))
+
;; Determine the name of the user owning a file.
(defun tramp-file-owner (filename)
@@ -486,7 +498,10 @@ filename we are thinking about..."
(tramp-file-owner filename)))) ; get the owner name
ad-do-it))) ; else call the original
+(add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'vc-file-owner)))
+
;; We need to make the version control software backend version
;; information local to the current buffer. This is because each TRAMP
;; buffer can (theoretically) have a different VC version and I am
@@ -506,7 +521,11 @@ This makes remote VC work correctly at t
(tramp-tramp-file-p (buffer-file-name)))
(make-local-variable 'vc-rcs-release)
(setq vc-rcs-release nil)))
+
(add-hook 'find-file-hooks 'tramp-vc-setup-for-remote t)
+(add-hook 'tramp-unload-hook
+ '(lambda ()
+ (remove-hook 'find-file-hooks 'tramp-vc-setup-for-remote)))
;; No need to load this again if anyone asks.
(provide 'tramp-vc)
1.30 +232 -102 XEmacs/packages/xemacs-packages/tramp/lisp/tramp.el
Index: tramp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/tramp.el,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -p -r1.29 -r1.30
--- tramp.el 2005/10/11 12:42:15 1.29
+++ tramp.el 2006/01/22 22:10:49 1.30
@@ -2,7 +2,7 @@
;;; tramp.el --- Transparent Remote Access, Multiple Protocol
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Kai Gro,A_(Bjohann <kai.grossjohann(a)gmx.net>
;; Michael Albinus <michael.albinus(a)gmx.de>
@@ -67,6 +67,10 @@
;; The Tramp version number and bug report address, as prepared by configure.
(require 'trampver)
+(add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'trampver)
+ (unload-feature 'trampver 'force))))
(if (featurep 'xemacs)
(require 'timer-funcs)
@@ -90,6 +94,10 @@
(autoload 'tramp-uuencode-region "tramp-uu"
"Implementation of `uuencode' in Lisp.")
+(add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp-uu)
+ (unload-feature 'tramp-uu 'force))))
(unless (fboundp 'uudecode-decode-region)
(autoload 'uudecode-decode-region "uudecode"))
@@ -113,10 +121,20 @@ Nil means to use a separate filename syn
;; tramp-ftp supports Ange-FTP only. Not suited for XEmacs therefore.
(unless (featurep 'xemacs)
(eval-after-load "tramp"
- '(require 'tramp-ftp)))
+ '(progn
+ (require 'tramp-ftp)
+ (add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp-ftp)
+ (unload-feature 'tramp-ftp 'force)))))))
(when (and tramp-unified-filenames (featurep 'xemacs))
(eval-after-load "tramp"
- '(require 'tramp-efs)))
+ '(progn
+ (require 'tramp-efs)
+ (add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp-efs)
+ (unload-feature 'tramp-efs 'force)))))))
;; tramp-smb uses "smbclient" from Samba.
;; Not available under Cygwin and Windows, because they don't offer
@@ -124,7 +142,12 @@ Nil means to use a separate filename syn
;; UNC file names like "//host/share/localname".
(unless (memq system-type '(cygwin windows-nt))
(eval-after-load "tramp"
- '(require 'tramp-smb)))
+ '(progn
+ (require 'tramp-smb)
+ (add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp-smb)
+ (unload-feature 'tramp-smb 'force)))))))
(eval-when-compile
(require 'cl)
@@ -1361,6 +1384,9 @@ autocorrect\" to the remote host."
(when (and (not (featurep 'xemacs))
(memq system-type '(hpux)))
500)
+;; Parentheses in docstring starting at beginning of line are escaped.
+;; Fontification is messed up when
+;; `open-paren-in-column-0-is-defun-start' set to t.
"*If non-nil, chunksize for sending input to local process.
It is necessary only on systems which have a buggy `process-send-string'
implementation. The necessity, whether this variable must be set, can be
@@ -1395,7 +1421,7 @@ checked via the following code:
(sit-for 30))))
In the Emacs normally running Tramp, evaluate the above code
-(replace \"xxx\" and \"yyy\" by the remote user and host name,
+\(replace \"xxx\" and \"yyy\" by the remote user and host name,
respectively). You can do this, for example, by pasting it into
the `*scratch*' buffer and then hitting C-j with the cursor after the
last closing parenthesis. Note that it works only if you have configured
@@ -1412,7 +1438,7 @@ in the third line of the code.
When it is necessary to set `tramp-chunksize', you might consider to
use an out-of-the-band method (like \"scp\") instead of an internal one
-(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases
+\(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases
performance.
Please raise a bug report via \"M-x tramp-bug\" if your system needs
@@ -1445,7 +1471,7 @@ the visited file modtime.")
((fboundp 'md5-encode)
(lambda (x) (base64-encode-string
(funcall (symbol-function 'md5-encode) x))))
- (t (error "Coulnd't find an `md5' function")))
+ (t (error "Couldn't find an `md5' function")))
"Function to call for running the MD5 algorithm.")
(defvar tramp-end-of-output
@@ -1620,8 +1646,8 @@ printf(
on the remote file system.")
(defconst tramp-perl-directory-files-and-attributes "\
-chdir($ARGV[0]);
-opendir(DIR,\".\");
+chdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit();
+opendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit();
@list = readdir(DIR);
closedir(DIR);
$n = scalar(@list);
@@ -2012,6 +2038,7 @@ The intent is to protect against `obsole
(let ((,variable ,value))
,@body)))
(put 'tramp-let-maybe 'lisp-indent-function 2)
+(put 'tramp-let-maybe 'edebug-form-spec t)
;;; Config Manipulation Functions:
@@ -2370,8 +2397,8 @@ target of the symlink differ."
;; 8. File modes, as a string of ten letters or dashes as in ls -l.
res-filemodes
;; 9. t iff file's gid would change if file were deleted and
- ;; recreated.
- nil ;hm?
+ ;; recreated. Will be set in `tramp-convert-file-attributes'
+ t
;; 10. inode number.
res-inode
;; 11. Device number. Will be replaced by a virtual device number.
@@ -2627,9 +2654,12 @@ of."
(defun tramp-handle-file-ownership-preserved-p (filename)
"Like `file-ownership-preserved-p' for tramp files."
(with-parsed-tramp-file-name filename nil
- (or (not (file-exists-p filename))
- ;; Existing files must be writable.
- (zerop (tramp-run-test "-O" filename)))))
+ (let ((attributes (file-attributes filename)))
+ ;; Return t if the file doesn't exist, since it's true that no
+ ;; information would be lost by an (attempted) delete and create.
+ (or (null attributes)
+ (= (nth 2 attributes)
+ (tramp-get-remote-uid multi-method method user host))))))
;; Other file name ops.
@@ -2734,7 +2764,10 @@ of."
(tramp-shell-quote-argument localname)
(or id-format 'integer)))
(tramp-wait-for-output)
- (let* ((root (cons nil (read (current-buffer))))
+ (let* ((root (cons nil (let ((object (read (current-buffer))))
+ (when (stringp object)
+ (error object))
+ object)))
(cell root))
(while (cdr cell)
(if (and match (not (string-match match (caadr cell))))
@@ -3484,6 +3517,17 @@ the result will be a local, non-Tramp, f
(when (string-match "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname)
(let ((uname (match-string 1 localname))
(fname (match-string 2 localname)))
+ ;; We cannot simply apply "~/", because under sudo "~/" is
+ ;; expanded to the local user home directory but to the
+ ;; root home directory. On the other hand, using always
+ ;; the default user name for tilde expansion is not
+ ;; appropriate either, because ssh and companions might
+ ;; use a user name from the config file.
+ (when (and (string-equal uname "~")
+ (string-match
+ "\\`su\\(do\\)?\\'"
+ (tramp-find-method multi-method method user host)))
+ (setq uname (concat uname (or user "root"))))
;; CCC fanatic error checking?
(set-buffer (tramp-get-buffer multi-method method user host))
(erase-buffer)
@@ -3496,17 +3540,24 @@ the result will be a local, non-Tramp, f
(setq uname (buffer-substring (point) (tramp-line-end-position)))
(setq localname (concat uname fname))
(erase-buffer)))
+ ;; There might be a double slash, for example when "~/"
+ ;; expands to "/". Remove this.
+ (while (string-match "//" localname)
+ (setq localname (replace-match "/" t t localname)))
;; No tilde characters in file name, do normal
;; expand-file-name (this does "/./" and "/../"). We bind
- ;; directory-sep-char here for XEmacs on Windows, which
- ;; would otherwise use backslash.
+ ;; directory-sep-char here for XEmacs on Windows, which would
+ ;; otherwise use backslash. `default-directory' is bound to
+ ;; "/", because on Windows there would be problems with UNC
+ ;; shares or Cygwin mounts.
(tramp-let-maybe directory-sep-char ?/
- (tramp-make-tramp-file-name
- multi-method (or method (tramp-find-default-method user host))
- user host
- (tramp-drop-volume-letter
- (tramp-run-real-handler 'expand-file-name
- (list localname)))))))))
+ (let ((default-directory "/"))
+ (tramp-make-tramp-file-name
+ multi-method (or method (tramp-find-default-method user host))
+ user host
+ (tramp-drop-volume-letter
+ (tramp-run-real-handler 'expand-file-name
+ (list localname))))))))))
;; old version follows. it uses ".." to cross file handler
;; boundaries.
@@ -4291,6 +4342,17 @@ Falls back to normal file name handler i
(cons tramp-completion-file-name-regexp
'tramp-completion-file-name-handler))
+;;;###autoload
+(defun tramp-unload-file-name-handler-alist ()
+ (setq file-name-handler-alist
+ (delete (rassoc 'tramp-file-name-handler
+ file-name-handler-alist)
+ (delete (rassoc 'tramp-completion-file-name-handler
+ file-name-handler-alist)
+ file-name-handler-alist))))
+
+(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handler-alist)
+
(defun tramp-repair-jka-compr ()
"If jka-compr is already loaded, move it to the front of
`file-name-handler-alist'. On Emacs 22 or so this will not be
@@ -4349,26 +4411,23 @@ necessary anymore."
user host x)))
(read (current-buffer))))))
(list (expand-file-name name))))))
-
-;; Check for complete.el and override PC-expand-many-files if appropriate.
-(eval-and-compile
- (defun tramp-save-PC-expand-many-files (name))); avoid compiler warning
-(defun tramp-setup-complete ()
- (fset 'tramp-save-PC-expand-many-files
- (symbol-function 'PC-expand-many-files))
- (defun PC-expand-many-files (name)
- (if (tramp-tramp-file-p name)
- (funcall (symbol-function 'expand-many-files) name)
- (tramp-save-PC-expand-many-files name))))
-
-;; Why isn't eval-after-load sufficient?
-(if (fboundp 'PC-expand-many-files)
- (tramp-setup-complete)
- (eval-after-load "complete" '(tramp-setup-complete)))
+(eval-after-load "complete"
+ '(progn
+ (defadvice PC-expand-many-files
+ (around tramp-advice-PC-expand-many-files (name) activate)
+ "Invoke `tramp-handle-expand-many-files' for tramp files."
+ (if (tramp-tramp-file-p name)
+ (setq ad-return-value (tramp-handle-expand-many-files name))
+ ad-do-it))
+ (add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'PC-expand-many-files)))))
;;; File name handler functions for completion mode
+(defvar tramp-completion-mode nil
+ "If non-nil, we are in file name completion mode.")
+
;; Necessary because `tramp-file-name-regexp-unified' and
;; `tramp-completion-file-name-regexp-unified' aren't different.
;; If nil, `tramp-completion-run-real-handler' is called (i.e. forwarding to
@@ -4384,6 +4443,7 @@ necessary anymore."
(defun tramp-completion-mode (file)
"Checks whether method / user name / host name completion is active."
(cond
+ (tramp-completion-mode t)
((not tramp-unified-filenames) t)
((string-match "^/.*:.*:$" file) nil)
((string-match
@@ -4439,65 +4499,75 @@ necessary anymore."
;; tramp-file-name structures. For all of them we return possible completions.
(defun tramp-completion-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for partial tramp files."
-
- (let*
- ((fullname (concat directory filename))
- ;; local files
- (result
- (if (tramp-completion-mode fullname)
- (tramp-run-real-handler
- 'file-name-all-completions (list filename directory))
- (tramp-completion-run-real-handler
- 'file-name-all-completions (list filename directory))))
- ;; possible completion structures
- (v (tramp-completion-dissect-file-name fullname)))
-
- (while v
- (let* ((car (car v))
- (multi-method (tramp-file-name-multi-method car))
- (method (tramp-file-name-method car))
- (user (tramp-file-name-user car))
- (host (tramp-file-name-host car))
- (localname (tramp-file-name-localname car))
- (m (tramp-find-method multi-method method user host))
- (tramp-current-user user) ; see `tramp-parse-passwd'
- all-user-hosts)
-
- (unless (or multi-method ;; Not handled (yet).
- localname) ;; Nothing to complete
- (if (or user host)
-
- ;; Method dependent user / host combinations
- (progn
- (mapcar
- (lambda (x)
- (setq all-user-hosts
- (append all-user-hosts
- (funcall (nth 0 x) (nth 1 x)))))
- (tramp-get-completion-function m))
-
- (setq result (append result
- (mapcar
- (lambda (x)
- (tramp-get-completion-user-host
- method user host (nth 0 x) (nth 1 x)))
- (delq nil all-user-hosts)))))
-
- ;; Possible methods
- (setq result
- (append result (tramp-get-completion-methods m)))))
-
- (setq v (delq car v))))
-
- ;;; unify list, remove nil elements
- (let (result1)
- (while result
- (let ((car (car result)))
- (when car (add-to-list 'result1 car))
- (setq result (delq car result))))
-
- result1)))
+ (unwind-protect
+ ;; We need to reset `tramp-completion-mode'.
+ (progn
+ (setq tramp-completion-mode t)
+ (let*
+ ((fullname (concat directory filename))
+ ;; possible completion structures
+ (v (tramp-completion-dissect-file-name fullname))
+ result result1)
+
+ (while v
+ (let* ((car (car v))
+ (multi-method (tramp-file-name-multi-method car))
+ (method (tramp-file-name-method car))
+ (user (tramp-file-name-user car))
+ (host (tramp-file-name-host car))
+ (localname (tramp-file-name-localname car))
+ (m (tramp-find-method multi-method method user host))
+ (tramp-current-user user) ; see `tramp-parse-passwd'
+ all-user-hosts)
+
+ (unless (or multi-method ;; Not handled (yet).
+ localname) ;; Nothing to complete
+
+ (if (or user host)
+
+ ;; Method dependent user / host combinations
+ (progn
+ (mapcar
+ (lambda (x)
+ (setq all-user-hosts
+ (append all-user-hosts
+ (funcall (nth 0 x) (nth 1 x)))))
+ (tramp-get-completion-function m))
+
+ (setq result (append result
+ (mapcar
+ (lambda (x)
+ (tramp-get-completion-user-host
+ method user host (nth 0 x) (nth 1 x)))
+ (delq nil all-user-hosts)))))
+
+ ;; Possible methods
+ (setq result
+ (append result (tramp-get-completion-methods m)))))
+
+ (setq v (cdr v))))
+
+ ;; unify list, remove nil elements
+ (while result
+ (let ((car (car result)))
+ (when car (add-to-list 'result1 car))
+ (setq result (cdr result))))
+
+ ;; Complete local parts
+ (append
+ result1
+ (condition-case nil
+ (if result1
+ ;; "/ssh:" does not need to be expanded as hostname.
+ (tramp-run-real-handler
+ 'file-name-all-completions (list filename directory))
+ ;; No method/user/host found to be expanded.
+ (tramp-completion-run-real-handler
+ 'file-name-all-completions (list filename directory)))
+ (error nil)))))
+ ;; unwindform
+ (setq tramp-completion-mode nil)))
;; Method, host name and user name completion for a file.
(defun tramp-completion-handle-file-name-completion (filename directory)
@@ -4923,6 +4993,9 @@ Function may have 0-3 parameters."
auto-save-default)
(auto-save-mode 1)))
(add-hook 'find-file-hooks 'tramp-set-auto-save t)
+(add-hook 'tramp-unload-hook
+ '(lambda ()
+ (remove-hook 'find-file-hooks 'tramp-set-auto-save)))
(defun tramp-run-test (switch filename)
"Run `test' on the remote system, given a SWITCH and a FILENAME.
@@ -5344,6 +5417,9 @@ The terminal type can be configured with
(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)))
@@ -5512,6 +5588,7 @@ Maybe the different regular expressions
(or user (user-login-name)) host method)
(let ((process-environment (copy-sequence process-environment)))
(setenv "TERM" tramp-terminal-type)
+ (setenv "PS1" "$ ")
(let* ((default-directory (tramp-temporary-file-directory))
;; If we omit the conditional here, then we would use
;; `undecided-dos' in some cases. With the conditional,
@@ -5588,6 +5665,7 @@ arguments, and xx will be used as the ho
(setq login-args (cons "-p" (cons (match-string 2 host) login-args)))
(setq real-host (match-string 1 host)))
(setenv "TERM" tramp-terminal-type)
+ (setenv "PS1" "$ ")
(let* ((default-directory (tramp-temporary-file-directory))
;; If we omit the conditional, we would use
;; `undecided-dos' in some cases. With the conditional,
@@ -5639,6 +5717,7 @@ prompt than you do, so it is not at all
(or user "<root>") method)
(let ((process-environment (copy-sequence process-environment)))
(setenv "TERM" tramp-terminal-type)
+ (setenv "PS1" "$ ")
(let* ((default-directory (tramp-temporary-file-directory))
;; If we omit the conditional, we use `undecided-dos' in
;; some cases. With the conditional, we use nil in these
@@ -5703,6 +5782,7 @@ log in as u2 to h2."
(tramp-message 7 "Opening `%s' connection..." multi-method)
(let ((process-environment (copy-sequence process-environment)))
(setenv "TERM" tramp-terminal-type)
+ (setenv "PS1" "$ ")
(let* ((default-directory (tramp-temporary-file-directory))
;; If we omit the conditional, we use `undecided-dos' in
;; some cases. With the conditional, we use nil in these
@@ -6183,8 +6263,17 @@ locale to C and sets up the remote shell
"ln" tramp-remote-path nil)))
(when ln
(tramp-set-connection-property "ln" ln multi-method method user host)))
+ ;; Set uid and gid.
(erase-buffer)
+ (tramp-send-command multi-method method user host "id -u; id -g")
+ (tramp-wait-for-output)
+ (goto-char (point-min))
+ (tramp-set-connection-property
+ "uid" (read (current-buffer)) multi-method method user host)
+ (tramp-set-connection-property
+ "gid" (read (current-buffer)) multi-method method user host)
;; Find the right encoding/decoding commands to use.
+ (erase-buffer)
(unless (tramp-method-out-of-band-p multi-method method user host)
(tramp-find-inline-encoding multi-method method user host))
;; If encoding/decoding command are given, test to see if they work.
@@ -6680,6 +6769,10 @@ Return ATTR."
(unless (stringp (nth 8 attr))
;; Convert file mode bits to string.
(setcar (nthcdr 8 attr) (tramp-file-mode-from-int (nth 8 attr))))
+ ;; Set file's gid change bit.
+ (setcar (nthcdr 9 attr)
+ (not (= (nth 3 attr)
+ (tramp-get-remote-gid multi-method method user host))))
;; Set virtual device number.
(setcar (nthcdr 11 attr)
(tramp-get-device multi-method method user host))
@@ -6937,6 +7030,12 @@ If both MULTI-METHOD and METHOD are nil,
(defun tramp-get-remote-ln (multi-method method user host)
(tramp-get-connection-property "ln" nil multi-method method user host))
+(defun tramp-get-remote-uid (multi-method method user host)
+ (tramp-get-connection-property "uid" nil multi-method method user host))
+
+(defun tramp-get-remote-gid (multi-method method user host)
+ (tramp-get-connection-property "gid" nil multi-method method user host))
+
;; Get a property of a TRAMP connection.
(defun tramp-get-connection-property
(property default multi-method method user host)
@@ -6947,7 +7046,7 @@ If the value is not set for the connecti
(let (error)
(condition-case nil
(symbol-value (intern (concat "tramp-connection-property-" property)))
- (error default)))))
+ (error default)))))
;; Set a property of a TRAMP connection.
(defun tramp-set-connection-property
@@ -7025,7 +7124,9 @@ as default."
"Invoke `tramp-handle-make-auto-save-file-name' for tramp files."
(if (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name)))
(setq ad-return-value (tramp-handle-make-auto-save-file-name))
- ad-do-it)))
+ ad-do-it))
+ (add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'make-auto-save-file-name))))
;; In Emacs < 22 and XEmacs < 21.5 autosaved remote files have
;; permission 0666 minus umask. This is a security threat.
@@ -7049,7 +7150,10 @@ as default."
(and (featurep 'xemacs)
(= emacs-major-version 21)
(> emacs-minor-version 4)))
- (add-hook 'auto-save-hook 'tramp-set-auto-save-file-modes))
+ (add-hook 'auto-save-hook 'tramp-set-auto-save-file-modes)
+ (add-hook 'tramp-unload-hook
+ '(lambda ()
+ (remove-hook 'auto-save-hook 'tramp-set-auto-save-file-modes))))
(defun tramp-subst-strs-in-string (alist string)
"Replace all occurrences of the string FROM with TO in STRING.
@@ -7276,7 +7380,9 @@ Only works for Bourne-like shells."
(setq ad-return-value (list name))))
;; If it is not a Tramp file, just run the original function.
(let ((res ad-do-it))
- (setq ad-return-value (or res (list name))))))))
+ (setq ad-return-value (or res (list name)))))))
+ (add-hook 'tramp-unload-hook
+ '(lambda () (ad-unadvise 'file-expand-wildcards))))
;; Tramp version is useful in a number of situations.
@@ -7501,6 +7607,25 @@ Therefore, the contents of files might b
(defalias 'tramp-submit-bug 'tramp-bug)
+;; Checklist for `tramp-unload-hook'
+;; - Unload all `tramp-*' packages
+;; - Reset `file-name-handler-alist'
+;; - Cleanup hooks where Tramp functions are in
+;; - Cleanup advised functions
+;; - Cleanup autoloads
+;;;###autoload
+(defun tramp-unload-tramp ()
+ (interactive)
+ ;; When Tramp is not loaded yet, its autoloads are still active.
+ (tramp-unload-file-name-handler-alist)
+ ;; ange-ftp settings must be enabled.
+ (when (functionp 'tramp-ftp-enable-ange-ftp)
+ (funcall (symbol-function 'tramp-ftp-enable-ange-ftp)))
+ ;; `tramp-util' unloads also `tramp'.
+ (condition-case nil ;; maybe its not loaded yet.
+ (unload-feature (if (featurep 'tramp-util) 'tramp-util 'tramp) 'force)
+ (error nil)))
+
(provide 'tramp)
;; Make sure that we get integration with the VC package.
@@ -7508,7 +7633,12 @@ Therefore, the contents of files might b
;; This must come after (provide 'tramp) because tramp-vc.el
;; requires tramp.
(eval-after-load "vc"
- '(require 'tramp-vc))
+ '(progn
+ (require 'tramp-vc)
+ (add-hook 'tramp-unload-hook
+ '(lambda ()
+ (when (featurep 'tramp-vc)
+ (unload-feature 'tramp-vc 'force))))))
;;; TODO:
1.12 +1 -1 XEmacs/packages/xemacs-packages/tramp/lisp/trampver.el
Index: trampver.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/trampver.el,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- trampver.el 2005/10/08 15:02:20 1.11
+++ trampver.el 2006/01/22 22:10:50 1.12
@@ -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.51"
+(defconst tramp-version "2.0.52"
"This version of Tramp.")
(defconst tramp-bug-report-address "tramp-devel(a)gnu.org"
1.29 +20 -0 XEmacs/packages/xemacs-packages/tramp/texi/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/ChangeLog,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -p -r1.28 -r1.29
--- ChangeLog 2005/10/08 15:02:22 1.28
+++ ChangeLog 2006/01/22 22:10:57 1.29
@@ -1,3 +1,23 @@
+2006-01-22 Michael Albinus <michael.albinus(a)gmx.de>
+
+ Version 2.0.52 released.
+
+ * tramp.texi (Frequently Asked Questions): Remove Ange-FTP item.
+ Add Tramp disabling item.
+
+2005-12-30 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * tramp.texi (various): Apply "ftp" as method for the download
+ URL.
+ (Bug Reports): Refer to FAQ for common problems.
+ (Frequently Asked Questions): New item for common connection
+ problems.
+
+2005-12-02 Michael Albinus <michael.albinus(a)gmx.de>
+
+ * Makefile.in ($(localinfodir)): New target.
+ ($(localinfodir)/%, $(localinfodir)/dir): Depend on it.
+
2005-10-08 Michael Albinus <michael.albinus(a)gmx.de>
Version 2.0.51 released.
1.23 +46 -50 XEmacs/packages/xemacs-packages/tramp/texi/tramp.texi
Index: tramp.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/tramp.texi,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -p -r1.22 -r1.23
--- tramp.texi 2005/10/08 15:02:22 1.22
+++ tramp.texi 2006/01/22 22:10:57 1.23
@@ -25,8 +25,8 @@
@end macro
@copying
-Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
- 2005 Free Software Foundation, Inc.
+Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -111,7 +111,7 @@ Japanese translation}.
@end ifset
The latest release of @value{tramp} is available for
-@uref{http://ftp.gnu.org/gnu/tramp/, download}, or you may see
+@uref{ftp://ftp.gnu.org/gnu/tramp/, download}, or you may see
@ref{Obtaining Tramp} for more details, including the CVS server
details.
@@ -378,7 +378,7 @@ behind the scenes when you open a file w
@value{tramp} is freely available on the Internet and the latest
release may be downloaded from
-@uref{http://ftp.gnu.org/gnu/tramp/}. This release includes the full
+@uref{ftp://ftp.gnu.org/gnu/tramp/}. This release includes the full
documentation and code for @value{tramp}, suitable for installation.
But GNU Emacs (22 or later) includes @value{tramp} already, and there
is a @value{tramp} package for XEmacs, as well. So maybe it is easier
@@ -1946,7 +1946,9 @@ will automatically generate a buffer wit
When submitting a bug report, please try to describe in excruciating
detail the steps required to reproduce the problem, the setup of the
-remote machine and any special conditions that exist.
+remote machine and any special conditions that exist. You should also
+check that your problem is not described already in @xref{Frequently
+Asked Questions}.
If you can identify a minimal test case that reproduces the problem,
include that with your bug report. This will make it much easier for the
@@ -1964,7 +1966,7 @@ Where can I get the latest @value{tramp}
@value{tramp} is available under the URL below.
@noindent
-@uref{http://ftp.gnu.org/gnu/tramp/}
+@uref{ftp://ftp.gnu.org/gnu/tramp/}
@noindent
There is also a Savannah project page.
@@ -1972,6 +1974,7 @@ There is also a Savannah project page.
@noindent
@uref{http://savannah.gnu.org/projects/tramp/}
+
@item
Which systems does it work on?
@@ -2003,49 +2006,32 @@ Emacs? I think there was some issue wit
@item
-I can't stop @value{ftppackagename} starting with @value{emacsname}
+@value{tramp} does not connect to the remote host
-@ifset emacs
-@value{ftppackagename} is loaded from @value{tramp} automatically if you
-require a file by the ftp method. Unfortunately, there are some Lisp
-packages which make @value{ftppackagename} file name handlers active.
-You can see it applying @kbd{C-h v file-name-handler-alist}:
+When @value{tramp} does not connect to the remote host, there are two
+reasons heading the bug mailing list:
-@example
-file-name-handler-alist's value is
-(("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
- ("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
- ("^/[^/]*$" . tramp-completion-file-name-handler)
- ("\\`/[^/:]+:" . tramp-file-name-handler)
- ("\\`/:" . file-name-non-special))
-@end example
+@itemize @minus
-Please try to find out which package is responsible for loading
-@value{ftppackagename}, and raise a bug report.
+@item
+Unknown characters in the prompt
-A workaround is to require @value{ftppackagename} before @value{tramp} in
-your @file{~/.emacs}, because @value{tramp} cleans up the entries in
-@code{file-name-handler-alist}:
+@value{tramp} needs to recognize the prompt on the remote machine
+after execution any command. This is not possible, when the prompt
+contains unknown characters like escape sequences for coloring. This
+should be avoided on the remote side. @xref{Remote shell setup}. for
+setting the regular expression detecting the prompt.
-@lisp
-;; @value{ftppackagename} temporarily required
-(require 'ange-ftp)
-;; @value{tramp} cleans up @code{file-name-handler-alist}
-(require 'tramp)
-@end lisp
-@end ifset
+@item
+@value{tramp} doesn't transfer strings with more than 500 characters
+correctly
-@ifset xemacs
-Not all the older versions of @value{tramp} supported @value{emacsname}
-correctly. The first thing to do is to make sure that you have the
-latest version of @value{tramp} installed.
-
-If you do, please try and find out exactly the conditions required for
-the @value{ftppackagename} handlers to fire. If you can, putting a
-breakpoint on @code{efs-ftp-path} and sending in the stack trace along
-with your bug report would make it easier for the developers to work out
-what is going wrong.
-@end ifset
+On some few systems, the implementation of @code{process-send-string}
+seems to be broken for longer strings. This case, you should
+customize the variable @code{tramp-chunksize} to 500. For a
+description how to determine whether this is necessary see the
+documentation of @code{tramp-chunksize}.
+@end itemize
@item
@@ -2132,14 +2118,24 @@ fi
@item
-@value{tramp} doesn't transfer strings with more than 500 characters
-correctly
+How can I disable @value{tramp}?
-On some few systems, the implementation of @code{process-send-string}
-seems to be broken for longer strings. This case, you should
-customize the variable @code{tramp-chunksize} to 500. For a
-description how to determine whether this is necessary see the
-documentation of @code{tramp-chunksize}.
+Shame on you, why did you read until now?
+
+@ifset emacs
+If you just want to have @value{ftppackagename} as default remote
+files access package, you should apply the following code:
+
+@lisp
+(setq tramp-default-method "ftp")
+@end lisp
+@end ifset
+
+Unloading @value{tramp} can be achieved by applying @kbd{M-x
+tramp-unload-tramp}.
+@ifset emacs
+This resets also the @value{ftppackagename} plugins.
+@end ifset
@end itemize
1.12 +1 -1 XEmacs/packages/xemacs-packages/tramp/texi/trampver.texi
Index: trampver.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/texi/trampver.texi,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- trampver.texi 2005/10/08 15:02:22 1.11
+++ trampver.texi 2006/01/22 22:10:57 1.12
@@ -4,7 +4,7 @@
@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.51
+@set trampver 2.0.52
@c Other flags from configuration
@set prefix /usr/local