summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/icu/Makefile11
-rw-r--r--textproc/icu/PLIST51
-rw-r--r--textproc/icu/buildlink3.mk4
-rw-r--r--textproc/icu/distinfo14
-rw-r--r--textproc/icu/patches/patch-ba89
-rw-r--r--textproc/icu/patches/patch-bb47
-rw-r--r--textproc/icu/patches/patch-bc28
-rw-r--r--textproc/icu/patches/patch-bd81
-rw-r--r--textproc/icu/patches/patch-be56
-rw-r--r--textproc/icu/patches/patch-bf12
10 files changed, 46 insertions, 347 deletions
diff --git a/textproc/icu/Makefile b/textproc/icu/Makefile
index c6af6fa52ca..4a16c76f54b 100644
--- a/textproc/icu/Makefile
+++ b/textproc/icu/Makefile
@@ -1,11 +1,10 @@
-# $NetBSD: Makefile,v 1.57 2008/12/18 00:29:19 roy Exp $
+# $NetBSD: Makefile,v 1.58 2009/03/25 22:30:19 he Exp $
#
-DISTNAME= icu4c-3_6-src
-PKGNAME= icu-3.6
-PKGREVISION= 2
+DISTNAME= icu4c-4_0_1-src
+PKGNAME= icu-4.0.1
CATEGORIES= textproc
-MASTER_SITES= ftp://ftp.software.ibm.com/software/globalization/icu/${PKGVERSION_NOREV}/
+MASTER_SITES= http://download.icu-project.org/files/icu4c/4.0.1/
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
@@ -15,7 +14,7 @@ COMMENT= Robust and full-featured Unicode services
PKG_DESTDIR_SUPPORT= user-destdir
MAKE_JOBS_SAFE= no
-WRKSRC= ${WRKDIR}/${PKGBASE}/source
+WRKSRC= ${WRKDIR}/icu/source
USE_TOOLS+= gmake
USE_LANGUAGES= c c++
TEST_TARGET= check
diff --git a/textproc/icu/PLIST b/textproc/icu/PLIST
index 659ef9558a1..9561a7d8eb4 100644
--- a/textproc/icu/PLIST
+++ b/textproc/icu/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.14 2007/03/31 15:36:57 obache Exp $
+@comment $NetBSD: PLIST,v 1.15 2009/03/25 22:30:19 he Exp $
bin/derb
bin/genbrk
bin/gencnval
@@ -19,6 +19,12 @@ include/layout/LETypes.h
include/layout/LayoutEngine.h
include/layout/ParagraphLayout.h
include/layout/RunArrays.h
+include/layout/loengine.h
+include/layout/playout.h
+include/layout/plruns.h
+include/unicode/basictz.h
+include/unicode/bms.h
+include/unicode/bmsearch.h
include/unicode/brkiter.h
include/unicode/calendar.h
include/unicode/caniter.h
@@ -26,6 +32,7 @@ include/unicode/chariter.h
include/unicode/choicfmt.h
include/unicode/coleitr.h
include/unicode/coll.h
+include/unicode/colldata.h
include/unicode/curramt.h
include/unicode/currunit.h
include/unicode/datefmt.h
@@ -34,6 +41,11 @@ include/unicode/dcfmtsym.h
include/unicode/decimfmt.h
include/unicode/docmain.h
include/unicode/dtfmtsym.h
+include/unicode/dtintrv.h
+include/unicode/dtitvfmt.h
+include/unicode/dtitvinf.h
+include/unicode/dtptngen.h
+include/unicode/dtrule.h
include/unicode/fieldpos.h
include/unicode/fmtable.h
include/unicode/format.h
@@ -48,11 +60,14 @@ include/unicode/numfmt.h
include/unicode/parseerr.h
include/unicode/parsepos.h
include/unicode/platform.h
+include/unicode/plurfmt.h
+include/unicode/plurrule.h
include/unicode/ppalmos.h
include/unicode/putil.h
include/unicode/pwin32.h
include/unicode/rbbi.h
include/unicode/rbnf.h
+include/unicode/rbtz.h
include/unicode/regex.h
include/unicode/rep.h
include/unicode/resbund.h
@@ -67,6 +82,8 @@ include/unicode/symtable.h
include/unicode/tblcoll.h
include/unicode/timezone.h
include/unicode/translit.h
+include/unicode/tzrule.h
+include/unicode/tztrans.h
include/unicode/ubidi.h
include/unicode/ubrk.h
include/unicode/ucal.h
@@ -85,6 +102,7 @@ include/unicode/ucsdet.h
include/unicode/ucurr.h
include/unicode/udat.h
include/unicode/udata.h
+include/unicode/udatpg.h
include/unicode/udeprctd.h
include/unicode/udraft.h
include/unicode/uenum.h
@@ -131,36 +149,36 @@ include/unicode/utrace.h
include/unicode/utrans.h
include/unicode/utypes.h
include/unicode/uversion.h
+include/unicode/vtzone.h
lib/icu/${PKGVERSION}/Makefile.inc
lib/icu/Makefile.inc
lib/icu/current
lib/libicudata.${SO_SUFFIX}
-lib/libicudata.${SO_SUFFIX}.36
-lib/libicudata.${SO_SUFFIX}.36.0
+lib/libicudata.${SO_SUFFIX}.40
+lib/libicudata.${SO_SUFFIX}.40.1
lib/libicui18n.${SO_SUFFIX}
-lib/libicui18n.${SO_SUFFIX}.36
-lib/libicui18n.${SO_SUFFIX}.36.0
+lib/libicui18n.${SO_SUFFIX}.40
+lib/libicui18n.${SO_SUFFIX}.40.1
lib/libicuio.${SO_SUFFIX}
-lib/libicuio.${SO_SUFFIX}.36
-lib/libicuio.${SO_SUFFIX}.36.0
+lib/libicuio.${SO_SUFFIX}.40
+lib/libicuio.${SO_SUFFIX}.40.1
lib/libicule.${SO_SUFFIX}
-lib/libicule.${SO_SUFFIX}.36
-lib/libicule.${SO_SUFFIX}.36.0
+lib/libicule.${SO_SUFFIX}.40
+lib/libicule.${SO_SUFFIX}.40.1
lib/libiculx.${SO_SUFFIX}
-lib/libiculx.${SO_SUFFIX}.36
-lib/libiculx.${SO_SUFFIX}.36.0
+lib/libiculx.${SO_SUFFIX}.40
+lib/libiculx.${SO_SUFFIX}.40.1
lib/libicutu.${SO_SUFFIX}
-lib/libicutu.${SO_SUFFIX}.36
-lib/libicutu.${SO_SUFFIX}.36.0
+lib/libicutu.${SO_SUFFIX}.40
+lib/libicutu.${SO_SUFFIX}.40.1
lib/libicuuc.${SO_SUFFIX}
-lib/libicuuc.${SO_SUFFIX}.36
-lib/libicuuc.${SO_SUFFIX}.36.0
+lib/libicuuc.${SO_SUFFIX}.40
+lib/libicuuc.${SO_SUFFIX}.40.1
lib/libsicudata.a
lib/libsicui18n.a
lib/libsicuio.a
lib/libsicule.a
lib/libsiculx.a
-lib/libsicutu.a
lib/libsicuuc.a
man/man1/derb.1
man/man1/genbrk.1
@@ -183,6 +201,7 @@ sbin/genuca
sbin/icupkg
sbin/icuswap
share/icu/${PKGVERSION}/config/${MH_NAME}
+share/icu/${PKGVERSION}/install-sh
share/icu/${PKGVERSION}/license.html
share/icu/${PKGVERSION}/mkinstalldirs
@dirrm share/icu/${PKGVERSION}/config
diff --git a/textproc/icu/buildlink3.mk b/textproc/icu/buildlink3.mk
index 2554e1603fa..70f3ece1694 100644
--- a/textproc/icu/buildlink3.mk
+++ b/textproc/icu/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.14 2009/03/20 19:25:29 joerg Exp $
+# $NetBSD: buildlink3.mk,v 1.15 2009/03/25 22:30:19 he Exp $
BUILDLINK_TREE+= icu
@@ -6,7 +6,7 @@ BUILDLINK_TREE+= icu
ICU_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.icu+= icu>=3.4
-BUILDLINK_ABI_DEPENDS.icu?= icu>=3.4nb1
+BUILDLINK_ABI_DEPENDS.icu?= icu>=4.0
BUILDLINK_PKGSRCDIR.icu?= ../../textproc/icu
.endif # ICU_BUILDLINK3_MK
diff --git a/textproc/icu/distinfo b/textproc/icu/distinfo
index e771c1a2bfe..4b2d372eab9 100644
--- a/textproc/icu/distinfo
+++ b/textproc/icu/distinfo
@@ -1,15 +1,9 @@
-$NetBSD: distinfo,v 1.15 2008/03/20 17:07:54 drochner Exp $
+$NetBSD: distinfo,v 1.16 2009/03/25 22:30:19 he Exp $
-SHA1 (icu4c-3_6-src.tgz) = b580c2802e74eb6af7e5e19b05c7d7c5d8c623f9
-RMD160 (icu4c-3_6-src.tgz) = b227ac9ff6019362bc4d01c18433869b0e0ff1c2
-Size (icu4c-3_6-src.tgz) = 10183358 bytes
+SHA1 (icu4c-4_0_1-src.tgz) = 65a65e9cd5670e113031def9448f65fb8f84f47a
+RMD160 (icu4c-4_0_1-src.tgz) = e40e7ffddd3134a34fe7e7bc98d776c5b67b637c
+Size (icu4c-4_0_1-src.tgz) = 12356471 bytes
SHA1 (patch-aa) = b7299b3aac54410cb686980788dd0b6b435ae069
SHA1 (patch-ab) = 32d2aeb38ed84352751d0f3d8db5d8b433ef03e4
SHA1 (patch-ae) = 69caf7c0c226a0b45158a9620f045e943f00b820
SHA1 (patch-af) = df50984a17111a69c517b26f303866f2d384e857
-SHA1 (patch-ba) = d22f39715b85fe73654b644237d1956091fb26e8
-SHA1 (patch-bb) = 57683caee8c4bb2743332847f78566d5a3934e80
-SHA1 (patch-bc) = 9fd76fb53c7a464883fe5cc21ffbc5b5ac117711
-SHA1 (patch-bd) = 197017d9fb0a6a542e567cfae4512bc38a25ff79
-SHA1 (patch-be) = 9cb76ab05393b8d698c2b77b58b3db6c7b0b199c
-SHA1 (patch-bf) = d03b55651686aeab965747c400753c8b7b643d80
diff --git a/textproc/icu/patches/patch-ba b/textproc/icu/patches/patch-ba
deleted file mode 100644
index 064e925508a..00000000000
--- a/textproc/icu/patches/patch-ba
+++ /dev/null
@@ -1,89 +0,0 @@
-$NetBSD: patch-ba,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- common/uvectr32.cpp.orig 2003-08-27 03:01:30.000000000 +0200
-+++ common/uvectr32.cpp
-@@ -1,6 +1,6 @@
- /*
- ******************************************************************************
--* Copyright (C) 1999-2003, International Business Machines Corporation and *
-+* Copyright (C) 1999-2008, International Business Machines Corporation and *
- * others. All Rights Reserved. *
- ******************************************************************************
- * Date Name Description
-@@ -26,6 +26,7 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(UVect
- UVector32::UVector32(UErrorCode &status) :
- count(0),
- capacity(0),
-+ maxCapacity(0),
- elements(NULL)
- {
- _init(DEFUALT_CAPACITY, status);
-@@ -34,6 +35,7 @@ UVector32::UVector32(UErrorCode &status)
- UVector32::UVector32(int32_t initialCapacity, UErrorCode &status) :
- count(0),
- capacity(0),
-+ maxCapacity(0),
- elements(0)
- {
- _init(initialCapacity, status);
-@@ -46,6 +48,9 @@ void UVector32::_init(int32_t initialCap
- if (initialCapacity < 1) {
- initialCapacity = DEFUALT_CAPACITY;
- }
-+ if (maxCapacity>0 && maxCapacity<initialCapacity) {
-+ initialCapacity = maxCapacity;
-+ }
- elements = (int32_t *)uprv_malloc(sizeof(int32_t)*initialCapacity);
- if (elements == 0) {
- status = U_MEMORY_ALLOCATION_ERROR;
-@@ -189,21 +194,35 @@ int32_t UVector32::indexOf(int32_t key,
- UBool UVector32::expandCapacity(int32_t minimumCapacity, UErrorCode &status) {
- if (capacity >= minimumCapacity) {
- return TRUE;
-- } else {
-- int32_t newCap = capacity * 2;
-- if (newCap < minimumCapacity) {
-- newCap = minimumCapacity;
-- }
-- int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap);
-- if (newElems == 0) {
-- status = U_MEMORY_ALLOCATION_ERROR;
-- return FALSE;
-- }
-- uprv_memcpy(newElems, elements, sizeof(elements[0]) * count);
-- uprv_free(elements);
-- elements = newElems;
-- capacity = newCap;
-- return TRUE;
-+ }
-+ if (maxCapacity>0 && minimumCapacity>maxCapacity) {
-+ status = U_BUFFER_OVERFLOW_ERROR;
-+ return FALSE;
-+ }
-+ int32_t newCap = capacity * 2;
-+ if (newCap < minimumCapacity) {
-+ newCap = minimumCapacity;
-+ }
-+ if (maxCapacity > 0 && newCap > maxCapacity) {
-+ newCap = maxCapacity;
-+ }
-+ int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap);
-+ if (newElems == 0) {
-+ status = U_MEMORY_ALLOCATION_ERROR;
-+ return FALSE;
-+ }
-+ uprv_memcpy(newElems, elements, sizeof(elements[0]) * count);
-+ uprv_free(elements);
-+ elements = newElems;
-+ capacity = newCap;
-+ return TRUE;
-+}
-+
-+void UVector32::setMaxCapacity(int32_t limit) {
-+ U_ASSERT(limit >= 0);
-+ maxCapacity = limit;
-+ if (maxCapacity < 0) {
-+ maxCapacity = 0;
- }
- }
-
diff --git a/textproc/icu/patches/patch-bb b/textproc/icu/patches/patch-bb
deleted file mode 100644
index 6afdd72306c..00000000000
--- a/textproc/icu/patches/patch-bb
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD: patch-bb,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- common/uvectr32.h.orig 2006-01-18 04:52:04.000000000 +0100
-+++ common/uvectr32.h
-@@ -1,6 +1,6 @@
- /*
- **********************************************************************
--* Copyright (C) 1999-2006, International Business Machines
-+* Copyright (C) 1999-2008, International Business Machines
- * Corporation and others. All Rights Reserved.
- **********************************************************************
- */
-@@ -61,6 +61,8 @@ private:
- int32_t count;
-
- int32_t capacity;
-+
-+ int32_t maxCapacity; // Limit beyond which capacity is not permitted to grow.
-
- int32_t* elements;
-
-@@ -162,6 +164,14 @@ public:
- int32_t *getBuffer() const;
-
- /**
-+ * Set the maximum allowed buffer capacity for this vector/stack.
-+ * Default with no limit set is unlimited, go until malloc() fails.
-+ * A Limit of zero means unlimited capacity.
-+ * Units are vector elements (32 bits each), not bytes.
-+ */
-+ void setMaxCapacity(int32_t limit);
-+
-+ /**
- * ICU "poor man's RTTI", returns a UClassID for this class.
- */
- static UClassID U_EXPORT2 getStaticClassID();
-@@ -221,7 +231,9 @@ inline void UVector32::addElement(int32_
- }
-
- inline int32_t *UVector32::reserveBlock(int32_t size, UErrorCode &status) {
-- ensureCapacity(count+size, status);
-+ if (ensureCapacity(count+size, status) == FALSE) {
-+ return NULL;
-+ }
- int32_t *rp = elements+count;
- count += size;
- return rp;
diff --git a/textproc/icu/patches/patch-bc b/textproc/icu/patches/patch-bc
deleted file mode 100644
index 1798d18abcb..00000000000
--- a/textproc/icu/patches/patch-bc
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-bc,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- i18n/regexcmp.cpp.orig 2006-02-02 05:37:14.000000000 +0100
-+++ i18n/regexcmp.cpp
-@@ -1187,14 +1187,17 @@ UBool RegexCompile::doParseActions(EPars
- // Because capture groups can be forward-referenced by back-references,
- // we fill the operand with the capture group number. At the end
- // of compilation, it will be changed to the variable's location.
-- U_ASSERT(groupNum > 0);
-- int32_t op;
-- if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
-- op = URX_BUILD(URX_BACKREF_I, groupNum);
-+ if (groupNum < 1) {
-+ error(U_REGEX_INVALID_BACK_REF);
- } else {
-- op = URX_BUILD(URX_BACKREF, groupNum);
-+ int32_t op;
-+ if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
-+ op = URX_BUILD(URX_BACKREF_I, groupNum);
-+ } else {
-+ op = URX_BUILD(URX_BACKREF, groupNum);
-+ }
-+ fRXPat->fCompiledPat->addElement(op, *fStatus);
- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
- }
- break;
-
diff --git a/textproc/icu/patches/patch-bd b/textproc/icu/patches/patch-bd
deleted file mode 100644
index b4193efbf2a..00000000000
--- a/textproc/icu/patches/patch-bd
+++ /dev/null
@@ -1,81 +0,0 @@
-$NetBSD: patch-bd,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- i18n/rematch.cpp.orig 2005-08-25 20:02:20.000000000 +0200
-+++ i18n/rematch.cpp
-@@ -30,6 +30,15 @@
-
- U_NAMESPACE_BEGIN
-
-+// Limit the size of the back track stack, to avoid system failures caused
-+// by heap exhaustion. Units are in 32 bit words, not bytes.
-+// This value puts ICU's limits higher than most other regexp implementations,
-+// which use recursion rather than the heap, and take more storage per
-+// backtrack point.
-+// This constant is _temporary_. Proper API to control the value will added.
-+//
-+static const int32_t BACKTRACK_STACK_CAPACITY = 8000000;
-+
- //-----------------------------------------------------------------------------
- //
- // Constructor and Destructor
-@@ -53,6 +62,8 @@ RegexMatcher::RegexMatcher(const RegexPa
- }
- if (fStack == NULL || fData == NULL) {
- fDeferredStatus = U_MEMORY_ALLOCATION_ERROR;
-+ } else {
-+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY);
- }
-
- reset(*RegexStaticSets::gStaticSets->fEmptyString);
-@@ -78,6 +89,8 @@ RegexMatcher::RegexMatcher(const Unicode
- }
- if (fStack == NULL || fData == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
-+ } else {
-+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY);
- }
- reset(input);
- }
-@@ -102,6 +115,8 @@ RegexMatcher::RegexMatcher(const Unicode
- }
- if (fStack == NULL || fData == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
-+ } else {
-+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY);
- }
- reset(*RegexStaticSets::gStaticSets->fEmptyString);
- }
-@@ -1015,6 +1030,14 @@ UBool RegexMatcher::isUWordBoundary(int3
- inline REStackFrame *RegexMatcher::StateSave(REStackFrame *fp, int32_t savePatIdx, int32_t frameSize, UErrorCode &status) {
- // push storage for a new frame.
- int32_t *newFP = fStack->reserveBlock(frameSize, status);
-+ if (newFP == NULL) {
-+ // Heap allocation error on attempted stack expansion.
-+ // We need to return a writable stack frame, so just return the
-+ // previous frame. The match operation will stop quickly
-+ // becuase of the error status, after which the frame will never
-+ // be looked at again.
-+ return fp;
-+ }
- fp = (REStackFrame *)(newFP - frameSize); // in case of realloc of stack.
-
- // New stack frame = copy of old top frame.
-@@ -1030,8 +1053,8 @@ inline REStackFrame *RegexMatcher::State
- fp->fPatIdx = savePatIdx;
- return (REStackFrame *)newFP;
- }
--
--
-+
-+
- //--------------------------------------------------------------------------------
- //
- // MatchAt This is the actual matching engine.
-@@ -2262,6 +2285,7 @@ GC_Done:
- }
-
- if (U_FAILURE(status)) {
-+ isMatch = FALSE;
- break;
- }
- }
diff --git a/textproc/icu/patches/patch-be b/textproc/icu/patches/patch-be
deleted file mode 100644
index 08d698736f4..00000000000
--- a/textproc/icu/patches/patch-be
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: patch-be,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- test/intltest/regextst.cpp.orig 2005-07-05 20:39:00.000000000 +0200
-+++ test/intltest/regextst.cpp
-@@ -66,6 +66,10 @@ void RegexTest::runIndexedTest( int32_t
- case 6: name = "PerlTests";
- if (exec) PerlTests();
- break;
-+ case 7: name = "Bug 6149";
-+ if (exec) Bug6149();
-+ break;
-+
-
-
- default: name = "";
-@@ -1637,6 +1641,13 @@ void RegexTest::Errors() {
- // UnicodeSet containing a string
- REGEX_ERR("abc[{def}]xyz", 1, 10, U_REGEX_SET_CONTAINS_STRING);
-
-+
-+ // Invalid Back Reference \0
-+ // For ICU 3.8 and earlier
-+ // For ICU versions newer than 3.8, \0 introduces an octal escape.
-+ //
-+ REGEX_ERR("(ab)\\0", 1, 6, U_REGEX_INVALID_BACK_REF);
-+
- }
-
-
-@@ -2119,6 +2130,26 @@ void RegexTest::PerlTests() {
- }
-
-
-+//--------------------------------------------------------------
-+//
-+// Bug6149 Verify limits to heap expansion for backtrack stack.
-+// Use this pattern,
-+// "(a?){1,}"
-+// The zero-length match will repeat forever.
-+// (That this goes into a loop is another bug)
-+//
-+//---------------------------------------------------------------
-+void RegexTest::Bug6149() {
-+ UnicodeString pattern("(a?){1,}");
-+ UnicodeString s("xyz");
-+ uint32_t flags = 0;
-+ UErrorCode status = U_ZERO_ERROR;
-+
-+ RegexMatcher matcher(pattern, s, flags, status);
-+ UBool result = false;
-+ REGEX_ASSERT_FAIL(result=matcher.matches(status), U_BUFFER_OVERFLOW_ERROR);
-+ REGEX_ASSERT(result == FALSE);
-+ }
-
- #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */
-
diff --git a/textproc/icu/patches/patch-bf b/textproc/icu/patches/patch-bf
deleted file mode 100644
index 5095edab159..00000000000
--- a/textproc/icu/patches/patch-bf
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-bf,v 1.1 2008/03/20 17:07:54 drochner Exp $
-
---- test/intltest/regextst.h.orig 2003-12-03 07:58:28.000000000 +0100
-+++ test/intltest/regextst.h
-@@ -30,6 +30,7 @@ public:
- virtual void Extended();
- virtual void Errors();
- virtual void PerlTests();
-+ virtual void Bug6149();
-
- // The following functions are internal to the regexp tests.
- virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int line);