From 93a8a40005a7f24289379a65858fd3a07c60ef6f Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Wed, 3 Sep 2008 22:20:40 -0500
Subject: [PATCH 01/23] Fix vocab browser wart
---
basis/tools/vocabs/vocabs.factor | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/basis/tools/vocabs/vocabs.factor b/basis/tools/vocabs/vocabs.factor
index 08eb3d7c32..cc49d283b4 100755
--- a/basis/tools/vocabs/vocabs.factor
+++ b/basis/tools/vocabs/vocabs.factor
@@ -190,7 +190,7 @@ M: vocab-link summary vocab-summary ;
vocab-dir "tags.txt" append-path ;
: vocab-tags ( vocab -- tags )
- dup vocab-tags-path vocab-file-contents ;
+ dup vocab-tags-path vocab-file-contents harvest ;
: set-vocab-tags ( tags vocab -- )
dup vocab-tags-path set-vocab-file-contents ;
@@ -202,7 +202,7 @@ M: vocab-link summary vocab-summary ;
vocab-dir "authors.txt" append-path ;
: vocab-authors ( vocab -- authors )
- dup vocab-authors-path vocab-file-contents ;
+ dup vocab-authors-path vocab-file-contents harvest ;
: set-vocab-authors ( authors vocab -- )
dup vocab-authors-path set-vocab-file-contents ;
From 40a3f648acf5a363cbc36ae1bae5633cb275b53c Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Wed, 3 Sep 2008 22:21:09 -0500
Subject: [PATCH 02/23] require the vocabulary after scaffold creates it
---
basis/tools/scaffold/scaffold.factor | 1 +
1 file changed, 1 insertion(+)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 1c1a48ff9d..c7781629c0 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -192,4 +192,5 @@ ERROR: vocab-name-contains-dot path ;
[ scaffold-main ]
[ scaffold-tests ]
[ drop scaffold-authors ]
+ [ nip require ]
} 2cleave ;
From 7bc32975ee2ef5c5df29fcd005235eb5a4eee3ad Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Wed, 3 Sep 2008 23:38:32 -0500
Subject: [PATCH 03/23] Fix erg's bug
---
core/generic/generic-tests.factor | 30 +++++++++++++++++++++++++++---
core/generic/generic.factor | 2 +-
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/core/generic/generic-tests.factor b/core/generic/generic-tests.factor
index ab39cbcbb8..22c690ffaf 100755
--- a/core/generic/generic-tests.factor
+++ b/core/generic/generic-tests.factor
@@ -2,7 +2,7 @@ USING: accessors alien arrays definitions generic generic.standard
generic.math assocs hashtables io kernel math namespaces parser
prettyprint sequences strings tools.test vectors words
quotations classes classes.algebra classes.tuple continuations
-layouts classes.union sorting compiler.units eval ;
+layouts classes.union sorting compiler.units eval multiline ;
IN: generic.tests
GENERIC: foobar ( x -- y )
@@ -135,7 +135,7 @@ M: f tag-and-f 4 ;
[ 3.4 3 ] [ 3.4 tag-and-f ] unit-test
! Issues with forget
-GENERIC: generic-forget-test-1
+GENERIC: generic-forget-test-1 ( a b -- c )
M: integer generic-forget-test-1 / ;
@@ -187,7 +187,7 @@ M: f generic-forget-test-3 ;
: a-word ;
-GENERIC: a-generic
+GENERIC: a-generic ( a -- b )
M: integer a-generic a-word ;
@@ -198,3 +198,27 @@ M: integer a-generic a-word ;
[ ] [ "IN: generic.tests : a-generic ;" eval ] unit-test
[ f ] [ "m" get \ a-word usage memq? ] unit-test
+
+! erg's regression
+[ ] [
+ <"
+ IN: compiler.tests
+
+ GENERIC: jeah ( a -- b )
+ TUPLE: boii ;
+ M: boii jeah ;
+ GENERIC: jeah* ( a -- b )
+ M: boii jeah* jeah ;
+ "> eval
+
+ <"
+ IN: compiler.tests
+ FORGET: boii
+ "> eval
+
+ <"
+ IN: compiler.tests
+ TUPLE: boii ;
+ M: boii jeah ;
+ "> eval
+] unit-test
diff --git a/core/generic/generic.factor b/core/generic/generic.factor
index f2c154b3b2..c0a21dbaba 100755
--- a/core/generic/generic.factor
+++ b/core/generic/generic.factor
@@ -130,7 +130,7 @@ M: method-spec definition
first2 method definition ;
M: method-spec forget*
- first2 method forget* ;
+ first2 method [ forgotten-definition ] [ forget* ] bi ;
M: method-spec smart-usage
second smart-usage ;
From 56dec43eb3bc7bcf3dc9f0006a8ffdfd82e299f1 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 00:43:18 -0500
Subject: [PATCH 04/23] add scaffold-undocumented
---
basis/tools/scaffold/scaffold.factor | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index c7781629c0..571266d0ef 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -178,12 +178,22 @@ ERROR: vocab-name-contains-dot path ;
: prepare-scaffold ( vocab-root string -- string path )
check-scaffold [ vocab>scaffold-path ] keep ;
+: with-scaffold ( quot -- )
+ [ H{ } clone using ] dip with-variable ; inline
+
: scaffold-help ( vocab-root string -- )
- H{ } clone using [
+ [
prepare-scaffold
[ "-docs.factor" scaffold-path ] dip
swap [ set-scaffold-help-file ] [ 2drop ] if
- ] with-variable ;
+ ] with-scaffold ;
+
+: scaffold-undocumented ( string -- )
+ [
+ words
+ [ "help" word-prop not ] filter
+ natural-sort [ help. nl ] each
+ ] with-scaffold ;
: scaffold-vocab ( vocab-root string -- )
prepare-scaffold
From 6e8f5f50f18b704e4fb0b1a08126a13eecf293b6 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 01:29:46 -0500
Subject: [PATCH 05/23] make parts of scaffold private, fix help. for single
use
---
basis/tools/scaffold/scaffold.factor | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 571266d0ef..7f55d0a217 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -4,19 +4,20 @@ USING: assocs io.files hashtables kernel namespaces sequences
vocabs.loader io combinators io.encodings.utf8 calendar accessors
math.parser io.streams.string ui.tools.operations quotations
strings arrays prettyprint words vocabs sorting sets cords
-sequences.lib combinators.lib ;
+classes sequences.lib combinators.lib ;
IN: tools.scaffold
SYMBOL: developer-name
SYMBOL: using
ERROR: not-a-vocab-root string ;
+ERROR: vocab-name-contains-separator path ;
+ERROR: vocab-name-contains-dot path ;
: root? ( string -- ? )
vocab-roots get member? ;
-ERROR: vocab-name-contains-separator path ;
-ERROR: vocab-name-contains-dot path ;
+> using get conjoin ;
+ vocabulary>> using get [ conjoin ] [ drop ] if* ;
: ($values.) ( array -- )
[
@@ -144,10 +145,12 @@ ERROR: vocab-name-contains-dot path ;
: help-header. ( word -- )
"HELP: " write name>> print ;
+PRIVATE>
: help. ( word -- )
[ help-header. ] [ $values. ] [ $description. ] tri ;
+
: scaffold-help ( vocab-root string -- )
[
@@ -189,11 +193,9 @@ ERROR: vocab-name-contains-dot path ;
] with-scaffold ;
: scaffold-undocumented ( string -- )
- [
- words
- [ "help" word-prop not ] filter
- natural-sort [ help. nl ] each
- ] with-scaffold ;
+ words
+ [ [ "help" word-prop ] [ predicate? ] bi or not ] filter
+ natural-sort [ help. nl ] each ;
: scaffold-vocab ( vocab-root string -- )
prepare-scaffold
From 62235b3f7bcd8c44566410cb9c33b88c81725034 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 01:34:01 -0500
Subject: [PATCH 06/23] make sure a vocab exists before trying to document it
---
basis/tools/scaffold/scaffold.factor | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 7f55d0a217..dc7e21bc39 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -13,6 +13,7 @@ SYMBOL: using
ERROR: not-a-vocab-root string ;
ERROR: vocab-name-contains-separator path ;
ERROR: vocab-name-contains-dot path ;
+ERROR: no-vocab vocab ;
: root? ( string -- ? )
vocab-roots get member? ;
@@ -183,10 +184,15 @@ PRIVATE>
: with-scaffold ( quot -- )
[ H{ } clone using ] dip with-variable ; inline
+
+: check-vocab ( vocab -- vocab )
+ dup find-vocab-root [ no-vocab ] unless ;
PRIVATE>
+
: scaffold-help ( vocab-root string -- )
[
+ check-vocab
prepare-scaffold
[ "-docs.factor" scaffold-path ] dip
swap [ set-scaffold-help-file ] [ 2drop ] if
From 27b97b0172c88305b245f72956cde456b8eada26 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 01:50:26 -0500
Subject: [PATCH 07/23] make a word private, docs
---
basis/tools/scaffold/scaffold-docs.factor | 47 +++++++++++++++++++++++
basis/tools/scaffold/scaffold.factor | 2 +-
2 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 basis/tools/scaffold/scaffold-docs.factor
diff --git a/basis/tools/scaffold/scaffold-docs.factor b/basis/tools/scaffold/scaffold-docs.factor
new file mode 100644
index 0000000000..e22e10f8c9
--- /dev/null
+++ b/basis/tools/scaffold/scaffold-docs.factor
@@ -0,0 +1,47 @@
+! Copyright (C) 2008 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: help.markup help.syntax kernel strings words ;
+IN: tools.scaffold
+
+HELP: developer-name
+{ $description "Set this symbol to hold your name so that the scaffold tools can generate the correct file header for copyright. Setting this variable in your .factor-boot-rc file is recommended." }
+{ $unchecked-example "USING: namespaces tools.scaffold ;\n\"Stacky Guy\" developer-name set-global" } ;
+
+HELP: help.
+{ $values
+ { "word" word } }
+{ $description "Prints out scaffold help markup for a given word." } ;
+
+HELP: scaffold-help
+{ $values
+ { "vocab-root" "a vocabulary root string" } { "string" string } }
+{ $description "Takes an existing vocabulary and creates a help file with scaffolded help for each word. This word only works if no help file yet exists." } ;
+
+HELP: scaffold-undocumented
+{ $values
+ { "string" string } }
+{ $description "Prints scaffolding documenation for undocumented words in a vocabuary except for automatically generated class predicates." } ;
+
+{ scaffold-help scaffold-undocumented } related-words
+
+HELP: scaffold-vocab
+{ $values
+ { "vocab-root" "a vocabulary root string" } { "string" string } }
+{ $description "Creates a direcory in the given root for a new vocabulary and adds a main .factor file, a tests file, and an authors.txt file." } ;
+
+HELP: using
+{ $description "Stores the vocabularies that are pulled into the documentation file from looking up the stack effect types." } ;
+
+ARTICLE: "tools.scaffold" "Scaffold tool"
+"Scaffold setup:"
+{ $subsection developer-name }
+"Generate new vocabs:"
+{ $subsection scaffold-vocab }
+"Generate help scaffolding:"
+{ $subsection scaffold-help }
+{ $subsection scaffold-undocumented }
+{ $subsection help. }
+"Types that are unrecognized by the scaffold generator will be of type " { $link null } ". The developer should change these to strings that describe the stack effect names instead."
+;
+
+ABOUT: "tools.scaffold"
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index dc7e21bc39..50e02b93a5 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -15,10 +15,10 @@ ERROR: vocab-name-contains-separator path ;
ERROR: vocab-name-contains-dot path ;
ERROR: no-vocab vocab ;
+
Date: Thu, 4 Sep 2008 02:03:04 -0500
Subject: [PATCH 08/23] print out doc links after listing words
---
basis/tools/scaffold/scaffold.factor | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 50e02b93a5..84636dc106 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -146,16 +146,14 @@ ERROR: no-vocab vocab ;
: help-header. ( word -- )
"HELP: " write name>> print ;
-PRIVATE>
-: help. ( word -- )
+: (help.) ( word -- )
[ help-header. ] [ $values. ] [ $description. ] tri ;
-
dup find-vocab-root [ no-vocab ] unless ;
PRIVATE>
+: link-vocab ( vocab -- )
+ check-vocab
+ "Edit documentation: " write
+ [ find-vocab-root ] keep
+ [ append-path ] keep "-docs.factor" append append-path
+ . ;
+
+: help. ( word -- )
+ [ (help.) ] [ nl vocabulary>> link-vocab ] bi ;
: scaffold-help ( vocab-root string -- )
[
@@ -199,9 +206,10 @@ PRIVATE>
] with-scaffold ;
: scaffold-undocumented ( string -- )
- words
+ dup words
[ [ "help" word-prop ] [ predicate? ] bi or not ] filter
- natural-sort [ help. nl ] each ;
+ natural-sort [ (help.) nl ] each
+ link-vocab ;
: scaffold-vocab ( vocab-root string -- )
prepare-scaffold
From 2d48c99407892d54bbdfb5e4732d244d101a500a Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos
Date: Thu, 4 Sep 2008 07:21:54 -0500
Subject: [PATCH 09/23] vocab-browser: Add indices for authors and tags
---
unfinished/vocab-browser/vocab-browser.factor | 41 ++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/unfinished/vocab-browser/vocab-browser.factor b/unfinished/vocab-browser/vocab-browser.factor
index c5203a4894..3f2d2d7b9a 100644
--- a/unfinished/vocab-browser/vocab-browser.factor
+++ b/unfinished/vocab-browser/vocab-browser.factor
@@ -254,6 +254,40 @@ M: load-this-vocab pprint* ( obj -- )
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+M: vocab-author pprint* ( vocab-author -- ) [ name>> ] [ ] bi write-object ;
+
+: $vocab-authors ( seq -- )
+ drop all-authors [ vocab-author boa ] map print-seq ;
+
+ARTICLE: "vocab-authors" "Vocabulary Authors" { $vocab-authors } ;
+
+: vocabs-by-author ( author -- vocab-names )
+ authored values concat [ name>> ] map ;
+
+: $vocabs-by-author ( seq -- )
+ first name>> vocabs-by-author print-these-vocabs ;
+
+M: vocab-author article-content ( vocab-author -- content )
+ { $vocabs-by-author } swap suffix ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+M: vocab-tag pprint* ( vocab-tag -- ) [ name>> ] [ ] bi write-object ;
+
+: print-vocab-tags ( -- ) all-tags [ vocab-tag boa ] map print-seq ;
+
+: $vocab-tags ( seq -- ) drop print-vocab-tags ;
+
+ARTICLE: "vocab-tags" "Vocabulary Tags" { $vocab-tags } ;
+
+: $vocabs-with-tag ( seq -- )
+ first tagged values concat [ name>> ] map print-these-vocabs ;
+
+M: vocab-tag article-content ( vocab-tag -- content )
+ name>> { $vocabs-with-tag } swap suffix ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
ARTICLE: "vocab-index-all" "All Vocabularies" { $all-vocabs } ;
ARTICLE: "vocab-index-loaded" "Loaded Vocabularies" { $loaded-vocabs } ;
ARTICLE: "vocab-index-unloaded" "Unloaded Vocabularies" { $loaded-vocabs } ;
@@ -268,4 +302,9 @@ ARTICLE: "vocab-indices" "Vocabulary Indices"
{ $subsection "vocab-index-extra" }
{ $subsection "vocab-index-all" }
{ $subsection "vocab-index-loaded" }
- { $subsection "vocab-index-unloaded" } ;
\ No newline at end of file
+ { $subsection "vocab-index-unloaded" }
+ { $subsection "vocab-authors" }
+ { $subsection "vocab-tags" } ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
From 19036845bdeba1689f371f27a7d5fa9841ccf523 Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos
Date: Thu, 4 Sep 2008 09:07:53 -0500
Subject: [PATCH 10/23] vocab-browser: Display symbols separate from words
---
unfinished/vocab-browser/vocab-browser.factor | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/unfinished/vocab-browser/vocab-browser.factor b/unfinished/vocab-browser/vocab-browser.factor
index 3f2d2d7b9a..b1e719dbfe 100644
--- a/unfinished/vocab-browser/vocab-browser.factor
+++ b/unfinished/vocab-browser/vocab-browser.factor
@@ -74,7 +74,15 @@ IN: vocab-browser
[ pprint-class ] each
]
if
-
+
+ dup vocab words [ class? not ] filter [ symbol? ] filter natural-sort
+ dup empty?
+ [ drop ]
+ [
+ "Symbols" $heading nl
+ print-seq
+ ]
+ if
dup vocab words [ generic? ] filter natural-sort
dup empty?
@@ -92,6 +100,7 @@ IN: vocab-browser
[ builtin-class? not ] filter
[ tuple-class? not ] filter
[ generic? not ] filter
+ [ symbol? not ] filter
[ word? ] filter
natural-sort
[ [ ] [ word-effect-as-string ] bi 2array ] map
From fcd89748aaf182500498bde215ff519086736909 Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos
Date: Thu, 4 Sep 2008 10:50:22 -0500
Subject: [PATCH 11/23] vocab-browser: Improve predicate class listing
---
unfinished/vocab-browser/vocab-browser.factor | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/unfinished/vocab-browser/vocab-browser.factor b/unfinished/vocab-browser/vocab-browser.factor
index b1e719dbfe..cec2dd21e7 100644
--- a/unfinished/vocab-browser/vocab-browser.factor
+++ b/unfinished/vocab-browser/vocab-browser.factor
@@ -20,18 +20,6 @@ IN: vocab-browser
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-: pprint-class ( class -- )
- [
- \ TUPLE: pprint-word dup pprint-word
- dup superclass tuple eq?
- [ "<" text dup superclass pprint-word ] unless
- pprint-;
- ]
- with-pprint nl ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
: word-effect-as-string ( word -- string )
stack-effect dup
[ effect>string ]
@@ -71,7 +59,10 @@ IN: vocab-browser
[ drop ]
[
"Predicate Classes" $heading nl
- [ pprint-class ] each
+ ! [ pprint-class ] each
+ [ { [ ] [ superclass ] } 1arr ] map
+ { "CLASS" "SUPERCLASS" } prefix
+ print-table
]
if
From 24b449fb36ee7189087dc89fc2c0194b133a202a Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 12:36:47 -0500
Subject: [PATCH 12/23] only generate scaffold for interesting, ungenerated
words
---
basis/tools/scaffold/scaffold.factor | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 84636dc106..7d65d7ada0 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -150,10 +150,18 @@ ERROR: no-vocab vocab ;
: (help.) ( word -- )
[ help-header. ] [ $values. ] [ $description. ] tri ;
+: interesting-words ( vocab -- array )
+ words
+ [ [ "help" word-prop ] [ predicate? ] bi or not ] filter
+ natural-sort ;
+
+: interesting-words. ( vocab -- )
+ interesting-words [ (help.) nl ] each ;
+
: help-file-string ( str1 -- str2 )
[
[ "IN: " write print nl ]
- [ words natural-sort [ (help.) nl ] each ]
+ [ interesting-words. ]
[ "ARTICLE: " write unparse dup write bl print ";" print nl ]
[ "ABOUT: " write unparse print ] quad
] with-string-writer ;
@@ -206,10 +214,7 @@ PRIVATE>
] with-scaffold ;
: scaffold-undocumented ( string -- )
- dup words
- [ [ "help" word-prop ] [ predicate? ] bi or not ] filter
- natural-sort [ (help.) nl ] each
- link-vocab ;
+ [ interesting-words. ] [ link-vocab ] bi ;
: scaffold-vocab ( vocab-root string -- )
prepare-scaffold
From 446fa8bbfa84b4ed97018aa6a3dbce01d06bbd8f Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 12:37:50 -0500
Subject: [PATCH 13/23] add empty string to $description
---
basis/tools/scaffold/scaffold.factor | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 7d65d7ada0..69eac5dc15 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -142,7 +142,7 @@ ERROR: no-vocab vocab ;
: $description. ( word -- )
drop
- "{ $description } ;" print ;
+ "{ $description \"\" } ;" print ;
: help-header. ( word -- )
"HELP: " write name>> print ;
From ac364b077a592cf241ea5dc718591ce71f534c37 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 12:55:11 -0500
Subject: [PATCH 14/23] update graphics for new accessors and delegation
---
extra/graphics/authors.txt | 1 +
extra/graphics/bitmap/authors.txt | 1 +
extra/graphics/bitmap/bitmap.factor | 136 ++++++++++++++++++
extra/graphics/bitmap/test-images/1bit.bmp | Bin 0 -> 1662 bytes
extra/graphics/bitmap/test-images/rgb4bit.bmp | Bin 0 -> 5318 bytes
extra/graphics/bitmap/test-images/rgb8bit.bmp | Bin 0 -> 11078 bytes
.../bitmap/test-images/thiswayup24.bmp | Bin 0 -> 60054 bytes
extra/graphics/tags.txt | 1 +
extra/graphics/viewer/authors.txt | 1 +
extra/graphics/viewer/viewer.factor | 21 +++
10 files changed, 161 insertions(+)
create mode 100644 extra/graphics/authors.txt
create mode 100755 extra/graphics/bitmap/authors.txt
create mode 100755 extra/graphics/bitmap/bitmap.factor
create mode 100644 extra/graphics/bitmap/test-images/1bit.bmp
create mode 100644 extra/graphics/bitmap/test-images/rgb4bit.bmp
create mode 100644 extra/graphics/bitmap/test-images/rgb8bit.bmp
create mode 100644 extra/graphics/bitmap/test-images/thiswayup24.bmp
create mode 100644 extra/graphics/tags.txt
create mode 100755 extra/graphics/viewer/authors.txt
create mode 100644 extra/graphics/viewer/viewer.factor
diff --git a/extra/graphics/authors.txt b/extra/graphics/authors.txt
new file mode 100644
index 0000000000..7c1b2f2279
--- /dev/null
+++ b/extra/graphics/authors.txt
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/graphics/bitmap/authors.txt b/extra/graphics/bitmap/authors.txt
new file mode 100755
index 0000000000..7c1b2f2279
--- /dev/null
+++ b/extra/graphics/bitmap/authors.txt
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/graphics/bitmap/bitmap.factor b/extra/graphics/bitmap/bitmap.factor
new file mode 100755
index 0000000000..82fdc334cb
--- /dev/null
+++ b/extra/graphics/bitmap/bitmap.factor
@@ -0,0 +1,136 @@
+! Copyright (C) 2007 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: alien arrays byte-arrays combinators summary
+io.backend graphics.viewer io io.binary io.files kernel libc
+math math.functions namespaces opengl opengl.gl prettyprint
+sequences strings ui ui.gadgets.panes io.encodings.binary
+accessors ;
+IN: graphics.bitmap
+
+! Currently can only handle 24bit bitmaps.
+! Handles row-reversed bitmaps (their height is negative)
+
+TUPLE: bitmap magic size reserved offset header-length width
+ height planes bit-count compression size-image
+ x-pels y-pels color-used color-important rgb-quads color-index array ;
+
+: raw-bitmap>string ( str n -- str )
+ {
+ { 32 [ "32bit" throw ] }
+ { 24 [ ] }
+ { 16 [ "16bit" throw ] }
+ { 8 [ "8bit" throw ] }
+ { 4 [ "4bit" throw ] }
+ { 2 [ "2bit" throw ] }
+ { 1 [ "1bit" throw ] }
+ } case ;
+
+ERROR: bitmap-magic ;
+
+M: bitmap-magic summary
+ drop "First two bytes of bitmap stream must be 'BM'" ;
+
+: parse-file-header ( bitmap -- )
+ 2 read >string dup "BM" = [ bitmap-magic ] unless >>magic
+ 4 read le> >>size
+ 4 read le> >>reserved
+ 4 read le> >>offset drop ;
+
+: parse-bitmap-header ( bitmap -- )
+ 4 read le> >>header-length
+ 4 read le> >>width
+ 4 read le> >>height
+ 2 read le> >>planes
+ 2 read le> >>bit-count
+ 4 read le> >>compression
+ 4 read le> >>size-image
+ 4 read le> >>x-pels
+ 4 read le> >>y-pels
+ 4 read le> >>color-used
+ 4 read le> >>color-important drop ;
+
+: rgb-quads-length ( bitmap -- n )
+ [ offset>> 14 - ] keep header-length>> - ;
+
+: color-index-length ( bitmap -- n )
+ [ width>> ] keep [ planes>> * ] keep
+ [ bit-count>> * 31 + 32 /i 4 * ] keep
+ height>> abs * ;
+
+: parse-bitmap ( bitmap -- )
+ dup rgb-quads-length read >>rgb-quads
+ dup color-index-length read >>color-index drop ;
+
+: load-bitmap ( path -- bitmap )
+ normalize-path binary [
+ T{ bitmap } clone
+ dup parse-file-header
+ dup parse-bitmap-header
+ dup parse-bitmap
+ ] with-file-reader
+ dup color-index>> over bit-count>>
+ raw-bitmap>string >byte-array >>array ;
+
+: save-bitmap ( bitmap path -- )
+ binary [
+ "BM" write
+ dup array>> length 14 + 40 + 4 >le write
+ 0 4 >le write
+ 54 4 >le write
+
+ 40 4 >le write
+ {
+ [ width>> 4 >le write ]
+ [ height>> 4 >le write ]
+ [ planes>> 1 or 2 >le write ]
+ [ bit-count>> 24 or 2 >le write ]
+ [ compression>> 0 or 4 >le write ]
+ [ size-image>> 4 >le write ]
+ [ x-pels>> 4 >le write ]
+ [ y-pels>> 4 >le write ]
+ [ color-used>> 4 >le write ]
+ [ color-important>> 4 >le write ]
+ [ rgb-quads>> write ]
+ [ color-index>> write ]
+ } cleave
+ ] with-file-writer ;
+
+M: bitmap draw-image ( bitmap -- )
+ dup height>> 0 < [
+ 0 0 glRasterPos2i
+ 1.0 -1.0 glPixelZoom
+ ] [
+ 0 over height>> abs glRasterPos2i
+ 1.0 1.0 glPixelZoom
+ ] if
+ [ width>> ] keep
+ [
+ [ height>> abs ] keep
+ bit-count>> {
+ ! { 32 [ GL_BGRA GL_UNSIGNED_INT_8_8_8_8 ] } ! broken
+ { 24 [ GL_BGR GL_UNSIGNED_BYTE ] }
+ } case
+ ] keep array>> glDrawPixels ;
+
+M: bitmap width ( bitmap -- ) width>> ;
+M: bitmap height ( bitmap -- ) height>> ;
+
+: bitmap. ( path -- )
+ load-bitmap gadget. ;
+
+: bitmap-window ( path -- gadget )
+ load-bitmap [ "bitmap" open-window ] keep ;
+
+: test-bitmap24 ( -- )
+ "resource:extra/graphics/bitmap/test-images/thiswayup24.bmp" bitmap. ;
+
+: test-bitmap8 ( -- )
+ "resource:extra/graphics/bitmap/test-images/rgb8bit.bmp" bitmap. ;
+
+: test-bitmap4 ( -- )
+ "resource:extra/graphics/bitmap/test-images/rgb4bit.bmp" bitmap. ;
+
+: test-bitmap1 ( -- )
+ "resource:extra/graphics/bitmap/test-images/1bit.bmp" bitmap. ;
+
diff --git a/extra/graphics/bitmap/test-images/1bit.bmp b/extra/graphics/bitmap/test-images/1bit.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..2f244c1d058bfd63c99009e24e43db3d2af59902
GIT binary patch
literal 1662
zcmd6mu}&N@5QY~a(QcXY+PnZo8WyGJ9a2QJkP4yX)=xlQ0r3D)UI5Obx(-^kP>P00mA^
zwBUF^jlQ?E;2?IzW6rM6HrH!wQhyj)b6UoD@XeYt9ody`K1_Mt%?}f{KVbJy%jcAj
zt>KGpdF1)G8#sXx#Xjmy4aWdZ=sgF-W=L!giOF7nXWqQfqxQZB=n3}M&%h;db954z
z5E@tMx~mVf%2{3&6~$+BXh5o3M#kinNOWWu>rFlx|3%95W4uyouK-4#SClXoB~%*C^4(}0onQG*9L-9b-!uM&JH<>m6OjuQDiV1l8blvI&dpWsH&fqeed;%iU%z`!sV;|oL`;1cM@txn1q
zeNvtP$iOI5M`t`8&@TI<PT&zE=wk>n#+W#})qlnu6j
zqKlaxW~`Q2))-G*FH&~!a+~whBxMUv@;vdku#nh6UAzYFMb4TYyweT-0k9zwR(&q}
gI+mcb*Vx}V%YV4a?71qPKl;*mGj7Ahc<-2B0n`=D`~Uy|
literal 0
HcmV?d00001
diff --git a/extra/graphics/bitmap/test-images/rgb4bit.bmp b/extra/graphics/bitmap/test-images/rgb4bit.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..0c6f00d06c025f6947899450afd91ace50e5b57a
GIT binary patch
literal 5318
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 [ width ] keep height abs 2array ;
+
+M: graphics-gadget draw-gadget* ( gadget -- )
+ origin get [ image>> draw-image ] with-translation ;
+
+: ( bitmap -- gadget )
+ \ graphics-gadget new-gadget
+ swap >>image ;
From fcdb7727134df0d2fbf79a9be821026d150d3ca9 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 12:55:39 -0500
Subject: [PATCH 15/23] remove graphics from unmaintained
---
unmaintained/graphics/authors.txt | 1 -
unmaintained/graphics/bitmap/authors.txt | 1 -
unmaintained/graphics/bitmap/bitmap.factor | 134 ------------------
.../graphics/bitmap/test-images/1bit.bmp | Bin 1662 -> 0 bytes
.../graphics/bitmap/test-images/rgb4bit.bmp | Bin 5318 -> 0 bytes
.../graphics/bitmap/test-images/rgb8bit.bmp | Bin 11078 -> 0 bytes
.../bitmap/test-images/thiswayup24.bmp | Bin 60054 -> 0 bytes
unmaintained/graphics/tags.txt | 1 -
unmaintained/graphics/viewer/authors.txt | 1 -
unmaintained/graphics/viewer/viewer.factor | 26 ----
10 files changed, 164 deletions(-)
delete mode 100644 unmaintained/graphics/authors.txt
delete mode 100755 unmaintained/graphics/bitmap/authors.txt
delete mode 100755 unmaintained/graphics/bitmap/bitmap.factor
delete mode 100644 unmaintained/graphics/bitmap/test-images/1bit.bmp
delete mode 100644 unmaintained/graphics/bitmap/test-images/rgb4bit.bmp
delete mode 100644 unmaintained/graphics/bitmap/test-images/rgb8bit.bmp
delete mode 100644 unmaintained/graphics/bitmap/test-images/thiswayup24.bmp
delete mode 100644 unmaintained/graphics/tags.txt
delete mode 100755 unmaintained/graphics/viewer/authors.txt
delete mode 100644 unmaintained/graphics/viewer/viewer.factor
diff --git a/unmaintained/graphics/authors.txt b/unmaintained/graphics/authors.txt
deleted file mode 100644
index 7c1b2f2279..0000000000
--- a/unmaintained/graphics/authors.txt
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/unmaintained/graphics/bitmap/authors.txt b/unmaintained/graphics/bitmap/authors.txt
deleted file mode 100755
index 7c1b2f2279..0000000000
--- a/unmaintained/graphics/bitmap/authors.txt
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/unmaintained/graphics/bitmap/bitmap.factor b/unmaintained/graphics/bitmap/bitmap.factor
deleted file mode 100755
index d2ddad0ae3..0000000000
--- a/unmaintained/graphics/bitmap/bitmap.factor
+++ /dev/null
@@ -1,134 +0,0 @@
-! Copyright (C) 2007 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: alien arrays byte-arrays combinators summary
-io.backend graphics.viewer io io.binary io.files kernel libc
-math math.functions namespaces opengl opengl.gl prettyprint
-sequences strings ui ui.gadgets.panes io.encodings.binary ;
-IN: graphics.bitmap
-
-! Currently can only handle 24bit bitmaps.
-! Handles row-reversed bitmaps (their height is negative)
-
-TUPLE: bitmap magic size reserved offset header-length width
- height planes bit-count compression size-image
- x-pels y-pels color-used color-important rgb-quads color-index array ;
-
-: raw-bitmap>string ( str n -- str )
- {
- { 32 [ "32bit" throw ] }
- { 24 [ ] }
- { 16 [ "16bit" throw ] }
- { 8 [ "8bit" throw ] }
- { 4 [ "4bit" throw ] }
- { 2 [ "2bit" throw ] }
- { 1 [ "1bit" throw ] }
- } case ;
-
-ERROR: bitmap-magic ;
-
-M: bitmap-magic summary
- drop "First two bytes of bitmap stream must be 'BM'" ;
-
-: parse-file-header ( bitmap -- )
- 2 read >string dup "BM" = [ bitmap-magic ] unless
- over set-bitmap-magic
- 4 read le> over set-bitmap-size
- 4 read le> over set-bitmap-reserved
- 4 read le> swap set-bitmap-offset ;
-
-: parse-bitmap-header ( bitmap -- )
- 4 read le> over set-bitmap-header-length
- 4 read le> over set-bitmap-width
- 4 read le> over set-bitmap-height
- 2 read le> over set-bitmap-planes
- 2 read le> over set-bitmap-bit-count
- 4 read le> over set-bitmap-compression
- 4 read le> over set-bitmap-size-image
- 4 read le> over set-bitmap-x-pels
- 4 read le> over set-bitmap-y-pels
- 4 read le> over set-bitmap-color-used
- 4 read le> swap set-bitmap-color-important ;
-
-: rgb-quads-length ( bitmap -- n )
- [ bitmap-offset 14 - ] keep bitmap-header-length - ;
-
-: color-index-length ( bitmap -- n )
- [ bitmap-width ] keep [ bitmap-planes * ] keep
- [ bitmap-bit-count * 31 + 32 /i 4 * ] keep
- bitmap-height abs * ;
-
-: parse-bitmap ( bitmap -- )
- dup rgb-quads-length read over set-bitmap-rgb-quads
- dup color-index-length read swap set-bitmap-color-index ;
-
-: load-bitmap ( path -- bitmap )
- normalize-path binary [
- T{ bitmap } clone
- dup parse-file-header
- dup parse-bitmap-header
- dup parse-bitmap
- ] with-file-reader
- dup bitmap-color-index over bitmap-bit-count
- raw-bitmap>string >byte-array over set-bitmap-array ;
-
-: save-bitmap ( bitmap path -- )
- binary [
- "BM" write
- dup bitmap-array length 14 + 40 + 4 >le write
- 0 4 >le write
- 54 4 >le write
-
- 40 4 >le write
- dup bitmap-width 4 >le write
- dup bitmap-height 4 >le write
- dup bitmap-planes 1 or 2 >le write
- dup bitmap-bit-count 24 or 2 >le write
- dup bitmap-compression 0 or 4 >le write
- dup bitmap-size-image 4 >le write
- dup bitmap-x-pels 4 >le write
- dup bitmap-y-pels 4 >le write
- dup bitmap-color-used 4 >le write
- dup bitmap-color-important 4 >le write
- dup bitmap-rgb-quads write
- bitmap-color-index write
- ] with-file-writer ;
-
-M: bitmap draw-image ( bitmap -- )
- dup bitmap-height 0 < [
- 0 0 glRasterPos2i
- 1.0 -1.0 glPixelZoom
- ] [
- 0 over bitmap-height abs glRasterPos2i
- 1.0 1.0 glPixelZoom
- ] if
- [ bitmap-width ] keep
- [
- [ bitmap-height abs ] keep
- bitmap-bit-count {
- ! { 32 [ GL_BGRA GL_UNSIGNED_INT_8_8_8_8 ] } ! broken
- { 24 [ GL_BGR GL_UNSIGNED_BYTE ] }
- } case
- ] keep bitmap-array glDrawPixels ;
-
-M: bitmap width ( bitmap -- ) bitmap-width ;
-M: bitmap height ( bitmap -- ) bitmap-height ;
-
-: bitmap. ( path -- )
- load-bitmap gadget. ;
-
-: bitmap-window ( path -- gadget )
- load-bitmap [ "bitmap" open-window ] keep ;
-
-: test-bitmap24 ( -- )
- "resource:extra/graphics/bitmap/test-images/thiswayup24.bmp" bitmap. ;
-
-: test-bitmap8 ( -- )
- "resource:extra/graphics/bitmap/test-images/rgb8bit.bmp" bitmap. ;
-
-: test-bitmap4 ( -- )
- "resource:extra/graphics/bitmap/test-images/rgb4bit.bmp" bitmap. ;
-
-: test-bitmap1 ( -- )
- "resource:extra/graphics/bitmap/test-images/1bit.bmp" bitmap. ;
-
diff --git a/unmaintained/graphics/bitmap/test-images/1bit.bmp b/unmaintained/graphics/bitmap/test-images/1bit.bmp
deleted file mode 100644
index 2f244c1d058bfd63c99009e24e43db3d2af59902..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1662
zcmd6mu}&N@5QY~a(QcXY+PnZo8WyGJ9a2QJkP4yX)=xlQ0r3D)UI5Obx(-^kP>P00mA^
zwBUF^jlQ?E;2?IzW6rM6HrH!wQhyj)b6UoD@XeYt9ody`K1_Mt%?}f{KVbJy%jcAj
zt>KGpdF1)G8#sXx#Xjmy4aWdZ=sgF-W=L!giOF7nXWqQfqxQZB=n3}M&%h;db954z
z5E@tMx~mVf%2{3&6~$+BXh5o3M#kinNOWWu>rFlx|3%95W4uyouK-4#SClXoB~%*C^4(}0onQG*9L-9b-!uM&JH<>m6OjuQDiV1l8blvI&dpWsH&fqeed;%iU%z`!sV;|oL`;1cM@txn1q
zeNvtP$iOI5M`t`8&@TI<PT&zE=wk>n#+W#})qlnu6j
zqKlaxW~`Q2))-G*FH&~!a+~whBxMUv@;vdku#nh6UAzYFMb4TYyweT-0k9zwR(&q}
gI+mcb*Vx}V%YV4a?71qPKl;*mGj7Ahc<-2B0n`=D`~Uy|
diff --git a/unmaintained/graphics/bitmap/test-images/rgb4bit.bmp b/unmaintained/graphics/bitmap/test-images/rgb4bit.bmp
deleted file mode 100644
index 0c6f00d06c025f6947899450afd91ace50e5b57a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5318
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 ( bitmap -- gadget )
- \ graphics-gadget construct-gadget
- [ set-graphics-gadget-image ] keep ;
-
From ac8075f30e5abdbc2c026e3f78bf1e506d2398e2 Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 13:22:35 -0500
Subject: [PATCH 16/23] support 8bit bitmaps
---
extra/graphics/bitmap/bitmap.factor | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/extra/graphics/bitmap/bitmap.factor b/extra/graphics/bitmap/bitmap.factor
index 82fdc334cb..eff4542da4 100755
--- a/extra/graphics/bitmap/bitmap.factor
+++ b/extra/graphics/bitmap/bitmap.factor
@@ -20,7 +20,7 @@ TUPLE: bitmap magic size reserved offset header-length width
{ 32 [ "32bit" throw ] }
{ 24 [ ] }
{ 16 [ "16bit" throw ] }
- { 8 [ "8bit" throw ] }
+ { 8 [ ] }
{ 4 [ "4bit" throw ] }
{ 2 [ "2bit" throw ] }
{ 1 [ "1bit" throw ] }
@@ -110,6 +110,7 @@ M: bitmap draw-image ( bitmap -- )
bit-count>> {
! { 32 [ GL_BGRA GL_UNSIGNED_INT_8_8_8_8 ] } ! broken
{ 24 [ GL_BGR GL_UNSIGNED_BYTE ] }
+ { 8 [ GL_LUMINANCE GL_UNSIGNED_BYTE ] }
} case
] keep array>> glDrawPixels ;
From a5966269474ce20371970453f4e403e183aaa1e5 Mon Sep 17 00:00:00 2001
From: "U-SLAVA-DFB8FF805\\Slava"
Date: Thu, 4 Sep 2008 15:53:46 -0500
Subject: [PATCH 17/23] Fix dinput for recent slot renaming
---
basis/windows/dinput/constants/constants.factor | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/basis/windows/dinput/constants/constants.factor b/basis/windows/dinput/constants/constants.factor
index b918ec121b..6c55ff0e67 100755
--- a/basis/windows/dinput/constants/constants.factor
+++ b/basis/windows/dinput/constants/constants.factor
@@ -22,7 +22,7 @@ SYMBOLS:
: (offsetof) ( field struct -- offset )
[ (field-spec-of) offset>> ] [ drop 0 ] if* ;
: (sizeof) ( field struct -- size )
- [ (field-spec-of) class>> "[" split1 drop heap-size ] [ drop 1 ] if* ;
+ [ (field-spec-of) type>> "[" split1 drop heap-size ] [ drop 1 ] if* ;
: (flag) ( thing -- integer )
{
From 680e028ccbfa5eddad687ed277bdc9506cd59df4 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Thu, 4 Sep 2008 16:56:24 -0500
Subject: [PATCH 18/23] Remove blank line
---
core/vocabs/loader/loader.factor | 1 -
1 file changed, 1 deletion(-)
diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor
index 522e7d74c3..4677a7b5d7 100755
--- a/core/vocabs/loader/loader.factor
+++ b/core/vocabs/loader/loader.factor
@@ -57,7 +57,6 @@ SYMBOL: load-help?
t over set-vocab-source-loaded?
[ [ % ] [ call ] if-bootstrapping ] dip ;
-
: load-docs ( vocab -- vocab )
load-help? get [
f over set-vocab-docs-loaded?
From 95a4be3522ec7b5d9fce0fee619c40575e4c63dc Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Thu, 4 Sep 2008 16:56:41 -0500
Subject: [PATCH 19/23] Fix redirection
---
extra/http/client/client.factor | 2 +-
extra/http/http-tests.factor | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/extra/http/client/client.factor b/extra/http/client/client.factor
index 10b9206a51..ea1cfd9a4b 100755
--- a/extra/http/client/client.factor
+++ b/extra/http/client/client.factor
@@ -95,7 +95,7 @@ DEFER: (http-request)
SYMBOL: redirects
: redirect-url ( request url -- request )
- '[ , >url ensure-port derive-url ensure-port ] change-url ;
+ '[ , >url derive-url ensure-port ] change-url ;
: do-redirect ( response data -- response data )
over code>> 300 399 between? [
diff --git a/extra/http/http-tests.factor b/extra/http/http-tests.factor
index bbf8161dd7..3d0ac51e51 100755
--- a/extra/http/http-tests.factor
+++ b/extra/http/http-tests.factor
@@ -225,6 +225,28 @@ test-db [
"http://localhost:1237/quit" http-get nip
] unit-test
+! HTTP client redirect bug
+[ ] [
+ [
+
+ add-quit-action
+ [ "quit" ] >>display
+ "redirect" add-responder
+ main-responder set
+
+ test-httpd
+ ] with-scope
+] unit-test
+
+[ "Goodbye" ] [
+ "http://localhost:1237/redirect" http-get nip
+] unit-test
+
+
+[ ] [
+ [ "http://localhost:1237/quit" http-get 2drop ] ignore-errors
+] unit-test
+
! Dispatcher bugs
[ ] [
[
From ca1e6f1f3f10a03f903f986bebae7426bb18625e Mon Sep 17 00:00:00 2001
From: Doug Coleman
Date: Thu, 4 Sep 2008 17:31:22 -0500
Subject: [PATCH 20/23] Revert "support 8bit bitmaps"
This reverts commit ac8075f30e5abdbc2c026e3f78bf1e506d2398e2.
---
extra/graphics/bitmap/bitmap.factor | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/extra/graphics/bitmap/bitmap.factor b/extra/graphics/bitmap/bitmap.factor
index eff4542da4..82fdc334cb 100755
--- a/extra/graphics/bitmap/bitmap.factor
+++ b/extra/graphics/bitmap/bitmap.factor
@@ -20,7 +20,7 @@ TUPLE: bitmap magic size reserved offset header-length width
{ 32 [ "32bit" throw ] }
{ 24 [ ] }
{ 16 [ "16bit" throw ] }
- { 8 [ ] }
+ { 8 [ "8bit" throw ] }
{ 4 [ "4bit" throw ] }
{ 2 [ "2bit" throw ] }
{ 1 [ "1bit" throw ] }
@@ -110,7 +110,6 @@ M: bitmap draw-image ( bitmap -- )
bit-count>> {
! { 32 [ GL_BGRA GL_UNSIGNED_INT_8_8_8_8 ] } ! broken
{ 24 [ GL_BGR GL_UNSIGNED_BYTE ] }
- { 8 [ GL_LUMINANCE GL_UNSIGNED_BYTE ] }
} case
] keep array>> glDrawPixels ;
From 6e5e0f037299d1c72d8a9f2595def1ce88e0b991 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Thu, 4 Sep 2008 17:36:52 -0500
Subject: [PATCH 21/23] Add unit test
---
extra/farkup/farkup-tests.factor | 2 ++
1 file changed, 2 insertions(+)
diff --git a/extra/farkup/farkup-tests.factor b/extra/farkup/farkup-tests.factor
index 005e875d89..0f96934798 100644
--- a/extra/farkup/farkup-tests.factor
+++ b/extra/farkup/farkup-tests.factor
@@ -88,6 +88,8 @@ IN: farkup.tests
[ ] [ "[{}]" convert-farkup drop ] unit-test
+[ "hello\n
" ] [ "[{hello}]" convert-farkup ] unit-test
+
[
"Feature comparison:\n
a | Factor | Java | Lisp |
Coolness | Yes | No | No |
Badass | Yes | No | No |
Enterprise | Yes | Yes | No |
Kosher | Yes | No | Yes |
"
] [ "Feature comparison:\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
From 724fae53e9701ddf60c03da7a8b8cca7313ba288 Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Thu, 4 Sep 2008 18:15:13 -0500
Subject: [PATCH 22/23] Move web framework to basis
---
{extra => basis}/farkup/authors.txt | 0
{extra => basis}/farkup/farkup-docs.factor | 0
{extra => basis}/farkup/farkup-tests.factor | 0
{extra => basis}/farkup/farkup.factor | 0
{extra => basis}/farkup/summary.txt | 0
{extra => basis}/farkup/tags.txt | 0
{extra => basis}/furnace/actions/actions-tests.factor | 0
{extra => basis}/furnace/actions/actions.factor | 0
{extra => basis}/furnace/alloy/alloy.factor | 0
{extra => basis}/furnace/auth/auth-tests.factor | 0
{extra => basis}/furnace/auth/auth.factor | 0
{extra => basis}/furnace/auth/basic/basic.factor | 0
{extra => basis}/furnace/auth/boilerplate.xml | 0
.../auth/features/deactivate-user/deactivate-user.factor | 0
.../auth/features/edit-profile/edit-profile-tests.factor | 0
.../auth/features/edit-profile/edit-profile.factor | 0
.../furnace/auth/features/edit-profile/edit-profile.xml | 0
.../furnace/auth/features/recover-password/recover-1.xml | 0
.../furnace/auth/features/recover-password/recover-2.xml | 0
.../furnace/auth/features/recover-password/recover-3.xml | 0
.../furnace/auth/features/recover-password/recover-4.xml | 0
.../recover-password/recover-password-tests.factor | 0
.../features/recover-password/recover-password.factor | 0
.../furnace/auth/features/registration/register.xml | 0
.../auth/features/registration/registration-tests.factor | 0
.../auth/features/registration/registration.factor | 0
{extra => basis}/furnace/auth/login/login-tests.factor | 0
{extra => basis}/furnace/auth/login/login.factor | 0
{extra => basis}/furnace/auth/login/login.xml | 0
.../furnace/auth/login/permits/permits.factor | 0
.../furnace/auth/providers/assoc/assoc-tests.factor | 0
.../furnace/auth/providers/assoc/assoc.factor | 0
.../furnace/auth/providers/db/db-tests.factor | 0
{extra => basis}/furnace/auth/providers/db/db.factor | 0
{extra => basis}/furnace/auth/providers/null/null.factor | 0
{extra => basis}/furnace/auth/providers/providers.factor | 0
{extra => basis}/furnace/boilerplate/boilerplate.factor | 0
{extra => basis}/furnace/cache/cache.factor | 8 ++++----
.../furnace/conversations/conversations.factor | 0
{extra => basis}/furnace/db/db-tests.factor | 0
{extra => basis}/furnace/db/db.factor | 0
{extra => basis}/furnace/furnace-tests.factor | 0
{extra => basis}/furnace/furnace.factor | 0
{extra => basis}/furnace/json/json.factor | 0
{extra => basis}/furnace/redirection/redirection.factor | 0
{extra => basis}/furnace/referrer/referrer.factor | 0
{extra => basis}/furnace/scopes/scopes.factor | 0
{extra => basis}/furnace/sessions/authors.txt | 0
{extra => basis}/furnace/sessions/sessions-tests.factor | 0
{extra => basis}/furnace/sessions/sessions.factor | 0
{extra => basis}/furnace/syndication/syndication.factor | 0
{extra => basis}/furnace/utilities/utilities.factor | 0
{extra => basis}/globs/authors.txt | 0
{extra => basis}/globs/globs-tests.factor | 0
{extra => basis}/globs/globs.factor | 0
{extra => basis}/globs/summary.txt | 0
{extra => basis}/html/components/components-tests.factor | 0
{extra => basis}/html/components/components.factor | 0
{extra => basis}/html/elements/authors.txt | 0
{extra => basis}/html/elements/elements-tests.factor | 0
{extra => basis}/html/elements/elements.factor | 0
{extra => basis}/html/forms/forms-tests.factor | 0
{extra => basis}/html/forms/forms.factor | 0
{extra => basis}/html/parser/analyzer/analyzer.factor | 0
{extra => basis}/html/parser/analyzer/authors.txt | 0
{extra => basis}/html/parser/authors.txt | 0
{extra => basis}/html/parser/parser-tests.factor | 0
{extra => basis}/html/parser/parser.factor | 0
{extra => basis}/html/parser/printer/authors.txt | 0
{extra => basis}/html/parser/printer/printer.factor | 0
{extra => basis}/html/parser/utils/authors.txt | 0
{extra => basis}/html/parser/utils/utils-tests.factor | 0
{extra => basis}/html/parser/utils/utils.factor | 0
{extra => basis}/html/streams/authors.txt | 0
{extra => basis}/html/streams/streams-tests.factor | 0
{extra => basis}/html/streams/streams.factor | 0
{extra => basis}/html/streams/summary.txt | 0
{extra => basis}/html/streams/tags.txt | 0
{extra => basis}/html/templates/chloe/chloe-tests.factor | 0
{extra => basis}/html/templates/chloe/chloe.factor | 0
.../html/templates/chloe/syntax/syntax.factor | 0
{extra => basis}/html/templates/chloe/test/test1.xml | 0
{extra => basis}/html/templates/chloe/test/test10.xml | 0
{extra => basis}/html/templates/chloe/test/test11.xml | 0
{extra => basis}/html/templates/chloe/test/test12.xml | 0
{extra => basis}/html/templates/chloe/test/test2.xml | 0
{extra => basis}/html/templates/chloe/test/test3-aux.xml | 0
{extra => basis}/html/templates/chloe/test/test3.xml | 0
{extra => basis}/html/templates/chloe/test/test4.xml | 0
{extra => basis}/html/templates/chloe/test/test5.xml | 0
{extra => basis}/html/templates/chloe/test/test6.xml | 0
{extra => basis}/html/templates/chloe/test/test7.xml | 0
{extra => basis}/html/templates/chloe/test/test8.xml | 0
{extra => basis}/html/templates/chloe/test/test9.xml | 0
{extra => basis}/html/templates/fhtml/authors.txt | 0
{extra => basis}/html/templates/fhtml/fhtml-tests.factor | 0
{extra => basis}/html/templates/fhtml/fhtml.factor | 0
{extra => basis}/html/templates/fhtml/test/bug.fhtml | 0
{extra => basis}/html/templates/fhtml/test/bug.html | 0
{extra => basis}/html/templates/fhtml/test/example.fhtml | 0
{extra => basis}/html/templates/fhtml/test/example.html | 0
{extra => basis}/html/templates/fhtml/test/stack.fhtml | 0
{extra => basis}/html/templates/fhtml/test/stack.html | 0
{extra => basis}/html/templates/templates.factor | 0
{extra => basis}/http/authors.txt | 0
{extra => basis}/http/client/authors.txt | 0
{extra => basis}/http/client/client-tests.factor | 0
{extra => basis}/http/client/client.factor | 0
{extra => basis}/http/client/summary.txt | 0
{extra => basis}/http/client/tags.txt | 0
{extra => basis}/http/http-tests.factor | 0
{extra => basis}/http/http.factor | 0
{extra => basis}/http/parsers/parsers.factor | 0
{extra => basis}/http/server/authors.txt | 0
{extra => basis}/http/server/cgi/cgi.factor | 0
.../http/server/dispatchers/dispatchers-tests.factor | 0
.../http/server/dispatchers/dispatchers.factor | 0
{extra => basis}/http/server/filters/filters.factor | 0
.../http/server/redirection/redirection-tests.factor | 0
.../http/server/redirection/redirection.factor | 0
{extra => basis}/http/server/responses/responses.factor | 0
{extra => basis}/http/server/server-tests.factor | 0
{extra => basis}/http/server/server.factor | 0
{extra => basis}/http/server/static/static.factor | 0
{extra => basis}/http/server/summary.txt | 0
{extra => basis}/http/server/tags.txt | 0
{extra => basis}/http/summary.txt | 0
{extra => basis}/http/tags.txt | 0
{extra => basis}/http/test/foo.html | 0
{extra => basis}/json/authors.txt | 0
{extra => basis}/json/reader/authors.txt | 0
{extra => basis}/json/reader/reader-docs.factor | 0
{extra => basis}/json/reader/reader-tests.factor | 0
{extra => basis}/json/reader/reader.factor | 0
{extra => basis}/json/reader/summary.txt | 0
{extra => basis}/json/summary.txt | 0
{extra => basis}/json/writer/authors.txt | 0
{extra => basis}/json/writer/summary.txt | 0
{extra => basis}/json/writer/writer-docs.factor | 0
{extra => basis}/json/writer/writer.factor | 0
basis/openssl/test/errors.txt | 1 -
{extra => basis}/peg/ebnf/authors.txt | 0
{extra => basis}/peg/ebnf/ebnf-tests.factor | 0
{extra => basis}/peg/ebnf/ebnf.factor | 0
{extra => basis}/peg/ebnf/summary.txt | 0
{extra => basis}/peg/ebnf/tags.txt | 0
{extra => basis}/peg/peg.factor | 0
{extra => basis}/syndication/authors.txt | 0
{extra => basis}/syndication/readme.txt | 0
{extra => basis}/syndication/summary.txt | 0
{extra => basis}/syndication/syndication-tests.factor | 0
{extra => basis}/syndication/syndication.factor | 0
{extra => basis}/syndication/tags.txt | 0
{extra => basis}/syndication/test/atom.xml | 0
{extra => basis}/syndication/test/rss1.xml | 0
{extra => basis}/xmode/README.txt | 0
{extra => basis}/xmode/authors.txt | 0
{extra => basis}/xmode/catalog/authors.txt | 0
{extra => basis}/xmode/catalog/catalog-tests.factor | 0
{extra => basis}/xmode/catalog/catalog.factor | 0
{extra => basis}/xmode/code2html/authors.txt | 0
{extra => basis}/xmode/code2html/code2html.factor | 0
.../xmode/code2html/responder/responder.factor | 0
{extra => basis}/xmode/code2html/stylesheet.css | 0
{extra => basis}/xmode/keyword-map/authors.txt | 0
.../xmode/keyword-map/keyword-map-tests.factor | 0
{extra => basis}/xmode/keyword-map/keyword-map.factor | 0
{extra => basis}/xmode/loader/authors.txt | 0
{extra => basis}/xmode/loader/loader.factor | 0
{extra => basis}/xmode/loader/syntax/authors.txt | 0
{extra => basis}/xmode/loader/syntax/syntax.factor | 0
{extra => basis}/xmode/marker/authors.txt | 0
{extra => basis}/xmode/marker/context/authors.txt | 0
{extra => basis}/xmode/marker/context/context.factor | 0
{extra => basis}/xmode/marker/marker-tests.factor | 0
{extra => basis}/xmode/marker/marker.factor | 0
{extra => basis}/xmode/marker/state/authors.txt | 0
{extra => basis}/xmode/marker/state/state.factor | 0
{extra => basis}/xmode/modes/actionscript.xml | 0
{extra => basis}/xmode/modes/ada95.xml | 0
{extra => basis}/xmode/modes/antlr.xml | 0
{extra => basis}/xmode/modes/apacheconf.xml | 0
{extra => basis}/xmode/modes/apdl.xml | 0
{extra => basis}/xmode/modes/applescript.xml | 0
{extra => basis}/xmode/modes/asp.xml | 0
{extra => basis}/xmode/modes/aspect-j.xml | 0
{extra => basis}/xmode/modes/assembly-m68k.xml | 0
{extra => basis}/xmode/modes/assembly-macro32.xml | 0
{extra => basis}/xmode/modes/assembly-mcs51.xml | 0
{extra => basis}/xmode/modes/assembly-parrot.xml | 0
{extra => basis}/xmode/modes/assembly-r2000.xml | 0
{extra => basis}/xmode/modes/assembly-x86.xml | 0
{extra => basis}/xmode/modes/awk.xml | 0
{extra => basis}/xmode/modes/b.xml | 0
{extra => basis}/xmode/modes/batch.xml | 0
{extra => basis}/xmode/modes/bbj.xml | 0
{extra => basis}/xmode/modes/bcel.xml | 0
{extra => basis}/xmode/modes/bibtex.xml | 0
{extra => basis}/xmode/modes/c.xml | 0
{extra => basis}/xmode/modes/catalog | 0
{extra => basis}/xmode/modes/chill.xml | 0
{extra => basis}/xmode/modes/cil.xml | 0
{extra => basis}/xmode/modes/clips.xml | 0
{extra => basis}/xmode/modes/cobol.xml | 0
{extra => basis}/xmode/modes/coldfusion.xml | 0
{extra => basis}/xmode/modes/cplusplus.xml | 0
{extra => basis}/xmode/modes/csharp.xml | 0
{extra => basis}/xmode/modes/css.xml | 0
{extra => basis}/xmode/modes/csv.xml | 0
{extra => basis}/xmode/modes/cvs-commit.xml | 0
{extra => basis}/xmode/modes/d.xml | 0
{extra => basis}/xmode/modes/django.xml | 0
{extra => basis}/xmode/modes/doxygen.xml | 0
{extra => basis}/xmode/modes/dsssl.xml | 0
{extra => basis}/xmode/modes/eiffel.xml | 0
{extra => basis}/xmode/modes/embperl.xml | 0
{extra => basis}/xmode/modes/erlang.xml | 0
{extra => basis}/xmode/modes/factor.xml | 0
{extra => basis}/xmode/modes/fhtml.xml | 0
{extra => basis}/xmode/modes/forth.xml | 0
{extra => basis}/xmode/modes/fortran.xml | 0
{extra => basis}/xmode/modes/foxpro.xml | 0
{extra => basis}/xmode/modes/freemarker.xml | 0
{extra => basis}/xmode/modes/gettext.xml | 0
{extra => basis}/xmode/modes/gnuplot.xml | 0
{extra => basis}/xmode/modes/groovy.xml | 0
{extra => basis}/xmode/modes/haskell.xml | 0
{extra => basis}/xmode/modes/hex.xml | 0
{extra => basis}/xmode/modes/hlsl.xml | 0
{extra => basis}/xmode/modes/htaccess.xml | 0
{extra => basis}/xmode/modes/html.xml | 0
{extra => basis}/xmode/modes/i4gl.xml | 0
{extra => basis}/xmode/modes/icon.xml | 0
{extra => basis}/xmode/modes/idl.xml | 0
{extra => basis}/xmode/modes/inform.xml | 0
{extra => basis}/xmode/modes/ini.xml | 0
{extra => basis}/xmode/modes/inno-setup.xml | 0
{extra => basis}/xmode/modes/interlis.xml | 0
{extra => basis}/xmode/modes/io.xml | 0
{extra => basis}/xmode/modes/java.xml | 0
{extra => basis}/xmode/modes/javacc.xml | 0
{extra => basis}/xmode/modes/javascript.xml | 0
{extra => basis}/xmode/modes/jcl.xml | 0
{extra => basis}/xmode/modes/jhtml.xml | 0
{extra => basis}/xmode/modes/jmk.xml | 0
{extra => basis}/xmode/modes/jsp.xml | 0
{extra => basis}/xmode/modes/latex.xml | 0
{extra => basis}/xmode/modes/lilypond.xml | 0
{extra => basis}/xmode/modes/lisp.xml | 0
{extra => basis}/xmode/modes/literate-haskell.xml | 0
{extra => basis}/xmode/modes/lotos.xml | 0
{extra => basis}/xmode/modes/lua.xml | 0
{extra => basis}/xmode/modes/mail.xml | 0
{extra => basis}/xmode/modes/makefile.xml | 0
{extra => basis}/xmode/modes/maple.xml | 0
{extra => basis}/xmode/modes/ml.xml | 0
{extra => basis}/xmode/modes/modula3.xml | 0
{extra => basis}/xmode/modes/moin.xml | 0
{extra => basis}/xmode/modes/mqsc.xml | 0
{extra => basis}/xmode/modes/myghty.xml | 0
{extra => basis}/xmode/modes/mysql.xml | 0
{extra => basis}/xmode/modes/netrexx.xml | 0
{extra => basis}/xmode/modes/nqc.xml | 0
{extra => basis}/xmode/modes/nsis2.xml | 0
{extra => basis}/xmode/modes/objective-c.xml | 0
{extra => basis}/xmode/modes/objectrexx.xml | 0
{extra => basis}/xmode/modes/occam.xml | 0
{extra => basis}/xmode/modes/omnimark.xml | 0
{extra => basis}/xmode/modes/pascal.xml | 0
{extra => basis}/xmode/modes/patch.xml | 0
{extra => basis}/xmode/modes/perl.xml | 0
{extra => basis}/xmode/modes/php.xml | 0
{extra => basis}/xmode/modes/pike.xml | 0
{extra => basis}/xmode/modes/pl-sql.xml | 0
{extra => basis}/xmode/modes/pl1.xml | 0
{extra => basis}/xmode/modes/pop11.xml | 0
{extra => basis}/xmode/modes/postscript.xml | 0
{extra => basis}/xmode/modes/povray.xml | 0
{extra => basis}/xmode/modes/powerdynamo.xml | 0
{extra => basis}/xmode/modes/progress.xml | 0
{extra => basis}/xmode/modes/prolog.xml | 0
{extra => basis}/xmode/modes/props.xml | 0
{extra => basis}/xmode/modes/psp.xml | 0
{extra => basis}/xmode/modes/ptl.xml | 0
{extra => basis}/xmode/modes/pvwave.xml | 0
{extra => basis}/xmode/modes/pyrex.xml | 0
{extra => basis}/xmode/modes/python.xml | 0
{extra => basis}/xmode/modes/quake.xml | 0
{extra => basis}/xmode/modes/rcp.xml | 0
{extra => basis}/xmode/modes/rd.xml | 0
{extra => basis}/xmode/modes/rebol.xml | 0
{extra => basis}/xmode/modes/redcode.xml | 0
{extra => basis}/xmode/modes/relax-ng-compact.xml | 0
{extra => basis}/xmode/modes/rest.xml | 0
{extra => basis}/xmode/modes/rfc.xml | 0
{extra => basis}/xmode/modes/rhtml.xml | 0
{extra => basis}/xmode/modes/rib.xml | 0
{extra => basis}/xmode/modes/rpmspec.xml | 0
{extra => basis}/xmode/modes/rtf.xml | 0
{extra => basis}/xmode/modes/ruby.xml | 0
{extra => basis}/xmode/modes/rview.xml | 0
{extra => basis}/xmode/modes/sas.xml | 0
{extra => basis}/xmode/modes/scheme.xml | 0
{extra => basis}/xmode/modes/sdl_pr.xml | 0
{extra => basis}/xmode/modes/sgml.xml | 0
{extra => basis}/xmode/modes/shellscript.xml | 0
{extra => basis}/xmode/modes/shtml.xml | 0
{extra => basis}/xmode/modes/slate.xml | 0
{extra => basis}/xmode/modes/smalltalk.xml | 0
{extra => basis}/xmode/modes/smi-mib.xml | 0
{extra => basis}/xmode/modes/splus.xml | 0
{extra => basis}/xmode/modes/sql-loader.xml | 0
{extra => basis}/xmode/modes/sqr.xml | 0
{extra => basis}/xmode/modes/squidconf.xml | 0
{extra => basis}/xmode/modes/ssharp.xml | 0
{extra => basis}/xmode/modes/svn-commit.xml | 0
{extra => basis}/xmode/modes/swig.xml | 0
{extra => basis}/xmode/modes/tcl.xml | 0
{extra => basis}/xmode/modes/tex.xml | 0
{extra => basis}/xmode/modes/texinfo.xml | 0
{extra => basis}/xmode/modes/text.xml | 0
{extra => basis}/xmode/modes/tpl.xml | 0
{extra => basis}/xmode/modes/tsql.xml | 0
{extra => basis}/xmode/modes/tthtml.xml | 0
{extra => basis}/xmode/modes/twiki.xml | 0
{extra => basis}/xmode/modes/typoscript.xml | 0
{extra => basis}/xmode/modes/uscript.xml | 0
{extra => basis}/xmode/modes/vbscript.xml | 0
{extra => basis}/xmode/modes/velocity.xml | 0
{extra => basis}/xmode/modes/verilog.xml | 0
{extra => basis}/xmode/modes/vhdl.xml | 0
{extra => basis}/xmode/modes/xml.xml | 0
{extra => basis}/xmode/modes/xq.xml | 0
{extra => basis}/xmode/modes/xsl.xml | 0
{extra => basis}/xmode/modes/zpt.xml | 0
{extra => basis}/xmode/rules/authors.txt | 0
{extra => basis}/xmode/rules/rules-tests.factor | 0
{extra => basis}/xmode/rules/rules.factor | 0
{extra => basis}/xmode/summary.txt | 0
{extra => basis}/xmode/tokens/authors.txt | 0
{extra => basis}/xmode/tokens/tokens.factor | 0
{extra => basis}/xmode/utilities/authors.txt | 0
{extra => basis}/xmode/utilities/test.xml | 0
{extra => basis}/xmode/utilities/utilities-tests.factor | 0
{extra => basis}/xmode/utilities/utilities.factor | 0
{extra => basis}/xmode/xmode.dtd | 0
346 files changed, 4 insertions(+), 5 deletions(-)
rename {extra => basis}/farkup/authors.txt (100%)
rename {extra => basis}/farkup/farkup-docs.factor (100%)
rename {extra => basis}/farkup/farkup-tests.factor (100%)
rename {extra => basis}/farkup/farkup.factor (100%)
rename {extra => basis}/farkup/summary.txt (100%)
rename {extra => basis}/farkup/tags.txt (100%)
rename {extra => basis}/furnace/actions/actions-tests.factor (100%)
rename {extra => basis}/furnace/actions/actions.factor (100%)
rename {extra => basis}/furnace/alloy/alloy.factor (100%)
rename {extra => basis}/furnace/auth/auth-tests.factor (100%)
rename {extra => basis}/furnace/auth/auth.factor (100%)
rename {extra => basis}/furnace/auth/basic/basic.factor (100%)
rename {extra => basis}/furnace/auth/boilerplate.xml (100%)
rename {extra => basis}/furnace/auth/features/deactivate-user/deactivate-user.factor (100%)
rename {extra => basis}/furnace/auth/features/edit-profile/edit-profile-tests.factor (100%)
rename {extra => basis}/furnace/auth/features/edit-profile/edit-profile.factor (100%)
rename {extra => basis}/furnace/auth/features/edit-profile/edit-profile.xml (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-1.xml (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-2.xml (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-3.xml (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-4.xml (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-password-tests.factor (100%)
rename {extra => basis}/furnace/auth/features/recover-password/recover-password.factor (100%)
rename {extra => basis}/furnace/auth/features/registration/register.xml (100%)
rename {extra => basis}/furnace/auth/features/registration/registration-tests.factor (100%)
rename {extra => basis}/furnace/auth/features/registration/registration.factor (100%)
rename {extra => basis}/furnace/auth/login/login-tests.factor (100%)
rename {extra => basis}/furnace/auth/login/login.factor (100%)
rename {extra => basis}/furnace/auth/login/login.xml (100%)
rename {extra => basis}/furnace/auth/login/permits/permits.factor (100%)
rename {extra => basis}/furnace/auth/providers/assoc/assoc-tests.factor (100%)
rename {extra => basis}/furnace/auth/providers/assoc/assoc.factor (100%)
rename {extra => basis}/furnace/auth/providers/db/db-tests.factor (100%)
rename {extra => basis}/furnace/auth/providers/db/db.factor (100%)
rename {extra => basis}/furnace/auth/providers/null/null.factor (100%)
rename {extra => basis}/furnace/auth/providers/providers.factor (100%)
rename {extra => basis}/furnace/boilerplate/boilerplate.factor (100%)
rename {extra => basis}/furnace/cache/cache.factor (81%)
rename {extra => basis}/furnace/conversations/conversations.factor (100%)
rename {extra => basis}/furnace/db/db-tests.factor (100%)
rename {extra => basis}/furnace/db/db.factor (100%)
rename {extra => basis}/furnace/furnace-tests.factor (100%)
rename {extra => basis}/furnace/furnace.factor (100%)
rename {extra => basis}/furnace/json/json.factor (100%)
rename {extra => basis}/furnace/redirection/redirection.factor (100%)
rename {extra => basis}/furnace/referrer/referrer.factor (100%)
rename {extra => basis}/furnace/scopes/scopes.factor (100%)
rename {extra => basis}/furnace/sessions/authors.txt (100%)
rename {extra => basis}/furnace/sessions/sessions-tests.factor (100%)
rename {extra => basis}/furnace/sessions/sessions.factor (100%)
rename {extra => basis}/furnace/syndication/syndication.factor (100%)
rename {extra => basis}/furnace/utilities/utilities.factor (100%)
rename {extra => basis}/globs/authors.txt (100%)
rename {extra => basis}/globs/globs-tests.factor (100%)
rename {extra => basis}/globs/globs.factor (100%)
rename {extra => basis}/globs/summary.txt (100%)
rename {extra => basis}/html/components/components-tests.factor (100%)
rename {extra => basis}/html/components/components.factor (100%)
rename {extra => basis}/html/elements/authors.txt (100%)
rename {extra => basis}/html/elements/elements-tests.factor (100%)
rename {extra => basis}/html/elements/elements.factor (100%)
rename {extra => basis}/html/forms/forms-tests.factor (100%)
rename {extra => basis}/html/forms/forms.factor (100%)
rename {extra => basis}/html/parser/analyzer/analyzer.factor (100%)
rename {extra => basis}/html/parser/analyzer/authors.txt (100%)
rename {extra => basis}/html/parser/authors.txt (100%)
rename {extra => basis}/html/parser/parser-tests.factor (100%)
rename {extra => basis}/html/parser/parser.factor (100%)
rename {extra => basis}/html/parser/printer/authors.txt (100%)
rename {extra => basis}/html/parser/printer/printer.factor (100%)
rename {extra => basis}/html/parser/utils/authors.txt (100%)
rename {extra => basis}/html/parser/utils/utils-tests.factor (100%)
rename {extra => basis}/html/parser/utils/utils.factor (100%)
rename {extra => basis}/html/streams/authors.txt (100%)
rename {extra => basis}/html/streams/streams-tests.factor (100%)
rename {extra => basis}/html/streams/streams.factor (100%)
rename {extra => basis}/html/streams/summary.txt (100%)
rename {extra => basis}/html/streams/tags.txt (100%)
rename {extra => basis}/html/templates/chloe/chloe-tests.factor (100%)
rename {extra => basis}/html/templates/chloe/chloe.factor (100%)
rename {extra => basis}/html/templates/chloe/syntax/syntax.factor (100%)
rename {extra => basis}/html/templates/chloe/test/test1.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test10.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test11.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test12.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test2.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test3-aux.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test3.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test4.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test5.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test6.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test7.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test8.xml (100%)
rename {extra => basis}/html/templates/chloe/test/test9.xml (100%)
rename {extra => basis}/html/templates/fhtml/authors.txt (100%)
rename {extra => basis}/html/templates/fhtml/fhtml-tests.factor (100%)
rename {extra => basis}/html/templates/fhtml/fhtml.factor (100%)
rename {extra => basis}/html/templates/fhtml/test/bug.fhtml (100%)
rename {extra => basis}/html/templates/fhtml/test/bug.html (100%)
rename {extra => basis}/html/templates/fhtml/test/example.fhtml (100%)
rename {extra => basis}/html/templates/fhtml/test/example.html (100%)
rename {extra => basis}/html/templates/fhtml/test/stack.fhtml (100%)
rename {extra => basis}/html/templates/fhtml/test/stack.html (100%)
rename {extra => basis}/html/templates/templates.factor (100%)
rename {extra => basis}/http/authors.txt (100%)
rename {extra => basis}/http/client/authors.txt (100%)
rename {extra => basis}/http/client/client-tests.factor (100%)
rename {extra => basis}/http/client/client.factor (100%)
rename {extra => basis}/http/client/summary.txt (100%)
rename {extra => basis}/http/client/tags.txt (100%)
rename {extra => basis}/http/http-tests.factor (100%)
rename {extra => basis}/http/http.factor (100%)
rename {extra => basis}/http/parsers/parsers.factor (100%)
rename {extra => basis}/http/server/authors.txt (100%)
rename {extra => basis}/http/server/cgi/cgi.factor (100%)
rename {extra => basis}/http/server/dispatchers/dispatchers-tests.factor (100%)
rename {extra => basis}/http/server/dispatchers/dispatchers.factor (100%)
rename {extra => basis}/http/server/filters/filters.factor (100%)
rename {extra => basis}/http/server/redirection/redirection-tests.factor (100%)
rename {extra => basis}/http/server/redirection/redirection.factor (100%)
rename {extra => basis}/http/server/responses/responses.factor (100%)
rename {extra => basis}/http/server/server-tests.factor (100%)
rename {extra => basis}/http/server/server.factor (100%)
rename {extra => basis}/http/server/static/static.factor (100%)
rename {extra => basis}/http/server/summary.txt (100%)
rename {extra => basis}/http/server/tags.txt (100%)
rename {extra => basis}/http/summary.txt (100%)
rename {extra => basis}/http/tags.txt (100%)
rename {extra => basis}/http/test/foo.html (100%)
rename {extra => basis}/json/authors.txt (100%)
rename {extra => basis}/json/reader/authors.txt (100%)
rename {extra => basis}/json/reader/reader-docs.factor (100%)
rename {extra => basis}/json/reader/reader-tests.factor (100%)
rename {extra => basis}/json/reader/reader.factor (100%)
rename {extra => basis}/json/reader/summary.txt (100%)
rename {extra => basis}/json/summary.txt (100%)
rename {extra => basis}/json/writer/authors.txt (100%)
rename {extra => basis}/json/writer/summary.txt (100%)
rename {extra => basis}/json/writer/writer-docs.factor (100%)
rename {extra => basis}/json/writer/writer.factor (100%)
delete mode 100644 basis/openssl/test/errors.txt
rename {extra => basis}/peg/ebnf/authors.txt (100%)
rename {extra => basis}/peg/ebnf/ebnf-tests.factor (100%)
rename {extra => basis}/peg/ebnf/ebnf.factor (100%)
rename {extra => basis}/peg/ebnf/summary.txt (100%)
rename {extra => basis}/peg/ebnf/tags.txt (100%)
rename {extra => basis}/peg/peg.factor (100%)
rename {extra => basis}/syndication/authors.txt (100%)
rename {extra => basis}/syndication/readme.txt (100%)
rename {extra => basis}/syndication/summary.txt (100%)
rename {extra => basis}/syndication/syndication-tests.factor (100%)
rename {extra => basis}/syndication/syndication.factor (100%)
rename {extra => basis}/syndication/tags.txt (100%)
rename {extra => basis}/syndication/test/atom.xml (100%)
rename {extra => basis}/syndication/test/rss1.xml (100%)
rename {extra => basis}/xmode/README.txt (100%)
rename {extra => basis}/xmode/authors.txt (100%)
rename {extra => basis}/xmode/catalog/authors.txt (100%)
rename {extra => basis}/xmode/catalog/catalog-tests.factor (100%)
rename {extra => basis}/xmode/catalog/catalog.factor (100%)
rename {extra => basis}/xmode/code2html/authors.txt (100%)
rename {extra => basis}/xmode/code2html/code2html.factor (100%)
rename {extra => basis}/xmode/code2html/responder/responder.factor (100%)
rename {extra => basis}/xmode/code2html/stylesheet.css (100%)
rename {extra => basis}/xmode/keyword-map/authors.txt (100%)
rename {extra => basis}/xmode/keyword-map/keyword-map-tests.factor (100%)
rename {extra => basis}/xmode/keyword-map/keyword-map.factor (100%)
rename {extra => basis}/xmode/loader/authors.txt (100%)
rename {extra => basis}/xmode/loader/loader.factor (100%)
rename {extra => basis}/xmode/loader/syntax/authors.txt (100%)
rename {extra => basis}/xmode/loader/syntax/syntax.factor (100%)
rename {extra => basis}/xmode/marker/authors.txt (100%)
rename {extra => basis}/xmode/marker/context/authors.txt (100%)
rename {extra => basis}/xmode/marker/context/context.factor (100%)
rename {extra => basis}/xmode/marker/marker-tests.factor (100%)
rename {extra => basis}/xmode/marker/marker.factor (100%)
rename {extra => basis}/xmode/marker/state/authors.txt (100%)
rename {extra => basis}/xmode/marker/state/state.factor (100%)
rename {extra => basis}/xmode/modes/actionscript.xml (100%)
rename {extra => basis}/xmode/modes/ada95.xml (100%)
rename {extra => basis}/xmode/modes/antlr.xml (100%)
rename {extra => basis}/xmode/modes/apacheconf.xml (100%)
rename {extra => basis}/xmode/modes/apdl.xml (100%)
rename {extra => basis}/xmode/modes/applescript.xml (100%)
rename {extra => basis}/xmode/modes/asp.xml (100%)
rename {extra => basis}/xmode/modes/aspect-j.xml (100%)
rename {extra => basis}/xmode/modes/assembly-m68k.xml (100%)
rename {extra => basis}/xmode/modes/assembly-macro32.xml (100%)
rename {extra => basis}/xmode/modes/assembly-mcs51.xml (100%)
rename {extra => basis}/xmode/modes/assembly-parrot.xml (100%)
rename {extra => basis}/xmode/modes/assembly-r2000.xml (100%)
rename {extra => basis}/xmode/modes/assembly-x86.xml (100%)
rename {extra => basis}/xmode/modes/awk.xml (100%)
rename {extra => basis}/xmode/modes/b.xml (100%)
rename {extra => basis}/xmode/modes/batch.xml (100%)
rename {extra => basis}/xmode/modes/bbj.xml (100%)
rename {extra => basis}/xmode/modes/bcel.xml (100%)
rename {extra => basis}/xmode/modes/bibtex.xml (100%)
rename {extra => basis}/xmode/modes/c.xml (100%)
rename {extra => basis}/xmode/modes/catalog (100%)
rename {extra => basis}/xmode/modes/chill.xml (100%)
rename {extra => basis}/xmode/modes/cil.xml (100%)
rename {extra => basis}/xmode/modes/clips.xml (100%)
rename {extra => basis}/xmode/modes/cobol.xml (100%)
rename {extra => basis}/xmode/modes/coldfusion.xml (100%)
rename {extra => basis}/xmode/modes/cplusplus.xml (100%)
rename {extra => basis}/xmode/modes/csharp.xml (100%)
rename {extra => basis}/xmode/modes/css.xml (100%)
rename {extra => basis}/xmode/modes/csv.xml (100%)
rename {extra => basis}/xmode/modes/cvs-commit.xml (100%)
rename {extra => basis}/xmode/modes/d.xml (100%)
rename {extra => basis}/xmode/modes/django.xml (100%)
rename {extra => basis}/xmode/modes/doxygen.xml (100%)
rename {extra => basis}/xmode/modes/dsssl.xml (100%)
rename {extra => basis}/xmode/modes/eiffel.xml (100%)
rename {extra => basis}/xmode/modes/embperl.xml (100%)
rename {extra => basis}/xmode/modes/erlang.xml (100%)
rename {extra => basis}/xmode/modes/factor.xml (100%)
rename {extra => basis}/xmode/modes/fhtml.xml (100%)
rename {extra => basis}/xmode/modes/forth.xml (100%)
rename {extra => basis}/xmode/modes/fortran.xml (100%)
rename {extra => basis}/xmode/modes/foxpro.xml (100%)
rename {extra => basis}/xmode/modes/freemarker.xml (100%)
rename {extra => basis}/xmode/modes/gettext.xml (100%)
rename {extra => basis}/xmode/modes/gnuplot.xml (100%)
rename {extra => basis}/xmode/modes/groovy.xml (100%)
rename {extra => basis}/xmode/modes/haskell.xml (100%)
rename {extra => basis}/xmode/modes/hex.xml (100%)
rename {extra => basis}/xmode/modes/hlsl.xml (100%)
rename {extra => basis}/xmode/modes/htaccess.xml (100%)
rename {extra => basis}/xmode/modes/html.xml (100%)
rename {extra => basis}/xmode/modes/i4gl.xml (100%)
rename {extra => basis}/xmode/modes/icon.xml (100%)
rename {extra => basis}/xmode/modes/idl.xml (100%)
rename {extra => basis}/xmode/modes/inform.xml (100%)
rename {extra => basis}/xmode/modes/ini.xml (100%)
rename {extra => basis}/xmode/modes/inno-setup.xml (100%)
rename {extra => basis}/xmode/modes/interlis.xml (100%)
rename {extra => basis}/xmode/modes/io.xml (100%)
rename {extra => basis}/xmode/modes/java.xml (100%)
rename {extra => basis}/xmode/modes/javacc.xml (100%)
rename {extra => basis}/xmode/modes/javascript.xml (100%)
rename {extra => basis}/xmode/modes/jcl.xml (100%)
rename {extra => basis}/xmode/modes/jhtml.xml (100%)
rename {extra => basis}/xmode/modes/jmk.xml (100%)
rename {extra => basis}/xmode/modes/jsp.xml (100%)
rename {extra => basis}/xmode/modes/latex.xml (100%)
rename {extra => basis}/xmode/modes/lilypond.xml (100%)
rename {extra => basis}/xmode/modes/lisp.xml (100%)
rename {extra => basis}/xmode/modes/literate-haskell.xml (100%)
rename {extra => basis}/xmode/modes/lotos.xml (100%)
rename {extra => basis}/xmode/modes/lua.xml (100%)
rename {extra => basis}/xmode/modes/mail.xml (100%)
rename {extra => basis}/xmode/modes/makefile.xml (100%)
rename {extra => basis}/xmode/modes/maple.xml (100%)
rename {extra => basis}/xmode/modes/ml.xml (100%)
rename {extra => basis}/xmode/modes/modula3.xml (100%)
rename {extra => basis}/xmode/modes/moin.xml (100%)
rename {extra => basis}/xmode/modes/mqsc.xml (100%)
rename {extra => basis}/xmode/modes/myghty.xml (100%)
rename {extra => basis}/xmode/modes/mysql.xml (100%)
rename {extra => basis}/xmode/modes/netrexx.xml (100%)
rename {extra => basis}/xmode/modes/nqc.xml (100%)
rename {extra => basis}/xmode/modes/nsis2.xml (100%)
rename {extra => basis}/xmode/modes/objective-c.xml (100%)
rename {extra => basis}/xmode/modes/objectrexx.xml (100%)
rename {extra => basis}/xmode/modes/occam.xml (100%)
rename {extra => basis}/xmode/modes/omnimark.xml (100%)
rename {extra => basis}/xmode/modes/pascal.xml (100%)
rename {extra => basis}/xmode/modes/patch.xml (100%)
rename {extra => basis}/xmode/modes/perl.xml (100%)
rename {extra => basis}/xmode/modes/php.xml (100%)
rename {extra => basis}/xmode/modes/pike.xml (100%)
rename {extra => basis}/xmode/modes/pl-sql.xml (100%)
rename {extra => basis}/xmode/modes/pl1.xml (100%)
rename {extra => basis}/xmode/modes/pop11.xml (100%)
rename {extra => basis}/xmode/modes/postscript.xml (100%)
rename {extra => basis}/xmode/modes/povray.xml (100%)
rename {extra => basis}/xmode/modes/powerdynamo.xml (100%)
rename {extra => basis}/xmode/modes/progress.xml (100%)
rename {extra => basis}/xmode/modes/prolog.xml (100%)
rename {extra => basis}/xmode/modes/props.xml (100%)
rename {extra => basis}/xmode/modes/psp.xml (100%)
rename {extra => basis}/xmode/modes/ptl.xml (100%)
rename {extra => basis}/xmode/modes/pvwave.xml (100%)
rename {extra => basis}/xmode/modes/pyrex.xml (100%)
rename {extra => basis}/xmode/modes/python.xml (100%)
rename {extra => basis}/xmode/modes/quake.xml (100%)
rename {extra => basis}/xmode/modes/rcp.xml (100%)
rename {extra => basis}/xmode/modes/rd.xml (100%)
rename {extra => basis}/xmode/modes/rebol.xml (100%)
rename {extra => basis}/xmode/modes/redcode.xml (100%)
rename {extra => basis}/xmode/modes/relax-ng-compact.xml (100%)
rename {extra => basis}/xmode/modes/rest.xml (100%)
rename {extra => basis}/xmode/modes/rfc.xml (100%)
rename {extra => basis}/xmode/modes/rhtml.xml (100%)
rename {extra => basis}/xmode/modes/rib.xml (100%)
rename {extra => basis}/xmode/modes/rpmspec.xml (100%)
rename {extra => basis}/xmode/modes/rtf.xml (100%)
rename {extra => basis}/xmode/modes/ruby.xml (100%)
rename {extra => basis}/xmode/modes/rview.xml (100%)
rename {extra => basis}/xmode/modes/sas.xml (100%)
rename {extra => basis}/xmode/modes/scheme.xml (100%)
rename {extra => basis}/xmode/modes/sdl_pr.xml (100%)
rename {extra => basis}/xmode/modes/sgml.xml (100%)
rename {extra => basis}/xmode/modes/shellscript.xml (100%)
rename {extra => basis}/xmode/modes/shtml.xml (100%)
rename {extra => basis}/xmode/modes/slate.xml (100%)
rename {extra => basis}/xmode/modes/smalltalk.xml (100%)
rename {extra => basis}/xmode/modes/smi-mib.xml (100%)
rename {extra => basis}/xmode/modes/splus.xml (100%)
rename {extra => basis}/xmode/modes/sql-loader.xml (100%)
rename {extra => basis}/xmode/modes/sqr.xml (100%)
rename {extra => basis}/xmode/modes/squidconf.xml (100%)
rename {extra => basis}/xmode/modes/ssharp.xml (100%)
rename {extra => basis}/xmode/modes/svn-commit.xml (100%)
rename {extra => basis}/xmode/modes/swig.xml (100%)
rename {extra => basis}/xmode/modes/tcl.xml (100%)
rename {extra => basis}/xmode/modes/tex.xml (100%)
rename {extra => basis}/xmode/modes/texinfo.xml (100%)
rename {extra => basis}/xmode/modes/text.xml (100%)
rename {extra => basis}/xmode/modes/tpl.xml (100%)
rename {extra => basis}/xmode/modes/tsql.xml (100%)
rename {extra => basis}/xmode/modes/tthtml.xml (100%)
rename {extra => basis}/xmode/modes/twiki.xml (100%)
rename {extra => basis}/xmode/modes/typoscript.xml (100%)
rename {extra => basis}/xmode/modes/uscript.xml (100%)
rename {extra => basis}/xmode/modes/vbscript.xml (100%)
rename {extra => basis}/xmode/modes/velocity.xml (100%)
rename {extra => basis}/xmode/modes/verilog.xml (100%)
rename {extra => basis}/xmode/modes/vhdl.xml (100%)
rename {extra => basis}/xmode/modes/xml.xml (100%)
rename {extra => basis}/xmode/modes/xq.xml (100%)
rename {extra => basis}/xmode/modes/xsl.xml (100%)
rename {extra => basis}/xmode/modes/zpt.xml (100%)
rename {extra => basis}/xmode/rules/authors.txt (100%)
rename {extra => basis}/xmode/rules/rules-tests.factor (100%)
rename {extra => basis}/xmode/rules/rules.factor (100%)
rename {extra => basis}/xmode/summary.txt (100%)
rename {extra => basis}/xmode/tokens/authors.txt (100%)
rename {extra => basis}/xmode/tokens/tokens.factor (100%)
rename {extra => basis}/xmode/utilities/authors.txt (100%)
rename {extra => basis}/xmode/utilities/test.xml (100%)
rename {extra => basis}/xmode/utilities/utilities-tests.factor (100%)
rename {extra => basis}/xmode/utilities/utilities.factor (100%)
rename {extra => basis}/xmode/xmode.dtd (100%)
diff --git a/extra/farkup/authors.txt b/basis/farkup/authors.txt
similarity index 100%
rename from extra/farkup/authors.txt
rename to basis/farkup/authors.txt
diff --git a/extra/farkup/farkup-docs.factor b/basis/farkup/farkup-docs.factor
similarity index 100%
rename from extra/farkup/farkup-docs.factor
rename to basis/farkup/farkup-docs.factor
diff --git a/extra/farkup/farkup-tests.factor b/basis/farkup/farkup-tests.factor
similarity index 100%
rename from extra/farkup/farkup-tests.factor
rename to basis/farkup/farkup-tests.factor
diff --git a/extra/farkup/farkup.factor b/basis/farkup/farkup.factor
similarity index 100%
rename from extra/farkup/farkup.factor
rename to basis/farkup/farkup.factor
diff --git a/extra/farkup/summary.txt b/basis/farkup/summary.txt
similarity index 100%
rename from extra/farkup/summary.txt
rename to basis/farkup/summary.txt
diff --git a/extra/farkup/tags.txt b/basis/farkup/tags.txt
similarity index 100%
rename from extra/farkup/tags.txt
rename to basis/farkup/tags.txt
diff --git a/extra/furnace/actions/actions-tests.factor b/basis/furnace/actions/actions-tests.factor
similarity index 100%
rename from extra/furnace/actions/actions-tests.factor
rename to basis/furnace/actions/actions-tests.factor
diff --git a/extra/furnace/actions/actions.factor b/basis/furnace/actions/actions.factor
similarity index 100%
rename from extra/furnace/actions/actions.factor
rename to basis/furnace/actions/actions.factor
diff --git a/extra/furnace/alloy/alloy.factor b/basis/furnace/alloy/alloy.factor
similarity index 100%
rename from extra/furnace/alloy/alloy.factor
rename to basis/furnace/alloy/alloy.factor
diff --git a/extra/furnace/auth/auth-tests.factor b/basis/furnace/auth/auth-tests.factor
similarity index 100%
rename from extra/furnace/auth/auth-tests.factor
rename to basis/furnace/auth/auth-tests.factor
diff --git a/extra/furnace/auth/auth.factor b/basis/furnace/auth/auth.factor
similarity index 100%
rename from extra/furnace/auth/auth.factor
rename to basis/furnace/auth/auth.factor
diff --git a/extra/furnace/auth/basic/basic.factor b/basis/furnace/auth/basic/basic.factor
similarity index 100%
rename from extra/furnace/auth/basic/basic.factor
rename to basis/furnace/auth/basic/basic.factor
diff --git a/extra/furnace/auth/boilerplate.xml b/basis/furnace/auth/boilerplate.xml
similarity index 100%
rename from extra/furnace/auth/boilerplate.xml
rename to basis/furnace/auth/boilerplate.xml
diff --git a/extra/furnace/auth/features/deactivate-user/deactivate-user.factor b/basis/furnace/auth/features/deactivate-user/deactivate-user.factor
similarity index 100%
rename from extra/furnace/auth/features/deactivate-user/deactivate-user.factor
rename to basis/furnace/auth/features/deactivate-user/deactivate-user.factor
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile-tests.factor b/basis/furnace/auth/features/edit-profile/edit-profile-tests.factor
similarity index 100%
rename from extra/furnace/auth/features/edit-profile/edit-profile-tests.factor
rename to basis/furnace/auth/features/edit-profile/edit-profile-tests.factor
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile.factor b/basis/furnace/auth/features/edit-profile/edit-profile.factor
similarity index 100%
rename from extra/furnace/auth/features/edit-profile/edit-profile.factor
rename to basis/furnace/auth/features/edit-profile/edit-profile.factor
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile.xml b/basis/furnace/auth/features/edit-profile/edit-profile.xml
similarity index 100%
rename from extra/furnace/auth/features/edit-profile/edit-profile.xml
rename to basis/furnace/auth/features/edit-profile/edit-profile.xml
diff --git a/extra/furnace/auth/features/recover-password/recover-1.xml b/basis/furnace/auth/features/recover-password/recover-1.xml
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-1.xml
rename to basis/furnace/auth/features/recover-password/recover-1.xml
diff --git a/extra/furnace/auth/features/recover-password/recover-2.xml b/basis/furnace/auth/features/recover-password/recover-2.xml
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-2.xml
rename to basis/furnace/auth/features/recover-password/recover-2.xml
diff --git a/extra/furnace/auth/features/recover-password/recover-3.xml b/basis/furnace/auth/features/recover-password/recover-3.xml
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-3.xml
rename to basis/furnace/auth/features/recover-password/recover-3.xml
diff --git a/extra/furnace/auth/features/recover-password/recover-4.xml b/basis/furnace/auth/features/recover-password/recover-4.xml
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-4.xml
rename to basis/furnace/auth/features/recover-password/recover-4.xml
diff --git a/extra/furnace/auth/features/recover-password/recover-password-tests.factor b/basis/furnace/auth/features/recover-password/recover-password-tests.factor
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-password-tests.factor
rename to basis/furnace/auth/features/recover-password/recover-password-tests.factor
diff --git a/extra/furnace/auth/features/recover-password/recover-password.factor b/basis/furnace/auth/features/recover-password/recover-password.factor
similarity index 100%
rename from extra/furnace/auth/features/recover-password/recover-password.factor
rename to basis/furnace/auth/features/recover-password/recover-password.factor
diff --git a/extra/furnace/auth/features/registration/register.xml b/basis/furnace/auth/features/registration/register.xml
similarity index 100%
rename from extra/furnace/auth/features/registration/register.xml
rename to basis/furnace/auth/features/registration/register.xml
diff --git a/extra/furnace/auth/features/registration/registration-tests.factor b/basis/furnace/auth/features/registration/registration-tests.factor
similarity index 100%
rename from extra/furnace/auth/features/registration/registration-tests.factor
rename to basis/furnace/auth/features/registration/registration-tests.factor
diff --git a/extra/furnace/auth/features/registration/registration.factor b/basis/furnace/auth/features/registration/registration.factor
similarity index 100%
rename from extra/furnace/auth/features/registration/registration.factor
rename to basis/furnace/auth/features/registration/registration.factor
diff --git a/extra/furnace/auth/login/login-tests.factor b/basis/furnace/auth/login/login-tests.factor
similarity index 100%
rename from extra/furnace/auth/login/login-tests.factor
rename to basis/furnace/auth/login/login-tests.factor
diff --git a/extra/furnace/auth/login/login.factor b/basis/furnace/auth/login/login.factor
similarity index 100%
rename from extra/furnace/auth/login/login.factor
rename to basis/furnace/auth/login/login.factor
diff --git a/extra/furnace/auth/login/login.xml b/basis/furnace/auth/login/login.xml
similarity index 100%
rename from extra/furnace/auth/login/login.xml
rename to basis/furnace/auth/login/login.xml
diff --git a/extra/furnace/auth/login/permits/permits.factor b/basis/furnace/auth/login/permits/permits.factor
similarity index 100%
rename from extra/furnace/auth/login/permits/permits.factor
rename to basis/furnace/auth/login/permits/permits.factor
diff --git a/extra/furnace/auth/providers/assoc/assoc-tests.factor b/basis/furnace/auth/providers/assoc/assoc-tests.factor
similarity index 100%
rename from extra/furnace/auth/providers/assoc/assoc-tests.factor
rename to basis/furnace/auth/providers/assoc/assoc-tests.factor
diff --git a/extra/furnace/auth/providers/assoc/assoc.factor b/basis/furnace/auth/providers/assoc/assoc.factor
similarity index 100%
rename from extra/furnace/auth/providers/assoc/assoc.factor
rename to basis/furnace/auth/providers/assoc/assoc.factor
diff --git a/extra/furnace/auth/providers/db/db-tests.factor b/basis/furnace/auth/providers/db/db-tests.factor
similarity index 100%
rename from extra/furnace/auth/providers/db/db-tests.factor
rename to basis/furnace/auth/providers/db/db-tests.factor
diff --git a/extra/furnace/auth/providers/db/db.factor b/basis/furnace/auth/providers/db/db.factor
similarity index 100%
rename from extra/furnace/auth/providers/db/db.factor
rename to basis/furnace/auth/providers/db/db.factor
diff --git a/extra/furnace/auth/providers/null/null.factor b/basis/furnace/auth/providers/null/null.factor
similarity index 100%
rename from extra/furnace/auth/providers/null/null.factor
rename to basis/furnace/auth/providers/null/null.factor
diff --git a/extra/furnace/auth/providers/providers.factor b/basis/furnace/auth/providers/providers.factor
similarity index 100%
rename from extra/furnace/auth/providers/providers.factor
rename to basis/furnace/auth/providers/providers.factor
diff --git a/extra/furnace/boilerplate/boilerplate.factor b/basis/furnace/boilerplate/boilerplate.factor
similarity index 100%
rename from extra/furnace/boilerplate/boilerplate.factor
rename to basis/furnace/boilerplate/boilerplate.factor
diff --git a/extra/furnace/cache/cache.factor b/basis/furnace/cache/cache.factor
similarity index 81%
rename from extra/furnace/cache/cache.factor
rename to basis/furnace/cache/cache.factor
index 68786a55ab..a5308c171e 100644
--- a/extra/furnace/cache/cache.factor
+++ b/basis/furnace/cache/cache.factor
@@ -1,7 +1,7 @@
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel accessors math.intervals
-calendar alarms fry
+system calendar alarms fry
random db db.tuples db.types
http.server.filters ;
IN: furnace.cache
@@ -14,7 +14,7 @@ TUPLE: server-state id expires ;
server-state f
{
{ "id" "ID" +random-id+ system-random-generator }
- { "expires" "EXPIRES" TIMESTAMP +not-null+ }
+ { "expires" "EXPIRES" BIG-INTEGER +not-null+ }
} define-persistent
: get-state ( id class -- state )
@@ -22,7 +22,7 @@ server-state f
: expire-state ( class -- )
new
- -1.0/0.0 now [a,b] >>expires
+ -1.0/0.0 millis [a,b] >>expires
delete-tuples ;
TUPLE: server-state-manager < filter-responder timeout ;
@@ -33,4 +33,4 @@ TUPLE: server-state-manager < filter-responder timeout ;
20 minutes >>timeout ; inline
: touch-state ( state manager -- )
- timeout>> hence >>expires drop ;
+ timeout>> hence timestamp>millis >>expires drop ;
diff --git a/extra/furnace/conversations/conversations.factor b/basis/furnace/conversations/conversations.factor
similarity index 100%
rename from extra/furnace/conversations/conversations.factor
rename to basis/furnace/conversations/conversations.factor
diff --git a/extra/furnace/db/db-tests.factor b/basis/furnace/db/db-tests.factor
similarity index 100%
rename from extra/furnace/db/db-tests.factor
rename to basis/furnace/db/db-tests.factor
diff --git a/extra/furnace/db/db.factor b/basis/furnace/db/db.factor
similarity index 100%
rename from extra/furnace/db/db.factor
rename to basis/furnace/db/db.factor
diff --git a/extra/furnace/furnace-tests.factor b/basis/furnace/furnace-tests.factor
similarity index 100%
rename from extra/furnace/furnace-tests.factor
rename to basis/furnace/furnace-tests.factor
diff --git a/extra/furnace/furnace.factor b/basis/furnace/furnace.factor
similarity index 100%
rename from extra/furnace/furnace.factor
rename to basis/furnace/furnace.factor
diff --git a/extra/furnace/json/json.factor b/basis/furnace/json/json.factor
similarity index 100%
rename from extra/furnace/json/json.factor
rename to basis/furnace/json/json.factor
diff --git a/extra/furnace/redirection/redirection.factor b/basis/furnace/redirection/redirection.factor
similarity index 100%
rename from extra/furnace/redirection/redirection.factor
rename to basis/furnace/redirection/redirection.factor
diff --git a/extra/furnace/referrer/referrer.factor b/basis/furnace/referrer/referrer.factor
similarity index 100%
rename from extra/furnace/referrer/referrer.factor
rename to basis/furnace/referrer/referrer.factor
diff --git a/extra/furnace/scopes/scopes.factor b/basis/furnace/scopes/scopes.factor
similarity index 100%
rename from extra/furnace/scopes/scopes.factor
rename to basis/furnace/scopes/scopes.factor
diff --git a/extra/furnace/sessions/authors.txt b/basis/furnace/sessions/authors.txt
similarity index 100%
rename from extra/furnace/sessions/authors.txt
rename to basis/furnace/sessions/authors.txt
diff --git a/extra/furnace/sessions/sessions-tests.factor b/basis/furnace/sessions/sessions-tests.factor
similarity index 100%
rename from extra/furnace/sessions/sessions-tests.factor
rename to basis/furnace/sessions/sessions-tests.factor
diff --git a/extra/furnace/sessions/sessions.factor b/basis/furnace/sessions/sessions.factor
similarity index 100%
rename from extra/furnace/sessions/sessions.factor
rename to basis/furnace/sessions/sessions.factor
diff --git a/extra/furnace/syndication/syndication.factor b/basis/furnace/syndication/syndication.factor
similarity index 100%
rename from extra/furnace/syndication/syndication.factor
rename to basis/furnace/syndication/syndication.factor
diff --git a/extra/furnace/utilities/utilities.factor b/basis/furnace/utilities/utilities.factor
similarity index 100%
rename from extra/furnace/utilities/utilities.factor
rename to basis/furnace/utilities/utilities.factor
diff --git a/extra/globs/authors.txt b/basis/globs/authors.txt
similarity index 100%
rename from extra/globs/authors.txt
rename to basis/globs/authors.txt
diff --git a/extra/globs/globs-tests.factor b/basis/globs/globs-tests.factor
similarity index 100%
rename from extra/globs/globs-tests.factor
rename to basis/globs/globs-tests.factor
diff --git a/extra/globs/globs.factor b/basis/globs/globs.factor
similarity index 100%
rename from extra/globs/globs.factor
rename to basis/globs/globs.factor
diff --git a/extra/globs/summary.txt b/basis/globs/summary.txt
similarity index 100%
rename from extra/globs/summary.txt
rename to basis/globs/summary.txt
diff --git a/extra/html/components/components-tests.factor b/basis/html/components/components-tests.factor
similarity index 100%
rename from extra/html/components/components-tests.factor
rename to basis/html/components/components-tests.factor
diff --git a/extra/html/components/components.factor b/basis/html/components/components.factor
similarity index 100%
rename from extra/html/components/components.factor
rename to basis/html/components/components.factor
diff --git a/extra/html/elements/authors.txt b/basis/html/elements/authors.txt
similarity index 100%
rename from extra/html/elements/authors.txt
rename to basis/html/elements/authors.txt
diff --git a/extra/html/elements/elements-tests.factor b/basis/html/elements/elements-tests.factor
similarity index 100%
rename from extra/html/elements/elements-tests.factor
rename to basis/html/elements/elements-tests.factor
diff --git a/extra/html/elements/elements.factor b/basis/html/elements/elements.factor
similarity index 100%
rename from extra/html/elements/elements.factor
rename to basis/html/elements/elements.factor
diff --git a/extra/html/forms/forms-tests.factor b/basis/html/forms/forms-tests.factor
similarity index 100%
rename from extra/html/forms/forms-tests.factor
rename to basis/html/forms/forms-tests.factor
diff --git a/extra/html/forms/forms.factor b/basis/html/forms/forms.factor
similarity index 100%
rename from extra/html/forms/forms.factor
rename to basis/html/forms/forms.factor
diff --git a/extra/html/parser/analyzer/analyzer.factor b/basis/html/parser/analyzer/analyzer.factor
similarity index 100%
rename from extra/html/parser/analyzer/analyzer.factor
rename to basis/html/parser/analyzer/analyzer.factor
diff --git a/extra/html/parser/analyzer/authors.txt b/basis/html/parser/analyzer/authors.txt
similarity index 100%
rename from extra/html/parser/analyzer/authors.txt
rename to basis/html/parser/analyzer/authors.txt
diff --git a/extra/html/parser/authors.txt b/basis/html/parser/authors.txt
similarity index 100%
rename from extra/html/parser/authors.txt
rename to basis/html/parser/authors.txt
diff --git a/extra/html/parser/parser-tests.factor b/basis/html/parser/parser-tests.factor
similarity index 100%
rename from extra/html/parser/parser-tests.factor
rename to basis/html/parser/parser-tests.factor
diff --git a/extra/html/parser/parser.factor b/basis/html/parser/parser.factor
similarity index 100%
rename from extra/html/parser/parser.factor
rename to basis/html/parser/parser.factor
diff --git a/extra/html/parser/printer/authors.txt b/basis/html/parser/printer/authors.txt
similarity index 100%
rename from extra/html/parser/printer/authors.txt
rename to basis/html/parser/printer/authors.txt
diff --git a/extra/html/parser/printer/printer.factor b/basis/html/parser/printer/printer.factor
similarity index 100%
rename from extra/html/parser/printer/printer.factor
rename to basis/html/parser/printer/printer.factor
diff --git a/extra/html/parser/utils/authors.txt b/basis/html/parser/utils/authors.txt
similarity index 100%
rename from extra/html/parser/utils/authors.txt
rename to basis/html/parser/utils/authors.txt
diff --git a/extra/html/parser/utils/utils-tests.factor b/basis/html/parser/utils/utils-tests.factor
similarity index 100%
rename from extra/html/parser/utils/utils-tests.factor
rename to basis/html/parser/utils/utils-tests.factor
diff --git a/extra/html/parser/utils/utils.factor b/basis/html/parser/utils/utils.factor
similarity index 100%
rename from extra/html/parser/utils/utils.factor
rename to basis/html/parser/utils/utils.factor
diff --git a/extra/html/streams/authors.txt b/basis/html/streams/authors.txt
similarity index 100%
rename from extra/html/streams/authors.txt
rename to basis/html/streams/authors.txt
diff --git a/extra/html/streams/streams-tests.factor b/basis/html/streams/streams-tests.factor
similarity index 100%
rename from extra/html/streams/streams-tests.factor
rename to basis/html/streams/streams-tests.factor
diff --git a/extra/html/streams/streams.factor b/basis/html/streams/streams.factor
similarity index 100%
rename from extra/html/streams/streams.factor
rename to basis/html/streams/streams.factor
diff --git a/extra/html/streams/summary.txt b/basis/html/streams/summary.txt
similarity index 100%
rename from extra/html/streams/summary.txt
rename to basis/html/streams/summary.txt
diff --git a/extra/html/streams/tags.txt b/basis/html/streams/tags.txt
similarity index 100%
rename from extra/html/streams/tags.txt
rename to basis/html/streams/tags.txt
diff --git a/extra/html/templates/chloe/chloe-tests.factor b/basis/html/templates/chloe/chloe-tests.factor
similarity index 100%
rename from extra/html/templates/chloe/chloe-tests.factor
rename to basis/html/templates/chloe/chloe-tests.factor
diff --git a/extra/html/templates/chloe/chloe.factor b/basis/html/templates/chloe/chloe.factor
similarity index 100%
rename from extra/html/templates/chloe/chloe.factor
rename to basis/html/templates/chloe/chloe.factor
diff --git a/extra/html/templates/chloe/syntax/syntax.factor b/basis/html/templates/chloe/syntax/syntax.factor
similarity index 100%
rename from extra/html/templates/chloe/syntax/syntax.factor
rename to basis/html/templates/chloe/syntax/syntax.factor
diff --git a/extra/html/templates/chloe/test/test1.xml b/basis/html/templates/chloe/test/test1.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test1.xml
rename to basis/html/templates/chloe/test/test1.xml
diff --git a/extra/html/templates/chloe/test/test10.xml b/basis/html/templates/chloe/test/test10.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test10.xml
rename to basis/html/templates/chloe/test/test10.xml
diff --git a/extra/html/templates/chloe/test/test11.xml b/basis/html/templates/chloe/test/test11.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test11.xml
rename to basis/html/templates/chloe/test/test11.xml
diff --git a/extra/html/templates/chloe/test/test12.xml b/basis/html/templates/chloe/test/test12.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test12.xml
rename to basis/html/templates/chloe/test/test12.xml
diff --git a/extra/html/templates/chloe/test/test2.xml b/basis/html/templates/chloe/test/test2.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test2.xml
rename to basis/html/templates/chloe/test/test2.xml
diff --git a/extra/html/templates/chloe/test/test3-aux.xml b/basis/html/templates/chloe/test/test3-aux.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test3-aux.xml
rename to basis/html/templates/chloe/test/test3-aux.xml
diff --git a/extra/html/templates/chloe/test/test3.xml b/basis/html/templates/chloe/test/test3.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test3.xml
rename to basis/html/templates/chloe/test/test3.xml
diff --git a/extra/html/templates/chloe/test/test4.xml b/basis/html/templates/chloe/test/test4.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test4.xml
rename to basis/html/templates/chloe/test/test4.xml
diff --git a/extra/html/templates/chloe/test/test5.xml b/basis/html/templates/chloe/test/test5.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test5.xml
rename to basis/html/templates/chloe/test/test5.xml
diff --git a/extra/html/templates/chloe/test/test6.xml b/basis/html/templates/chloe/test/test6.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test6.xml
rename to basis/html/templates/chloe/test/test6.xml
diff --git a/extra/html/templates/chloe/test/test7.xml b/basis/html/templates/chloe/test/test7.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test7.xml
rename to basis/html/templates/chloe/test/test7.xml
diff --git a/extra/html/templates/chloe/test/test8.xml b/basis/html/templates/chloe/test/test8.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test8.xml
rename to basis/html/templates/chloe/test/test8.xml
diff --git a/extra/html/templates/chloe/test/test9.xml b/basis/html/templates/chloe/test/test9.xml
similarity index 100%
rename from extra/html/templates/chloe/test/test9.xml
rename to basis/html/templates/chloe/test/test9.xml
diff --git a/extra/html/templates/fhtml/authors.txt b/basis/html/templates/fhtml/authors.txt
similarity index 100%
rename from extra/html/templates/fhtml/authors.txt
rename to basis/html/templates/fhtml/authors.txt
diff --git a/extra/html/templates/fhtml/fhtml-tests.factor b/basis/html/templates/fhtml/fhtml-tests.factor
similarity index 100%
rename from extra/html/templates/fhtml/fhtml-tests.factor
rename to basis/html/templates/fhtml/fhtml-tests.factor
diff --git a/extra/html/templates/fhtml/fhtml.factor b/basis/html/templates/fhtml/fhtml.factor
similarity index 100%
rename from extra/html/templates/fhtml/fhtml.factor
rename to basis/html/templates/fhtml/fhtml.factor
diff --git a/extra/html/templates/fhtml/test/bug.fhtml b/basis/html/templates/fhtml/test/bug.fhtml
similarity index 100%
rename from extra/html/templates/fhtml/test/bug.fhtml
rename to basis/html/templates/fhtml/test/bug.fhtml
diff --git a/extra/html/templates/fhtml/test/bug.html b/basis/html/templates/fhtml/test/bug.html
similarity index 100%
rename from extra/html/templates/fhtml/test/bug.html
rename to basis/html/templates/fhtml/test/bug.html
diff --git a/extra/html/templates/fhtml/test/example.fhtml b/basis/html/templates/fhtml/test/example.fhtml
similarity index 100%
rename from extra/html/templates/fhtml/test/example.fhtml
rename to basis/html/templates/fhtml/test/example.fhtml
diff --git a/extra/html/templates/fhtml/test/example.html b/basis/html/templates/fhtml/test/example.html
similarity index 100%
rename from extra/html/templates/fhtml/test/example.html
rename to basis/html/templates/fhtml/test/example.html
diff --git a/extra/html/templates/fhtml/test/stack.fhtml b/basis/html/templates/fhtml/test/stack.fhtml
similarity index 100%
rename from extra/html/templates/fhtml/test/stack.fhtml
rename to basis/html/templates/fhtml/test/stack.fhtml
diff --git a/extra/html/templates/fhtml/test/stack.html b/basis/html/templates/fhtml/test/stack.html
similarity index 100%
rename from extra/html/templates/fhtml/test/stack.html
rename to basis/html/templates/fhtml/test/stack.html
diff --git a/extra/html/templates/templates.factor b/basis/html/templates/templates.factor
similarity index 100%
rename from extra/html/templates/templates.factor
rename to basis/html/templates/templates.factor
diff --git a/extra/http/authors.txt b/basis/http/authors.txt
similarity index 100%
rename from extra/http/authors.txt
rename to basis/http/authors.txt
diff --git a/extra/http/client/authors.txt b/basis/http/client/authors.txt
similarity index 100%
rename from extra/http/client/authors.txt
rename to basis/http/client/authors.txt
diff --git a/extra/http/client/client-tests.factor b/basis/http/client/client-tests.factor
similarity index 100%
rename from extra/http/client/client-tests.factor
rename to basis/http/client/client-tests.factor
diff --git a/extra/http/client/client.factor b/basis/http/client/client.factor
similarity index 100%
rename from extra/http/client/client.factor
rename to basis/http/client/client.factor
diff --git a/extra/http/client/summary.txt b/basis/http/client/summary.txt
similarity index 100%
rename from extra/http/client/summary.txt
rename to basis/http/client/summary.txt
diff --git a/extra/http/client/tags.txt b/basis/http/client/tags.txt
similarity index 100%
rename from extra/http/client/tags.txt
rename to basis/http/client/tags.txt
diff --git a/extra/http/http-tests.factor b/basis/http/http-tests.factor
similarity index 100%
rename from extra/http/http-tests.factor
rename to basis/http/http-tests.factor
diff --git a/extra/http/http.factor b/basis/http/http.factor
similarity index 100%
rename from extra/http/http.factor
rename to basis/http/http.factor
diff --git a/extra/http/parsers/parsers.factor b/basis/http/parsers/parsers.factor
similarity index 100%
rename from extra/http/parsers/parsers.factor
rename to basis/http/parsers/parsers.factor
diff --git a/extra/http/server/authors.txt b/basis/http/server/authors.txt
similarity index 100%
rename from extra/http/server/authors.txt
rename to basis/http/server/authors.txt
diff --git a/extra/http/server/cgi/cgi.factor b/basis/http/server/cgi/cgi.factor
similarity index 100%
rename from extra/http/server/cgi/cgi.factor
rename to basis/http/server/cgi/cgi.factor
diff --git a/extra/http/server/dispatchers/dispatchers-tests.factor b/basis/http/server/dispatchers/dispatchers-tests.factor
similarity index 100%
rename from extra/http/server/dispatchers/dispatchers-tests.factor
rename to basis/http/server/dispatchers/dispatchers-tests.factor
diff --git a/extra/http/server/dispatchers/dispatchers.factor b/basis/http/server/dispatchers/dispatchers.factor
similarity index 100%
rename from extra/http/server/dispatchers/dispatchers.factor
rename to basis/http/server/dispatchers/dispatchers.factor
diff --git a/extra/http/server/filters/filters.factor b/basis/http/server/filters/filters.factor
similarity index 100%
rename from extra/http/server/filters/filters.factor
rename to basis/http/server/filters/filters.factor
diff --git a/extra/http/server/redirection/redirection-tests.factor b/basis/http/server/redirection/redirection-tests.factor
similarity index 100%
rename from extra/http/server/redirection/redirection-tests.factor
rename to basis/http/server/redirection/redirection-tests.factor
diff --git a/extra/http/server/redirection/redirection.factor b/basis/http/server/redirection/redirection.factor
similarity index 100%
rename from extra/http/server/redirection/redirection.factor
rename to basis/http/server/redirection/redirection.factor
diff --git a/extra/http/server/responses/responses.factor b/basis/http/server/responses/responses.factor
similarity index 100%
rename from extra/http/server/responses/responses.factor
rename to basis/http/server/responses/responses.factor
diff --git a/extra/http/server/server-tests.factor b/basis/http/server/server-tests.factor
similarity index 100%
rename from extra/http/server/server-tests.factor
rename to basis/http/server/server-tests.factor
diff --git a/extra/http/server/server.factor b/basis/http/server/server.factor
similarity index 100%
rename from extra/http/server/server.factor
rename to basis/http/server/server.factor
diff --git a/extra/http/server/static/static.factor b/basis/http/server/static/static.factor
similarity index 100%
rename from extra/http/server/static/static.factor
rename to basis/http/server/static/static.factor
diff --git a/extra/http/server/summary.txt b/basis/http/server/summary.txt
similarity index 100%
rename from extra/http/server/summary.txt
rename to basis/http/server/summary.txt
diff --git a/extra/http/server/tags.txt b/basis/http/server/tags.txt
similarity index 100%
rename from extra/http/server/tags.txt
rename to basis/http/server/tags.txt
diff --git a/extra/http/summary.txt b/basis/http/summary.txt
similarity index 100%
rename from extra/http/summary.txt
rename to basis/http/summary.txt
diff --git a/extra/http/tags.txt b/basis/http/tags.txt
similarity index 100%
rename from extra/http/tags.txt
rename to basis/http/tags.txt
diff --git a/extra/http/test/foo.html b/basis/http/test/foo.html
similarity index 100%
rename from extra/http/test/foo.html
rename to basis/http/test/foo.html
diff --git a/extra/json/authors.txt b/basis/json/authors.txt
similarity index 100%
rename from extra/json/authors.txt
rename to basis/json/authors.txt
diff --git a/extra/json/reader/authors.txt b/basis/json/reader/authors.txt
similarity index 100%
rename from extra/json/reader/authors.txt
rename to basis/json/reader/authors.txt
diff --git a/extra/json/reader/reader-docs.factor b/basis/json/reader/reader-docs.factor
similarity index 100%
rename from extra/json/reader/reader-docs.factor
rename to basis/json/reader/reader-docs.factor
diff --git a/extra/json/reader/reader-tests.factor b/basis/json/reader/reader-tests.factor
similarity index 100%
rename from extra/json/reader/reader-tests.factor
rename to basis/json/reader/reader-tests.factor
diff --git a/extra/json/reader/reader.factor b/basis/json/reader/reader.factor
similarity index 100%
rename from extra/json/reader/reader.factor
rename to basis/json/reader/reader.factor
diff --git a/extra/json/reader/summary.txt b/basis/json/reader/summary.txt
similarity index 100%
rename from extra/json/reader/summary.txt
rename to basis/json/reader/summary.txt
diff --git a/extra/json/summary.txt b/basis/json/summary.txt
similarity index 100%
rename from extra/json/summary.txt
rename to basis/json/summary.txt
diff --git a/extra/json/writer/authors.txt b/basis/json/writer/authors.txt
similarity index 100%
rename from extra/json/writer/authors.txt
rename to basis/json/writer/authors.txt
diff --git a/extra/json/writer/summary.txt b/basis/json/writer/summary.txt
similarity index 100%
rename from extra/json/writer/summary.txt
rename to basis/json/writer/summary.txt
diff --git a/extra/json/writer/writer-docs.factor b/basis/json/writer/writer-docs.factor
similarity index 100%
rename from extra/json/writer/writer-docs.factor
rename to basis/json/writer/writer-docs.factor
diff --git a/extra/json/writer/writer.factor b/basis/json/writer/writer.factor
similarity index 100%
rename from extra/json/writer/writer.factor
rename to basis/json/writer/writer.factor
diff --git a/basis/openssl/test/errors.txt b/basis/openssl/test/errors.txt
deleted file mode 100644
index e965047ad7..0000000000
--- a/basis/openssl/test/errors.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello
diff --git a/extra/peg/ebnf/authors.txt b/basis/peg/ebnf/authors.txt
similarity index 100%
rename from extra/peg/ebnf/authors.txt
rename to basis/peg/ebnf/authors.txt
diff --git a/extra/peg/ebnf/ebnf-tests.factor b/basis/peg/ebnf/ebnf-tests.factor
similarity index 100%
rename from extra/peg/ebnf/ebnf-tests.factor
rename to basis/peg/ebnf/ebnf-tests.factor
diff --git a/extra/peg/ebnf/ebnf.factor b/basis/peg/ebnf/ebnf.factor
similarity index 100%
rename from extra/peg/ebnf/ebnf.factor
rename to basis/peg/ebnf/ebnf.factor
diff --git a/extra/peg/ebnf/summary.txt b/basis/peg/ebnf/summary.txt
similarity index 100%
rename from extra/peg/ebnf/summary.txt
rename to basis/peg/ebnf/summary.txt
diff --git a/extra/peg/ebnf/tags.txt b/basis/peg/ebnf/tags.txt
similarity index 100%
rename from extra/peg/ebnf/tags.txt
rename to basis/peg/ebnf/tags.txt
diff --git a/extra/peg/peg.factor b/basis/peg/peg.factor
similarity index 100%
rename from extra/peg/peg.factor
rename to basis/peg/peg.factor
diff --git a/extra/syndication/authors.txt b/basis/syndication/authors.txt
similarity index 100%
rename from extra/syndication/authors.txt
rename to basis/syndication/authors.txt
diff --git a/extra/syndication/readme.txt b/basis/syndication/readme.txt
similarity index 100%
rename from extra/syndication/readme.txt
rename to basis/syndication/readme.txt
diff --git a/extra/syndication/summary.txt b/basis/syndication/summary.txt
similarity index 100%
rename from extra/syndication/summary.txt
rename to basis/syndication/summary.txt
diff --git a/extra/syndication/syndication-tests.factor b/basis/syndication/syndication-tests.factor
similarity index 100%
rename from extra/syndication/syndication-tests.factor
rename to basis/syndication/syndication-tests.factor
diff --git a/extra/syndication/syndication.factor b/basis/syndication/syndication.factor
similarity index 100%
rename from extra/syndication/syndication.factor
rename to basis/syndication/syndication.factor
diff --git a/extra/syndication/tags.txt b/basis/syndication/tags.txt
similarity index 100%
rename from extra/syndication/tags.txt
rename to basis/syndication/tags.txt
diff --git a/extra/syndication/test/atom.xml b/basis/syndication/test/atom.xml
similarity index 100%
rename from extra/syndication/test/atom.xml
rename to basis/syndication/test/atom.xml
diff --git a/extra/syndication/test/rss1.xml b/basis/syndication/test/rss1.xml
similarity index 100%
rename from extra/syndication/test/rss1.xml
rename to basis/syndication/test/rss1.xml
diff --git a/extra/xmode/README.txt b/basis/xmode/README.txt
similarity index 100%
rename from extra/xmode/README.txt
rename to basis/xmode/README.txt
diff --git a/extra/xmode/authors.txt b/basis/xmode/authors.txt
similarity index 100%
rename from extra/xmode/authors.txt
rename to basis/xmode/authors.txt
diff --git a/extra/xmode/catalog/authors.txt b/basis/xmode/catalog/authors.txt
similarity index 100%
rename from extra/xmode/catalog/authors.txt
rename to basis/xmode/catalog/authors.txt
diff --git a/extra/xmode/catalog/catalog-tests.factor b/basis/xmode/catalog/catalog-tests.factor
similarity index 100%
rename from extra/xmode/catalog/catalog-tests.factor
rename to basis/xmode/catalog/catalog-tests.factor
diff --git a/extra/xmode/catalog/catalog.factor b/basis/xmode/catalog/catalog.factor
similarity index 100%
rename from extra/xmode/catalog/catalog.factor
rename to basis/xmode/catalog/catalog.factor
diff --git a/extra/xmode/code2html/authors.txt b/basis/xmode/code2html/authors.txt
similarity index 100%
rename from extra/xmode/code2html/authors.txt
rename to basis/xmode/code2html/authors.txt
diff --git a/extra/xmode/code2html/code2html.factor b/basis/xmode/code2html/code2html.factor
similarity index 100%
rename from extra/xmode/code2html/code2html.factor
rename to basis/xmode/code2html/code2html.factor
diff --git a/extra/xmode/code2html/responder/responder.factor b/basis/xmode/code2html/responder/responder.factor
similarity index 100%
rename from extra/xmode/code2html/responder/responder.factor
rename to basis/xmode/code2html/responder/responder.factor
diff --git a/extra/xmode/code2html/stylesheet.css b/basis/xmode/code2html/stylesheet.css
similarity index 100%
rename from extra/xmode/code2html/stylesheet.css
rename to basis/xmode/code2html/stylesheet.css
diff --git a/extra/xmode/keyword-map/authors.txt b/basis/xmode/keyword-map/authors.txt
similarity index 100%
rename from extra/xmode/keyword-map/authors.txt
rename to basis/xmode/keyword-map/authors.txt
diff --git a/extra/xmode/keyword-map/keyword-map-tests.factor b/basis/xmode/keyword-map/keyword-map-tests.factor
similarity index 100%
rename from extra/xmode/keyword-map/keyword-map-tests.factor
rename to basis/xmode/keyword-map/keyword-map-tests.factor
diff --git a/extra/xmode/keyword-map/keyword-map.factor b/basis/xmode/keyword-map/keyword-map.factor
similarity index 100%
rename from extra/xmode/keyword-map/keyword-map.factor
rename to basis/xmode/keyword-map/keyword-map.factor
diff --git a/extra/xmode/loader/authors.txt b/basis/xmode/loader/authors.txt
similarity index 100%
rename from extra/xmode/loader/authors.txt
rename to basis/xmode/loader/authors.txt
diff --git a/extra/xmode/loader/loader.factor b/basis/xmode/loader/loader.factor
similarity index 100%
rename from extra/xmode/loader/loader.factor
rename to basis/xmode/loader/loader.factor
diff --git a/extra/xmode/loader/syntax/authors.txt b/basis/xmode/loader/syntax/authors.txt
similarity index 100%
rename from extra/xmode/loader/syntax/authors.txt
rename to basis/xmode/loader/syntax/authors.txt
diff --git a/extra/xmode/loader/syntax/syntax.factor b/basis/xmode/loader/syntax/syntax.factor
similarity index 100%
rename from extra/xmode/loader/syntax/syntax.factor
rename to basis/xmode/loader/syntax/syntax.factor
diff --git a/extra/xmode/marker/authors.txt b/basis/xmode/marker/authors.txt
similarity index 100%
rename from extra/xmode/marker/authors.txt
rename to basis/xmode/marker/authors.txt
diff --git a/extra/xmode/marker/context/authors.txt b/basis/xmode/marker/context/authors.txt
similarity index 100%
rename from extra/xmode/marker/context/authors.txt
rename to basis/xmode/marker/context/authors.txt
diff --git a/extra/xmode/marker/context/context.factor b/basis/xmode/marker/context/context.factor
similarity index 100%
rename from extra/xmode/marker/context/context.factor
rename to basis/xmode/marker/context/context.factor
diff --git a/extra/xmode/marker/marker-tests.factor b/basis/xmode/marker/marker-tests.factor
similarity index 100%
rename from extra/xmode/marker/marker-tests.factor
rename to basis/xmode/marker/marker-tests.factor
diff --git a/extra/xmode/marker/marker.factor b/basis/xmode/marker/marker.factor
similarity index 100%
rename from extra/xmode/marker/marker.factor
rename to basis/xmode/marker/marker.factor
diff --git a/extra/xmode/marker/state/authors.txt b/basis/xmode/marker/state/authors.txt
similarity index 100%
rename from extra/xmode/marker/state/authors.txt
rename to basis/xmode/marker/state/authors.txt
diff --git a/extra/xmode/marker/state/state.factor b/basis/xmode/marker/state/state.factor
similarity index 100%
rename from extra/xmode/marker/state/state.factor
rename to basis/xmode/marker/state/state.factor
diff --git a/extra/xmode/modes/actionscript.xml b/basis/xmode/modes/actionscript.xml
similarity index 100%
rename from extra/xmode/modes/actionscript.xml
rename to basis/xmode/modes/actionscript.xml
diff --git a/extra/xmode/modes/ada95.xml b/basis/xmode/modes/ada95.xml
similarity index 100%
rename from extra/xmode/modes/ada95.xml
rename to basis/xmode/modes/ada95.xml
diff --git a/extra/xmode/modes/antlr.xml b/basis/xmode/modes/antlr.xml
similarity index 100%
rename from extra/xmode/modes/antlr.xml
rename to basis/xmode/modes/antlr.xml
diff --git a/extra/xmode/modes/apacheconf.xml b/basis/xmode/modes/apacheconf.xml
similarity index 100%
rename from extra/xmode/modes/apacheconf.xml
rename to basis/xmode/modes/apacheconf.xml
diff --git a/extra/xmode/modes/apdl.xml b/basis/xmode/modes/apdl.xml
similarity index 100%
rename from extra/xmode/modes/apdl.xml
rename to basis/xmode/modes/apdl.xml
diff --git a/extra/xmode/modes/applescript.xml b/basis/xmode/modes/applescript.xml
similarity index 100%
rename from extra/xmode/modes/applescript.xml
rename to basis/xmode/modes/applescript.xml
diff --git a/extra/xmode/modes/asp.xml b/basis/xmode/modes/asp.xml
similarity index 100%
rename from extra/xmode/modes/asp.xml
rename to basis/xmode/modes/asp.xml
diff --git a/extra/xmode/modes/aspect-j.xml b/basis/xmode/modes/aspect-j.xml
similarity index 100%
rename from extra/xmode/modes/aspect-j.xml
rename to basis/xmode/modes/aspect-j.xml
diff --git a/extra/xmode/modes/assembly-m68k.xml b/basis/xmode/modes/assembly-m68k.xml
similarity index 100%
rename from extra/xmode/modes/assembly-m68k.xml
rename to basis/xmode/modes/assembly-m68k.xml
diff --git a/extra/xmode/modes/assembly-macro32.xml b/basis/xmode/modes/assembly-macro32.xml
similarity index 100%
rename from extra/xmode/modes/assembly-macro32.xml
rename to basis/xmode/modes/assembly-macro32.xml
diff --git a/extra/xmode/modes/assembly-mcs51.xml b/basis/xmode/modes/assembly-mcs51.xml
similarity index 100%
rename from extra/xmode/modes/assembly-mcs51.xml
rename to basis/xmode/modes/assembly-mcs51.xml
diff --git a/extra/xmode/modes/assembly-parrot.xml b/basis/xmode/modes/assembly-parrot.xml
similarity index 100%
rename from extra/xmode/modes/assembly-parrot.xml
rename to basis/xmode/modes/assembly-parrot.xml
diff --git a/extra/xmode/modes/assembly-r2000.xml b/basis/xmode/modes/assembly-r2000.xml
similarity index 100%
rename from extra/xmode/modes/assembly-r2000.xml
rename to basis/xmode/modes/assembly-r2000.xml
diff --git a/extra/xmode/modes/assembly-x86.xml b/basis/xmode/modes/assembly-x86.xml
similarity index 100%
rename from extra/xmode/modes/assembly-x86.xml
rename to basis/xmode/modes/assembly-x86.xml
diff --git a/extra/xmode/modes/awk.xml b/basis/xmode/modes/awk.xml
similarity index 100%
rename from extra/xmode/modes/awk.xml
rename to basis/xmode/modes/awk.xml
diff --git a/extra/xmode/modes/b.xml b/basis/xmode/modes/b.xml
similarity index 100%
rename from extra/xmode/modes/b.xml
rename to basis/xmode/modes/b.xml
diff --git a/extra/xmode/modes/batch.xml b/basis/xmode/modes/batch.xml
similarity index 100%
rename from extra/xmode/modes/batch.xml
rename to basis/xmode/modes/batch.xml
diff --git a/extra/xmode/modes/bbj.xml b/basis/xmode/modes/bbj.xml
similarity index 100%
rename from extra/xmode/modes/bbj.xml
rename to basis/xmode/modes/bbj.xml
diff --git a/extra/xmode/modes/bcel.xml b/basis/xmode/modes/bcel.xml
similarity index 100%
rename from extra/xmode/modes/bcel.xml
rename to basis/xmode/modes/bcel.xml
diff --git a/extra/xmode/modes/bibtex.xml b/basis/xmode/modes/bibtex.xml
similarity index 100%
rename from extra/xmode/modes/bibtex.xml
rename to basis/xmode/modes/bibtex.xml
diff --git a/extra/xmode/modes/c.xml b/basis/xmode/modes/c.xml
similarity index 100%
rename from extra/xmode/modes/c.xml
rename to basis/xmode/modes/c.xml
diff --git a/extra/xmode/modes/catalog b/basis/xmode/modes/catalog
similarity index 100%
rename from extra/xmode/modes/catalog
rename to basis/xmode/modes/catalog
diff --git a/extra/xmode/modes/chill.xml b/basis/xmode/modes/chill.xml
similarity index 100%
rename from extra/xmode/modes/chill.xml
rename to basis/xmode/modes/chill.xml
diff --git a/extra/xmode/modes/cil.xml b/basis/xmode/modes/cil.xml
similarity index 100%
rename from extra/xmode/modes/cil.xml
rename to basis/xmode/modes/cil.xml
diff --git a/extra/xmode/modes/clips.xml b/basis/xmode/modes/clips.xml
similarity index 100%
rename from extra/xmode/modes/clips.xml
rename to basis/xmode/modes/clips.xml
diff --git a/extra/xmode/modes/cobol.xml b/basis/xmode/modes/cobol.xml
similarity index 100%
rename from extra/xmode/modes/cobol.xml
rename to basis/xmode/modes/cobol.xml
diff --git a/extra/xmode/modes/coldfusion.xml b/basis/xmode/modes/coldfusion.xml
similarity index 100%
rename from extra/xmode/modes/coldfusion.xml
rename to basis/xmode/modes/coldfusion.xml
diff --git a/extra/xmode/modes/cplusplus.xml b/basis/xmode/modes/cplusplus.xml
similarity index 100%
rename from extra/xmode/modes/cplusplus.xml
rename to basis/xmode/modes/cplusplus.xml
diff --git a/extra/xmode/modes/csharp.xml b/basis/xmode/modes/csharp.xml
similarity index 100%
rename from extra/xmode/modes/csharp.xml
rename to basis/xmode/modes/csharp.xml
diff --git a/extra/xmode/modes/css.xml b/basis/xmode/modes/css.xml
similarity index 100%
rename from extra/xmode/modes/css.xml
rename to basis/xmode/modes/css.xml
diff --git a/extra/xmode/modes/csv.xml b/basis/xmode/modes/csv.xml
similarity index 100%
rename from extra/xmode/modes/csv.xml
rename to basis/xmode/modes/csv.xml
diff --git a/extra/xmode/modes/cvs-commit.xml b/basis/xmode/modes/cvs-commit.xml
similarity index 100%
rename from extra/xmode/modes/cvs-commit.xml
rename to basis/xmode/modes/cvs-commit.xml
diff --git a/extra/xmode/modes/d.xml b/basis/xmode/modes/d.xml
similarity index 100%
rename from extra/xmode/modes/d.xml
rename to basis/xmode/modes/d.xml
diff --git a/extra/xmode/modes/django.xml b/basis/xmode/modes/django.xml
similarity index 100%
rename from extra/xmode/modes/django.xml
rename to basis/xmode/modes/django.xml
diff --git a/extra/xmode/modes/doxygen.xml b/basis/xmode/modes/doxygen.xml
similarity index 100%
rename from extra/xmode/modes/doxygen.xml
rename to basis/xmode/modes/doxygen.xml
diff --git a/extra/xmode/modes/dsssl.xml b/basis/xmode/modes/dsssl.xml
similarity index 100%
rename from extra/xmode/modes/dsssl.xml
rename to basis/xmode/modes/dsssl.xml
diff --git a/extra/xmode/modes/eiffel.xml b/basis/xmode/modes/eiffel.xml
similarity index 100%
rename from extra/xmode/modes/eiffel.xml
rename to basis/xmode/modes/eiffel.xml
diff --git a/extra/xmode/modes/embperl.xml b/basis/xmode/modes/embperl.xml
similarity index 100%
rename from extra/xmode/modes/embperl.xml
rename to basis/xmode/modes/embperl.xml
diff --git a/extra/xmode/modes/erlang.xml b/basis/xmode/modes/erlang.xml
similarity index 100%
rename from extra/xmode/modes/erlang.xml
rename to basis/xmode/modes/erlang.xml
diff --git a/extra/xmode/modes/factor.xml b/basis/xmode/modes/factor.xml
similarity index 100%
rename from extra/xmode/modes/factor.xml
rename to basis/xmode/modes/factor.xml
diff --git a/extra/xmode/modes/fhtml.xml b/basis/xmode/modes/fhtml.xml
similarity index 100%
rename from extra/xmode/modes/fhtml.xml
rename to basis/xmode/modes/fhtml.xml
diff --git a/extra/xmode/modes/forth.xml b/basis/xmode/modes/forth.xml
similarity index 100%
rename from extra/xmode/modes/forth.xml
rename to basis/xmode/modes/forth.xml
diff --git a/extra/xmode/modes/fortran.xml b/basis/xmode/modes/fortran.xml
similarity index 100%
rename from extra/xmode/modes/fortran.xml
rename to basis/xmode/modes/fortran.xml
diff --git a/extra/xmode/modes/foxpro.xml b/basis/xmode/modes/foxpro.xml
similarity index 100%
rename from extra/xmode/modes/foxpro.xml
rename to basis/xmode/modes/foxpro.xml
diff --git a/extra/xmode/modes/freemarker.xml b/basis/xmode/modes/freemarker.xml
similarity index 100%
rename from extra/xmode/modes/freemarker.xml
rename to basis/xmode/modes/freemarker.xml
diff --git a/extra/xmode/modes/gettext.xml b/basis/xmode/modes/gettext.xml
similarity index 100%
rename from extra/xmode/modes/gettext.xml
rename to basis/xmode/modes/gettext.xml
diff --git a/extra/xmode/modes/gnuplot.xml b/basis/xmode/modes/gnuplot.xml
similarity index 100%
rename from extra/xmode/modes/gnuplot.xml
rename to basis/xmode/modes/gnuplot.xml
diff --git a/extra/xmode/modes/groovy.xml b/basis/xmode/modes/groovy.xml
similarity index 100%
rename from extra/xmode/modes/groovy.xml
rename to basis/xmode/modes/groovy.xml
diff --git a/extra/xmode/modes/haskell.xml b/basis/xmode/modes/haskell.xml
similarity index 100%
rename from extra/xmode/modes/haskell.xml
rename to basis/xmode/modes/haskell.xml
diff --git a/extra/xmode/modes/hex.xml b/basis/xmode/modes/hex.xml
similarity index 100%
rename from extra/xmode/modes/hex.xml
rename to basis/xmode/modes/hex.xml
diff --git a/extra/xmode/modes/hlsl.xml b/basis/xmode/modes/hlsl.xml
similarity index 100%
rename from extra/xmode/modes/hlsl.xml
rename to basis/xmode/modes/hlsl.xml
diff --git a/extra/xmode/modes/htaccess.xml b/basis/xmode/modes/htaccess.xml
similarity index 100%
rename from extra/xmode/modes/htaccess.xml
rename to basis/xmode/modes/htaccess.xml
diff --git a/extra/xmode/modes/html.xml b/basis/xmode/modes/html.xml
similarity index 100%
rename from extra/xmode/modes/html.xml
rename to basis/xmode/modes/html.xml
diff --git a/extra/xmode/modes/i4gl.xml b/basis/xmode/modes/i4gl.xml
similarity index 100%
rename from extra/xmode/modes/i4gl.xml
rename to basis/xmode/modes/i4gl.xml
diff --git a/extra/xmode/modes/icon.xml b/basis/xmode/modes/icon.xml
similarity index 100%
rename from extra/xmode/modes/icon.xml
rename to basis/xmode/modes/icon.xml
diff --git a/extra/xmode/modes/idl.xml b/basis/xmode/modes/idl.xml
similarity index 100%
rename from extra/xmode/modes/idl.xml
rename to basis/xmode/modes/idl.xml
diff --git a/extra/xmode/modes/inform.xml b/basis/xmode/modes/inform.xml
similarity index 100%
rename from extra/xmode/modes/inform.xml
rename to basis/xmode/modes/inform.xml
diff --git a/extra/xmode/modes/ini.xml b/basis/xmode/modes/ini.xml
similarity index 100%
rename from extra/xmode/modes/ini.xml
rename to basis/xmode/modes/ini.xml
diff --git a/extra/xmode/modes/inno-setup.xml b/basis/xmode/modes/inno-setup.xml
similarity index 100%
rename from extra/xmode/modes/inno-setup.xml
rename to basis/xmode/modes/inno-setup.xml
diff --git a/extra/xmode/modes/interlis.xml b/basis/xmode/modes/interlis.xml
similarity index 100%
rename from extra/xmode/modes/interlis.xml
rename to basis/xmode/modes/interlis.xml
diff --git a/extra/xmode/modes/io.xml b/basis/xmode/modes/io.xml
similarity index 100%
rename from extra/xmode/modes/io.xml
rename to basis/xmode/modes/io.xml
diff --git a/extra/xmode/modes/java.xml b/basis/xmode/modes/java.xml
similarity index 100%
rename from extra/xmode/modes/java.xml
rename to basis/xmode/modes/java.xml
diff --git a/extra/xmode/modes/javacc.xml b/basis/xmode/modes/javacc.xml
similarity index 100%
rename from extra/xmode/modes/javacc.xml
rename to basis/xmode/modes/javacc.xml
diff --git a/extra/xmode/modes/javascript.xml b/basis/xmode/modes/javascript.xml
similarity index 100%
rename from extra/xmode/modes/javascript.xml
rename to basis/xmode/modes/javascript.xml
diff --git a/extra/xmode/modes/jcl.xml b/basis/xmode/modes/jcl.xml
similarity index 100%
rename from extra/xmode/modes/jcl.xml
rename to basis/xmode/modes/jcl.xml
diff --git a/extra/xmode/modes/jhtml.xml b/basis/xmode/modes/jhtml.xml
similarity index 100%
rename from extra/xmode/modes/jhtml.xml
rename to basis/xmode/modes/jhtml.xml
diff --git a/extra/xmode/modes/jmk.xml b/basis/xmode/modes/jmk.xml
similarity index 100%
rename from extra/xmode/modes/jmk.xml
rename to basis/xmode/modes/jmk.xml
diff --git a/extra/xmode/modes/jsp.xml b/basis/xmode/modes/jsp.xml
similarity index 100%
rename from extra/xmode/modes/jsp.xml
rename to basis/xmode/modes/jsp.xml
diff --git a/extra/xmode/modes/latex.xml b/basis/xmode/modes/latex.xml
similarity index 100%
rename from extra/xmode/modes/latex.xml
rename to basis/xmode/modes/latex.xml
diff --git a/extra/xmode/modes/lilypond.xml b/basis/xmode/modes/lilypond.xml
similarity index 100%
rename from extra/xmode/modes/lilypond.xml
rename to basis/xmode/modes/lilypond.xml
diff --git a/extra/xmode/modes/lisp.xml b/basis/xmode/modes/lisp.xml
similarity index 100%
rename from extra/xmode/modes/lisp.xml
rename to basis/xmode/modes/lisp.xml
diff --git a/extra/xmode/modes/literate-haskell.xml b/basis/xmode/modes/literate-haskell.xml
similarity index 100%
rename from extra/xmode/modes/literate-haskell.xml
rename to basis/xmode/modes/literate-haskell.xml
diff --git a/extra/xmode/modes/lotos.xml b/basis/xmode/modes/lotos.xml
similarity index 100%
rename from extra/xmode/modes/lotos.xml
rename to basis/xmode/modes/lotos.xml
diff --git a/extra/xmode/modes/lua.xml b/basis/xmode/modes/lua.xml
similarity index 100%
rename from extra/xmode/modes/lua.xml
rename to basis/xmode/modes/lua.xml
diff --git a/extra/xmode/modes/mail.xml b/basis/xmode/modes/mail.xml
similarity index 100%
rename from extra/xmode/modes/mail.xml
rename to basis/xmode/modes/mail.xml
diff --git a/extra/xmode/modes/makefile.xml b/basis/xmode/modes/makefile.xml
similarity index 100%
rename from extra/xmode/modes/makefile.xml
rename to basis/xmode/modes/makefile.xml
diff --git a/extra/xmode/modes/maple.xml b/basis/xmode/modes/maple.xml
similarity index 100%
rename from extra/xmode/modes/maple.xml
rename to basis/xmode/modes/maple.xml
diff --git a/extra/xmode/modes/ml.xml b/basis/xmode/modes/ml.xml
similarity index 100%
rename from extra/xmode/modes/ml.xml
rename to basis/xmode/modes/ml.xml
diff --git a/extra/xmode/modes/modula3.xml b/basis/xmode/modes/modula3.xml
similarity index 100%
rename from extra/xmode/modes/modula3.xml
rename to basis/xmode/modes/modula3.xml
diff --git a/extra/xmode/modes/moin.xml b/basis/xmode/modes/moin.xml
similarity index 100%
rename from extra/xmode/modes/moin.xml
rename to basis/xmode/modes/moin.xml
diff --git a/extra/xmode/modes/mqsc.xml b/basis/xmode/modes/mqsc.xml
similarity index 100%
rename from extra/xmode/modes/mqsc.xml
rename to basis/xmode/modes/mqsc.xml
diff --git a/extra/xmode/modes/myghty.xml b/basis/xmode/modes/myghty.xml
similarity index 100%
rename from extra/xmode/modes/myghty.xml
rename to basis/xmode/modes/myghty.xml
diff --git a/extra/xmode/modes/mysql.xml b/basis/xmode/modes/mysql.xml
similarity index 100%
rename from extra/xmode/modes/mysql.xml
rename to basis/xmode/modes/mysql.xml
diff --git a/extra/xmode/modes/netrexx.xml b/basis/xmode/modes/netrexx.xml
similarity index 100%
rename from extra/xmode/modes/netrexx.xml
rename to basis/xmode/modes/netrexx.xml
diff --git a/extra/xmode/modes/nqc.xml b/basis/xmode/modes/nqc.xml
similarity index 100%
rename from extra/xmode/modes/nqc.xml
rename to basis/xmode/modes/nqc.xml
diff --git a/extra/xmode/modes/nsis2.xml b/basis/xmode/modes/nsis2.xml
similarity index 100%
rename from extra/xmode/modes/nsis2.xml
rename to basis/xmode/modes/nsis2.xml
diff --git a/extra/xmode/modes/objective-c.xml b/basis/xmode/modes/objective-c.xml
similarity index 100%
rename from extra/xmode/modes/objective-c.xml
rename to basis/xmode/modes/objective-c.xml
diff --git a/extra/xmode/modes/objectrexx.xml b/basis/xmode/modes/objectrexx.xml
similarity index 100%
rename from extra/xmode/modes/objectrexx.xml
rename to basis/xmode/modes/objectrexx.xml
diff --git a/extra/xmode/modes/occam.xml b/basis/xmode/modes/occam.xml
similarity index 100%
rename from extra/xmode/modes/occam.xml
rename to basis/xmode/modes/occam.xml
diff --git a/extra/xmode/modes/omnimark.xml b/basis/xmode/modes/omnimark.xml
similarity index 100%
rename from extra/xmode/modes/omnimark.xml
rename to basis/xmode/modes/omnimark.xml
diff --git a/extra/xmode/modes/pascal.xml b/basis/xmode/modes/pascal.xml
similarity index 100%
rename from extra/xmode/modes/pascal.xml
rename to basis/xmode/modes/pascal.xml
diff --git a/extra/xmode/modes/patch.xml b/basis/xmode/modes/patch.xml
similarity index 100%
rename from extra/xmode/modes/patch.xml
rename to basis/xmode/modes/patch.xml
diff --git a/extra/xmode/modes/perl.xml b/basis/xmode/modes/perl.xml
similarity index 100%
rename from extra/xmode/modes/perl.xml
rename to basis/xmode/modes/perl.xml
diff --git a/extra/xmode/modes/php.xml b/basis/xmode/modes/php.xml
similarity index 100%
rename from extra/xmode/modes/php.xml
rename to basis/xmode/modes/php.xml
diff --git a/extra/xmode/modes/pike.xml b/basis/xmode/modes/pike.xml
similarity index 100%
rename from extra/xmode/modes/pike.xml
rename to basis/xmode/modes/pike.xml
diff --git a/extra/xmode/modes/pl-sql.xml b/basis/xmode/modes/pl-sql.xml
similarity index 100%
rename from extra/xmode/modes/pl-sql.xml
rename to basis/xmode/modes/pl-sql.xml
diff --git a/extra/xmode/modes/pl1.xml b/basis/xmode/modes/pl1.xml
similarity index 100%
rename from extra/xmode/modes/pl1.xml
rename to basis/xmode/modes/pl1.xml
diff --git a/extra/xmode/modes/pop11.xml b/basis/xmode/modes/pop11.xml
similarity index 100%
rename from extra/xmode/modes/pop11.xml
rename to basis/xmode/modes/pop11.xml
diff --git a/extra/xmode/modes/postscript.xml b/basis/xmode/modes/postscript.xml
similarity index 100%
rename from extra/xmode/modes/postscript.xml
rename to basis/xmode/modes/postscript.xml
diff --git a/extra/xmode/modes/povray.xml b/basis/xmode/modes/povray.xml
similarity index 100%
rename from extra/xmode/modes/povray.xml
rename to basis/xmode/modes/povray.xml
diff --git a/extra/xmode/modes/powerdynamo.xml b/basis/xmode/modes/powerdynamo.xml
similarity index 100%
rename from extra/xmode/modes/powerdynamo.xml
rename to basis/xmode/modes/powerdynamo.xml
diff --git a/extra/xmode/modes/progress.xml b/basis/xmode/modes/progress.xml
similarity index 100%
rename from extra/xmode/modes/progress.xml
rename to basis/xmode/modes/progress.xml
diff --git a/extra/xmode/modes/prolog.xml b/basis/xmode/modes/prolog.xml
similarity index 100%
rename from extra/xmode/modes/prolog.xml
rename to basis/xmode/modes/prolog.xml
diff --git a/extra/xmode/modes/props.xml b/basis/xmode/modes/props.xml
similarity index 100%
rename from extra/xmode/modes/props.xml
rename to basis/xmode/modes/props.xml
diff --git a/extra/xmode/modes/psp.xml b/basis/xmode/modes/psp.xml
similarity index 100%
rename from extra/xmode/modes/psp.xml
rename to basis/xmode/modes/psp.xml
diff --git a/extra/xmode/modes/ptl.xml b/basis/xmode/modes/ptl.xml
similarity index 100%
rename from extra/xmode/modes/ptl.xml
rename to basis/xmode/modes/ptl.xml
diff --git a/extra/xmode/modes/pvwave.xml b/basis/xmode/modes/pvwave.xml
similarity index 100%
rename from extra/xmode/modes/pvwave.xml
rename to basis/xmode/modes/pvwave.xml
diff --git a/extra/xmode/modes/pyrex.xml b/basis/xmode/modes/pyrex.xml
similarity index 100%
rename from extra/xmode/modes/pyrex.xml
rename to basis/xmode/modes/pyrex.xml
diff --git a/extra/xmode/modes/python.xml b/basis/xmode/modes/python.xml
similarity index 100%
rename from extra/xmode/modes/python.xml
rename to basis/xmode/modes/python.xml
diff --git a/extra/xmode/modes/quake.xml b/basis/xmode/modes/quake.xml
similarity index 100%
rename from extra/xmode/modes/quake.xml
rename to basis/xmode/modes/quake.xml
diff --git a/extra/xmode/modes/rcp.xml b/basis/xmode/modes/rcp.xml
similarity index 100%
rename from extra/xmode/modes/rcp.xml
rename to basis/xmode/modes/rcp.xml
diff --git a/extra/xmode/modes/rd.xml b/basis/xmode/modes/rd.xml
similarity index 100%
rename from extra/xmode/modes/rd.xml
rename to basis/xmode/modes/rd.xml
diff --git a/extra/xmode/modes/rebol.xml b/basis/xmode/modes/rebol.xml
similarity index 100%
rename from extra/xmode/modes/rebol.xml
rename to basis/xmode/modes/rebol.xml
diff --git a/extra/xmode/modes/redcode.xml b/basis/xmode/modes/redcode.xml
similarity index 100%
rename from extra/xmode/modes/redcode.xml
rename to basis/xmode/modes/redcode.xml
diff --git a/extra/xmode/modes/relax-ng-compact.xml b/basis/xmode/modes/relax-ng-compact.xml
similarity index 100%
rename from extra/xmode/modes/relax-ng-compact.xml
rename to basis/xmode/modes/relax-ng-compact.xml
diff --git a/extra/xmode/modes/rest.xml b/basis/xmode/modes/rest.xml
similarity index 100%
rename from extra/xmode/modes/rest.xml
rename to basis/xmode/modes/rest.xml
diff --git a/extra/xmode/modes/rfc.xml b/basis/xmode/modes/rfc.xml
similarity index 100%
rename from extra/xmode/modes/rfc.xml
rename to basis/xmode/modes/rfc.xml
diff --git a/extra/xmode/modes/rhtml.xml b/basis/xmode/modes/rhtml.xml
similarity index 100%
rename from extra/xmode/modes/rhtml.xml
rename to basis/xmode/modes/rhtml.xml
diff --git a/extra/xmode/modes/rib.xml b/basis/xmode/modes/rib.xml
similarity index 100%
rename from extra/xmode/modes/rib.xml
rename to basis/xmode/modes/rib.xml
diff --git a/extra/xmode/modes/rpmspec.xml b/basis/xmode/modes/rpmspec.xml
similarity index 100%
rename from extra/xmode/modes/rpmspec.xml
rename to basis/xmode/modes/rpmspec.xml
diff --git a/extra/xmode/modes/rtf.xml b/basis/xmode/modes/rtf.xml
similarity index 100%
rename from extra/xmode/modes/rtf.xml
rename to basis/xmode/modes/rtf.xml
diff --git a/extra/xmode/modes/ruby.xml b/basis/xmode/modes/ruby.xml
similarity index 100%
rename from extra/xmode/modes/ruby.xml
rename to basis/xmode/modes/ruby.xml
diff --git a/extra/xmode/modes/rview.xml b/basis/xmode/modes/rview.xml
similarity index 100%
rename from extra/xmode/modes/rview.xml
rename to basis/xmode/modes/rview.xml
diff --git a/extra/xmode/modes/sas.xml b/basis/xmode/modes/sas.xml
similarity index 100%
rename from extra/xmode/modes/sas.xml
rename to basis/xmode/modes/sas.xml
diff --git a/extra/xmode/modes/scheme.xml b/basis/xmode/modes/scheme.xml
similarity index 100%
rename from extra/xmode/modes/scheme.xml
rename to basis/xmode/modes/scheme.xml
diff --git a/extra/xmode/modes/sdl_pr.xml b/basis/xmode/modes/sdl_pr.xml
similarity index 100%
rename from extra/xmode/modes/sdl_pr.xml
rename to basis/xmode/modes/sdl_pr.xml
diff --git a/extra/xmode/modes/sgml.xml b/basis/xmode/modes/sgml.xml
similarity index 100%
rename from extra/xmode/modes/sgml.xml
rename to basis/xmode/modes/sgml.xml
diff --git a/extra/xmode/modes/shellscript.xml b/basis/xmode/modes/shellscript.xml
similarity index 100%
rename from extra/xmode/modes/shellscript.xml
rename to basis/xmode/modes/shellscript.xml
diff --git a/extra/xmode/modes/shtml.xml b/basis/xmode/modes/shtml.xml
similarity index 100%
rename from extra/xmode/modes/shtml.xml
rename to basis/xmode/modes/shtml.xml
diff --git a/extra/xmode/modes/slate.xml b/basis/xmode/modes/slate.xml
similarity index 100%
rename from extra/xmode/modes/slate.xml
rename to basis/xmode/modes/slate.xml
diff --git a/extra/xmode/modes/smalltalk.xml b/basis/xmode/modes/smalltalk.xml
similarity index 100%
rename from extra/xmode/modes/smalltalk.xml
rename to basis/xmode/modes/smalltalk.xml
diff --git a/extra/xmode/modes/smi-mib.xml b/basis/xmode/modes/smi-mib.xml
similarity index 100%
rename from extra/xmode/modes/smi-mib.xml
rename to basis/xmode/modes/smi-mib.xml
diff --git a/extra/xmode/modes/splus.xml b/basis/xmode/modes/splus.xml
similarity index 100%
rename from extra/xmode/modes/splus.xml
rename to basis/xmode/modes/splus.xml
diff --git a/extra/xmode/modes/sql-loader.xml b/basis/xmode/modes/sql-loader.xml
similarity index 100%
rename from extra/xmode/modes/sql-loader.xml
rename to basis/xmode/modes/sql-loader.xml
diff --git a/extra/xmode/modes/sqr.xml b/basis/xmode/modes/sqr.xml
similarity index 100%
rename from extra/xmode/modes/sqr.xml
rename to basis/xmode/modes/sqr.xml
diff --git a/extra/xmode/modes/squidconf.xml b/basis/xmode/modes/squidconf.xml
similarity index 100%
rename from extra/xmode/modes/squidconf.xml
rename to basis/xmode/modes/squidconf.xml
diff --git a/extra/xmode/modes/ssharp.xml b/basis/xmode/modes/ssharp.xml
similarity index 100%
rename from extra/xmode/modes/ssharp.xml
rename to basis/xmode/modes/ssharp.xml
diff --git a/extra/xmode/modes/svn-commit.xml b/basis/xmode/modes/svn-commit.xml
similarity index 100%
rename from extra/xmode/modes/svn-commit.xml
rename to basis/xmode/modes/svn-commit.xml
diff --git a/extra/xmode/modes/swig.xml b/basis/xmode/modes/swig.xml
similarity index 100%
rename from extra/xmode/modes/swig.xml
rename to basis/xmode/modes/swig.xml
diff --git a/extra/xmode/modes/tcl.xml b/basis/xmode/modes/tcl.xml
similarity index 100%
rename from extra/xmode/modes/tcl.xml
rename to basis/xmode/modes/tcl.xml
diff --git a/extra/xmode/modes/tex.xml b/basis/xmode/modes/tex.xml
similarity index 100%
rename from extra/xmode/modes/tex.xml
rename to basis/xmode/modes/tex.xml
diff --git a/extra/xmode/modes/texinfo.xml b/basis/xmode/modes/texinfo.xml
similarity index 100%
rename from extra/xmode/modes/texinfo.xml
rename to basis/xmode/modes/texinfo.xml
diff --git a/extra/xmode/modes/text.xml b/basis/xmode/modes/text.xml
similarity index 100%
rename from extra/xmode/modes/text.xml
rename to basis/xmode/modes/text.xml
diff --git a/extra/xmode/modes/tpl.xml b/basis/xmode/modes/tpl.xml
similarity index 100%
rename from extra/xmode/modes/tpl.xml
rename to basis/xmode/modes/tpl.xml
diff --git a/extra/xmode/modes/tsql.xml b/basis/xmode/modes/tsql.xml
similarity index 100%
rename from extra/xmode/modes/tsql.xml
rename to basis/xmode/modes/tsql.xml
diff --git a/extra/xmode/modes/tthtml.xml b/basis/xmode/modes/tthtml.xml
similarity index 100%
rename from extra/xmode/modes/tthtml.xml
rename to basis/xmode/modes/tthtml.xml
diff --git a/extra/xmode/modes/twiki.xml b/basis/xmode/modes/twiki.xml
similarity index 100%
rename from extra/xmode/modes/twiki.xml
rename to basis/xmode/modes/twiki.xml
diff --git a/extra/xmode/modes/typoscript.xml b/basis/xmode/modes/typoscript.xml
similarity index 100%
rename from extra/xmode/modes/typoscript.xml
rename to basis/xmode/modes/typoscript.xml
diff --git a/extra/xmode/modes/uscript.xml b/basis/xmode/modes/uscript.xml
similarity index 100%
rename from extra/xmode/modes/uscript.xml
rename to basis/xmode/modes/uscript.xml
diff --git a/extra/xmode/modes/vbscript.xml b/basis/xmode/modes/vbscript.xml
similarity index 100%
rename from extra/xmode/modes/vbscript.xml
rename to basis/xmode/modes/vbscript.xml
diff --git a/extra/xmode/modes/velocity.xml b/basis/xmode/modes/velocity.xml
similarity index 100%
rename from extra/xmode/modes/velocity.xml
rename to basis/xmode/modes/velocity.xml
diff --git a/extra/xmode/modes/verilog.xml b/basis/xmode/modes/verilog.xml
similarity index 100%
rename from extra/xmode/modes/verilog.xml
rename to basis/xmode/modes/verilog.xml
diff --git a/extra/xmode/modes/vhdl.xml b/basis/xmode/modes/vhdl.xml
similarity index 100%
rename from extra/xmode/modes/vhdl.xml
rename to basis/xmode/modes/vhdl.xml
diff --git a/extra/xmode/modes/xml.xml b/basis/xmode/modes/xml.xml
similarity index 100%
rename from extra/xmode/modes/xml.xml
rename to basis/xmode/modes/xml.xml
diff --git a/extra/xmode/modes/xq.xml b/basis/xmode/modes/xq.xml
similarity index 100%
rename from extra/xmode/modes/xq.xml
rename to basis/xmode/modes/xq.xml
diff --git a/extra/xmode/modes/xsl.xml b/basis/xmode/modes/xsl.xml
similarity index 100%
rename from extra/xmode/modes/xsl.xml
rename to basis/xmode/modes/xsl.xml
diff --git a/extra/xmode/modes/zpt.xml b/basis/xmode/modes/zpt.xml
similarity index 100%
rename from extra/xmode/modes/zpt.xml
rename to basis/xmode/modes/zpt.xml
diff --git a/extra/xmode/rules/authors.txt b/basis/xmode/rules/authors.txt
similarity index 100%
rename from extra/xmode/rules/authors.txt
rename to basis/xmode/rules/authors.txt
diff --git a/extra/xmode/rules/rules-tests.factor b/basis/xmode/rules/rules-tests.factor
similarity index 100%
rename from extra/xmode/rules/rules-tests.factor
rename to basis/xmode/rules/rules-tests.factor
diff --git a/extra/xmode/rules/rules.factor b/basis/xmode/rules/rules.factor
similarity index 100%
rename from extra/xmode/rules/rules.factor
rename to basis/xmode/rules/rules.factor
diff --git a/extra/xmode/summary.txt b/basis/xmode/summary.txt
similarity index 100%
rename from extra/xmode/summary.txt
rename to basis/xmode/summary.txt
diff --git a/extra/xmode/tokens/authors.txt b/basis/xmode/tokens/authors.txt
similarity index 100%
rename from extra/xmode/tokens/authors.txt
rename to basis/xmode/tokens/authors.txt
diff --git a/extra/xmode/tokens/tokens.factor b/basis/xmode/tokens/tokens.factor
similarity index 100%
rename from extra/xmode/tokens/tokens.factor
rename to basis/xmode/tokens/tokens.factor
diff --git a/extra/xmode/utilities/authors.txt b/basis/xmode/utilities/authors.txt
similarity index 100%
rename from extra/xmode/utilities/authors.txt
rename to basis/xmode/utilities/authors.txt
diff --git a/extra/xmode/utilities/test.xml b/basis/xmode/utilities/test.xml
similarity index 100%
rename from extra/xmode/utilities/test.xml
rename to basis/xmode/utilities/test.xml
diff --git a/extra/xmode/utilities/utilities-tests.factor b/basis/xmode/utilities/utilities-tests.factor
similarity index 100%
rename from extra/xmode/utilities/utilities-tests.factor
rename to basis/xmode/utilities/utilities-tests.factor
diff --git a/extra/xmode/utilities/utilities.factor b/basis/xmode/utilities/utilities.factor
similarity index 100%
rename from extra/xmode/utilities/utilities.factor
rename to basis/xmode/utilities/utilities.factor
diff --git a/extra/xmode/xmode.dtd b/basis/xmode/xmode.dtd
similarity index 100%
rename from extra/xmode/xmode.dtd
rename to basis/xmode/xmode.dtd
From 26b89084b7d36a5d32daec1afdce99ae93ebfacc Mon Sep 17 00:00:00 2001
From: Slava Pestov
Date: Thu, 4 Sep 2008 20:11:28 -0500
Subject: [PATCH 23/23] Fix path names
---
basis/furnace/referrer/referrer.factor | 7 ++++---
basis/html/templates/chloe/chloe-tests.factor | 2 +-
basis/html/templates/fhtml/fhtml-tests.factor | 2 +-
basis/http/http-tests.factor | 4 ++--
basis/http/parsers/parsers.factor | 2 ++
basis/xmode/catalog/catalog.factor | 4 ++--
basis/xmode/code2html/code2html.factor | 2 +-
basis/xmode/utilities/utilities-tests.factor | 2 +-
extra/webapps/wiki/initial-content/Farkup.txt | 4 ++++
extra/websites/concatenative/concatenative.factor | 4 ++--
10 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/basis/furnace/referrer/referrer.factor b/basis/furnace/referrer/referrer.factor
index 56777676fc..4cfd4bb6c6 100644
--- a/basis/furnace/referrer/referrer.factor
+++ b/basis/furnace/referrer/referrer.factor
@@ -1,6 +1,7 @@
-USING: accessors kernel
-http.server http.server.filters http.server.responses
-furnace ;
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel http.server http.server.filters
+http.server.responses furnace ;
IN: furnace.referrer
TUPLE: referrer-check < filter-responder quot ;
diff --git a/basis/html/templates/chloe/chloe-tests.factor b/basis/html/templates/chloe/chloe-tests.factor
index 4048836cfe..0305b738af 100644
--- a/basis/html/templates/chloe/chloe-tests.factor
+++ b/basis/html/templates/chloe/chloe-tests.factor
@@ -26,7 +26,7 @@ IN: html.templates.chloe.tests
"?>" split1 nip ; inline
: test-template ( name -- template )
- "resource:extra/html/templates/chloe/test/"
+ "resource:basis/html/templates/chloe/test/"
prepend ;
[ "Hello world" ] [
diff --git a/basis/html/templates/fhtml/fhtml-tests.factor b/basis/html/templates/fhtml/fhtml-tests.factor
index 43ea28fa55..b863087a92 100755
--- a/basis/html/templates/fhtml/fhtml-tests.factor
+++ b/basis/html/templates/fhtml/fhtml-tests.factor
@@ -4,7 +4,7 @@ tools.test sequences parser ;
IN: html.templates.fhtml.tests
: test-template ( path -- ? )
- "resource:extra/html/templates/fhtml/test/"
+ "resource:basis/html/templates/fhtml/test/"
prepend
[
".fhtml" append [ call-template ] with-string-writer
diff --git a/basis/http/http-tests.factor b/basis/http/http-tests.factor
index 3d0ac51e51..40154e94ef 100755
--- a/basis/http/http-tests.factor
+++ b/basis/http/http-tests.factor
@@ -202,7 +202,7 @@ test-db [
add-quit-action
- "resource:extra/http/test" >>default
+ "resource:basis/http/test" >>default
"nested" add-responder
[ URL" redirect-loop" ] >>display
@@ -214,7 +214,7 @@ test-db [
] unit-test
[ t ] [
- "resource:extra/http/test/foo.html" ascii file-contents
+ "resource:basis/http/test/foo.html" ascii file-contents
"http://localhost:1237/nested/foo.html" http-get nip =
] unit-test
diff --git a/basis/http/parsers/parsers.factor b/basis/http/parsers/parsers.factor
index 746741c894..2a31373951 100644
--- a/basis/http/parsers/parsers.factor
+++ b/basis/http/parsers/parsers.factor
@@ -1,3 +1,5 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
USING: combinators.short-circuit math math.order math.parser kernel
sequences sequences.deep peg peg.parsers assocs arrays
hashtables strings unicode.case namespaces ascii ;
diff --git a/basis/xmode/catalog/catalog.factor b/basis/xmode/catalog/catalog.factor
index 26147c7867..16da4be1d3 100755
--- a/basis/xmode/catalog/catalog.factor
+++ b/basis/xmode/catalog/catalog.factor
@@ -24,7 +24,7 @@ TAGS>
] keep ;
MEMO: modes ( -- modes )
- "resource:extra/xmode/modes/catalog"
+ "resource:basis/xmode/modes/catalog"
file>xml parse-modes-tag ;
MEMO: mode-names ( -- modes )
@@ -36,7 +36,7 @@ MEMO: mode-names ( -- modes )
MEMO: (load-mode) ( name -- rule-sets )
modes at [
file>>
- "resource:extra/xmode/modes/" prepend
+ "resource:basis/xmode/modes/" prepend
utf8 parse-mode
] [
"text" (load-mode)
diff --git a/basis/xmode/code2html/code2html.factor b/basis/xmode/code2html/code2html.factor
index 028d9b62ba..032b2b25f0 100755
--- a/basis/xmode/code2html/code2html.factor
+++ b/basis/xmode/code2html/code2html.factor
@@ -20,7 +20,7 @@ IN: xmode.code2html
: default-stylesheet ( -- )
;
diff --git a/basis/xmode/utilities/utilities-tests.factor b/basis/xmode/utilities/utilities-tests.factor
index e4946701dd..45238ca2b1 100755
--- a/basis/xmode/utilities/utilities-tests.factor
+++ b/basis/xmode/utilities/utilities-tests.factor
@@ -47,6 +47,6 @@ TAGS>
"PUBLIC"
}
] [
- "resource:extra/xmode/utilities/test.xml"
+ "resource:basis/xmode/utilities/test.xml"
file>xml parse-company-tag
] unit-test
diff --git a/extra/webapps/wiki/initial-content/Farkup.txt b/extra/webapps/wiki/initial-content/Farkup.txt
index 8814af6c0a..9c1fb5e7db 100644
--- a/extra/webapps/wiki/initial-content/Farkup.txt
+++ b/extra/webapps/wiki/initial-content/Farkup.txt
@@ -16,10 +16,14 @@ Images can be embedded in the text:
[[image:http://factorcode.org/graphics/logo.png]]
+Lists:
+
- a list
- with three
- items
+Tables:
+
|a table|with|four|columns|
|and|two|rows|...|
diff --git a/extra/websites/concatenative/concatenative.factor b/extra/websites/concatenative/concatenative.factor
index 1ae7f63a27..11d8fa27c2 100644
--- a/extra/websites/concatenative/concatenative.factor
+++ b/extra/websites/concatenative/concatenative.factor
@@ -76,8 +76,8 @@ SYMBOL: dh-file
init-factor-db ;
: init-testing ( -- )
- "resource:extra/openssl/test/dh1024.pem" dh-file set-global
- "resource:extra/openssl/test/server.pem" key-file set-global
+ "resource:basis/openssl/test/dh1024.pem" dh-file set-global
+ "resource:basis/openssl/test/server.pem" key-file set-global
"password" key-password set-global
common-configuration ;