aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/ange-ftp.el12
2 files changed, 16 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 735ed5f3182..b32a3154ed2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
12001-05-18 Gerd Moellmann <gerd@gnu.org> 12001-05-18 Gerd Moellmann <gerd@gnu.org>
2 2
3 * net/ange-ftp.el (ange-ftp-fix-name-for-vms): Reverse args of
4 subst-char-in-string.
5 (ange-ftp-after-parse-ls-hook): New variable.
6 (ange-ftp-ls): Run that hook.
7 From Peter Milliken <Peter.Milliken@GTECH.COM>.
8
3 * tmm.el (tmm-get-keymap): Fix handling of :filter. 9 * tmm.el (tmm-get-keymap): Fix handling of :filter.
4 (tmm-add-prompt): Bind buffer-read-only to nil when inserting 10 (tmm-add-prompt): Bind buffer-read-only to nil when inserting
5 text into *Completions*. 11 text into *Completions*.
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 "]"))