[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <[email protected]>
[ruby-core:63969] [CommonRuby - Feature #10085] Add non-ASCII case conversion to String#upcase/downcase/swapcase/capitalize
From:
duerst@...
Date:
2014-07-23 11:06:46 UTC
List:
ruby-core #63969
Issue #10085 has been updated by Martin D=C3=BCrst. Related to Feature #2034: Consider the ICU Library for Improving and Expand= ing Unicode Support added ---------------------------------------- Feature #10085: Add non-ASCII case conversion to String#upcase/downcase/swa= pcase/capitalize https://bugs.ruby-lang.org/issues/10085#change-47986 * Author: Martin D=C3=BCrst * Status: Open * Priority: Normal * Assignee:=20 * Category:=20 * Target version:=20 ---------------------------------------- Case conversion functions are currently limited to ASCII characters. When u= sed with formal languages, that may be appropriate, but it is often not app= ropriate for applications. In order to avoid backwards-compatibility problems and to make sure that th= e various variants of case conversion (e.g. language-dependent) can be sele= cted, we propose to add an optional parameter to the case conversion functi= ons. Our current design idea is as follows: ASCII-only if no parameter: 'T=C3=BCrkiye'.upcase # =3D> 'T=C3=BCRKIYE', note lower-case =C3=BC Parameter triggers (general) Unicode conversion: 'T=C3=BCrkiye'.upcase 'en' # =3D> 'T=C3=9CRKIYE', note upper-case =C3=9C The parameter is actually a BCP 47 (http://tools.ietf.org/html/bcp47) langu= age tag. This means that for languages with special case conversion rules, such as T= urkish, this works as follows: 'T=C3=BCrkiye'.upcase 'tr' # =3D> 'T=C3=9CRK=C4=B0YE', note upper-case =C4= =B0 (with dot!) In the second example, we used 'en', but most other languages would work, t= oo, because a single case conversion works for most languages. Turkic langu= ages are the biggest exception. The Unicode standard also defines various cases of "case-folding", which us= ually is lossy, e.g. mapping German =C3=9F to ss and so on. It should be possible to include this functionality in this p= roposal, e.g. by using :symbols or CONSTANTs for the few specific foldings.= It may also be possible to define a reversible variant of case conversion = in particular for use with swapcase. In the long term, instead of a direct BCP 47 string, we could create a Loca= le class that would incorporate language-specific facilities, but this may = need more detailed considerations. The idea of using an additional parameter to indicate language-dependent or= other processing variants should be extensible to areas such as number-to-= string conversion and date formation. While this proposal is only about cas= e conversion, we should check that there is a good chance to use similar pa= rameter conventions for such extensions. [This proposal is based on research done together with my student Kimihito = Matsui.] --=20 https://bugs.ruby-lang.org/