[prev in list] [next in list] [prev in thread] [next in thread]
List: xmonad
Subject: Re: [xmonad] Re: [patch] Fix URI escaping in X.A.Search
From: Khudyakov Alexey <alexey.skladnoy () gmail ! com>
Date: 2010-04-29 16:25:01
Message-ID: 201004292025.01890.alexey.skladnoy () gmail ! com
[Download RAW message or body]
В сообщении от 29 апреля 2010 19:47:26 вы написали:
> On Thu, Apr 29, 2010 at 7:29 AM, Khudyakov Alexey
>
> <alexey.skladnoy@gmail.com> wrote:
> > В сообщении от 24 апреля 2010 00:57:29 вы написали:
> >> Hello
> >>
> >> This patch fix URI escaping in X.A.Search. Non ASCII characters were not
> >> escaped. This patch modify escape function so it encodes as UTF8 and
> >> escapes all non-ASCII characters.
> >>
> >> This is also a workaroud for bug in System.Process which doesn't
> >> properly encode strings and just truncate Chars to 1 byte.
> >
> > Ping?
>
> I looked at it earlier, and I wasn't so sure that this is entirely
> right. For example, in 'isAscii c && isAlphaNum c = [c]', isn't
> isAscii redundant? I thought all AlphaNum were ASCII.
>
No. It's necessary.
> Prelude Data.Char> isAlphaNum 'ы'
True
> As well as that, I'm not confident about the use of encodeString. We
> had a long discussion about modify the 'spawn' functions to UTF-8
> encode stuff, and the upshot was that it seemed like a bad idea? See
> http://www.haskell.org/pipermail/xmonad/2009-January/thread.html#7012
>
In this particular case it's right thing to do. According to RFC3986[1] all
URLs should be first encoded in UTF-8 and then percent encoded. So xmonad just
emits valid URL.
Quote from RFC3986:
Non-ASCII
characters must first be encoded according to UTF-8 [STD63], and then
each octet of the corresponding UTF-8 sequence must be percent-
encoded to be represented as URI characters
[1] http://tools.ietf.org/html/rfc3986
_______________________________________________
xmonad mailing list
xmonad@haskell.org
http://www.haskell.org/mailman/listinfo/xmonad
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic