зеркало из https://github.com/github/ruby.git
* string.c: Remove :lithuanian guard for Unicode case mapping.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
ed6ab036d9
Коммит
c5ea268264
|
@ -1,3 +1,7 @@
|
|||
Sun Jun 5 14:46:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
|
||||
|
||||
* string.c: Remove :lithuanian guard for Unicode case mapping.
|
||||
|
||||
Sat Jun 4 10:54:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* missing/crypt.h (struct crypt_data): remove unnecessary member
|
||||
|
|
38
string.c
38
string.c
|
@ -5869,7 +5869,7 @@ rb_str_upcase_bang(int argc, VALUE *argv, VALUE str)
|
|||
enc = STR_ENC_GET(str);
|
||||
rb_str_check_dummy_enc(enc);
|
||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||
if (enc==rb_utf8_encoding()) {
|
||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||
}
|
||||
|
@ -5959,7 +5959,7 @@ rb_str_downcase_bang(int argc, VALUE *argv, VALUE str)
|
|||
enc = STR_ENC_GET(str);
|
||||
rb_str_check_dummy_enc(enc);
|
||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||
if (enc==rb_utf8_encoding()) {
|
||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||
}
|
||||
|
@ -6018,11 +6018,13 @@ rb_str_downcase_bang(int argc, VALUE *argv, VALUE str)
|
|||
* The meaning of the +options+ is as follows:
|
||||
*
|
||||
* No option ::
|
||||
* Currently, old behavior (only the ASCII region, i.e. characters
|
||||
* ``A'' to ``Z'', and/or ``a'' to ``z'', are affected).
|
||||
* This will change very soon to full Unicode case mapping.
|
||||
* Full Unicode case mapping, suitable for most languages
|
||||
* (see :turkic and :lithuanian options below for exceptions).
|
||||
* Context-dependent case mapping as described in Table 3-14 of the
|
||||
* Unicode standard is currently not supported.
|
||||
* :ascii ::
|
||||
* Only the ASCII region, i.e. the characters ``A'' to ``Z'', are affected.
|
||||
* Only the ASCII region, i.e. the characters ``A'' to ``Z'' and
|
||||
* ``a'' to ``z'', are affected.
|
||||
* This option cannot be combined with any other option.
|
||||
* :turkic ::
|
||||
* Full Unicode case mapping, adapted for Turkic languages
|
||||
|
@ -6031,21 +6033,23 @@ rb_str_downcase_bang(int argc, VALUE *argv, VALUE str)
|
|||
* :lithuanian ::
|
||||
* Currently, just full Unicode case mapping. In the future, full Unicode
|
||||
* case mapping adapted for Lithuanian (keeping the dot on the lower case
|
||||
* i even if there's an accent on top).
|
||||
* i even if there is an accent on top).
|
||||
* :fold ::
|
||||
* Only available on +downcase+ and +downcase!+. Unicode case folding, which
|
||||
* is more far-reaching than Unicode case mapping. This option currently
|
||||
* cannot be combined with any other option (i.e. we do not currenty
|
||||
* implement a variant for turkic languages).
|
||||
* Only available on +downcase+ and +downcase!+. Unicode case <b>folding</b>,
|
||||
* which is more far-reaching than Unicode case mapping.
|
||||
* This option currently cannot be combined with any other option
|
||||
* (i.e. there is currenty no variant for turkic languages).
|
||||
*
|
||||
* Please note that several assumptions that are valid for ASCII-only case
|
||||
* conversions do not hold for more general case conversions. For example,
|
||||
* the length of the result may not be the same as the length of the input
|
||||
* (neither in characters nor in bytes), and some roundtrip assumptions
|
||||
* (e.g. str.downcase == str.downcase.upcase.downcase) may not apply.
|
||||
* (neither in characters nor in bytes), some roundtrip assumptions
|
||||
* (e.g. str.downcase == str.upcase.downcase) may not apply, and Unicode
|
||||
* normalization (i.e. String#unicode_normalize) is not necessarily maintained
|
||||
* by case mapping operations.
|
||||
*
|
||||
* Non-ASCII case mapping/folding is currently only supported for UTF-8 Strings,
|
||||
* but this support will be extended to other encodings in the future.
|
||||
* Non-ASCII case mapping/folding is currently only supported for UTF-8
|
||||
* Strings/Symbols, but this support will be extended to other encodings.
|
||||
*
|
||||
* "hEllO".downcase #=> "hello"
|
||||
*/
|
||||
|
@ -6090,7 +6094,7 @@ rb_str_capitalize_bang(int argc, VALUE *argv, VALUE str)
|
|||
enc = STR_ENC_GET(str);
|
||||
rb_str_check_dummy_enc(enc);
|
||||
if (RSTRING_LEN(str) == 0 || !RSTRING_PTR(str)) return Qnil;
|
||||
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||
if (enc==rb_utf8_encoding()) {
|
||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||
}
|
||||
|
@ -6166,7 +6170,7 @@ rb_str_swapcase_bang(int argc, VALUE *argv, VALUE str)
|
|||
enc = STR_ENC_GET(str);
|
||||
rb_str_check_dummy_enc(enc);
|
||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||
if (enc==rb_utf8_encoding()) {
|
||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче