Function: url-cache-create-filename-human-readable
url-cache-create-filename-human-readable is a byte-compiled function
defined in url-cache.el.gz.
Signature
(url-cache-create-filename-human-readable URL)
Documentation
Return a filename in the local cache for URL.
Source Code
;; Defined in /usr/src/emacs/lisp/url/url-cache.el.gz
(defun url-cache-create-filename-human-readable (url)
"Return a filename in the local cache for URL."
(if url
(let* ((urlobj (url-generic-parse-url url))
(protocol (url-type urlobj))
(hostname (url-host urlobj))
(host-components
(cons
(user-real-login-name)
(cons (or protocol "file")
(reverse (split-string (or hostname "localhost")
"\\.")))))
(fname (url-filename urlobj)))
(if (and fname (/= (length fname) 0) (= (aref fname 0) ?/))
(setq fname (substring fname 1 nil)))
(if fname
(let ((slash nil))
(setq fname
(mapconcat
(lambda (x)
(cond
((and (= ?/ x) slash)
(setq slash nil)
"%2F")
((= ?/ x)
(setq slash t)
"/")
(t
(setq slash nil)
(char-to-string x)))) fname ""))))
(setq fname (and fname
(mapconcat
(lambda (x)
(if (= x ?~) "" (char-to-string x)))
fname ""))
fname (cond
((null fname) nil)
((or (string= "" fname) (string= "/" fname))
url-directory-index-file)
((= (string-to-char fname) ?/)
(if (string= (substring fname -1 nil) "/")
(concat fname url-directory-index-file)
(substring fname 1 nil)))
(t
(if (string= (substring fname -1 nil) "/")
(concat fname url-directory-index-file)
fname))))
(and fname
(expand-file-name fname
(expand-file-name
(mapconcat 'identity host-components "/")
url-cache-directory))))))