diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-03-31 00:18:38 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-03-31 00:18:38 +0000 |
commit | cb79b372cf6187a7f15a47fac7e77a76aee4ceda (patch) | |
tree | 7b4f3502a91527ff963d3b895036e4dccdf11d30 /lisp/dired-aux.el | |
parent | f609ef57b2342154a071f3bfea3c3aaa3079f48a (diff) | |
download | emacs-cb79b372cf6187a7f15a47fac7e77a76aee4ceda.tar.gz |
(dired-add-entry): If ange-ftp inserted the file's absolute name, fix that.
Diffstat (limited to 'lisp/dired-aux.el')
-rw-r--r-- | lisp/dired-aux.el | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index c537c2e458f..9785b6cffb6 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -749,6 +749,7 @@ a prefix arg lets you edit the `ls' switches used for the new listing." ;; Entry is always for files, even if they happen to also be directories (let ((opoint (point)) (cur-dir (dired-current-directory)) + (orig-file-name filename) (directory (file-name-directory filename)) reason) (setq filename (file-name-nondirectory filename) @@ -783,6 +784,20 @@ a prefix arg lets you edit the `ls' switches used for the new listing." (let ((default-directory directory)) (insert-directory filename (concat dired-actual-switches "d"))) + ;; Compensate for a bug in ange-ftp. + ;; It inserts the file's absolute name, rather than + ;; the relative one. That may be hard to fix since it + ;; is probably controlled by something in ftp. + (goto-char opoint) + (let ((inserted-name (dired-get-filename 'no-dir))) + (if (file-name-directory inserted-name) + (progn + (end-of-line) + (delete-char (- (length inserted-name))) + (insert filename) + (forward-char 1)) + (forward-line 1))) + ;; Give each line a text property recording info about it. (dired-insert-set-properties opoint (point)) (forward-line -1) (if dired-after-readin-hook;; the subdir-alist is not affected... |