From 5589b2bbd26f7915c665adf55fdda74124f12a26 Mon Sep 17 00:00:00 2001
From: John Benediktsson <mrjbq7@gmail.com>
Date: Sun, 22 Jul 2012 15:16:39 -0700
Subject: [PATCH] ui.tools.listener: fix stream-read-until on interactor
 gadgets.

---
 basis/ui/tools/listener/listener.factor | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/basis/ui/tools/listener/listener.factor b/basis/ui/tools/listener/listener.factor
index 97f79115d0..b17a1760fb 100644
--- a/basis/ui/tools/listener/listener.factor
+++ b/basis/ui/tools/listener/listener.factor
@@ -167,6 +167,15 @@ M: interactor stream-read1
         [ nip first first ]
     } cond ;
 
+M: interactor stream-read-until ( seps stream -- seq sep/f )
+    swap '[
+        _ interactor-read [
+            "\n" join CHAR: \n suffix
+            [ _ member? ] dupd find
+            [ [ head ] when* ] dip
+        ] [ f f ] if* dup not
+    ] [ drop ] produce swap [ concat prepend ] dip ;
+
 M: interactor dispose drop ;
 
 : go-to-error ( interactor error -- )