| Index: lib/io.js |
| =================================================================== |
| --- a/lib/io.js |
| +++ b/lib/io.js |
| @@ -89,17 +89,21 @@ let IO = exports.IO = |
| { |
| let oldBuffer = buffer; |
| buffer = data.substr(index + 1); |
| data = data.substr(0, index + 1); |
| let lines = data.split(/[\r\n]+/); |
| lines.pop(); |
| lines[0] = oldBuffer + lines[0]; |
| for (let i = 0; i < lines.length; i++) |
| - yield listener.process(lines[i]); |
| + { |
| + let promise = listener.process(lines[i]); |
| + if (promise) |
| + yield listener.process(lines[i]); |
| + } |
| } |
| finally |
| { |
| processing = false; |
| data = buffer; |
| buffer = ""; |
| yield* onProgress(data); |