Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
b15d0c4c
Commit
b15d0c4c
authored
Oct 17, 2004
by
Michael Albinus
Browse files
* net/tramp.el: Redo sync with Tramp 2.0.45. Last commit did not
work correctly.
parent
c514efbb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
38 deletions
+44
-38
lisp/ChangeLog
lisp/ChangeLog
+5
-0
lisp/net/tramp.el
lisp/net/tramp.el
+39
-38
No files found.
lisp/ChangeLog
View file @
b15d0c4c
2004-10-17 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el: Redo sync with Tramp 2.0.45. Last commit did not
work correctly.
2004-10-17 Daniel Pfeiffer <occitan@esperanto.org>
* buff-menu.el (Buffer-menu-revert-function): Emulate save-excursion.
...
...
lisp/net/tramp.el
View file @
b15d0c4c
...
...
@@ -2337,45 +2337,46 @@ If it doesn't exist, generate a new one."
;; 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."
"Like `verify-visited-file-modtime' for tramp files."
(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
)))))))
;; 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.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment