/hg/icedtea7-forest/jaxp: 11 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon Aug 11 14:11:28 UTC 2014


changeset fefd2d5c524b in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=fefd2d5c524b
author: katleman
date: Wed Apr 16 12:26:20 2014 -0700

	Added tag jdk7u60-b15 for changeset 10eed57b6633


changeset cae04d181428 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=cae04d181428
author: coffeys
date: Thu Apr 17 19:17:36 2014 +0100

	Merge


changeset ba6b0b5dfe5a in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=ba6b0b5dfe5a
author: katleman
date: Wed Apr 23 11:33:43 2014 -0700

	Added tag jdk7u60-b16 for changeset fefd2d5c524b


changeset 836af689a1e5 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=836af689a1e5
author: katleman
date: Tue Apr 29 12:12:51 2014 -0700

	Added tag jdk7u60-b18 for changeset ba6b0b5dfe5a


changeset 9678a1570726 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=9678a1570726
author: katleman
date: Wed Apr 30 13:48:54 2014 -0700

	Added tag jdk7u60-b17 for changeset ba6b0b5dfe5a


changeset 581752d32aeb in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=581752d32aeb
author: katleman
date: Wed Apr 30 14:06:00 2014 -0700

	Merge


changeset cef2dec8b5d7 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=cef2dec8b5d7
author: katleman
date: Wed May 07 19:26:26 2014 -0700

	Added tag jdk7u60-b19 for changeset 581752d32aeb


changeset 8394f0f84d6c in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=8394f0f84d6c
author: coffeys
date: Sun May 11 21:37:42 2014 +0100

	Merge


changeset 6462f6aee186 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=6462f6aee186
author: aefimov
date: Tue May 13 13:26:32 2014 +0400

	8011795: DOM Serializer prints stack traces to System.err
	Reviewed-by: dfuchs


changeset 4c959b6a3205 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=4c959b6a3205
author: katleman
date: Tue May 20 12:34:12 2014 -0700

	Added tag jdk7u80-b00 for changeset 7215972c2c30


changeset 75513ef5e265 in /hg/icedtea7-forest/jaxp
details: http://icedtea.classpath.org/hg/icedtea7-forest/jaxp?cmd=changeset;node=75513ef5e265
author: andrew
date: Mon Aug 11 15:05:26 2014 +0100

	Merge jdk7u80-b01


diffstat:

 .hgtags                                                                    |   26 ++
 .jcheck/conf                                                               |    2 -
 make/Makefile                                                              |    4 +-
 src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java |    7 +-
 src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java      |    9 +
 src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java        |  119 +++++----
 src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java          |  127 ++++-----
 src/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java       |    1 -
 8 files changed, 158 insertions(+), 137 deletions(-)

diffs (truncated from 1180 to 500 lines):

diff -r 10eed57b6633 -r 75513ef5e265 .hgtags
--- a/.hgtags	Tue Apr 15 12:41:10 2014 -0700
+++ b/.hgtags	Mon Aug 11 15:05:26 2014 +0100
@@ -50,6 +50,7 @@
 feb05980f9f2964e6bc2b3a8532f9b3054c2289b jdk7-b73
 ea7b88c676dd8b269bc858a4a17c14dc96c8aed1 jdk7-b74
 555fb78ee4cebed082ca7ddabff46d2e5b4c9026 jdk7-b75
+fb68fd18eb9f9d94bd7f307097b98a5883018da8 icedtea7-1.12
 233a4871d3364ec305efd4a58cfd676620a03a90 jdk7-b76
 bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77
 7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78
@@ -63,6 +64,7 @@
 81c0f115bbe5d3bcf59864465b5eca5538567c79 jdk7-b86
 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87
 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88
+826bafcb6c4abbf24887bfc5a78868e13cddd068 icedtea7-1.13
 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89
 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90
 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91
@@ -111,6 +113,7 @@
 d56b326ae0544fc16c3e0d0285876f3c82054db2 jdk7-b134
 4aa9916693dc1078580c1865e6f2584046851e5a jdk7-b135
 1759daa85d33800bd578853f9531f9de73f70fc7 jdk7-b136
+1c2f25bf36b1d43920e94fb82a0afdafd29b1735 icedtea-1.14
 1d87f7460cde7f8f30af668490f82b52b879bfd8 jdk7-b137
 be3758943770a0a3dd4be6a1cb4063507c4d7062 jdk7-b138
 28c7c0ed2444607829ba11ad827f8d52197a2830 jdk7-b139
@@ -123,6 +126,7 @@
 bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146
 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01
 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147
+b8d01501956a0d41f5587ff1bebbfe5a9b8fea5a icedtea-2.0-branchpoint
 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02
 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03
 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04
@@ -141,6 +145,7 @@
 0e61ef309edd2deb71f53f2bdaf6dcff1c80bfb8 jdk7u2-b12
 d9ac427e5149d1db12c6f3e4aa4280587c06aed5 jdk7u2-b13
 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u2-b21
+7300d2ab9fb2068250a96ca4afc481c4beb6a42b icedtea-2.1-branchpoint
 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u3-b02
 604dd391203960d0028fc95bc70b0ae161e09d99 jdk7u3-b03
 551c076358f6691999f613db9b155c83ec9a648d jdk7u3-b04
@@ -157,6 +162,7 @@
 7a37651d304de62b18b343b3ae675ab1b08fc5fe jdk7u4-b10
 3fbd87d50fbf4de3987e36ec5f3e8ce1c383ce3d jdk7u4-b11
 b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12
+c51876b27811ba0f6ea3409ba19d357b7400908a icedtea-2.2-branchpoint
 7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13
 82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14
 36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u5-b01
@@ -186,11 +192,15 @@
 f4e80156296e43182a0fea5f54032d8c0fd0b41f jdk7u6-b10
 5078a73b3448849f3328af5e0323b3e1b8d2d26c jdk7u6-b11
 c378e596fb5b2ebeb60b89da7ad33f329d407e2d jdk7u6-b12
+15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b01
+15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b02
+15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b03
 15b71daf5e69c169fcbd383c0251cfc99e558d8a jdk7u6-b13
 da79c0fdf9a8b5403904e6ffdd8f5dc335d489d0 jdk7u6-b14
 94474d6f28284a1ef492984dd6d6f66f8787de80 jdk7u6-b15
 0b329a8d325b6a58d89c6042dac62ce5852380ab jdk7u6-b16
 5eb867cdd08ca299fe03b31760acd57aac2b5673 jdk7u6-b17
+445dd0b578fc2ed12c539eb6f9a71cbd40bed4f6 icedtea-2.3-branchpoint
 1c4b9671de5c7ed5713f55509cb2ada38b36dffe jdk7u6-b18
 3ba4c395d2cf973c8c603b2aedc846bd4ae54656 jdk7u6-b19
 4f7b77cc3b252098f52a8f30a74f603783a2e0f1 jdk7u6-b20
@@ -258,12 +268,14 @@
 1b914599a6d5560e743b9fecd390924ed0bf7d15 jdk7u12-b07
 427a603569db59f61721e709fcb8a73390d468ae jdk7u12-b08
 366ebbf581df0134d9039b649abc315e87f23772 jdk7u12-b09
+14adb683be4ebc49ee729f0253d012795a4a2ae4 icedtea-2.4-branchpoint
 23191c790e12841f81ac1cf956e7dbc0b45914ee jdk7u14-b10
 825eda7553590ce19eb4fa0686c4405d97daafdb jdk7u14-b11
 560e5cf5b57fc91e2bc6dd1809badd58c6eb25bd jdk7u14-b12
 937bae61a48febcc948b7e10ae781c9077360241 jdk7u14-b13
 7038ca4959e50a02f797e639daffe6b2b4065f86 jdk7u14-b14
 aa6fb94c5e7bc645f478b6f60c5e6e06bebcc2bf jdk7u14-b15
+1d1e1fc3b88d2fda0c7da55ee3abb2b455e0d317 ppc-aix-port-b04
 99c114990b191f32e72c6158072033aec5816aaf jdk7u15-b01
 edbaa584f09a78d0ad3c73389faf20409a552e46 jdk7u15-b02
 14a9b60a2086f4e2f6ec43bee3375042946f6510 jdk7u15-b30
@@ -382,6 +394,7 @@
 4beb90ab48f7fd46c7a9afbe66f8cccb230699ba jdk7u45-b18
 a456c78a50e201a65c9f63565c8291b84a4fbd32 jdk7u45-b30
 3c34f244296e98d8ebb94973c752f3395612391a jdk7u45-b31
+d9b92749a0f4c8e6c6f4fe11210c2a02d70bae74 jdk7u60-b00
 056494e83d15cd1c546d32a3b35bdb6f670b3876 jdk7u45-b33
 b5a83862ed2ab9cc2de3719e38c72519481a4bbb jdk7u45-b34
 7fda9b300e07738116b2b95b568229bdb4b31059 jdk7u45-b35
@@ -424,8 +437,11 @@
 d9b92749a0f4c8e6c6f4fe11210c2a02d70bae74 jdk7u60-b00
 ad39e88c503948fc4fc01e97c75b6e3c24599d23 jdk7u60-b01
 050986fd54e3ec4515032ee938bc59e86772b6c0 jdk7u60-b02
+74093b75ddd4fc2e578a3469d32b8bb2de3692d5 icedtea-2.5pre01
+d7085aad637fa90d027840c7f7066dba82b21667 icedtea-2.5pre02
 359b79d99538d17eeb90927a1e4883fcec31661f jdk7u60-b03
 7215972c2c30d0fa469a459a3e4fcee6bc93991d jdk7u60-b04
+10314bfd5ba43a63f2f06353f3d219b877f5120f icedtea-2.6pre01
 673ea3822e59de18ae5771de7a280c6ae435ef86 jdk7u60-b05
 fd1cb0040a1d05086ca3bf32f10e1efd43f05116 jdk7u60-b06
 cd7c8fa7a057e62e094cdde78dd632de54cedb8c jdk7u60-b07
@@ -435,4 +451,14 @@
 e57490e0b99917ea8e1da1bb4d0c57fd5b7705f9 jdk7u60-b11
 a9574b35f0af409fa1665aadd9b2997a0f9878dc jdk7u60-b12
 92cf0b5c1c3e9b61d36671d8fb5070716e0f016b jdk7u60-b13
+a0138328f7db004859b30b9143ae61d598a21cf9 icedtea-2.6pre02
+33912ce9492d29c3faa5eb6787d5141f87ebb385 icedtea-2.6pre03
 2814f43a6c73414dcb2b799e1a52d5b44688590d jdk7u60-b14
+c3178eab3782f4135ea21b060683d29bde3bbc7e icedtea-2.6pre04
+b9104a740dcd6ec07a868efd6f57dad3560e402c icedtea-2.6pre05
+10eed57b66336660f71f7524f2283478bdf373dc jdk7u60-b15
+fefd2d5c524b0be78876d9b98d926abda2828e79 jdk7u60-b16
+ba6b0b5dfe5a0f50fac95c488c8a5400ea07d4f8 jdk7u60-b18
+ba6b0b5dfe5a0f50fac95c488c8a5400ea07d4f8 jdk7u60-b17
+581752d32aebea959fec84e8ae692e1f63d2c4a8 jdk7u60-b19
+7215972c2c30d0fa469a459a3e4fcee6bc93991d jdk7u80-b00
diff -r 10eed57b6633 -r 75513ef5e265 .jcheck/conf
--- a/.jcheck/conf	Tue Apr 15 12:41:10 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-project=jdk7
-bugids=dup
diff -r 10eed57b6633 -r 75513ef5e265 make/Makefile
--- a/make/Makefile	Tue Apr 15 12:41:10 2014 -0700
+++ b/make/Makefile	Mon Aug 11 15:05:26 2014 +0100
@@ -118,13 +118,13 @@
 ifdef ALT_LANGTOOLS_DIST
   ifdef ALT_BOOTDIR
     ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
-    ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR)
+    ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) -Djava.home=$(ALT_BOOTDIR)
   endif
   ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
 else
   ifdef ALT_JDK_IMPORT_PATH
     ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH)
-    ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH)
+    ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) -Djava.home=$(ALT_JDK_IMPORT_PATH)
   endif
 endif
 
diff -r 10eed57b6633 -r 75513ef5e265 src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java
--- a/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java	Tue Apr 15 12:41:10 2014 -0700
+++ b/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java	Mon Aug 11 15:05:26 2014 +0100
@@ -26,7 +26,7 @@
 import java.util.Vector;
 
 import com.sun.org.apache.bcel.internal.generic.ConstantPoolGen;
-import com.sun.org.apache.bcel.internal.generic.INVOKEVIRTUAL;
+import com.sun.org.apache.bcel.internal.generic.INVOKESTATIC;
 import com.sun.org.apache.bcel.internal.generic.InstructionList;
 import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator;
 import com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator;
@@ -51,7 +51,8 @@
             il.append(methodGen.loadContextNode());
             Type.Node.translateTo(classGen, methodGen, Type.String);
         }
-        il.append(new INVOKEVIRTUAL(cpg.addMethodref(STRING_CLASS,
-                                                     "length", "()I")));
+        il.append(new INVOKESTATIC(cpg.addMethodref(BASIS_LIBRARY_CLASS,
+                                                     "getStringLength",
+                                                     "(Ljava/lang/String;)I")));
     }
 }
diff -r 10eed57b6633 -r 75513ef5e265 src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
--- a/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java	Tue Apr 15 12:41:10 2014 -0700
+++ b/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java	Mon Aug 11 15:05:26 2014 +0100
@@ -1660,5 +1660,14 @@
 
     }
 
+    /**
+     *  Utility method to calculate string-length as a number of code points,
+     *  to avoid possible errors with string that contains
+     *  complementary characters
+     */
+    public static int getStringLength(String str) {
+        return str.codePointCount(0,str.length());
+    }
+
     //-- End utility functions
 }
diff -r 10eed57b6633 -r 75513ef5e265 src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java
--- a/src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java	Tue Apr 15 12:41:10 2014 -0700
+++ b/src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java	Mon Aug 11 15:05:26 2014 +0100
@@ -61,14 +61,13 @@
 
 package com.sun.org.apache.xerces.internal.impl;
 
-import java.io.IOException;
-
 import com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter;
+import com.sun.org.apache.xerces.internal.util.XML11Char;
 import com.sun.org.apache.xerces.internal.util.XMLChar;
-import com.sun.org.apache.xerces.internal.util.XML11Char;
 import com.sun.org.apache.xerces.internal.util.XMLStringBuffer;
 import com.sun.org.apache.xerces.internal.xni.QName;
 import com.sun.org.apache.xerces.internal.xni.XMLString;
+import java.io.IOException;
 
 /**
  * Implements the entity scanner methods in
@@ -78,6 +77,7 @@
  *
  * @author Michael Glavassevich, IBM
  * @author Neil Graham, IBM
+ * @version $Id: XML11EntityScanner.java,v 1.5 2010-11-01 04:39:40 joehw Exp $
  */
 
 public class XML11EntityScanner
@@ -108,7 +108,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // peek at character
@@ -136,7 +136,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan character
@@ -148,7 +148,7 @@
             fCurrentEntity.columnNumber = 1;
             if (fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = (char)c;
-                load(1, false);
+                load(1, false, true);
             }
             if (c == '\r' && external) {
                 int cc = fCurrentEntity.ch[fCurrentEntity.position++];
@@ -183,7 +183,7 @@
     public String scanNmtoken() throws IOException {
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan nmtoken
@@ -194,6 +194,7 @@
             if (XML11Char.isXML11Name(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -206,7 +207,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -214,6 +215,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -226,7 +228,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.startPosition;
                         --fCurrentEntity.position;
                         break;
@@ -240,6 +242,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -252,7 +255,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -294,7 +297,7 @@
     public String scanName() throws IOException {
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan name
@@ -305,7 +308,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     return symbol;
@@ -316,7 +319,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.position;
                     --fCurrentEntity.startPosition;
                     return null;
@@ -332,7 +335,7 @@
                 fCurrentEntity.ch[0] = ch;
                 fCurrentEntity.ch[1] = ch2;
                 offset = 0;
-                if (load(2, false)) {
+                if (load(2, false, true)) {
                     fCurrentEntity.columnNumber += 2;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 2);
                     return symbol;
@@ -348,6 +351,7 @@
             if (XML11Char.isXML11Name(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -360,7 +364,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -368,6 +372,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -380,7 +385,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.position;
                         --fCurrentEntity.startPosition;
                         break;
@@ -394,6 +399,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -406,7 +412,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -449,7 +455,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan name
@@ -460,7 +466,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     return symbol;
@@ -471,7 +477,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.position;
                     --fCurrentEntity.startPosition;
                     return null;
@@ -487,7 +493,7 @@
                 fCurrentEntity.ch[0] = ch;
                 fCurrentEntity.ch[1] = ch2;
                 offset = 0;
-                if (load(2, false)) {
+                if (load(2, false, true)) {
                     fCurrentEntity.columnNumber += 2;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 2);
                     return symbol;
@@ -503,6 +509,7 @@
             if (XML11Char.isXML11NCName(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -515,7 +522,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -523,6 +530,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -535,7 +543,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.startPosition;
                         --fCurrentEntity.position;
                         break;
@@ -549,6 +557,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -561,7 +570,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -610,7 +619,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan qualified name
@@ -621,7 +630,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String name = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     qname.setValues(null, name, name, null);
@@ -633,7 +642,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.startPosition;
                     --fCurrentEntity.position;
                     return false;
@@ -649,7 +658,7 @@


More information about the distro-pkg-dev mailing list