# HG changeset patch # User igerasim # Date 1567053463 25200 # Wed Aug 28 21:37:43 2019 -0700 # Node ID 8be6353cb041a8b88e6da327d11cb6f329ac525c # Parent 339af8e17cb399d63e558798282d4e93b3ffef84 imported patch 8230338-Accurate-error-message-about-bad-Unicode-block-name diff --git a/src/java.base/share/classes/java/util/regex/Pattern.java b/src/java.base/share/classes/java/util/regex/Pattern.java --- a/src/java.base/share/classes/java/util/regex/Pattern.java +++ b/src/java.base/share/classes/java/util/regex/Pattern.java @@ -2888,12 +2888,12 @@ p = CharPredicates.forUnicodeBlock(name.substring(2)); } else if (name.startsWith("Is")) { // \p{IsGeneralCategory} and \p{IsScriptName} - name = name.substring(2); - p = CharPredicates.forUnicodeProperty(name); + String shortName = name.substring(2); + p = CharPredicates.forUnicodeProperty(shortName); if (p == null) - p = CharPredicates.forProperty(name); + p = CharPredicates.forProperty(shortName); if (p == null) - p = CharPredicates.forUnicodeScript(name); + p = CharPredicates.forUnicodeScript(shortName); } else { if (has(UNICODE_CHARACTER_CLASS)) { p = CharPredicates.forPOSIXName(name); @@ -2902,7 +2902,7 @@ p = CharPredicates.forProperty(name); } if (p == null) - throw error("Unknown character property name {In/Is" + name + "}"); + throw error("Unknown character property name {" + name + "}"); } if (isComplement) { // it might be too expensive to detect if a complement of