diff --git a/IPython/frontend/html/notebook/static/js/codecell.js b/IPython/frontend/html/notebook/static/js/codecell.js index 8a4da1b..9532eed 100644 --- a/IPython/frontend/html/notebook/static/js/codecell.js +++ b/IPython/frontend/html/notebook/static/js/codecell.js @@ -251,6 +251,23 @@ var IPython = (function (IPython) { CodeCell.prototype.append_stream = function (json) { + // temporary fix: if stream undefined (json file written prior to this patch), + // default to most likely stdout: + if (json.stream == undefined){ + json.stream = 'stdout'; + } + if (this.outputs.length > 0){ + // have at least one output to consider + var last = this.outputs[this.outputs.length-1]; + if (last.output_type == 'stream' && json.stream == last.stream){ + // latest output was in the same stream, + // so append directly into its pre tag + this.element.find('div.output_stream').last().find('pre').append(json.text); + return; + } + } + + // If we got here, attach a new div var toinsert = this.create_output_area(); this.append_text(json.text, toinsert); this.element.find('div.output').append(toinsert); diff --git a/IPython/frontend/html/notebook/static/js/notebook.js b/IPython/frontend/html/notebook/static/js/notebook.js index b84e3b8..f5fcdc8 100644 --- a/IPython/frontend/html/notebook/static/js/notebook.js +++ b/IPython/frontend/html/notebook/static/js/notebook.js @@ -710,7 +710,8 @@ var IPython = (function (IPython) { var json = {}; json.output_type = msg_type; if (msg_type === "stream") { - json.text = utils.fixConsole(content.data + '\n'); + json.text = utils.fixConsole(content.data); + json.stream = content.name; } else if (msg_type === "display_data") { json = this.convert_mime_types(json, content.data); } else if (msg_type === "pyout") {