diff --git a/src/scanscalar.cpp b/src/scanscalar.cpp index bd8fe42..7294ce9 100644 --- a/src/scanscalar.cpp +++ b/src/scanscalar.cpp @@ -111,13 +111,8 @@ namespace YAML bool nextMoreIndented = (INPUT.peek() == ' '); // for block scalars, we always start with a newline, so we should ignore it (not fold or keep) - bool useNewLine = pastOpeningBreak; - // and for folded scalars, we don't fold the very last newline to a space - if(params.fold && !emptyLine && INPUT.column() < params.indent) - useNewLine = false; - - if(useNewLine) { - if(params.fold && !emptyLine && !nextEmptyLine && !moreIndented && !nextMoreIndented) + if(pastOpeningBreak) { + if(params.fold && !emptyLine && !nextEmptyLine && !moreIndented && !nextMoreIndented && INPUT.column() >= params.indent) scalar += " "; else scalar += "\n"; diff --git a/src/scantoken.cpp b/src/scantoken.cpp index 51bb8bf..cb56225 100644 --- a/src/scantoken.cpp +++ b/src/scantoken.cpp @@ -368,6 +368,7 @@ namespace YAML params.fold = (indicator == Keys::FoldedScalar); // eat chomping/indentation indicators + params.chomp = CLIP; int n = Exp::Chomp.Match(INPUT); for(int i=0;i