From 01c3a185b85c138397a9e29fefc4ee2dd21847b0 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Fri, 13 Jun 2008 15:35:40 -0500
Subject: [PATCH 01/23] Fixing tests
---
core/vectors/vectors-tests.factor | 2 +-
extra/sequences/lib/lib-tests.factor | 1 -
extra/sorting/insertion/insertion-tests.factor | 4 ++++
3 files changed, 5 insertions(+), 2 deletions(-)
create mode 100644 extra/sorting/insertion/insertion-tests.factor
diff --git a/core/vectors/vectors-tests.factor b/core/vectors/vectors-tests.factor
index 7f4abe3222..3b2c94b2e5 100755
--- a/core/vectors/vectors-tests.factor
+++ b/core/vectors/vectors-tests.factor
@@ -26,7 +26,7 @@ IN: vectors.tests
[ V{ 1 2 } ] [ [ 1 2 ] >vector ] unit-test
[ t ] [
- 100 [ 100 random ] V{ } map-as
+ 100 [ 100 random ] V{ } replicate-as
dup >array >vector =
] unit-test
diff --git a/extra/sequences/lib/lib-tests.factor b/extra/sequences/lib/lib-tests.factor
index ee447decdf..019796c1a1 100755
--- a/extra/sequences/lib/lib-tests.factor
+++ b/extra/sequences/lib/lib-tests.factor
@@ -80,7 +80,6 @@ IN: sequences.lib.tests
[ ] [ { } 0 firstn ] unit-test
[ "a" ] [ { "a" } 1 firstn ] unit-test
-[ { { 1 1 } { 1 2 } { 2 0 } } ] [ { { 2 0 } { 1 1 } { 1 2 } } dup [ first ] insertion-sort ] unit-test
[ "empty" ] [ { } [ "not empty" ] [ "empty" ] if-seq ] unit-test
[ { 1 } "not empty" ] [ { 1 } [ "not empty" ] [ "empty" ] if-seq ] unit-test
diff --git a/extra/sorting/insertion/insertion-tests.factor b/extra/sorting/insertion/insertion-tests.factor
new file mode 100644
index 0000000000..38b0082ade
--- /dev/null
+++ b/extra/sorting/insertion/insertion-tests.factor
@@ -0,0 +1,4 @@
+IN: sorting.insertion
+USING: sorting.insertion sequences kernel tools.test ;
+
+[ { { 1 1 } { 1 2 } { 2 0 } } ] [ { { 2 0 } { 1 1 } { 1 2 } } dup [ first ] insertion-sort ] unit-test
From a949c1038745f34e43716e52d69f7b588bc8bfcd Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Fri, 13 Jun 2008 20:54:31 -0500
Subject: [PATCH 02/23] Minor DB cleanup, add an ensure-tables word
---
extra/db/sqlite/sqlite.factor | 2 +-
extra/db/tuples/tuples.factor | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/extra/db/sqlite/sqlite.factor b/extra/db/sqlite/sqlite.factor
index c7c9065b43..38a3899fc4 100755
--- a/extra/db/sqlite/sqlite.factor
+++ b/extra/db/sqlite/sqlite.factor
@@ -53,7 +53,7 @@ M: sqlite-result-set dispose ( result-set -- )
M: sqlite-statement low-level-bind ( statement -- )
[ statement-bind-params ] [ statement-handle ] bi
- swap [ [ key>> ] [ value>> ] [ type>> ] tri sqlite-bind-type ] with each ;
+ [ swap [ key>> ] [ value>> ] [ type>> ] tri sqlite-bind-type ] curry each ;
M: sqlite-statement bind-statement* ( statement -- )
sqlite-maybe-prepare
diff --git a/extra/db/tuples/tuples.factor b/extra/db/tuples/tuples.factor
index 4903adff5c..e02e21cbe6 100755
--- a/extra/db/tuples/tuples.factor
+++ b/extra/db/tuples/tuples.factor
@@ -122,6 +122,9 @@ M: retryable execute-statement* ( statement type -- )
: ensure-table ( class -- )
[ create-table ] curry ignore-errors ;
+: ensure-tables ( classes -- )
+ [ ensure-table ] each ;
+
: insert-db-assigned-statement ( tuple -- )
dup class
db get db-insert-statements [ ] cache
From e7b786ecfa9ea6448df3d1ee747cb3d2d21a6df6 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Fri, 13 Jun 2008 20:54:52 -0500
Subject: [PATCH 03/23] New furnace.alloy vocab makes things easier; add
expiration for asides and flash scopes
---
extra/furnace/alloy/alloy.factor | 24 +++++++
extra/furnace/asides/asides.factor | 64 +++++++++++++------
.../furnace/auth/providers/db/db-tests.factor | 2 +-
extra/furnace/auth/providers/db/db.factor | 2 -
extra/furnace/cache/cache.factor | 36 +++++++++++
extra/furnace/flash/flash.factor | 53 ++++++++++-----
extra/furnace/sessions/sessions-tests.factor | 4 +-
extra/furnace/sessions/sessions.factor | 34 +++-------
extra/http/http-tests.factor | 8 +--
extra/http/server/server.factor | 4 +-
.../persistent-vectors-tests.factor | 2 +-
extra/webapps/blogs/blogs.factor | 4 --
.../factor-website/factor-website.factor | 34 ++++------
extra/webapps/pastebin/pastebin.factor | 4 --
extra/webapps/planet/planet.factor | 4 --
extra/webapps/todo/todo.factor | 2 -
extra/webapps/wee-url/wee-url.factor | 3 -
extra/webapps/wiki/wiki.factor | 4 --
18 files changed, 171 insertions(+), 117 deletions(-)
create mode 100644 extra/furnace/alloy/alloy.factor
create mode 100644 extra/furnace/cache/cache.factor
diff --git a/extra/furnace/alloy/alloy.factor b/extra/furnace/alloy/alloy.factor
new file mode 100644
index 0000000000..24b47cc4b8
--- /dev/null
+++ b/extra/furnace/alloy/alloy.factor
@@ -0,0 +1,24 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel sequences db.tuples alarms calendar db fry
+furnace.cache
+furnace.asides
+furnace.flash
+furnace.sessions
+furnace.db
+furnace.auth.providers ;
+IN: furnace.alloy
+
+: ( responder db params -- responder' )
+ [ ] 2dip ;
+
+: state-classes { session flash-scope aside } ; inline
+
+: init-furnace-tables ( -- )
+ state-classes ensure-tables
+ user ensure-table ;
+
+: start-expiring ( db params -- )
+ '[
+ , , [ state-classes [ expire-state ] each ] with-db
+ ] 5 minutes every drop ;
diff --git a/extra/furnace/asides/asides.factor b/extra/furnace/asides/asides.factor
index f6b4e2c15f..fc767e050d 100644
--- a/extra/furnace/asides/asides.factor
+++ b/extra/furnace/asides/asides.factor
@@ -2,37 +2,60 @@
! See http://factorcode.org/license.txt for BSD license.
USING: accessors namespaces sequences arrays kernel
assocs assocs.lib hashtables math.parser urls combinators
-furnace http http.server http.server.filters furnace.sessions
-html.elements html.templates.chloe.syntax ;
+html.elements html.templates.chloe.syntax db.types db.tuples
+http http.server http.server.filters
+furnace furnace.cache furnace.sessions ;
IN: furnace.asides
-TUPLE: asides < filter-responder ;
+TUPLE: aside < server-state session method url post-data ;
-C: asides
+:
-
+
Delete Comment
From 2d35ea233ff5860245dc1df0da1f006dcc737cb0 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 00:44:23 -0500
Subject: [PATCH 11/23] Fix missing rest parameters
---
extra/webapps/blogs/blogs.factor | 2 ++
1 file changed, 2 insertions(+)
diff --git a/extra/webapps/blogs/blogs.factor b/extra/webapps/blogs/blogs.factor
index 38bf065e56..d0c651c71f 100644
--- a/extra/webapps/blogs/blogs.factor
+++ b/extra/webapps/blogs/blogs.factor
@@ -116,6 +116,7 @@ M: comment entity-url
: ( -- action )
+ "author" >>rest
[ validate-author ] >>init
[ "Recent Posts by " "author" value append ] >>title
[ list-posts ] >>entries
@@ -123,6 +124,7 @@ M: comment entity-url
: ( -- action )
+ "id" >>rest
[ validate-integer-id "id" value post "post" set-value ] >>init
[ "post" value feed-entry-title ] >>title
[ "post" value entity-url ] >>url
From 23f957850535953071464461b40ad5c7ecfb0b98 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 02:45:04 -0500
Subject: [PATCH 12/23] Remove micro-pessimization
---
extra/io/ports/ports.factor | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/extra/io/ports/ports.factor b/extra/io/ports/ports.factor
index b761ecaf5b..f54cd2e9b3 100755
--- a/extra/io/ports/ports.factor
+++ b/extra/io/ports/ports.factor
@@ -98,11 +98,9 @@ TUPLE: output-port < buffered-port ;
: ( handle -- output-port )
output-port ;
-: can-write? ( len buffer -- ? )
- [ buffer-fill + ] keep buffer-capacity <= ;
-
: wait-to-write ( len port -- )
- tuck buffer>> can-write? [ drop ] [ stream-flush ] if ;
+ tuck buffer>> buffer-capacity <=
+ [ drop ] [ stream-flush ] if ;
M: output-port stream-write1
dup check-disposed
From faa96f887bbc37492b7a1df3c3ad815c91ac3c71 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 02:45:26 -0500
Subject: [PATCH 13/23] Log rotation
---
extra/http/server/server.factor | 5 ++++-
extra/logging/logging.factor | 8 +++-----
extra/webapps/factor-website/factor-website.factor | 4 ++++
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/extra/http/server/server.factor b/extra/http/server/server.factor
index 4ad44554f5..095b52171c 100755
--- a/extra/http/server/server.factor
+++ b/extra/http/server/server.factor
@@ -13,7 +13,7 @@ io.encodings.ascii
io.encodings.binary
io.streams.limited
io.timeouts
-fry logging calendar urls
+fry logging logging.insomniac calendar urls
http
http.server.responses
html.elements
@@ -140,4 +140,7 @@ LOG: httpd-hit NOTICE
: httpd-main ( -- )
8888 httpd ;
+: httpd-insomniac ( -- )
+ "http.server" { httpd-hit } schedule-insomniac ;
+
MAIN: httpd-main
diff --git a/extra/logging/logging.factor b/extra/logging/logging.factor
index f46fcf6c53..5168e7fcd2 100755
--- a/extra/logging/logging.factor
+++ b/extra/logging/logging.factor
@@ -42,11 +42,9 @@ SYMBOL: log-service
message ( obj -- inputs>message )
- dup one-string-array? [ first ] [
+ dup array? [ dup length 1 = [ first ] when ] when
+ dup string? [
[
string-limit off
1 line-limit set
@@ -54,7 +52,7 @@ PREDICATE: one-string-array < array
0 margin set
unparse
] with-scope
- ] if ;
+ ] unless ;
PRIVATE>
diff --git a/extra/webapps/factor-website/factor-website.factor b/extra/webapps/factor-website/factor-website.factor
index fa598c0948..04fc0487b8 100644
--- a/extra/webapps/factor-website/factor-website.factor
+++ b/extra/webapps/factor-website/factor-website.factor
@@ -3,6 +3,7 @@
USING: accessors kernel sequences assocs io.files io.sockets
io.server
namespaces db db.tuples db.sqlite smtp
+logging.insomniac
http.server
http.server.dispatchers
furnace.alloy
@@ -61,10 +62,13 @@ TUPLE: factor-website < dispatcher ;
: init-factor-website ( -- )
"factorcode.org" 25 smtp-server set-global
"todo@factorcode.org" lost-password-from set-global
+ "website@factorcode.org" insomniac-sender set-global
+ "slava@factorcode.org" insomniac-recipients set-global
init-factor-db
main-responder set-global ;
: start-factor-website ( -- )
test-db start-expiring
test-db start-update-task
+ httpd-insomniac
8812 httpd ;
From 4e4731ec67fdbdcdce5f557d434e0de634d99a97 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 02:45:34 -0500
Subject: [PATCH 14/23] Fix rollback
---
extra/webapps/wiki/revisions.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extra/webapps/wiki/revisions.xml b/extra/webapps/wiki/revisions.xml
index 97a051cd96..0e1af75a8f 100644
--- a/extra/webapps/wiki/revisions.xml
+++ b/extra/webapps/wiki/revisions.xml
@@ -16,7 +16,7 @@
|
|
- Rollback |
+ Rollback |
From 9516d781542f44754e38c6b411ddac10b02bd1c2 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:00:40 -0500
Subject: [PATCH 15/23] Fix bootstrap
---
extra/io/ports/ports-docs.factor | 4 ----
1 file changed, 4 deletions(-)
diff --git a/extra/io/ports/ports-docs.factor b/extra/io/ports/ports-docs.factor
index 7420cac115..47485193cf 100755
--- a/extra/io/ports/ports-docs.factor
+++ b/extra/io/ports/ports-docs.factor
@@ -64,7 +64,3 @@ HELP: (wait-to-read)
HELP: wait-to-read
{ $values { "port" input-port } { "eof?" "a boolean" } }
{ $description "If the port's buffer has unread data, returns immediately, otherwise suspends the current thread until some data is available for reading. If the buffer was empty and no more data could be read, outputs " { $link t } " to indicate end-of-file; otherwise outputs " { $link f } "." } ;
-
-HELP: can-write?
-{ $values { "len" "a positive integer" } { "buffer" buffer } { "?" "a boolean" } }
-{ $description "Tests if the port's output buffer can accomodate " { $snippet "len" } " bytes. If the buffer is empty, this always outputs " { $link t } ", since in that case the buffer will be grown automatically." } ;
From a2fa1369b04c867720ffcd360fa0c3016a225560 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:00:57 -0500
Subject: [PATCH 16/23] Furnace fixes
---
extra/furnace/actions/actions.factor | 2 +-
extra/furnace/furnace.factor | 3 ++-
extra/furnace/sessions/sessions.factor | 8 ++++++--
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/extra/furnace/actions/actions.factor b/extra/furnace/actions/actions.factor
index 2b3144fd27..9cc1880cc3 100755
--- a/extra/furnace/actions/actions.factor
+++ b/extra/furnace/actions/actions.factor
@@ -76,7 +76,7 @@ TUPLE: action rest authorize init display validate submit ;
: handle-post ( action -- response )
'[
- form-nesting-key params get at " " split
+ form-nesting-key params get at " " split harvest
[ , (handle-post) ]
[ swap '[ , , nest-values ] ] reduce
call
diff --git a/extra/furnace/furnace.factor b/extra/furnace/furnace.factor
index 2645146fbf..a51841d4ad 100644
--- a/extra/furnace/furnace.factor
+++ b/extra/furnace/furnace.factor
@@ -109,7 +109,8 @@ SYMBOL: exit-continuation
[ drop f ] [ "," split [ dup value ] H{ } map>assoc ] if ;
: a-url-path ( tag -- string )
- [ "href" required-attr ] [ "rest" optional-attr value ] bi
+ [ "href" required-attr ]
+ [ "rest" optional-attr dup [ value ] when ] bi
[ [ "/" ?tail drop "/" ] dip present 3append ] when* ;
: a-url ( tag -- url )
diff --git a/extra/furnace/sessions/sessions.factor b/extra/furnace/sessions/sessions.factor
index ab971d24d0..4be7403e39 100755
--- a/extra/furnace/sessions/sessions.factor
+++ b/extra/furnace/sessions/sessions.factor
@@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license.
USING: assocs kernel math.intervals math.parser namespaces
random accessors quotations hashtables sequences continuations
-fry calendar combinators destructors alarms io.server
+fry calendar combinators combinators.lib destructors alarms io.server
db db.tuples db.types
http http.server http.server.dispatchers http.server.filters
html.elements
@@ -69,7 +69,11 @@ TUPLE: sessions < server-state-manager domain verify? ;
: touch-session ( session -- )
sessions get touch-state ;
-: remote-host ( -- string ) remote-address get host>> ;
+: remote-host ( -- string )
+ {
+ [ request get "x-forwarded-for" header ]
+ [ remote-address get host>> ]
+ } 0|| ;
: empty-session ( -- session )
f
From 198b1a0d56510f8ac75af900c8ec4338223f3b43 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:01:07 -0500
Subject: [PATCH 17/23] Clean up quadratic
---
extra/math/quadratic/quadratic.factor | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/extra/math/quadratic/quadratic.factor b/extra/math/quadratic/quadratic.factor
index 2253582623..60929b92cb 100644
--- a/extra/math/quadratic/quadratic.factor
+++ b/extra/math/quadratic/quadratic.factor
@@ -3,13 +3,13 @@
USING: kernel math math.functions ;
IN: math.quadratic
-: monic ( c b a -- c' b' ) tuck / >r / r> ;
+: monic ( c b a -- c' b' ) tuck [ / ] 2bi@ ;
: discriminant ( c b -- b d ) tuck sq 4 / swap - sqrt ;
-: critical ( b d -- -b/2 d ) >r -2 / r> ;
+: critical ( b d -- -b/2 d ) [ -2 / ] dip ;
-: +- ( x y -- x+y x-y ) [ + ] 2keep - ;
+: +- ( x y -- x+y x-y ) [ + ] [ - ] 2bi ;
: quadratic ( c b a -- alpha beta )
#! Solve a quadratic equation ax^2 + bx + c = 0
@@ -17,4 +17,4 @@ IN: math.quadratic
: qeval ( x c b a -- y )
#! Evaluate ax^2 + bx + c
- >r pick * r> roll sq * + + ;
+ [ pick * ] dip roll sq * + + ;
From 149e4345c6d581e2088bc9a8bab2cb32f9d8cf8d Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:01:16 -0500
Subject: [PATCH 18/23] Add sanity checks
---
extra/html/components/components.factor | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/extra/html/components/components.factor b/extra/html/components/components.factor
index 6e1a25f5f5..7355cd153d 100644
--- a/extra/html/components/components.factor
+++ b/extra/html/components/components.factor
@@ -10,9 +10,12 @@ IN: html.components
SYMBOL: values
-: value ( name -- value ) values get at ;
+: check-value-name ( name -- name )
+ dup string? [ "Value name not a string" throw ] unless ;
-: set-value ( value name -- ) values get set-at ;
+: value ( name -- value ) check-value-name values get at ;
+
+: set-value ( value name -- ) check-value-name values get set-at ;
: blank-values ( -- ) H{ } clone values set ;
From 501588ab76622b3ab7882a4d385b0c628706e597 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:01:25 -0500
Subject: [PATCH 19/23] add x-forwarded-for logging
---
extra/http/server/server.factor | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/extra/http/server/server.factor b/extra/http/server/server.factor
index 095b52171c..03822ec854 100755
--- a/extra/http/server/server.factor
+++ b/extra/http/server/server.factor
@@ -78,9 +78,15 @@ main-responder global [ <404> or ] change-at
LOG: httpd-hit NOTICE
+LOG: httpd-header NOTICE
+
+: log-header ( headers name -- )
+ tuck header 2array httpd-header ;
+
: log-request ( request -- )
- [ method>> ] [ url>> [ host>> ] [ path>> ] bi ] bi
- 3array httpd-hit ;
+ [ [ method>> ] [ url>> [ host>> ] [ path>> ] bi ] bi 3array httpd-hit ]
+ [ { "user-agent" "x-forwarded-for" } [ log-header ] with each ]
+ bi ;
: split-path ( string -- path )
"/" split harvest ;
From 5692d28ce5cdd47aff5cc906c08706bedf2b466b Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:06:43 -0500
Subject: [PATCH 20/23] Fix compile error
---
extra/editors/vim/vim.factor | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/extra/editors/vim/vim.factor b/extra/editors/vim/vim.factor
index 9ce256868b..8ec94a7fd6 100755
--- a/extra/editors/vim/vim.factor
+++ b/extra/editors/vim/vim.factor
@@ -6,11 +6,11 @@ SYMBOL: vim-path
SYMBOL: vim-detach
SYMBOL: vim-editor
-HOOK: vim-command vim-editor
+HOOK: vim-command vim-editor ( file line -- array )
TUPLE: vim ;
-M: vim vim-command ( file line -- array )
+M: vim vim-command
[
vim-path get , swap , "+" swap number>string append ,
] { } make ;
From b8380711e459fb27cd36d6f5c70c4662d2f79133 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:11:30 -0500
Subject: [PATCH 21/23] Clean up editors.vim/gvim a bit
---
extra/editors/gvim/gvim.factor | 6 +++---
extra/editors/vim/vim.factor | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/extra/editors/gvim/gvim.factor b/extra/editors/gvim/gvim.factor
index 62150bdf49..240af7d8ef 100755
--- a/extra/editors/gvim/gvim.factor
+++ b/extra/editors/gvim/gvim.factor
@@ -3,14 +3,14 @@ namespaces sequences system combinators
editors.vim editors.gvim.backend vocabs.loader ;
IN: editors.gvim
-TUPLE: gvim ;
+SINGLETON: gvim
M: gvim vim-command ( file line -- string )
- [ "\"" % gvim-path % "\" \"" % swap % "\" +" % # ] "" make ;
+ [ gvim-path , swap , "+" swap number>string append , ] { } make ;
t vim-detach set-global ! don't block the ui
-T{ gvim } vim-editor set-global
+gvim vim-editor set-global
{
{ [ os unix? ] [ "editors.gvim.unix" ] }
diff --git a/extra/editors/vim/vim.factor b/extra/editors/vim/vim.factor
index 8ec94a7fd6..29c16f7cc3 100755
--- a/extra/editors/vim/vim.factor
+++ b/extra/editors/vim/vim.factor
@@ -8,7 +8,7 @@ SYMBOL: vim-detach
SYMBOL: vim-editor
HOOK: vim-command vim-editor ( file line -- array )
-TUPLE: vim ;
+SINGLETON: vim
M: vim vim-command
[
@@ -23,4 +23,4 @@ M: vim vim-command
"vim" vim-path set-global
[ vim-location ] edit-hook set-global
-T{ vim } vim-editor set-global
+vim vim-editor set-global
From bd7bee867b15c35be5477a4874c27d1806d12af3 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:18:29 -0500
Subject: [PATCH 22/23] Fix test failure
---
extra/html/components/components-tests.factor | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extra/html/components/components-tests.factor b/extra/html/components/components-tests.factor
index 2ae120b527..8ec3a58611 100644
--- a/extra/html/components/components-tests.factor
+++ b/extra/html/components/components-tests.factor
@@ -156,7 +156,7 @@ M: link-test link-href drop "http://www.apple.com/foo&bar" ;
[ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
[ "" ] [
- [ "farkup" farkup render ] with-string-writer
+ [ "farkup" T{ farkup } render ] with-string-writer
] unit-test
[ ] [ { 1 2 3 } "object" set-value ] unit-test
From 5b4809e49d36d9ab8129912c874ed0c69525ff2e Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Sat, 14 Jun 2008 04:21:52 -0500
Subject: [PATCH 23/23] Remove dead code
---
extra/editors/gvim/gvim.factor | 2 --
extra/editors/vim/vim-docs.factor | 4 +---
extra/editors/vim/vim.factor | 6 +-----
3 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/extra/editors/gvim/gvim.factor b/extra/editors/gvim/gvim.factor
index 240af7d8ef..041f3db675 100755
--- a/extra/editors/gvim/gvim.factor
+++ b/extra/editors/gvim/gvim.factor
@@ -8,8 +8,6 @@ SINGLETON: gvim
M: gvim vim-command ( file line -- string )
[ gvim-path , swap , "+" swap number>string append , ] { } make ;
-t vim-detach set-global ! don't block the ui
-
gvim vim-editor set-global
{
diff --git a/extra/editors/vim/vim-docs.factor b/extra/editors/vim/vim-docs.factor
index 020117564d..cf42884084 100644
--- a/extra/editors/vim/vim-docs.factor
+++ b/extra/editors/vim/vim-docs.factor
@@ -11,7 +11,5 @@ $nl
"USE: vim"
"\"c:\\\\program files\\\\vim\\\\vim70\\\\gvim\" vim-path set-global"
}
-"On Unix, you may omit the last line if " { $snippet "\"vim\"" } " is in your " { $snippet "$PATH" } "."
-$nl
-"If you are running the terminal version of Vim, you want it to block Factor until exiting, but for GVim the opposite is desired, so that one can work in Factor and GVim concurrently. The " { $link vim-detach } " global variable can be set to " { $link t } " to detach the Vim process. The default is " { $link f } "." ;
+"On Unix, you may omit the last line if " { $snippet "\"vim\"" } " is in your " { $snippet "$PATH" } "." ;
diff --git a/extra/editors/vim/vim.factor b/extra/editors/vim/vim.factor
index 29c16f7cc3..bfbb8f15a5 100755
--- a/extra/editors/vim/vim.factor
+++ b/extra/editors/vim/vim.factor
@@ -3,7 +3,6 @@ namespaces parser prettyprint sequences editors accessors ;
IN: editors.vim
SYMBOL: vim-path
-SYMBOL: vim-detach
SYMBOL: vim-editor
HOOK: vim-command vim-editor ( file line -- array )
@@ -16,10 +15,7 @@ M: vim vim-command
] { } make ;
: vim-location ( file line -- )
- vim-command
- swap >>command
- vim-detach get-global [ t >>detached ] when
- try-process ;
+ vim-command try-process ;
"vim" vim-path set-global
[ vim-location ] edit-hook set-global