Mercurial > emacs
changeset 107085:d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
`dired-uncache' for every elemnt which is an absolute file name.
* net/tramp.el (tramp-handle-dired-uncache): When DIR is not a
directory, handle its directory component.
(tramp-handle-file-remote-p): Let-bind `tramp-verbose' to 3; this
function is called permanently and creates noise, otherwise.
* net/tramp-imap.el (tramp-imap-handle-insert-directory):
* net/tramp-smb.el (tramp-smb-handle-insert-directory):
Handle the case, FILENAME is not in `default-directory'. (Bug#5478)
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Thu, 04 Feb 2010 17:25:57 +0100 |
parents | 316cee8951ad |
children | 1786f2e6a856 |
files | lisp/ChangeLog lisp/dired.el lisp/net/tramp-imap.el lisp/net/tramp-smb.el lisp/net/tramp.el |
diffstat | 5 files changed, 56 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Feb 03 21:21:40 2010 -0800 +++ b/lisp/ChangeLog Thu Feb 04 17:25:57 2010 +0100 @@ -1,3 +1,17 @@ +2010-02-04 Michael Albinus <michael.albinus@gmx.de> + + * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call + `dired-uncache' for every elemnt which is an absolute file name. + + * net/tramp.el (tramp-handle-dired-uncache): When DIR is not a + directory, handle its directory component. + (tramp-handle-file-remote-p): Let-bind `tramp-verbose' to 3; this + function is called permanently and creates noise, otherwise. + + * net/tramp-imap.el (tramp-imap-handle-insert-directory): + * net/tramp-smb.el (tramp-smb-handle-insert-directory): + Handle the case, FILENAME is not in `default-directory'. (Bug#5478) + 2010-02-04 David Burger <dburger@google.com> (tiny change) * macros.el (apply-macro-to-region-lines):
--- a/lisp/dired.el Wed Feb 03 21:21:40 2010 -0800 +++ b/lisp/dired.el Thu Feb 04 17:25:57 2010 +0100 @@ -1144,8 +1144,12 @@ (setq mark-alist;; only after dired-remember-hidden since this unhides: (dired-remember-marks (point-min) (point-max))) ;; treat top level dir extra (it may contain wildcards) - (dired-uncache - (if (consp dired-directory) (car dired-directory) dired-directory)) + (if (not (consp dired-directory)) + (dired-uncache dired-directory) + (dired-uncache (car dired-directory)) + (dolist (dir (cdr dired-directory)) + (if (file-name-absolute-p dir) + (dired-uncache dir)))) ;; Run dired-after-readin-hook just once, below. (let ((dired-after-readin-hook nil)) (dired-readin)
--- a/lisp/net/tramp-imap.el Wed Feb 03 21:21:40 2010 -0800 +++ b/lisp/net/tramp-imap.el Thu Feb 04 17:25:57 2010 +0100 @@ -472,14 +472,18 @@ (nth 6 x)))) ; date ;; For the file name, we set the `dired-filename' ;; property. This allows to handle file names with - ;; leading or trailing spaces as well. + ;; leading or trailing spaces as well. The inserted name + ;; could be from somewhere else, so we use the relative + ;; file name of `default-directory'. (let ((pos (point))) - (insert (format "%s" (nth 0 x))) ; file name - (put-text-property pos (point) 'dired-filename t)) - (insert "\n") + (insert + (format + "%s\n" + (file-relative-name (expand-file-name (nth 0 x) filename)))) + (put-text-property pos (1- (point)) 'dired-filename t)) (forward-line) (beginning-of-line))) - entries))))) + entries))))) (defun tramp-imap-handle-insert-file-contents (filename &optional visit beg end replace)
--- a/lisp/net/tramp-smb.el Wed Feb 03 21:21:40 2010 -0800 +++ b/lisp/net/tramp-smb.el Thu Feb 04 17:25:57 2010 +0100 @@ -716,7 +716,7 @@ (when (tramp-smb-get-stat-capability v) (ignore-errors (file-attributes - (expand-file-name (nth 0 x)) 'string))))) + (expand-file-name (nth 0 x) filename) 'string))))) (insert (format "%10s %3d %-8s %-8s %8s %s " @@ -732,9 +732,14 @@ "%b %e %R" "%b %e %Y") (nth 3 x)))) ; date - ;; We mark the filename. + ;; We mark the file name. The inserted name could be + ;; from somewhere else, so we use the relative file + ;; name of `default-directory'. (let ((start (point))) - (insert (format "%s\n" (nth 0 x))) ; file name + (insert + (format + "%s\n" + (file-relative-name (expand-file-name (nth 0 x) filename)))) (put-text-property start (1- (point)) 'dired-filename t)) (forward-line) (beginning-of-line))))
--- a/lisp/net/tramp.el Wed Feb 03 21:21:40 2010 -0800 +++ b/lisp/net/tramp.el Thu Feb 04 17:25:57 2010 +0100 @@ -4035,9 +4035,11 @@ (concat file ".z")) (t nil))))))))) -(defun tramp-handle-dired-uncache (dir) +(defun tramp-handle-dired-uncache (dir &optional dir-p) "Like `dired-uncache' for Tramp files." - (with-parsed-tramp-file-name dir nil + ;; DIR-P is valid for XEmacs only. + (with-parsed-tramp-file-name + (if (or dir-p (file-directory-p dir)) dir (file-name-directory dir)) nil (tramp-flush-file-property v localname))) ;; Pacify byte-compiler. The function is needed on XEmacs only. I'm @@ -4663,20 +4665,21 @@ (defun tramp-handle-file-remote-p (filename &optional identification connected) "Like `file-remote-p' for Tramp files." - (when (tramp-tramp-file-p filename) - (let* ((v (tramp-dissect-file-name filename)) - (p (tramp-get-connection-process v)) - (c (and p (processp p) (memq (process-status p) '(run open))))) - ;; We expand the file name only, if there is already a connection. - (with-parsed-tramp-file-name - (if c (expand-file-name filename) filename) nil - (and (or (not connected) c) - (cond - ((eq identification 'method) method) - ((eq identification 'user) user) - ((eq identification 'host) host) - ((eq identification 'localname) localname) - (t (tramp-make-tramp-file-name method user host "")))))))) + (let ((tramp-verbose 3)) + (when (tramp-tramp-file-p filename) + (let* ((v (tramp-dissect-file-name filename)) + (p (tramp-get-connection-process v)) + (c (and p (processp p) (memq (process-status p) '(run open))))) + ;; We expand the file name only, if there is already a connection. + (with-parsed-tramp-file-name + (if c (expand-file-name filename) filename) nil + (and (or (not connected) c) + (cond + ((eq identification 'method) method) + ((eq identification 'user) user) + ((eq identification 'host) host) + ((eq identification 'localname) localname) + (t (tramp-make-tramp-file-name method user host ""))))))))) (defun tramp-find-file-name-coding-system-alist (filename tmpname) "Like `find-operation-coding-system' for Tramp filenames.