From: Michael Albinus Date: Sun, 3 Feb 2013 16:49:37 +0000 (+0100) Subject: * net/tramp.el (tramp-debug-message): Extend function exclude list. X-Git-Tag: emacs-24.3.90~173^2~7^2~154 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5870b2b1d3dbb3e9322b4cf01136af860cf49763;p=emacs.git * 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'. --- 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 + + * 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 * 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