diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/dired-aux.el | 9 | ||||
-rw-r--r-- | lisp/dired.el | 9 | ||||
-rw-r--r-- | lisp/files.el | 46 | ||||
-rw-r--r-- | lisp/ls-lisp.el | 9 |
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) |