Subject: 24.3.93; relative links don't work in eww and Windows 7

From: [email-masked] (João Távora)
Date: Thu, 21 Aug 2014 11:33:32 +0100

Hi maintainers,

On Windows 7:

    emacs -Q
    M-x eww RET
    http://www.lispworks.com/documentation/HyperSpec/Front/index.htm RET

Try to follow any of the relative links on the page, they point to
something strange like "www.lispworks.comz" (note the final "z") which
basically breaks all navigation.

The `shr-url' property at point shows

    http://www.lispworks.comz:/documentation/HyperSpec/Front/StartPts.htm

And everything indicates this is a consequence of a previous bug fix of
mine for bug#17217 [1], which does not manifest itself in my Linux
box. I'm pretty sure it also did not manifest itself on my old Windows
XP box.

In that fix, I used the function `expand-file-name' in `shr-expand-url'
to compute the expanded URL for "totally relative" case of hrefs like
"../something".

This new bug seems to be caused by `expand-file-name' insisting on
producing a valid windows pathname (with drive letter), even though it
was passed the second argument DEFAULT-DIRECTORY.

That is, on my Windows 7 system:

   (expand-file-name "../bla" "/something/else")

expands to

   "z:/something/bla"

Whereas I intented it to expand to "/something/bla".

My HOME variable is set to at "z:", but unsetting it does not help
either. I don't have time right now to look at the C-code for
`expand-file-name'.

João

[1]: http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-04/msg00266.html

In GNU Emacs 24.3.93.1 (i686-pc-mingw32)
 of 2014-08-15 on LEG570
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1'

Important settings:
  value of $LC_CTYPE: UTF-8
  value of $LANG: C.UTF-8
  locale-coding-system: cp1252