aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/net
diff options
context:
space:
mode:
authorGerd Moellmann2001-05-18 13:21:11 +0000
committerGerd Moellmann2001-05-18 13:21:11 +0000
commita724ed38f57fca26f7c973a87b396409da4e191b (patch)
treedc0c5b28b99375ed0ba9e9e48149da11215ec426 /lisp/net
parent0595722b7c732d17c22859ca5327c41e4d93b72e (diff)
downloademacs-a724ed38f57fca26f7c973a87b396409da4e191b.tar.gz
emacs-a724ed38f57fca26f7c973a87b396409da4e191b.zip
(ange-ftp-fix-name-for-vms): Reverse args of
subst-char-in-string. (ange-ftp-after-parse-ls-hook): New variable. (ange-ftp-ls): Run that hook. From Peter Milliken <Peter.Milliken@GTECH.COM>.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/ange-ftp.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index 9f3a2ed752e..a74a7799fa0 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -2431,6 +2431,9 @@ which can parse the output from a DIR listing for a host of type TYPE.")
2431(defvar ange-ftp-before-parse-ls-hook nil 2431(defvar ange-ftp-before-parse-ls-hook nil
2432 "Normal hook run before parsing the text of an ftp directory listing.") 2432 "Normal hook run before parsing the text of an ftp directory listing.")
2433 2433
2434(defvar ange-ftp-after-parse-ls-hook nil
2435 "Normal hook run after parsing the text of an ftp directory listing.")
2436
2434(defun ange-ftp-ls (file lsargs parse &optional no-error wildcard) 2437(defun ange-ftp-ls (file lsargs parse &optional no-error wildcard)
2435 "Return the output of an `DIR' or `ls' command done over ftp. 2438 "Return the output of an `DIR' or `ls' command done over ftp.
2436FILE is the full name of the remote file, LSARGS is any args to pass to the 2439FILE is the full name of the remote file, LSARGS is any args to pass to the
@@ -2502,6 +2505,11 @@ away in the internal cache."
2502 ange-ftp-parse-list-func-alist))) 2505 ange-ftp-parse-list-func-alist)))
2503 (funcall parse-func) 2506 (funcall parse-func)
2504 (ange-ftp-parse-dired-listing lsargs)))) 2507 (ange-ftp-parse-dired-listing lsargs))))
2508 ;; Place this hook here to convert the contents of the
2509 ;; buffer to a ls compatible format if the host system
2510 ;; that is being queried is other than Unix i.e. VMS
2511 ;; returns an ls format that really sucks.
2512 (run-hooks 'ange-ftp-after-parse-ls-hook)
2505 (setq ange-ftp-ls-cache-file key 2513 (setq ange-ftp-ls-cache-file key
2506 ange-ftp-ls-cache-lsargs lsargs 2514 ange-ftp-ls-cache-lsargs lsargs
2507 ; For dumb hosts-types this is 2515 ; For dumb hosts-types this is
@@ -4767,7 +4775,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
4767 (substring name (match-beginning 3) (match-end 3)))) 4775 (substring name (match-beginning 3) (match-end 3))))
4768 (and dir 4776 (and dir
4769 (setq dir (subst-char-in-string 4777 (setq dir (subst-char-in-string
4770 ?. ?/ (substring dir 1 -1) t))) 4778 ?/ ?. (substring dir 1 -1) t)))
4771 (concat (and drive 4779 (concat (and drive
4772 (concat "/" drive "/")) 4780 (concat "/" drive "/"))
4773 dir (and dir "/") 4781 dir (and dir "/")
@@ -4780,7 +4788,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
4780 name (substring name (match-end 0)))) 4788 name (substring name (match-end 0))))
4781 (setq tmp (file-name-directory name)) 4789 (setq tmp (file-name-directory name))
4782 (if tmp 4790 (if tmp
4783 (setq dir (subst-char-in-string ?. ?/ (substring tmp 0 -1) t))) 4791 (setq dir (subst-char-in-string ?/ ?. (substring tmp 0 -1) t)))
4784 (setq file (file-name-nondirectory name)) 4792 (setq file (file-name-nondirectory name))
4785 (concat drive 4793 (concat drive
4786 (and dir (concat "[" (if drive nil ".") dir "]")) 4794 (and dir (concat "[" (if drive nil ".") dir "]"))