Function: url-handler-directory-file-name

url-handler-directory-file-name is a byte-compiled function defined in url-handlers.el.gz.

Signature

(url-handler-directory-file-name DIR)

Source Code

;; Defined in /usr/src/emacs/lisp/url/url-handlers.el.gz
;; directory-file-name and file-name-as-directory are kind of hard to
;; implement really right for URLs since URLs can have repeated / chars.
;; We'd want the following behavior:
;; idempotence: (d-f-n (d-f-n X) == (d-f-n X)
;; idempotence: (f-n-a-d (f-n-a-d X) == (f-n-a-d X)
;; reversible:  (d-f-n (f-n-a-d (d-f-n X))) == (d-f-n X)
;; reversible:  (f-n-a-d (d-f-n (f-n-a-d X))) == (f-n-a-d X)
(defun url-handler-directory-file-name (dir)
  ;; When there's more than a single /, just don't touch the slashes at all.
  (if (string-suffix-p "//" dir) dir
    (url-run-real-handler 'directory-file-name (list dir))))