diff options
| author | Gerd Moellmann | 2001-05-18 13:21:11 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-05-18 13:21:11 +0000 |
| commit | a724ed38f57fca26f7c973a87b396409da4e191b (patch) | |
| tree | dc0c5b28b99375ed0ba9e9e48149da11215ec426 /lisp/net | |
| parent | 0595722b7c732d17c22859ca5327c41e4d93b72e (diff) | |
| download | emacs-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.el | 12 |
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. |
| 2436 | FILE is the full name of the remote file, LSARGS is any args to pass to the | 2439 | FILE 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 "]")) |