]> code.delx.au - gnu-emacs/commitdiff
* net/tramp.el (tramp-debug-message): Extend function exclude list.
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 3 Feb 2013 16:49:37 +0000 (17:49 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 3 Feb 2013 16:49:37 +0000 (17:49 +0100)
(tramp-backtrace): New defun.
(tramp-handle-insert-file-contents): Use `visit' when inserting
the local copy.

* net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): Use
`remote-file-name-inhibit-cache'.

lisp/ChangeLog
lisp/net/tramp-sh.el
lisp/net/tramp.el

index d0c1ae7c5e75012f8f3f879cb3887600827fc0ba..b676835bfef0ae3e8a4d799262fe4f837bd97634 100644 (file)
@@ -1,3 +1,13 @@
+2013-02-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-debug-message): Extend function exclude list.
+       (tramp-backtrace): New defun.
+       (tramp-handle-insert-file-contents): Use `visit' when inserting
+       the local copy.
+
+       * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): Use
+       `remote-file-name-inhibit-cache'.
+
 2013-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/cperl-mode.el (cperl-mode): Avoid byte-compile warning
index 345da7b958fb79c80ca6c23dd1764029e8a775ab..bfa145ac780a72c93077daf1c09c7c4d53618dff 100644 (file)
@@ -1330,7 +1330,8 @@ target of the symlink differ."
     (let ((f (buffer-file-name))
          coding-system-used)
       (with-parsed-tramp-file-name f nil
-       (let* ((attr (file-attributes f))
+       (let* ((remote-file-name-inhibit-cache t)
+              (attr (file-attributes f))
               ;; '(-1 65535) means file doesn't exists yet.
               (modtime (or (nth 5 attr) '(-1 65535))))
          (when (boundp 'last-coding-system-used)
index 1dee9e89676f60fc44d87a5448d973dea6f364d8..7743e10c8d40de30fc0b10862f100c19b917d49f 100644 (file)
@@ -1391,7 +1391,9 @@ ARGS to actually emit the message (if applicable)."
                     (concat
                      "^"
                      (regexp-opt
-                      '("tramp-compat-funcall"
+                      '("tramp-backtrace"
+                        "tramp-compat-condition-case-unless-debug"
+                        "tramp-compat-funcall"
                         "tramp-compat-with-temp-message"
                         "tramp-debug-message"
                         "tramp-error"
@@ -1505,6 +1507,11 @@ an input event arrives.  The other arguments are passed to `tramp-error'."
             "`M-x tramp-cleanup-this-connection'"))
          (sit-for 30))))))
 
+(defsubst tramp-backtrace (vec-or-proc)
+  "Dump a backtrace into the debug buffer.
+This function is meant for debugging purposes."
+  (tramp-message vec-or-proc 10 "\n%s" (with-output-to-string (backtrace))))
+
 (defmacro with-parsed-tramp-file-name (filename var &rest body)
   "Parse a Tramp filename and make components available in the body.
 
@@ -3023,13 +3030,15 @@ User is always nil."
                  (setq tramp-temp-buffer-file-name local-copy))
 
                ;; We must ensure that `file-coding-system-alist'
-               ;; matches `local-copy'.
+               ;; matches `local-copy'.  We must also use `visit',
+               ;; otherwise there might be an error in the
+               ;; `revert-buffer' function under XEmacs.
                (let ((file-coding-system-alist
                       (tramp-find-file-name-coding-system-alist
                        filename local-copy)))
                  (setq result
                        (insert-file-contents
-                        local-copy nil nil nil replace)))))
+                        local-copy visit nil nil replace)))))
 
          ;; Save exit.
          (progn