[whatwg/url] file state needs clarification (#217)

It's not clear what to do in <i><b>file state</b></i>, when `c` is `EOF`, "`?`" or "`#`" and base is null or base scheme isn't "<code>file</code>". Possible variants:

1. Continue main loop (11. Keep running the following state machine by switching on state...)
2. Go to "<b>Otherwise</b>", and because "1.", "2." not meet, go to "3. Set state to path state, and decrease pointer by one"

Consider these URL's::
`file:`
`file:#frag`
`file:?q=v`

(1) variant produces following serialized url's:
`file:///` (with empty path list)
`file:///frag` (fragment converted to the path string)
`file:///q=v` (query converted to the path string)

(2) variant produces these serialized url's (path with one empty string):
`file:///`
`file:///#frag`
`file:///#q=v`

Although (2) looks better, I think standard points to (1), because bolded "<b>Otherwise</b>" is for `c`, and not for "`if`" statements.

So, what do you think?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/issues/217

Received on Tuesday, 24 January 2017 15:00:52 UTC