<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/468c4fc4f2df01e3d7961bfa648293e0559d306a">https://github.com/macports/macports-ports/commit/468c4fc4f2df01e3d7961bfa648293e0559d306a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 468c4fc4f2df01e3d7961bfa648293e0559d306a
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Wed Oct 23 15:04:33 2019 -0700

<span style='display:block; white-space:pre;color:#404040;'>    qt5*-qtwebkit: apply upstream ICU fixes
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes https://trac.macports.org/ticket/59441
</span>---
 aqua/qt5/Portfile                            |   2 +-
 aqua/qt511/Portfile                          |   3 +
 aqua/qt511/files/patch-qtwebkit_fix_icu.diff |  57 ++++++++++++++
 aqua/qt53/Portfile                           |   3 +
 aqua/qt53/files/patch-qtwebkit_fix_icu.diff  | 109 +++++++++++++++++++++++++++
 aqua/qt55/Portfile                           |   3 +
 aqua/qt55/files/patch-qtwebkit_fix_icu.diff  | 109 +++++++++++++++++++++++++++
 aqua/qt56/Portfile                           |   3 +
 aqua/qt56/files/patch-qtwebkit_fix_icu.diff  | 109 +++++++++++++++++++++++++++
 aqua/qt57/Portfile                           |   3 +
 aqua/qt57/files/patch-qtwebkit_fix_icu.diff  | 109 +++++++++++++++++++++++++++
 aqua/qt58/Portfile                           |   3 +
 aqua/qt58/files/patch-qtwebkit_fix_icu.diff  | 109 +++++++++++++++++++++++++++
 aqua/qt59/Portfile                           |   3 +
 aqua/qt59/files/patch-qtwebkit_fix_icu.diff  |  57 ++++++++++++++
 15 files changed, 681 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt5/Portfile b/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0804c07..7119d04 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1389,7 +1389,7 @@ foreach {module module_info} [array get modules] {
</span>                 # find OpenGL headers
                 patchfiles-append patch-qtwebkit_opengl_location.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                # fixes for latest ICU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span>                 patchfiles-append patch-qtwebkit_fix_icu.diff
 
                 # qtwebkit uses
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/Portfile b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 20fc053..7d371bd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1395,6 +1395,9 @@ foreach {module module_info} [array get modules] {
</span>                         reinplace "s|return 0;|return 0;\\\n#error turn off test|g" ${worksrcpath}/Tools/qmake/config.tests/${test}/${test}.cpp
                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/files/patch-qtwebkit_fix_icu.diff b/aqua/qt511/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9d3bb20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,57 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt53/Portfile b/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 03c4e7c..ae6b3d1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1287,6 +1287,9 @@ foreach {module module_info} [array get modules] {
</span> 
                 # new patch for qt53 -- there is a minor bug in the include define logic in one file
                 patchfiles-append patch-qt53-qtwebkit-unistd-include.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt53/files/patch-qtwebkit_fix_icu.diff b/aqua/qt53/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfe8325
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt53/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/API/JSStringRef.cpp.orig 2014-09-11 03:48:22.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/API/JSStringRef.cpp      2019-10-22 18:44:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(chars, numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringRetain(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +83,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return string->characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<const JSChar*>(string->characters());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/TypeTraits.h.orig       2014-09-11 03:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/TypeTraits.h    2019-10-23 05:19:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,6 +72,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<long long>          { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit2/Shared/API/c/WKString.cpp.orig  2014-09-11 03:48:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit2/Shared/API/c/WKString.cpp       2019-10-23 08:30:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt55/Portfile b/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a399b0a..9237914 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1281,6 +1281,9 @@ foreach {module module_info} [array get modules] {
</span>                 #    and unwanted code is included
                 # this patch allows qtwebkit to build, but other problems may crop up
                 patchfiles-append patch-deployment_target.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt55/files/patch-qtwebkit_fix_icu.diff b/aqua/qt55/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfe8325
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt55/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/API/JSStringRef.cpp.orig 2014-09-11 03:48:22.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/API/JSStringRef.cpp      2019-10-22 18:44:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(chars, numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringRetain(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +83,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return string->characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<const JSChar*>(string->characters());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/TypeTraits.h.orig       2014-09-11 03:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/TypeTraits.h    2019-10-23 05:19:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,6 +72,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<long long>          { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit2/Shared/API/c/WKString.cpp.orig  2014-09-11 03:48:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit2/Shared/API/c/WKString.cpp       2019-10-23 08:30:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt56/Portfile b/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 58a43f9..5bc6b2c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1317,6 +1317,9 @@ foreach {module module_info} [array get modules] {
</span>                         reinplace "s|return 0;|return 0;\\\n#error turn off test|g" ${worksrcpath}/Tools/qmake/config.tests/${test}/${test}.cpp
                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt56/files/patch-qtwebkit_fix_icu.diff b/aqua/qt56/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfe8325
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt56/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/API/JSStringRef.cpp.orig 2014-09-11 03:48:22.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/API/JSStringRef.cpp      2019-10-22 18:44:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(chars, numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringRetain(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +83,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return string->characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<const JSChar*>(string->characters());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/TypeTraits.h.orig       2014-09-11 03:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/TypeTraits.h    2019-10-23 05:19:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,6 +72,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<long long>          { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit2/Shared/API/c/WKString.cpp.orig  2014-09-11 03:48:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit2/Shared/API/c/WKString.cpp       2019-10-23 08:30:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt57/Portfile b/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f966ddc..3dd6f8b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1396,6 +1396,9 @@ foreach {module module_info} [array get modules] {
</span>                         reinplace "s|return 0;|return 0;\\\n#error turn off test|g" ${worksrcpath}/Tools/qmake/config.tests/${test}/${test}.cpp
                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt57/files/patch-qtwebkit_fix_icu.diff b/aqua/qt57/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfe8325
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt57/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/API/JSStringRef.cpp.orig 2014-09-11 03:48:22.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/API/JSStringRef.cpp      2019-10-22 18:44:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(chars, numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringRetain(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +83,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return string->characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<const JSChar*>(string->characters());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/TypeTraits.h.orig       2014-09-11 03:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/TypeTraits.h    2019-10-23 05:19:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,6 +72,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<long long>          { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit2/Shared/API/c/WKString.cpp.orig  2014-09-11 03:48:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit2/Shared/API/c/WKString.cpp       2019-10-23 08:30:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt58/Portfile b/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 589bc72..a6929ae 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1378,6 +1378,9 @@ foreach {module module_info} [array get modules] {
</span>                         reinplace "s|return 0;|return 0;\\\n#error turn off test|g" ${worksrcpath}/Tools/qmake/config.tests/${test}/${test}.cpp
                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt58/files/patch-qtwebkit_fix_icu.diff b/aqua/qt58/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfe8325
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt58/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/API/JSStringRef.cpp.orig 2014-09-11 03:48:22.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/API/JSStringRef.cpp      2019-10-22 18:44:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(chars, numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,7 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     initializeThreading();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JSStringRef JSStringRetain(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +83,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return string->characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<const JSChar*>(string->characters());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/TypeTraits.h.orig       2014-09-11 03:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/TypeTraits.h    2019-10-23 05:19:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,6 +72,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<long long>          { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit2/Shared/API/c/WKString.cpp.orig  2014-09-11 03:48:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit2/Shared/API/c/WKString.cpp       2019-10-23 08:30:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt59/Portfile b/aqua/qt59/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e91e1b0..3d5b8e5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt59/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt59/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1381,6 +1381,9 @@ foreach {module module_info} [array get modules] {
</span>                         reinplace "s|return 0;|return 0;\\\n#error turn off test|g" ${worksrcpath}/Tools/qmake/config.tests/${test}/${test}.cpp
                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # see https://bugs.webkit.org/show_bug.cgi?id=171612
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit_fix_icu.diff
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt59/files/patch-qtwebkit_fix_icu.diff b/aqua/qt59/files/patch-qtwebkit_fix_icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9d3bb20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt59/files/patch-qtwebkit_fix_icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,57 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/runtime/DatePrototype.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/runtime/DatePrototype.cpp        2019-10-07 15:34:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -167,7 +167,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(locale);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (useCustomFormat) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(customFormatString.characters()), customFormatString.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFDateFormatterSetFormat(formatter, customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFRelease(customFormatCFString);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ASSERT(length <= bufferLength);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (length > bufferLength)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         length = bufferLength;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringGetCharacters(string, CFRangeMake(0, length), reinterpret_cast<UniChar *>(buffer));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/graphics/SegmentedFontData.cpp.orig    2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 16:34:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +61,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (int i = 0; i < length; ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!containsCharacter(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/dom/Document.cpp.orig   2017-06-16 05:46:36.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/dom/Document.cpp        2019-10-07 17:30:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3846,12 +3846,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!isValidNameStart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (i < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(characters, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(characters, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!isValidNamePart(c))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3914,7 +3914,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const UChar* s = qualifiedName.characters();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (unsigned i = 0; i < length;) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         UChar32 c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        U16_NEXT(s, i, length, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        U16_NEXT(s, i, length, c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (c == ':') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (sawColon) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ec = NAMESPACE_ERR;
</span></pre><pre style='margin:0'>

</pre>