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 aee0d27e8b6cc568a941aae8d87b4c210fa2f8bb Author: Charles Oliver Nutter <[email protected]> Date: Thu Nov 17 11:18:42 2016 -0600 Expand allowed names for named captures. See jruby/jruby#4287 and https://bugs.ruby-lang.org/issues/11949 --- src/org/joni/Lexer.java | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/org/joni/Lexer.java b/src/org/joni/Lexer.java index 91a1c99..886f660 100644 --- a/src/org/joni/Lexer.java +++ b/src/org/joni/Lexer.java @@ -248,8 +248,6 @@ class Lexer extends ScannerSupport { isNum = 2; sign = -1; pnumHead = p; - } else if (!enc.isWord(c)) { - err = ERR_INVALID_GROUP_NAME; } } @@ -268,8 +266,6 @@ class Lexer extends ScannerSupport { err = ERR_INVALID_GROUP_NAME; // isNum = 0; } - } else if (!enc.isWord(c)) { - err = ERR_INVALID_CHAR_IN_GROUP_NAME; } } @@ -353,8 +349,6 @@ class Lexer extends ScannerSupport { err = ERR_INVALID_GROUP_NAME; // isNum = 0; } - } else if (!enc.isWord(c)) { - err = ERR_INVALID_CHAR_IN_GROUP_NAME; } } @@ -363,7 +357,10 @@ class Lexer extends ScannerSupport { nameEnd = p; fetch(); if (c == endCode || c == ')') { - if (isNum == 2) err = ERR_INVALID_GROUP_NAME; + if (isNum == 2) { + err = ERR_INVALID_GROUP_NAME; + return fetchNameTeardown(src, endCode, nameEnd, err); + } break; } @@ -376,11 +373,7 @@ class Lexer extends ScannerSupport { } else { err = ERR_INVALID_GROUP_NAME; } - // isNum = 0; - } - } else { - if (!enc.isWord(c)) { - err = ERR_INVALID_CHAR_IN_GROUP_NAME; + return fetchNameTeardown(src, endCode, nameEnd, err); } } } @@ -388,6 +381,7 @@ class Lexer extends ScannerSupport { if (c != endCode) { err = ERR_INVALID_GROUP_NAME; nameEnd = stop; + return fetchNameErr(src, nameEnd, err); } int backNum = 0; @@ -406,15 +400,23 @@ class Lexer extends ScannerSupport { value = nameEnd; return backNum; } else { - while (left()) { - nameEnd = p; - fetch(); - if (c == endCode || c == ')') break; - } - if (!left()) nameEnd = stop; - newValueException(err, src, nameEnd); - return 0; // not reached + return fetchNameTeardown(src, endCode, nameEnd, err); + } + } + + private int fetchNameErr(int src, int nameEnd, String err) { + newValueException(err, src, nameEnd); + return 0; // not reached + } + + private int fetchNameTeardown(int src, int endCode, int nameEnd, String err) { + while (left()) { + nameEnd = p; + fetch(); + if (c == endCode || c == ')') break; } + if (!left()) nameEnd = stop; + return fetchNameErr(src, nameEnd, err); } // #else USE_NAMED_GROUP -- 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

