From adf5cfda5904f5f655016f1ea77bc287203d3ed8 Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Fri, 29 Feb 2008 18:04:09 -0600
Subject: [PATCH 1/3] clean up retry

---
 extra/combinators/lib/lib.factor | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/extra/combinators/lib/lib.factor b/extra/combinators/lib/lib.factor
index 08336fd32e..f65b94dc11 100755
--- a/extra/combinators/lib/lib.factor
+++ b/extra/combinators/lib/lib.factor
@@ -170,4 +170,4 @@ MACRO: construct-slots ( assoc tuple-class -- tuple )
     >r keep r> rot [ call ] [ 2drop f ] if ; inline
 
 : retry ( quot n -- )
-    swap [ drop ] swap compose attempt-all ; inline
+    [ drop ] rot compose attempt-all ; inline

From 4f40f10b88fac030bd3a7cc9773589251c1c4e04 Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Fri, 29 Feb 2008 18:04:20 -0600
Subject: [PATCH 2/3] fix stack effect

---
 extra/io/files/unique/backend/backend.factor | 2 +-
 extra/io/files/unique/unique.factor          | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/extra/io/files/unique/backend/backend.factor b/extra/io/files/unique/backend/backend.factor
index 228b6881f9..b26557688b 100644
--- a/extra/io/files/unique/backend/backend.factor
+++ b/extra/io/files/unique/backend/backend.factor
@@ -1,5 +1,5 @@
 USING: io.backend ;
 IN: io.files.unique.backend
 
-HOOK: (make-unique-file) io-backend ( prefix suffix -- stream path )
+HOOK: (make-unique-file) io-backend ( path -- stream )
 HOOK: temporary-path io-backend ( -- path )
diff --git a/extra/io/files/unique/unique.factor b/extra/io/files/unique/unique.factor
index 1e77cd6814..8c0666161e 100644
--- a/extra/io/files/unique/unique.factor
+++ b/extra/io/files/unique/unique.factor
@@ -22,11 +22,12 @@ IN: io.files.unique
 PRIVATE>
 
 : make-unique-file ( prefix suffix -- path stream )
+break
     temporary-path -rot
     [
         unique-length random-name swap 3append path+
         dup (make-unique-file)
-    ] 3curry unique-retries retry ;
+    ] 3curry unique-retries retry break ;
 
 : with-unique-file ( quot -- path )
     >r f f make-unique-file r> rot [ with-stream ] dip ; inline

From 2dffb31e53b18270cc5d5c686f9f997a3c8c0d7c Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Fri, 29 Feb 2008 18:05:38 -0600
Subject: [PATCH 3/3] remove debug info

---
 extra/io/files/unique/unique.factor | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/extra/io/files/unique/unique.factor b/extra/io/files/unique/unique.factor
index 8c0666161e..1e77cd6814 100644
--- a/extra/io/files/unique/unique.factor
+++ b/extra/io/files/unique/unique.factor
@@ -22,12 +22,11 @@ IN: io.files.unique
 PRIVATE>
 
 : make-unique-file ( prefix suffix -- path stream )
-break
     temporary-path -rot
     [
         unique-length random-name swap 3append path+
         dup (make-unique-file)
-    ] 3curry unique-retries retry break ;
+    ] 3curry unique-retries retry ;
 
 : with-unique-file ( quot -- path )
     >r f f make-unique-file r> rot [ with-stream ] dip ; inline