changeset 72569:7457615d594a

Sync with Tramp 2.0.54.
author Michael Albinus <michael.albinus@gmx.de>
date Tue, 29 Aug 2006 05:48:40 +0000
parents 02a05917de2a
children 7011a586dd45
files lisp/ChangeLog lisp/net/tramp.el lisp/net/trampver.el man/ChangeLog man/tramp.texi man/trampver.texi
diffstat 6 files changed, 90 insertions(+), 50 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Aug 28 22:49:25 2006 +0000
+++ b/lisp/ChangeLog	Tue Aug 29 05:48:40 2006 +0000
@@ -1,3 +1,18 @@
+2006-08-29  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.0.54.
+
+	* net/tramp.el (tramp-convert-file-attributes): Call `eql' instead
+	of `=', because `tramp-get-remote-gid' might not always return an
+	integer when expected.
+	(tramp-register-file-name-handlers): `partial-completion-mode' is
+	unknown to XEmacs.
+	(tramp-time-diff): Don't use `floor', it might fail for large
+	differences.
+	(tramp-handle-make-auto-save-file-name): For Emacs 21, set
+	`tramp-auto-save-directory' if unset in order to guarantee unique
+	auto-save file names.
+
 2006-08-28  Chong Yidong  <cyd@stupidchicken.com>
 
 	* image-mode.el (image-mode): Display image as text on a terminal.
--- a/lisp/net/tramp.el	Mon Aug 28 22:49:25 2006 +0000
+++ b/lisp/net/tramp.el	Tue Aug 29 05:48:40 2006 +0000
@@ -3888,37 +3888,50 @@
 (defun tramp-handle-make-auto-save-file-name ()
   "Like `make-auto-save-file-name' for tramp files.
 Returns a file name in `tramp-auto-save-directory' for autosaving this file."
-  (when tramp-auto-save-directory
-    (unless (file-exists-p tramp-auto-save-directory)
-      (make-directory tramp-auto-save-directory t)))
-  ;; jka-compr doesn't like auto-saving, so by appending "~" to the
-  ;; file name we make sure that jka-compr isn't used for the
-  ;; auto-save file.
-  (let ((buffer-file-name
-	 (if tramp-auto-save-directory
-	     (expand-file-name
-	      (tramp-subst-strs-in-string
-	       '(("_" . "|")
-		 ("/" . "_a")
-		 (":" . "_b")
-		 ("|" . "__")
-		 ("[" . "_l")
-		 ("]" . "_r"))
-	       (buffer-file-name))
-	      tramp-auto-save-directory)
-	   (buffer-file-name))))
-    ;; Run plain `make-auto-save-file-name'.  There might be an advice when
-    ;; it is not a magic file name operation (since Emacs 22).
-    ;; We must deactivate it temporarily.
-    (if (not (ad-is-active 'make-auto-save-file-name))
-	(tramp-run-real-handler
-	 'make-auto-save-file-name nil)
-      ;; else
-      (ad-deactivate 'make-auto-save-file-name)
-      (prog1
-       (tramp-run-real-handler
-	'make-auto-save-file-name nil)
-       (ad-activate 'make-auto-save-file-name)))))
+  (let ((tramp-auto-save-directory tramp-auto-save-directory))
+    ;; File name must be unique.  This is ensured with Emacs 22 (see
+    ;; UNIQUIFY element of `auto-save-file-name-transforms'); but for
+    ;; all other cases we must do it ourselves.
+    (when (boundp 'auto-save-file-name-transforms)
+      (mapcar
+       '(lambda (x)
+	  (when (and (string-match (car x) buffer-file-name)
+		     (not (car (cddr x))))
+	    (setq tramp-auto-save-directory
+		  (or tramp-auto-save-directory temporary-file-directory))))
+       (symbol-value 'auto-save-file-name-transforms)))
+    ;; Create directory.
+    (when tramp-auto-save-directory
+      (unless (file-exists-p tramp-auto-save-directory)
+	(make-directory tramp-auto-save-directory t)))
+    ;; jka-compr doesn't like auto-saving, so by appending "~" to the
+    ;; file name we make sure that jka-compr isn't used for the
+    ;; auto-save file.
+    (let ((buffer-file-name
+	   (if tramp-auto-save-directory
+	       (expand-file-name
+		(tramp-subst-strs-in-string
+		 '(("_" . "|")
+		   ("/" . "_a")
+		   (":" . "_b")
+		   ("|" . "__")
+		   ("[" . "_l")
+		   ("]" . "_r"))
+		 (buffer-file-name))
+		tramp-auto-save-directory)
+	     (buffer-file-name))))
+      ;; Run plain `make-auto-save-file-name'.  There might be an advice when
+      ;; it is not a magic file name operation (since Emacs 22).
+      ;; We must deactivate it temporarily.
+      (if (not (ad-is-active 'make-auto-save-file-name))
+	  (tramp-run-real-handler
+	   'make-auto-save-file-name nil)
+	;; else
+	(ad-deactivate 'make-auto-save-file-name)
+	(prog1
+	    (tramp-run-real-handler
+	     'make-auto-save-file-name nil)
+	  (ad-activate 'make-auto-save-file-name))))))
 
 
 ;; CCC grok APPEND, LOCKNAME, CONFIRM
@@ -4333,7 +4346,12 @@
   "Add tramp file name handlers to `file-name-handler-alist'."
   (add-to-list 'file-name-handler-alist
 	       (cons tramp-file-name-regexp 'tramp-file-name-handler))
-  (when (or partial-completion-mode (featurep 'ido))
+  ;; `partial-completion-mode' is unknown in XEmacs.  So we should
+  ;; load it unconditionally there.  In the GNU Emacs case, method/
+  ;; user/host name completion shall be bound to `partial-completion-mode'.
+  (when (or (not (boundp 'partial-completion-mode))
+	    (symbol-value 'partial-completion-mode)
+	    (featurep 'ido))
     (add-to-list 'file-name-handler-alist
 		 (cons tramp-completion-file-name-regexp
 		       'tramp-completion-file-name-handler))
@@ -6749,8 +6767,8 @@
   ;; Set file's gid change bit.  Possible only when id-format is 'integer.
   (when (numberp (nth 3 attr))
     (setcar (nthcdr 9 attr)
-	    (not (= (nth 3 attr)
-		    (tramp-get-remote-gid multi-method method user host)))))
+	    (not (eql (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))
@@ -7200,10 +7218,7 @@
 
 (defun tramp-time-diff (t1 t2)
   "Return the difference between the two times, in seconds.
-T1 and T2 are time values (as returned by `current-time' for example).
-
-NOTE: This function will fail if the time difference is too large to
-fit in an integer."
+T1 and T2 are time values (as returned by `current-time' for example)."
   ;; Pacify byte-compiler with `symbol-function'.
   (cond ((and (fboundp 'subtract-time)
 	      (fboundp 'float-time))
@@ -7214,10 +7229,9 @@
          (funcall (symbol-function 'time-to-seconds)
 		  (funcall (symbol-function 'subtract-time) t1 t2)))
         ((fboundp 'itimer-time-difference)
-         (floor (funcall
-		 (symbol-function 'itimer-time-difference)
-		 (if (< (length t1) 3) (append t1 '(0)) t1)
-		 (if (< (length t2) 3) (append t2 '(0)) t2))))
+	 (funcall (symbol-function 'itimer-time-difference)
+		  (if (< (length t1) 3) (append t1 '(0)) t1)
+		  (if (< (length t2) 3) (append t2 '(0)) t2)))
         (t
          ;; snarfed from Emacs 21 time-date.el; combining
 	 ;; time-to-seconds and subtract-time
--- a/lisp/net/trampver.el	Mon Aug 28 22:49:25 2006 +0000
+++ b/lisp/net/trampver.el	Tue Aug 29 05:48:40 2006 +0000
@@ -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.53"
+(defconst tramp-version "2.0.54"
   "This version of Tramp.")
 
 (defconst tramp-bug-report-address "tramp-devel@gnu.org"
--- a/man/ChangeLog	Mon Aug 28 22:49:25 2006 +0000
+++ b/man/ChangeLog	Tue Aug 29 05:48:40 2006 +0000
@@ -1,3 +1,10 @@
+2006-08-29  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.0.54.
+
+	* tramp.texi (Bug Reports): The Tramp mailing list is moderated
+	now.  Suggested by Adrian Phillips <a.phillips@met.no>.
+
 2006-08-28  Richard Stallman  <rms@gnu.org>
 
 	* windows.texi (Split Window): Update xref.
--- a/man/tramp.texi	Mon Aug 28 22:49:25 2006 +0000
+++ b/man/tramp.texi	Tue Aug 29 05:48:40 2006 +0000
@@ -1931,12 +1931,16 @@
 @chapter Reporting Bugs and Problems
 @cindex bug reports
 
-Bugs and problems with @value{tramp} are actively worked on by the development
-team. Feature requests and suggestions are also more than welcome.
-
-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.
+Bugs and problems with @value{tramp} are actively worked on by the
+development team. Feature requests and suggestions are also more than
+welcome.
+
+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.  It is moderated so
+non-subscribers can post but messages will be delayed, possibly up to
+48 hours (or longer in case of holidays), until the moderator approves
+your message.
 
 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
--- a/man/trampver.texi	Mon Aug 28 22:49:25 2006 +0000
+++ b/man/trampver.texi	Tue Aug 29 05:48:40 2006 +0000
@@ -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.53
+@set trampver 2.0.54
 
 @c Other flags from configuration
 @set prefix /usr/local