From 391b46612b8214e9919a86cbb6aafb5b3920ad21 Mon Sep 17 00:00:00 2001 From: vmmeazza <vmmeazza> Date: Sat, 13 Feb 2010 09:40:53 +0000 Subject: [PATCH] Update by Anders Gidenstein - an improved version of the buffer --- Nasal/screen.nas | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Nasal/screen.nas b/Nasal/screen.nas index 2c8231088..7ec9043d1 100644 --- a/Nasal/screen.nas +++ b/Nasal/screen.nas @@ -155,20 +155,19 @@ var window = { _write_ : func() { if (size(me.writebuffer) == 0) return; - var lines = me.writebuffer[0]; - me.writebuffer = subvec(me.writebuffer, 1); - foreach (var line; lines) { - append(me.lines, line); - if (size(me.lines) > me.maxlines) { - me.lines = subvec(me.lines, 1); + foreach (var msg; me.writebuffer) { + foreach (var line; msg) { + append(me.lines, line); + if (size(me.lines) > me.maxlines) { + me.lines = subvec(me.lines, 1); + if (me.autoscroll) + me.skiptimer += 1; + } if (me.autoscroll) - me.skiptimer += 1; + settimer(func me._timeout_(), me.autoscroll, 1); } - if (me.autoscroll) - settimer(func me._timeout_(), me.autoscroll, 1); } - if (size(me.writebuffer) > 0) - settimer(func { me._write_(); } , 0, 1); + me.writebuffer = []; me.show(); }, _timeout_ : func {