summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2005-03-20 20:00:20 +0000
committerMichael Albinus <michael.albinus@gmx.de>2005-03-20 20:00:20 +0000
commita5fb9f81a031ce5857b9c66802ea602f943da2bf (patch)
tree995e61f8241f0db7d19bd93cfdf7cb8b353936dc
parente5a0db347397734edbbd55b542d2eaa9986afee7 (diff)
downloademacs-a5fb9f81a031ce5857b9c66802ea602f943da2bf.tar.gz
Sync with Tramp 2.0.48.
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/net/tramp-smb.el138
-rw-r--r--lisp/net/tramp-util.el6
-rw-r--r--lisp/net/tramp-vc.el4
-rw-r--r--lisp/net/tramp.el239
-rw-r--r--lisp/net/trampver.el4
-rw-r--r--man/ChangeLog13
-rw-r--r--man/tramp.texi69
-rw-r--r--man/trampver.texi6
9 files changed, 279 insertions, 223 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 84b7191ac0a..d1a050343ec 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,26 @@
+2005-03-20 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.0.48.
+
+ * tramp.el (all): Change all addresses to .gnu.org.
+ (tramp-append-tramp-buffers): New defun.
+ (tramp-bug): Apply `tramp-append-tramp-buffers' as post-hook.
+ Catch `dont-send' signal.
+ (tramp-set-auto-save-file-modes): Set always permissions, because
+ there might be an old auto-saved file belonging to another
+ original file. This could be a security threat. Reported by
+ Kjetil Kjernsmo <kjetil@kjernsmo.net>.
+ Check for Emacs 21.3.50 removed.
+
+ * tramp-smb.el (all): Remove debug construct for
+ `with-parsed-tramp-file-name'.
+ (tramp-smb-prompt): Prompt can contain spaces inside directory
+ names.
+ (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file):
+ No error message if DIRECTORY or FILENAME doesn't exist.
+ (tramp-smb-open-connection): Check existence of
+ `tramp-smb-program'.
+
2005-03-20 Miles Bader <miles@gnu.org>
* progmodes/gdb-ui.el (gdb-put-breakpoint-icon): Use breakpoint faces
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 55ab9e693f1..ebdbc354ec4 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -1,8 +1,8 @@
;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding: iso-8859-1; -*-
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-;; Author: Michael Albinus <Michael.Albinus@alcatel.de>
+;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
@@ -75,7 +75,7 @@
:group 'tramp
:type 'string)
-(defconst tramp-smb-prompt "^smb: \\S-+> \\|^\\s-+Server\\s-+Comment$"
+(defconst tramp-smb-prompt "^smb: .+> \\|^\\s-+Server\\s-+Comment$"
"Regexp used as prompt in smbclient.")
(defconst tramp-smb-errors
@@ -235,10 +235,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(file-exists-p newname))
(error "copy-file: file %s already exists" newname))
-; (with-parsed-tramp-file-name newname nil
- (let (user host localname)
- (with-parsed-tramp-file-name newname l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name newname nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
@@ -258,59 +255,46 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(defun tramp-smb-handle-delete-directory (directory)
"Like `delete-directory' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
- (unless (file-exists-p directory)
- (error "Cannot delete non-existing directory `%s'" directory))
-; (with-parsed-tramp-file-name directory nil
- (let (user host localname)
- (with-parsed-tramp-file-name directory l
- (setq user l-user host l-host localname l-localname))
- (save-excursion
- (let ((share (tramp-smb-get-share localname))
- (dir (tramp-smb-get-localname (file-name-directory localname) t))
- (file (file-name-nondirectory localname)))
- (tramp-smb-maybe-open-connection user host share)
- (if (and
- (tramp-smb-send-command user host (format "cd \"%s\"" dir))
- (tramp-smb-send-command user host (format "rmdir \"%s\"" file)))
- ;; Go Home
+ (when (file-exists-p directory)
+ (with-parsed-tramp-file-name directory nil
+ (save-excursion
+ (let ((share (tramp-smb-get-share localname))
+ (dir (tramp-smb-get-localname (file-name-directory localname) t))
+ (file (file-name-nondirectory localname)))
+ (tramp-smb-maybe-open-connection user host share)
+ (if (and
+ (tramp-smb-send-command user host (format "cd \"%s\"" dir))
+ (tramp-smb-send-command user host (format "rmdir \"%s\"" file)))
+ ;; Go Home
+ (tramp-smb-send-command user host (format "cd \\"))
+ ;; Error
(tramp-smb-send-command user host (format "cd \\"))
- ;; Error
- (tramp-smb-send-command user host (format "cd \\"))
- (error "Cannot delete directory `%s'" directory))))))
+ (error "Cannot delete directory `%s'" directory)))))))
(defun tramp-smb-handle-delete-file (filename)
"Like `delete-file' for tramp files."
(setq filename (expand-file-name filename))
- (unless (file-exists-p filename)
- (error "Cannot delete non-existing file `%s'" filename))
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
- (save-excursion
- (let ((share (tramp-smb-get-share localname))
- (dir (tramp-smb-get-localname (file-name-directory localname) t))
- (file (file-name-nondirectory localname)))
- (unless (file-exists-p filename)
- (error "Cannot delete non-existing file `%s'" filename))
- (tramp-smb-maybe-open-connection user host share)
- (if (and
- (tramp-smb-send-command user host (format "cd \"%s\"" dir))
- (tramp-smb-send-command user host (format "rm \"%s\"" file)))
- ;; Go Home
+ (when (file-exists-p filename)
+ (with-parsed-tramp-file-name filename nil
+ (save-excursion
+ (let ((share (tramp-smb-get-share localname))
+ (dir (tramp-smb-get-localname (file-name-directory localname) t))
+ (file (file-name-nondirectory localname)))
+ (tramp-smb-maybe-open-connection user host share)
+ (if (and
+ (tramp-smb-send-command user host (format "cd \"%s\"" dir))
+ (tramp-smb-send-command user host (format "rm \"%s\"" file)))
+ ;; Go Home
+ (tramp-smb-send-command user host (format "cd \\"))
+ ;; Error
(tramp-smb-send-command user host (format "cd \\"))
- ;; Error
- (tramp-smb-send-command user host (format "cd \\"))
- (error "Cannot delete file `%s'" filename))))))
+ (error "Cannot delete file `%s'" filename)))))))
(defun tramp-smb-handle-directory-files
(directory &optional full match nosort)
"Like `directory-files' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
-; (with-parsed-tramp-file-name directory nil
- (let (user host localname)
- (with-parsed-tramp-file-name directory l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name directory nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -340,17 +324,14 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(mapcar
(lambda (x)
;; We cannot call `file-attributes' for backward compatibility reasons.
- ;; Its optional parameter ID-FORMAT is introduced with Emacs 22.1.
+ ;; Its optional parameter ID-FORMAT is introduced with Emacs 22.
(cons x (tramp-smb-handle-file-attributes
(if full x (concat (file-name-as-directory directory) x)) id-format)))
(directory-files directory full match nosort)))
(defun tramp-smb-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for tramp files."
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -380,10 +361,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(defun tramp-smb-handle-file-directory-p (filename)
"Like `file-directory-p' for tramp files."
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -396,10 +374,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(defun tramp-smb-handle-file-exists-p (filename)
"Like `file-exists-p' for tramp files."
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -433,10 +408,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
;; files.
(defun tramp-smb-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for tramp files."
-; (with-parsed-tramp-file-name directory nil
- (let (user host localname)
- (with-parsed-tramp-file-name directory l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name directory nil
(save-match-data
(save-excursion
(let* ((share (tramp-smb-get-share localname))
@@ -467,10 +439,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server."
(let ((dir (file-name-directory filename)))
(and (file-exists-p dir)
(file-writable-p dir)))
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -490,10 +459,7 @@ WILDCARD and FULL-DIRECTORY-P are not handled."
;; This check is a little bit strange, but in `dired-add-entry'
;; this function is called with a non-directory ...
(setq filename (file-name-as-directory filename)))
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
@@ -543,10 +509,7 @@ WILDCARD and FULL-DIRECTORY-P are not handled."
(setq dir (directory-file-name (expand-file-name dir)))
(unless (file-name-absolute-p dir)
(setq dir (concat default-directory dir)))
-; (with-parsed-tramp-file-name dir nil
- (let (user host localname)
- (with-parsed-tramp-file-name dir l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name dir nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(ldir (file-name-directory dir)))
@@ -564,10 +527,7 @@ WILDCARD and FULL-DIRECTORY-P are not handled."
(setq directory (directory-file-name (expand-file-name directory)))
(unless (file-name-absolute-p directory)
(setq directory (concat default-directory directory)))
-; (with-parsed-tramp-file-name directory nil
- (let (user host localname)
- (with-parsed-tramp-file-name directory l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name directory nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil)))
@@ -597,10 +557,7 @@ WILDCARD and FULL-DIRECTORY-P are not handled."
(file-exists-p newname))
(error "rename-file: file %s already exists" newname))
-; (with-parsed-tramp-file-name newname nil
- (let (user host localname)
- (with-parsed-tramp-file-name newname l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name newname nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
@@ -636,10 +593,7 @@ Catches errors for shares like \"C$/\", which are common in Microsoft Windows."
(unless (y-or-n-p (format "File %s exists; overwrite anyway? "
filename))
(error "File not overwritten")))
-; (with-parsed-tramp-file-name filename nil
- (let (user host localname)
- (with-parsed-tramp-file-name filename l
- (setq user l-user host l-host localname l-localname))
+ (with-parsed-tramp-file-name filename nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t))
@@ -969,6 +923,10 @@ then sends the password to the remote host.
Domain names in USER and port numbers in HOST are acknowledged."
+ (when (and (fboundp 'executable-find)
+ (not (funcall 'executable-find tramp-smb-program)))
+ (error "Cannot find command %s in %s" tramp-smb-program exec-path))
+
(save-match-data
(let* ((buffer (tramp-get-buffer nil tramp-smb-method user host))
(real-user user)
diff --git a/lisp/net/tramp-util.el b/lisp/net/tramp-util.el
index 8f195fe4ad8..1621c2c818e 100644
--- a/lisp/net/tramp-util.el
+++ b/lisp/net/tramp-util.el
@@ -34,7 +34,7 @@
;; 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.1 only. Unknown for XEmacs.
+;; The key remapping works since Emacs 22 only. Unknown for XEmacs.
(when (fboundp 'define-minor-mode)
@@ -59,10 +59,10 @@ 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.1
+ ;; Emacs 22
(eval
`(define-key tramp-minor-mode-map [remap ,old-command] new-command))
- ;; previous Emacs 21 versions.
+ ;; previous Emacs versions.
(mapcar
'(lambda (x)
(define-key tramp-minor-mode-map x new-command))
diff --git a/lisp/net/tramp-vc.el b/lisp/net/tramp-vc.el
index 7c75b0f01c9..c58d83504c2 100644
--- a/lisp/net/tramp-vc.el
+++ b/lisp/net/tramp-vc.el
@@ -1,6 +1,6 @@
;;; tramp-vc.el --- Version control integration for TRAMP.el
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004 by Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by Free Software Foundation, Inc.
;; Author: Daniel Pittman <daniel@danann.net>
;; Keywords: comm, processes
@@ -409,7 +409,7 @@ filename we are thinking about..."
;; boundness-checking into this function?
(let* ((file (symbol-value 'file))
(remote-uid
- ;; With Emacs 22.1, `file-attributes' has got an optional parameter
+ ;; With Emacs 22, `file-attributes' has got an optional parameter
;; ID-FORMAT. Handle this case backwards compatible.
(if (and (functionp 'subr-arity)
(= 2 (cdr (funcall (symbol-function 'subr-arity)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 14682975fe9..bfdf7ed067a 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -47,16 +47,12 @@
;; Also see the todo list at the bottom of this file.
;;
;; The current version of Tramp can be retrieved from the following URL:
-;; http://savannah.nongnu.org/download/tramp/
+;; http://ftp.gnu.org/gnu/tramp/
;;
;; There's a mailing list for this, as well. Its name is:
-;; tramp-devel@mail.freesoftware.fsf.org
-;; Send a mail with `help' in the subject (!) to the administration
-;; address for instructions on joining the list. The administration
-;; address is:
-;; tramp-devel-request@mail.freesoftware.fsf.org
-;; You can also use the Web to subscribe, under the following URL:
-;; http://mail.freesoftware.fsf.org/mailman/listinfo/tramp-devel
+;; tramp-devel@gnu.org
+;; You can use the Web to subscribe, under the following URL:
+;; http://lists.gnu.org/mailman/listinfo/tramp-devel
;;
;; For the adventurous, the current development sources are available
;; via CVS. You can find instructions about this at the following URL:
@@ -3501,7 +3497,7 @@ Used in `tramp-handle-shell-command'")
This will break if COMMAND prints a newline, followed by the value of
`tramp-end-of-output', followed by another newline."
;; Asynchronous processes are far from being perfect. But it works at least
- ;; for `find-grep-dired' and `find-name-dired' in Emacs 22.1.
+ ;; for `find-grep-dired' and `find-name-dired' in Emacs 22.
(if (tramp-tramp-file-p default-directory)
(with-parsed-tramp-file-name default-directory nil
(let ((asynchronous (string-match "[ \t]*&[ \t]*\\'" command))
@@ -4108,7 +4104,7 @@ ARGS are the arguments OPERATION has been called with."
(list 'dired-call-process
; Emacs only
'shell-command
- ; Post Emacs 21.3 only
+ ; Emacs 22 only
'process-file
; XEmacs only
'dired-print-file 'dired-shell-call-process))
@@ -4213,7 +4209,7 @@ Falls back to normal file name handler if no tramp file name handler exists."
(defun tramp-repair-jka-compr ()
"If jka-compr is already loaded, move it to the front of
-`file-name-handler-alist'. On Emacs 22.1 or so this will not be
+`file-name-handler-alist'. On Emacs 22 or so this will not be
necessary anymore."
(let ((jka (rassoc 'jka-compr-handler file-name-handler-alist)))
(when jka
@@ -6937,8 +6933,8 @@ as default."
(tramp-make-auto-save-file-name (buffer-file-name)))
ad-do-it))
-;; In Emacs < 22.1 and XEmacs < 21.5 autosaved remote files have
-;; permission 666 minus umask. This is a security threat.
+;; In Emacs < 22 and XEmacs < 21.5 autosaved remote files have
+;; permission 0666 minus umask. This is a security threat.
(defun tramp-set-auto-save-file-modes ()
"Set permissions of autosaved remote files to the original permissions."
@@ -6946,20 +6942,18 @@ as default."
(when (and (stringp bfn)
(tramp-tramp-file-p bfn)
(stringp buffer-auto-save-file-name)
- (not (equal bfn buffer-auto-save-file-name))
- (not (file-exists-p buffer-auto-save-file-name)))
- (write-region "" nil buffer-auto-save-file-name)
+ (not (equal bfn buffer-auto-save-file-name)))
+ (unless (file-exists-p buffer-auto-save-file-name)
+ (write-region "" nil buffer-auto-save-file-name))
+ ;; Permissions should be set always, because there might be an old
+ ;; auto-saved file belonging to another original file. This could
+ ;; be a security threat.
(set-file-modes buffer-auto-save-file-name (file-modes bfn)))))
(unless (or (> emacs-major-version 21)
(and (featurep 'xemacs)
(= emacs-major-version 21)
- (> emacs-minor-version 4))
- (and (not (featurep 'xemacs))
- (= emacs-major-version 21)
- (or (> emacs-minor-version 3)
- (and (string-match "^21\\.3\\.\\([0-9]+\\)" emacs-version)
- (>= (string-to-int (match-string 1 emacs-version)) 50)))))
+ (> emacs-minor-version 4)))
(add-hook 'auto-save-hook 'tramp-set-auto-save-file-modes))
(defun tramp-subst-strs-in-string (alist string)
@@ -7206,72 +7200,73 @@ Only works for Bourne-like shells."
"Submit a bug report to the TRAMP developers."
(interactive)
(require 'reporter)
- (let ((reporter-prompt-for-summary-p t))
- (reporter-submit-bug-report
- tramp-bug-report-address ; to-address
- (format "tramp (%s)" tramp-version) ; package name and version
- `(;; Current state
- tramp-ls-command
- tramp-test-groks-nt
- tramp-file-exists-command
- tramp-current-multi-method
- tramp-current-method
- tramp-current-user
- tramp-current-host
-
- ;; System defaults
- tramp-auto-save-directory ; vars to dump
- tramp-default-method
- tramp-rsh-end-of-line
- tramp-default-password-end-of-line
- tramp-remote-path
- tramp-login-prompt-regexp
- tramp-password-prompt-regexp
- tramp-wrong-passwd-regexp
- tramp-yesno-prompt-regexp
- tramp-yn-prompt-regexp
- tramp-terminal-prompt-regexp
- tramp-out-of-band-prompt-regexp
- tramp-temp-name-prefix
- tramp-file-name-structure
- tramp-file-name-regexp
- tramp-multi-file-name-structure
- tramp-multi-file-name-hop-structure
- tramp-multi-methods
- tramp-multi-connection-function-alist
- tramp-methods
- tramp-end-of-output
- tramp-coding-commands
- tramp-actions-before-shell
- tramp-actions-copy-out-of-band
- tramp-multi-actions
- tramp-terminal-type
- tramp-shell-prompt-pattern
- tramp-chunksize
- ,(when (boundp 'tramp-backup-directory-alist)
- 'tramp-backup-directory-alist)
- ,(when (boundp 'tramp-bkup-backup-directory-info)
- 'tramp-bkup-backup-directory-info)
-
- ;; Non-tramp variables of interest
- shell-prompt-pattern
- backup-by-copying
- backup-by-copying-when-linked
- backup-by-copying-when-mismatch
- ,(when (boundp 'backup-by-copying-when-privileged-mismatch)
- 'backup-by-copying-when-privileged-mismatch)
- ,(when (boundp 'password-cache)
- 'password-cache)
- ,(when (boundp 'password-cache-expiry)
- 'password-cache-expiry)
- ,(when (boundp 'backup-directory-alist)
- 'backup-directory-alist)
- ,(when (boundp 'bkup-backup-directory-info)
- 'bkup-backup-directory-info)
- file-name-handler-alist)
- nil ; pre-hook
- nil ; post-hook
- "\
+ (catch 'dont-send
+ (let ((reporter-prompt-for-summary-p t))
+ (reporter-submit-bug-report
+ tramp-bug-report-address ; to-address
+ (format "tramp (%s)" tramp-version) ; package name and version
+ `(;; Current state
+ tramp-ls-command
+ tramp-test-groks-nt
+ tramp-file-exists-command
+ tramp-current-multi-method
+ tramp-current-method
+ tramp-current-user
+ tramp-current-host
+
+ ;; System defaults
+ tramp-auto-save-directory ; vars to dump
+ tramp-default-method
+ tramp-rsh-end-of-line
+ tramp-default-password-end-of-line
+ tramp-remote-path
+ tramp-login-prompt-regexp
+ tramp-password-prompt-regexp
+ tramp-wrong-passwd-regexp
+ tramp-yesno-prompt-regexp
+ tramp-yn-prompt-regexp
+ tramp-terminal-prompt-regexp
+ tramp-out-of-band-prompt-regexp
+ tramp-temp-name-prefix
+ tramp-file-name-structure
+ tramp-file-name-regexp
+ tramp-multi-file-name-structure
+ tramp-multi-file-name-hop-structure
+ tramp-multi-methods
+ tramp-multi-connection-function-alist
+ tramp-methods
+ tramp-end-of-output
+ tramp-coding-commands
+ tramp-actions-before-shell
+ tramp-actions-copy-out-of-band
+ tramp-multi-actions
+ tramp-terminal-type
+ tramp-shell-prompt-pattern
+ tramp-chunksize
+ ,(when (boundp 'tramp-backup-directory-alist)
+ 'tramp-backup-directory-alist)
+ ,(when (boundp 'tramp-bkup-backup-directory-info)
+ 'tramp-bkup-backup-directory-info)
+
+ ;; Non-tramp variables of interest
+ shell-prompt-pattern
+ backup-by-copying
+ backup-by-copying-when-linked
+ backup-by-copying-when-mismatch
+ ,(when (boundp 'backup-by-copying-when-privileged-mismatch)
+ 'backup-by-copying-when-privileged-mismatch)
+ ,(when (boundp 'password-cache)
+ 'password-cache)
+ ,(when (boundp 'password-cache-expiry)
+ 'password-cache-expiry)
+ ,(when (boundp 'backup-directory-alist)
+ 'backup-directory-alist)
+ ,(when (boundp 'bkup-backup-directory-info)
+ 'bkup-backup-directory-info)
+ file-name-handler-alist)
+ nil ; pre-hook
+ 'tramp-append-tramp-buffers ; post-hook
+ "\
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.
@@ -7286,7 +7281,73 @@ of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug
report.
--bug report follows this line--
-")))
+"))))
+
+(defun tramp-append-tramp-buffers ()
+ "Append Tramp buffers into the bug report."
+
+ ;; We load mml.el from Gnus.
+ (if (featurep 'xemacs)
+ (load "mml" 'noerror)
+ (require 'mml nil 'noerror))
+
+ (when (and
+ ;; We don't want to add another dependency.
+ (functionp 'mml-insert-empty-tag)
+ ;; 2nd parameter since Emacs 22.
+ (condition-case nil
+ (list-buffers-noselect nil nil)
+ (t nil)))
+ (let ((buffer-list
+ (delq nil
+ (mapcar '(lambda (b)
+ (when (string-match "^\\*\\(debug \\)?tramp/" (buffer-name b)) b))
+ (buffer-list))))
+ (curbuf (current-buffer)))
+
+ ;; There is at least one Tramp buffer.
+ (when buffer-list
+ (switch-to-buffer (list-buffers-noselect nil buffer-list))
+ (delete-other-windows)
+ (setq buffer-read-only nil)
+ (goto-char (point-max))
+ (insert "
+The buffer(s) above will be appended to this message. If you don't want
+to append a buffer because it contains sensible data, or because the buffer
+is too large, you should delete the respective buffer. The buffer(s) will
+contain user and host names. Passwords will never be included there.")
+
+ (when (and tramp-debug-buffer (> tramp-verbose 9))
+ (insert "\n\n")
+ (let ((start (point)))
+ (insert "\
+Please note that you have set `tramp-verbose' to a value greater than 9.
+Therefore, the contents of files might be included in the debug buffer(s).")
+ (add-text-properties start (point) (list 'face 'italic))))
+
+ (set-buffer-modified-p nil)
+ (setq buffer-read-only t)
+ (goto-char (point-min))
+
+ (if (y-or-n-p "Do you want to append the buffer(s)? ")
+ ;; OK, let's send. First we delete the buffer list.
+ (progn
+ (kill-buffer nil)
+ (switch-to-buffer curbuf)
+ (goto-char (point-max))
+ (insert "\n\n")
+ (dolist (buffer buffer-list)
+ (mml-insert-empty-tag
+ 'part 'type "text/plain" 'encoding "base64"
+ 'disposition "attachment" 'buffer (buffer-name buffer)
+ 'description (buffer-name buffer)))
+ (set-buffer-modified-p nil))
+
+ ;; Don't send. Delete the message buffer.
+ (set-buffer curbuf)
+ (set-buffer-modified-p nil)
+ (kill-buffer nil)
+ (throw 'dont-send nil))))))
(defalias 'tramp-submit-bug 'tramp-bug)
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index a4aced24257..12e56600f00 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -30,10 +30,10 @@
;; are auto-frobbed from configure.ac, so you should edit that file and run
;; "autoconf && ./configure" to change them.
-(defconst tramp-version "2.0.47"
+(defconst tramp-version "2.0.48"
"This version of Tramp.")
-(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org"
+(defconst tramp-bug-report-address "tramp-devel@gnu.org"
"Email address to send bug reports to.")
(provide 'trampver)
diff --git a/man/ChangeLog b/man/ChangeLog
index 80211906cb4..f5f3ee3ba71 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,14 @@
+2005-03-20 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.0.48.
+
+ * trampver.texi.in: Replace "Emacs" by "GNU Emacs".
+
+ * tramp.texi: Replace "Emacs" by "GNU Emacs". Replace "Linux" by
+ "GNU/Linux". Change all addresses to .gnu.org.
+ (Default Method): Offer shortened syntax for "su" and "sudo"
+ methods.
+
2005-03-19 Chong Yidong <cyd@stupidchicken.com>
* ack.texi (Acknowledgments): Update.
@@ -46,7 +57,7 @@
(Rmail Display): Mention Mouse-1.
(Movemail): Clarify two movemail versions.
Clarify rmail-movemail-program.
-
+
* pcl-cvs.texi (About PCL-CVS): Get rid of "Emacs 21".
(Installation): Node deleted.
diff --git a/man/tramp.texi b/man/tramp.texi
index afd5fd273e6..854dbba5919 100644
--- a/man/tramp.texi
+++ b/man/tramp.texi
@@ -88,7 +88,7 @@ combination of @command{rsh} and @command{rcp} or other work-alike
programs, such as @command{ssh}/@command{scp}.
You can find the latest version of this document on the web at
-@uref{http://www.freesoftware.fsf.org/tramp/}.
+@uref{http://www.gnu.org/software/tramp/}.
@c Pointer to the other Emacs flavor is necessary only in case of
@c standalone installation.
@@ -111,18 +111,18 @@ Japanese translation}.
@end ifset
The latest release of @value{tramp} is available for
-@uref{http://savannah.nongnu.org/download/tramp/, download}, or you
-may see @ref{Obtaining Tramp} for more details, including the CVS
-server details.
+@uref{http://ftp.gnu.org/gnu/tramp/, download}, or you may see
+@ref{Obtaining Tramp} for more details, including the CVS server
+details.
-@value{tramp} also has a @uref{http://savannah.nongnu.org/projects/tramp/,
+@value{tramp} also has a @uref{http://savannah.gnu.org/projects/tramp/,
Savannah Project Page}.
@end ifhtml
There is a mailing list for @value{tramp}, available at
-@email{tramp-devel@@mail.freesoftware.fsf.org}, and archived at
-@uref{http://savannah.nongnu.org/mail/?group=tramp, Savannah Mail
-Archive}.
+@email{tramp-devel@@gnu.org}, and archived at
+@uref{http://lists.gnu.org/archive/html/tramp-devel/, the
+@value{tramp} Mail Archive}.
@ifhtml
Older archives are located at
@uref{http://sourceforge.net/mailarchive/forum.php?forum=tramp-devel,
@@ -377,14 +377,14 @@ behind the scenes when you open a file with @value{tramp}.
@chapter Obtaining Tramp.
@cindex obtaining Tramp
-@value{tramp} is freely available on the Internet and the latest release
-may be downloaded from
-@uref{http://savannah.nongnu.org/download/tramp/}. This
-release includes the full documentation and code for @value{tramp},
-suitable for installation. But Emacs (22.1 or later) includes
-@value{tramp} already, and there is a @value{tramp} package for XEmacs, as well.
-So maybe it is easier to just use those. But if you want the bleeding
-edge, read on@dots{...}
+@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
+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
+to just use those. But if you want the bleeding edge, read
+on@dots{...}
For the especially brave, @value{tramp} is available from CVS. The CVS
version is the latest version of the code and may contain incomplete
@@ -396,7 +396,7 @@ following URL and then clicking on the CVS link in the navigation bar
at the top.
@noindent
-@uref{http://savannah.nongnu.org/projects/tramp/}
+@uref{http://savannah.gnu.org/projects/tramp/}
@noindent
Or follow the example session below:
@@ -404,7 +404,7 @@ Or follow the example session below:
@example
] @strong{cd ~/@value{emacsdir}}
] @strong{export CVS_RSH="ssh"}
-] @strong{cvs -z3 -d:ext:anoncvs@@savannah.nongnu.org:/cvsroot/tramp co tramp}
+] @strong{cvs -z3 -d:ext:anoncvs@@savannah.gnu.org:/cvsroot/tramp co tramp}
@end example
@noindent
@@ -1112,7 +1112,9 @@ might like the @code{plink} method which uses the PuTTY implementation
of @code{ssh}. Or you use Kerberos and thus like @code{krlogin}.
For the special case of editing files on the local host as another
-user, see the @code{su} or @code{sudo} method.
+user, see the @code{su} or @code{sudo} method. It offers shortened
+syntax for the @samp{root} account, like
+@file{@value{prefix}su@value{postfixsinglehop}@value{postfix}/etc/motd}.
People who edit large files may want to consider @code{scp} instead of
@code{ssh}, or @code{pscp} instead of @code{plink}. These out-of-band
@@ -1603,7 +1605,7 @@ directory an auto-saved file should go. By default, it is initialized
for @value{tramp} files to the local temporary directory.
On some versions of @value{emacsname}, namely the version built for
-Debian Linux, the variable @code{auto-save-file-name-transforms}
+Debian GNU/Linux, the variable @code{auto-save-file-name-transforms}
contains the directory where @value{emacsname} was built. A
workaround is to manually set the variable to a sane value.
@@ -1924,13 +1926,13 @@ The @value{tramp} mailing list is a great place to get information on working
with @value{tramp}, solving problems and general discussion and advice on topics
relating to the package.
-The mailing list is at @email{tramp-devel@@mail.freesoftware.fsf.org}.
-Messages sent to this address go to all the subscribers. This is
-@emph{not} the address to send subscription requests to.
+The mailing list is at @email{tramp-devel@@gnu.org}. Messages sent to
+this address go to all the subscribers. This is @emph{not} the address
+to send subscription requests to.
-For help on subscribing to the list, send mail to the administrative
-address, @email{tramp-devel-request@@mail.freesoftware.fsf.org}, with the
-subject @samp{help}.
+Subscribing to the list is performed via
+@uref{http://lists.gnu.org/mailman/listinfo/tramp-devel/,
+the @value{tramp} Mail Subscription Page}.
To report a bug in @value{tramp}, you should execute @kbd{M-x tramp-bug}. This
will automatically generate a buffer with the details of your system and
@@ -1956,20 +1958,21 @@ Where can I get the latest @value{tramp}?
@value{tramp} is available under the URL below.
@noindent
-@uref{http://savannah.nongnu.org/download/tramp/}
+@uref{http://ftp.gnu.org/gnu/tramp/}
@noindent
There is also a Savannah project page.
@noindent
-@uref{http://savannah.nongnu.org/projects/tramp/}
+@uref{http://savannah.gnu.org/projects/tramp/}
@item
Which systems does it work on?
-The package has been used successfully on Emacs 20 and Emacs 21, as well
-as XEmacs 21. XEmacs 20 is more problematic, see the notes in
-@file{tramp.el}. I don't think anybody has really tried it on Emacs 19.
+The package has been used successfully on GNU Emacs 20, GNU Emacs 21
+and GNU Emacs 22, as well as XEmacs 21. XEmacs 20 is more
+problematic, see the notes in @file{tramp.el}. I don't think anybody
+has really tried it on GNU Emacs 19.
The package was intended to work on Unix, and it really expects a
Unix-like system on the remote end (except the @option{smb} method),
@@ -2336,9 +2339,9 @@ emulation macro to @value{tramp}, but if somebody who uses XEmacs 20 steps
forward and wishes to implement and test it, please contact me or the
mailing list.
-@item The @value{tramp} filename syntax differs between Emacs and XEmacs.
+@item The @value{tramp} filename syntax differs between GNU Emacs and XEmacs.
-The Emacs maintainers wish to use a unified filename syntax for
+The GNU Emacs maintainers wish to use a unified filename syntax for
Ange-FTP and @value{tramp} so that users don't have to learn a new
syntax. It is sufficient to learn some extensions to the old syntax.
diff --git a/man/trampver.texi b/man/trampver.texi
index 87b1dc8ebd1..3e9f32a7fae 100644
--- a/man/trampver.texi
+++ b/man/trampver.texi
@@ -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.47
+@set trampver 2.0.48
@c Other flags from configuration
@set prefix /usr/local
@@ -25,7 +25,7 @@
@c Emacs values.
@ifset emacs
-@set emacsname Emacs
+@set emacsname GNU Emacs
@set emacsdir emacs
@set ftppackagename Ange-FTP
@set prefix /
@@ -49,7 +49,7 @@
@set postfix ]
@set postfixsinglehop /
@set postfixmultihop :
-@set emacsothername Emacs
+@set emacsothername GNU Emacs
@set emacsotherdir emacs
@set emacsotherfilename tramp-emacs.html
@set japanesemanual tramp_ja-xemacs.html