diff options
Diffstat (limited to 'lisp/url/url-util.el')
-rw-r--r-- | lisp/url/url-util.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index 2faca26f2dd..f654830e387 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -247,8 +247,9 @@ Will not do anything if `url-show-status' is nil." (cond ((null file) "") ((string-match "\\?" file) - (file-name-directory (substring file 0 (match-beginning 0)))) - (t (file-name-directory file)))) + (url-file-directory (substring file 0 (match-beginning 0)))) + ((string-match "\\(.*\\(/\\|%2[fF]\\)\\)" file) + (match-string 1 file)))) ;;;###autoload (defun url-file-nondirectory (file) @@ -256,8 +257,10 @@ Will not do anything if `url-show-status' is nil." (cond ((null file) "") ((string-match "\\?" file) - (file-name-nondirectory (substring file 0 (match-beginning 0)))) - (t (file-name-nondirectory file)))) + (url-file-nondirectory (substring file 0 (match-beginning 0)))) + ((string-match ".*\\(?:/\\|%2[fF]\\)\\(.*\\)" file) + (match-string 1 file)) + (t file))) ;;;###autoload (defun url-parse-query-string (query &optional downcase allow-newlines) |