aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/dired-aux.el9
-rw-r--r--lisp/dired.el9
-rw-r--r--lisp/files.el46
-rw-r--r--lisp/ls-lisp.el9
4 files changed, 9 insertions, 64 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index c34fd50f0e..75d0f17fd9 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -477,14 +477,7 @@ and use this command with a prefix argument (the value does not matter)."
;; Compress or uncompress FILE.
;; Return the name of the compressed or uncompressed file.
;; Rerurn nil if no change in files.
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) file))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler file)))
(cond (handler
(funcall handler 'dired-compress-file file))
((file-symlink-p file)
diff --git a/lisp/dired.el b/lisp/dired.el
index 0417a71e69..4ec1907df1 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -581,14 +581,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
;; Remove directory DIR from any directory cache.
(defun dired-uncache (dir)
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) dir))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler dir)))
(if handler
(funcall handler 'dired-uncache dir))))
diff --git a/lisp/files.el b/lisp/files.el
index 9fd20526dd..de949be7d1 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -251,14 +251,7 @@ This is an interface to the function `load'."
"Copy the file FILE into a temporary file on this machine.
Returns the name of the local copy, or nil, if FILE is directly
accessible."
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) file))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler file)))
(if handler
(funcall handler 'file-local-copy file)
nil)))
@@ -270,14 +263,7 @@ both at the level of the file and at the level of the directories
containing it, until no links are left at any level."
(if (string= filename "~")
(setq filename (expand-file-name filename)))
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) filename))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler filename)))
;; For file name that has a special handler, call handler.
;; This is so that ange-ftp can save time by doing a no-op.
(if handler
@@ -299,6 +285,7 @@ containing it, until no links are left at any level."
(file-truename (expand-file-name target dir))
;; No, we are done!
filename)))))
+
(defun switch-to-buffer-other-window (buffer)
"Select buffer BUFFER in another window."
@@ -1037,14 +1024,7 @@ This is a separate procedure so your site-init or startup file can
redefine it.
If the optional argument KEEP-BACKUP-VERSION is non-nil,
we do not remove backup version numbers, only true file version numbers."
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) name))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler name)))
(if handler
(funcall handler 'file-name-sans-versions name keep-backup-version)
(substring name 0
@@ -1407,14 +1387,7 @@ or multiple mail buffers, etc."
(defun make-directory (dir &optional parents)
"Create the directory DIR and any nonexistent parent dirs."
(interactive "FMake directory: \nP")
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) file))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler dir)))
(if handler
(funcall handler 'make-directory dir parents)
(if (not parents)
@@ -1655,14 +1628,7 @@ switches do not contain `d', so that a full listing is expected.
This works by running a directory listing program
whose name is in the variable `ls-program'.
If WILDCARD, it also runs the shell specified by `shell-file-name'."
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) file))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let ((handler (find-file-name-handler file)))
(if handler
(funcall handler 'insert-directory file switches
wildcard full-directory-p)
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 54be933b2e..94b0ed4385 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -57,14 +57,7 @@ It does not support ordinary shell wildcards; instead, it allows
regular expressions to match file names.
The switches that work are: A a c i r S s t u"
- (let (handler (handlers file-name-handler-alist))
- (save-match-data
- (while (and (consp handlers) (null handler))
- (if (and (consp (car handlers))
- (stringp (car (car handlers)))
- (string-match (car (car handlers)) file))
- (setq handler (cdr (car handlers))))
- (setq handlers (cdr handlers))))
+ (let (handler ((find-file-name-handler file)))
(if handler
(funcall handler 'insert-directory file switches
wildcard full-directory-p)