From f0fc3190f3a60c8bb7315799d9db5fea7e8d3b3d Mon Sep 17 00:00:00 2001
From: Slava Pestov <slava@slava-pestovs-macbook-pro.local>
Date: Sun, 30 Nov 2008 13:50:09 -0600
Subject: [PATCH] Stop blinking before starting again

---
 basis/ui/gadgets/editors/editors.factor | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor
index 59461c173f..46c2bd1d43 100644
--- a/basis/ui/gadgets/editors/editors.factor
+++ b/basis/ui/gadgets/editors/editors.factor
@@ -52,19 +52,21 @@ SYMBOL: blink-interval
 
 750 milliseconds blink-interval set-global
 
-: start-blinking ( editor -- )
-    t >>blink
-    dup '[ _ blink-caret ] blink-interval get every >>blink-alarm drop ;
-
 : stop-blinking ( editor -- )
     [ [ cancel-alarm ] when* f ] change-blink-alarm drop ;
 
+: start-blinking ( editor -- )
+    [ stop-blinking ] [
+        t >>blink
+        dup '[ _ blink-caret ] blink-interval get every
+        >>blink-alarm drop
+    ] bi ;
+
 : restart-blinking ( editor -- )
     dup focused?>> [
-        [ stop-blinking ]
         [ start-blinking ]
         [ relayout-1 ]
-        tri
+        bi
     ] [ drop ] if ;
 
 M: editor graft*