• Alain Schneble's avatar
    Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044) · 8dea6fe5
    Alain Schneble authored
    * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
    * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
    * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
    information in URL-struct.
    * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
    path and query into nil path and query, respectively.
    * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
    empty path into an absolute ("/") path.
    * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
    fragment-only URIs. Do not just return them unchanged.
    * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
    reference URI should not drop the last segment.
    
    Backport:
    
    (cherry picked from commit b792ecea)
    8dea6fe5
url-parse.el 8.88 KB