On 3/3/10, Brian Candler <b.candler / pobox.com> wrote:
> But we're flogging a dead horse here. I hate this stuff; other people
> seem to love it.

Having wrestled with these issues a little bit myself, I think your
criticisms are cogent. Unlike you, tho, I'd rather not drop the whole
string encoding feature in 1.9. (Any solution to the rather ugly
problem of string encodings is going to have some problems. Ruby's got
a different (and more complicated) approach to it than other
languages... but if the remaining wrinkles can be smoothed out, it
will be a better solution overall.)

I wish someone would take the inconsistencies you've found and
criticisms you've made to heart and find some kind of way to address
them.

One thing that might help is a variant of the Rope class Intransition
was wishing for just recently. There's no reason that the individual
String segments of a Rope couldn't each have different encodings....
this would help with the catenation of Strings with different
encodings, for instance. It gets complicated, tho. How do you do a
Regexp match against a multi-encoded Rope? (It's hard and/or tricky,
but I think can be done.) I've suggested this on ruby-core before, but
no-one wants this in the interpreter itself... probably appropriately.