aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-16 10:46:32 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-16 10:46:32 +0000
commit5ed7cc607a616cd8b5675cc847ac80ddaa493d2d (patch)
tree28ed0cb539d443ca68c0bc9318473644ff2ed8b7
parentb4806812005700c44f47b368087a01b8b9ae6ed1 (diff)
downloadruby-5ed7cc607a616cd8b5675cc847ac80ddaa493d2d.tar.gz
* include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation
switch * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING compilation switch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--enc/unicode.c4
-rw-r--r--include/ruby/oniguruma.h12
3 files changed, 24 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ff144a4da8..4505afd6a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon May 16 19:46:33 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
+
+ * include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation
+ switch
+
+ * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING
+ compilation switch
+
Mon May 16 19:29:31 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow
diff --git a/enc/unicode.c b/enc/unicode.c
index e663c6aceb..7d3b8a8c00 100644
--- a/enc/unicode.c
+++ b/enc/unicode.c
@@ -651,6 +651,8 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
return n;
}
+#ifdef ONIG_CASE_MAPPING
+
/* length in bytes for three characters in UTF-32; e.g. needed for ffi (U+FB03) */
#define CASE_MAPPING_SLACK 12
#define MODIFIED (flags |= ONIGENC_CASE_MODIFIED)
@@ -779,3 +781,5 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP,
*flagP = flags;
return (int)(to-to_start);
}
+
+#endif /* ONIG_CASE_MAPPING */ \ No newline at end of file
diff --git a/include/ruby/oniguruma.h b/include/ruby/oniguruma.h
index b45072f48d..9318c0db24 100644
--- a/include/ruby/oniguruma.h
+++ b/include/ruby/oniguruma.h
@@ -128,14 +128,20 @@ typedef unsigned int OnigCaseFoldType; /* case fold flag */
ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag;
+#define ONIG_CASE_MAPPING
+
+#ifdef ONIG_CASE_MAPPING
/* bits for actual code point count; 3 bits is more than enough, currently only 2 used */
#define OnigCodePointMaskWidth 3
#define OnigCodePointMask ((1<<OnigCodePointMaskWidth)-1)
#define OnigCodePointCount(n) ((n)&OnigCodePointMask)
#define OnigCaseFoldFlags(n) ((n)&~OnigCodePointMask)
+#endif /* ONIG_CASE_MAPPING */
+
/* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA (1<<1) */ /* no longer usable with these values! */
/* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH (1<<2) */ /* no longer usable with these values! */
+#ifdef ONIG_CASE_MAPPING
/* bits for index into table with separate titlecase mappings */
/* 10 bits provide 1024 values */
#define OnigSpecialIndexShift 3
@@ -149,10 +155,16 @@ ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag;
#define ONIGENC_CASE_DOWN_SPECIAL (1<<17) /* has special downcase mapping */
#define ONIGENC_CASE_MODIFIED (1<<18) /* data has been modified */
#define ONIGENC_CASE_FOLD (1<<19) /* has/needs case folding */
+#endif /* ONIG_CASE_MAPPING */
+
#define ONIGENC_CASE_FOLD_TURKISH_AZERI (1<<20) /* needs mapping specific to Turkic languages; better not change original value! */
+
+#ifdef ONIG_CASE_MAPPING
#define ONIGENC_CASE_FOLD_LITHUANIAN (1<<21) /* needs Lithuanian-specific mapping */
#define ONIGENC_CASE_ASCII_ONLY (1<<22) /* only modify ASCII range */
#define ONIGENC_CASE_IS_TITLECASE (1<<23) /* character itself is already titlecase */
+#endif /* ONIG_CASE_MAPPING */
+
#define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR (1<<30) /* better not change original value! */
#define ONIGENC_CASE_FOLD_MIN INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR