[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el |
Date: |
Sun, 17 Oct 2004 10:15:46 -0400 |
Index: emacs/lisp/net/tramp.el
diff -c emacs/lisp/net/tramp.el:1.51 emacs/lisp/net/tramp.el:1.52
*** emacs/lisp/net/tramp.el:1.51 Tue Oct 12 21:02:43 2004
--- emacs/lisp/net/tramp.el Sun Oct 17 14:05:51 2004
***************
*** 2337,2381 ****
;; This function makes the same assumption as
;; `tramp-handle-set-visited-file-modtime'.
(defun tramp-handle-verify-visited-file-modtime (buf)
! "Like `verify-visited-file-modtime' for tramp files.
! At the time `verify-visited-file-modtime' calls this function, we
! already know that the buffer is visiting a file and that
! `visited-file-modtime' does not return 0. Do not call this
! function directly, unless those two cases are already taken care
! of."
(with-current-buffer buf
! (let ((f (buffer-file-name)))
! (with-parsed-tramp-file-name f nil
! (let* ((attr (file-attributes f))
! (modtime (nth 5 attr)))
! (cond ((and attr (not (equal modtime '(0 0))))
! ;; Why does `file-attributes' return a list (HIGH
! ;; LOW), but `visited-file-modtime' returns a cons
! ;; (HIGH . LOW)?
! (let ((mt (visited-file-modtime)))
! (< (abs (tramp-time-diff
! modtime
! ;; For compatibility, deal with both the old
! ;; (HIGH . LOW) and the new (HIGH LOW)
! ;; return values of `visited-file-modtime'.
! (if (atom (cdr mt))
! (list (car mt) (cdr mt))
! mt)))
! 2)))
! (attr
! (save-excursion
! (tramp-send-command
! multi-method method user host
! (format "%s -ild %s"
! (tramp-get-ls-command multi-method method
! user host)
! (tramp-shell-quote-argument localname)))
! (tramp-wait-for-output)
! (setq attr (buffer-substring
! (point) (progn (end-of-line) (point)))))
! (equal tramp-buffer-file-attributes attr))
! ;; If file does not exist, say it is not modified.
! (t nil)))))))
(defadvice clear-visited-file-modtime (after tramp activate)
"Set `tramp-buffer-file-attributes' back to nil.
--- 2337,2382 ----
;; This function makes the same assumption as
;; `tramp-handle-set-visited-file-modtime'.
(defun tramp-handle-verify-visited-file-modtime (buf)
! "Like `verify-visited-file-modtime' for tramp files."
(with-current-buffer buf
! ;; There is no file visiting the buffer, or the buffer has no
! ;; recorded last modification time.
! (if (or (not (buffer-file-name))
! (eq (visited-file-modtime) 0))
! t
! (let ((f (buffer-file-name)))
! (with-parsed-tramp-file-name f nil
! (let* ((attr (file-attributes f))
! (modtime (nth 5 attr))
! (mt (visited-file-modtime)))
!
! (cond
! ;; file exists, and has a known modtime.
! ((and attr (not (equal modtime '(0 0))))
! (< (abs (tramp-time-diff
! modtime
! ;; For compatibility, deal with both the old
! ;; (HIGH . LOW) and the new (HIGH LOW)
! ;; return values of `visited-file-modtime'.
! (if (atom (cdr mt))
! (list (car mt) (cdr mt))
! mt)))
! 2))
! ;; modtime has the don't know value.
! (attr
! (save-excursion
! (tramp-send-command
! multi-method method user host
! (format "%s -ild %s"
! (tramp-get-ls-command multi-method method user host)
! (tramp-shell-quote-argument localname)))
! (tramp-wait-for-output)
! (setq attr (buffer-substring
! (point) (progn (end-of-line) (point)))))
! (equal tramp-buffer-file-attributes attr))
! ;; If file does not exist, say it is not modified
! ;; if and only if that agrees with the buffer's record.
! (t (equal mt '(-1 65535))))))))))
(defadvice clear-visited-file-modtime (after tramp activate)
"Set `tramp-buffer-file-attributes' back to nil.