summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2013-02-03 17:49:37 +0100
committerMichael Albinus <michael.albinus@gmx.de>2013-02-03 17:49:37 +0100
commit5870b2b1d3dbb3e9322b4cf01136af860cf49763 (patch)
tree4b8eee310715480abd333ddcf3a4e1814f6d7ed6 /lisp
parent37a56656369c5c60f1eb5de14b6f693dff0027a6 (diff)
downloademacs-5870b2b1d3dbb3e9322b4cf01136af860cf49763.tar.gz
* 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'.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/net/tramp-sh.el3
-rw-r--r--lisp/net/tramp.el15
3 files changed, 24 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d0c1ae7c5e7..b676835bfef 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 345da7b958f..bfa145ac780 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -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)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 1dee9e89676..7743e10c8d4 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -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