(Actually) fixed the folding newline bug, but it's a bit messy, and we don't accurately make the distinction between block folding and flow folding

This commit is contained in:
Jesse Beder
2009-09-07 23:29:04 +00:00
parent a4b8521efe
commit 7bdd31b34b
3 changed files with 66 additions and 3 deletions

View File

@@ -110,7 +110,7 @@ namespace YAML
// was this an empty line?
bool nextEmptyLine = Exp::Break.Matches(INPUT);
bool nextMoreIndented = (INPUT.peek() == ' ');
bool nextMoreIndented = Exp::Blank.Matches(INPUT);
if(params.fold && foldedNewlineCount == 0 && nextEmptyLine)
foldedNewlineStartedMoreIndented = moreIndented;
@@ -125,8 +125,9 @@ namespace YAML
scalar += "\n";
if(!nextEmptyLine && foldedNewlineCount > 0) {
scalar += std::string(foldedNewlineCount - 1, '\n');
if(foldedNewlineStartedMoreIndented || nextMoreIndented)
scalar += std::string("\n", foldedNewlineCount);
scalar += "\n";
foldedNewlineCount = 0;
}
} else {