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