emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/net/tramp.el [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/net/tramp.el [emacs-unicode-2]
Date: Fri, 22 Oct 2004 06:22:42 -0400

Index: emacs/lisp/net/tramp.el
diff -c emacs/lisp/net/tramp.el:1.39.2.7 emacs/lisp/net/tramp.el:1.39.2.8
*** emacs/lisp/net/tramp.el:1.39.2.7    Thu Oct 14 08:49:58 2004
--- emacs/lisp/net/tramp.el     Fri Oct 22 10:13:30 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]