This is an automated email from the git hooks/post-receive script. henrich pushed a commit to branch debian/sid in repository jruby-joni.
commit eda1681026cea4c58cbfa85eb4e6f1882a567214 Author: Marcin Mielzynski <[email protected]> Date: Sun Dec 13 19:43:22 2015 +0100 sync up with onigmo 288d4ba731911a410ba73935aef88f550fafd9f0 --- src/org/joni/Analyser.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/org/joni/Analyser.java b/src/org/joni/Analyser.java index d871f77..7750e70 100644 --- a/src/org/joni/Analyser.java +++ b/src/org/joni/Analyser.java @@ -1489,6 +1489,13 @@ final class Analyser extends Parser { return node; } + private boolean isCaseFoldVariableLength(int itemNum, CaseFoldCodeItem[] items, int slen) { + for(int i = 0; i < itemNum; i++) { + if (items[i].byteLen != slen || items[i].codeLen != 1) return true; + } + return false; + } + private boolean expandCaseFoldStringAlt(int itemNum, CaseFoldCodeItem[]items, byte[]bytes, int p, int slen, int end, ObjPtr<Node> node) { boolean varlen = false; @@ -1562,7 +1569,7 @@ final class Analyser extends Parser { CaseFoldCodeItem[]items = enc.caseFoldCodesByString(regex.caseFoldFlag, bytes, p, end); int len = enc.length(bytes, p, end); - if (items.length == 0) { + if (items.length == 0 || !isCaseFoldVariableLength(items.length, items, len)) { if (stringNode == null) { if (root == null && prevNode.p != null) { topRoot = root = ConsAltNode.listAdd(null, prevNode.p); @@ -1578,6 +1585,10 @@ final class Analyser extends Parser { } else { altNum *= (items.length + 1); if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) break; + if (stringNode != null) { + updateStringNodeCaseFold(stringNode); + stringNode.setAmbig(); + } if (root == null && prevNode.p != null) { topRoot = root = ConsAltNode.listAdd(null, prevNode.p); @@ -1599,6 +1610,11 @@ final class Analyser extends Parser { p += len; } + if (stringNode != null) { + updateStringNodeCaseFold(stringNode); + stringNode.setAmbig(); + } + if (p < end) { Node srem = expandCaseFoldMakeRemString(bytes, p, end); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

