diff --git a/url.bs b/url.bs index 06ce6881..e0e22b05 100644 --- a/url.bs +++ b/url.bs @@ -2248,6 +2248,26 @@ and then runs these steps:
If c is an ASCII alphanumeric, U+002B (+), U+002D (-), or U+002E (.), append c, lowercased, to buffer. +
Otherwise, if c is U+003A (:), buffer's length is 1, + buffer contains only an ASCII alpha, and remaining starts with + U+005C (\): + +
Set url's scheme to "file".
+
+
Set url's host to the empty string. + +
Let driveLetter be the code point at position pointer − 1 in input. + +
Set buffer to driveLetter, followed by U+003A (:). + +
This is a (platform-independent) Windows drive letter quirk. This preserves + the case of the drive letter. + +
Set state to path state. +
Otherwise, if c is U+003A (:), then: @@ -2885,10 +2905,16 @@ and then runs these steps:
If url's scheme is "file", url's
path is empty, and buffer is a
- Windows drive letter, then replace the second code point in buffer with
- U+003A (:).
+ Windows drive letter, then:
-
This is a (platform-independent) Windows drive letter quirk. +
Let driveLetter be the first code point in buffer. + +
Set buffer to driveLetter, followed by U+003A (:). +
This is a (platform-independent) Windows drive letter quirk. This preserves + the case of the drive letter while normalizing the second code point to U+003A (:).