From 5f45dd409be2d6caae90a8658b659ca5b87db452 Mon Sep 17 00:00:00 2001 From: sergei Date: Wed, 1 Jul 2009 22:00:22 +0000 Subject: [PATCH] SAX readers: never transition from scText to scWhitespace state, and don't reset token while transitioning from scWhitespace to scText. This ensures that only pure-whitespace chunks are ever reported via IgnorableWhitespace event, and that text nodes are not broken into words. This provides a partial fix for Mantis #14073. git-svn-id: trunk@13355 - --- packages/fcl-xml/src/sax_html.pp | 4 +--- packages/fcl-xml/src/sax_xml.pp | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/fcl-xml/src/sax_html.pp b/packages/fcl-xml/src/sax_html.pp index d2793380b7..d001786ce1 100644 --- a/packages/fcl-xml/src/sax_html.pp +++ b/packages/fcl-xml/src/sax_html.pp @@ -193,12 +193,10 @@ begin EnterNewScannerContext(scTag); end; else - EnterNewScannerContext(scText); + FScannerContext := scText; end; scText: case Buffer[BufferPos] of - #9, #10, #13, ' ': - EnterNewScannerContext(scWhitespace); '&': begin Inc(BufferPos); diff --git a/packages/fcl-xml/src/sax_xml.pp b/packages/fcl-xml/src/sax_xml.pp index 632de39ef1..eba29d016f 100644 --- a/packages/fcl-xml/src/sax_xml.pp +++ b/packages/fcl-xml/src/sax_xml.pp @@ -184,12 +184,10 @@ begin EnterNewScannerContext(scTag); end; else - EnterNewScannerContext(scText); + FScannerContext := scText end; scText: case Buffer[BufferPos] of - #9, #10, #13, ' ': - EnterNewScannerContext(scWhitespace); '&': begin Inc(BufferPos);