Function: eww-decode-url-file-name
eww-decode-url-file-name is a byte-compiled function defined in
eww.el.gz.
Signature
(eww-decode-url-file-name STRING)
Source Code
;; Defined in /usr/src/emacs/lisp/net/eww.el.gz
(defun eww-decode-url-file-name (string)
(let* ((binary (url-unhex-string string))
(decoded
(decode-coding-string
binary
;; Possibly set by `universal-coding-system-argument'.
(or coding-system-for-read
;; RFC 3986 says that %AB stuff is utf-8.
(if (equal (decode-coding-string binary 'utf-8)
'(unicode))
'utf-8
;; But perhaps not.
(car (detect-coding-string binary))))))
(encodes (find-coding-systems-string decoded)))
(if (or (equal encodes '(undecided))
(memq (coding-system-base (or file-name-coding-system
default-file-name-coding-system))
encodes))
decoded
;; If we can't encode the decoded file name (due to language
;; environment settings), then we return the original, hexified
;; string.
string)))