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 98% rename from extra/farkup/farkup-tests.factor rename to basis/farkup/farkup-tests.factor index 005e875d89..0f96934798 100644 --- a/extra/farkup/farkup-tests.factor +++ b/basis/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
aFactorJavaLisp
CoolnessYesNoNo
BadassYesNoNo
EnterpriseYesYesNo
KosherYesNoYes

" ] [ "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 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 67% rename from extra/furnace/referrer/referrer.factor rename to basis/furnace/referrer/referrer.factor index 56777676fc..4cfd4bb6c6 100644 --- a/extra/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/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 98% rename from extra/html/templates/chloe/chloe-tests.factor rename to basis/html/templates/chloe/chloe-tests.factor index 4048836cfe..0305b738af 100644 --- a/extra/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/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 91% rename from extra/html/templates/fhtml/fhtml-tests.factor rename to basis/html/templates/fhtml/fhtml-tests.factor index 43ea28fa55..b863087a92 100755 --- a/extra/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/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 98% rename from extra/http/client/client.factor rename to basis/http/client/client.factor index 10b9206a51..ea1cfd9a4b 100755 --- a/extra/http/client/client.factor +++ b/basis/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/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 93% rename from extra/http/http-tests.factor rename to basis/http/http-tests.factor index bbf8161dd7..40154e94ef 100755 --- a/extra/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 @@ -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 [ ] [ [ 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 97% rename from extra/http/parsers/parsers.factor rename to basis/http/parsers/parsers.factor index 746741c894..2a31373951 100644 --- a/extra/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/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/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 1c1a48ff9d..69eac5dc15 100644 --- a/basis/tools/scaffold/scaffold.factor +++ b/basis/tools/scaffold/scaffold.factor @@ -4,19 +4,21 @@ 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 ; +ERROR: no-vocab vocab ; +> using get conjoin ; + vocabulary>> using get [ conjoin ] [ drop ] if* ; : ($values.) ( array -- ) [ @@ -140,18 +142,26 @@ ERROR: vocab-name-contains-dot path ; : $description. ( word -- ) drop - "{ $description } ;" print ; + "{ $description \"\" } ;" print ; : help-header. ( word -- ) "HELP: " write name>> print ; -: help. ( word -- ) +: (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 ; @@ -178,12 +188,33 @@ 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 + +: check-vocab ( vocab -- vocab ) + 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 -- ) - H{ } clone using [ + [ + check-vocab prepare-scaffold [ "-docs.factor" scaffold-path ] dip swap [ set-scaffold-help-file ] [ 2drop ] if - ] with-variable ; + ] with-scaffold ; + +: scaffold-undocumented ( string -- ) + [ interesting-words. ] [ link-vocab ] bi ; : scaffold-vocab ( vocab-root string -- ) prepare-scaffold @@ -192,4 +223,5 @@ ERROR: vocab-name-contains-dot path ; [ scaffold-main ] [ scaffold-tests ] [ drop scaffold-authors ] + [ nip require ] } 2cleave ; 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 ; 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 ) { 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 97% rename from extra/xmode/catalog/catalog.factor rename to basis/xmode/catalog/catalog.factor index 26147c7867..16da4be1d3 100755 --- a/extra/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/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 95% rename from extra/xmode/code2html/code2html.factor rename to basis/xmode/code2html/code2html.factor index 028d9b62ba..032b2b25f0 100755 --- a/extra/xmode/code2html/code2html.factor +++ b/basis/xmode/code2html/code2html.factor @@ -20,7 +20,7 @@ IN: xmode.code2html : default-stylesheet ( -- ) ; 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 95% rename from extra/xmode/utilities/utilities-tests.factor rename to basis/xmode/utilities/utilities-tests.factor index e4946701dd..45238ca2b1 100755 --- a/extra/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/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 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 ; 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? diff --git a/unmaintained/graphics/authors.txt b/extra/graphics/authors.txt similarity index 100% rename from unmaintained/graphics/authors.txt rename to extra/graphics/authors.txt diff --git a/unmaintained/graphics/bitmap/authors.txt b/extra/graphics/bitmap/authors.txt similarity index 100% rename from unmaintained/graphics/bitmap/authors.txt rename to extra/graphics/bitmap/authors.txt diff --git a/unmaintained/graphics/bitmap/bitmap.factor b/extra/graphics/bitmap/bitmap.factor similarity index 54% rename from unmaintained/graphics/bitmap/bitmap.factor rename to extra/graphics/bitmap/bitmap.factor index d2ddad0ae3..82fdc334cb 100755 --- a/unmaintained/graphics/bitmap/bitmap.factor +++ b/extra/graphics/bitmap/bitmap.factor @@ -4,7 +4,8 @@ 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 ; +sequences strings ui ui.gadgets.panes io.encodings.binary +accessors ; IN: graphics.bitmap ! Currently can only handle 24bit bitmaps. @@ -31,36 +32,35 @@ 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 ; + 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> 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 ; + 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 ) - [ bitmap-offset 14 - ] keep bitmap-header-length - ; + [ offset>> 14 - ] keep header-length>> - ; : color-index-length ( bitmap -- n ) - [ bitmap-width ] keep [ bitmap-planes * ] keep - [ bitmap-bit-count * 31 + 32 /i 4 * ] keep - bitmap-height abs * ; + [ width>> ] keep [ planes>> * ] keep + [ bit-count>> * 31 + 32 /i 4 * ] keep + 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 ; + dup rgb-quads-length read >>rgb-quads + dup color-index-length read >>color-index drop ; : load-bitmap ( path -- bitmap ) normalize-path binary [ @@ -69,50 +69,52 @@ M: bitmap-magic summary 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 ; + dup color-index>> over bit-count>> + raw-bitmap>string >byte-array >>array ; : save-bitmap ( bitmap path -- ) binary [ "BM" write - dup bitmap-array length 14 + 40 + 4 >le write + dup 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 + { + [ 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 bitmap-height 0 < [ + dup height>> 0 < [ 0 0 glRasterPos2i 1.0 -1.0 glPixelZoom ] [ - 0 over bitmap-height abs glRasterPos2i + 0 over height>> abs glRasterPos2i 1.0 1.0 glPixelZoom ] if - [ bitmap-width ] keep + [ width>> ] keep [ - [ bitmap-height abs ] keep - bitmap-bit-count { + [ height>> abs ] keep + bit-count>> { ! { 32 [ GL_BGRA GL_UNSIGNED_INT_8_8_8_8 ] } ! broken { 24 [ GL_BGR GL_UNSIGNED_BYTE ] } } case - ] keep bitmap-array glDrawPixels ; + ] keep array>> glDrawPixels ; -M: bitmap width ( bitmap -- ) bitmap-width ; -M: bitmap height ( bitmap -- ) bitmap-height ; +M: bitmap width ( bitmap -- ) width>> ; +M: bitmap height ( bitmap -- ) height>> ; : bitmap. ( path -- ) load-bitmap gadget. ; diff --git a/unmaintained/graphics/bitmap/test-images/1bit.bmp b/extra/graphics/bitmap/test-images/1bit.bmp similarity index 100% rename from unmaintained/graphics/bitmap/test-images/1bit.bmp rename to extra/graphics/bitmap/test-images/1bit.bmp diff --git a/unmaintained/graphics/bitmap/test-images/rgb4bit.bmp b/extra/graphics/bitmap/test-images/rgb4bit.bmp similarity index 100% rename from unmaintained/graphics/bitmap/test-images/rgb4bit.bmp rename to extra/graphics/bitmap/test-images/rgb4bit.bmp diff --git a/unmaintained/graphics/bitmap/test-images/rgb8bit.bmp b/extra/graphics/bitmap/test-images/rgb8bit.bmp similarity index 100% rename from unmaintained/graphics/bitmap/test-images/rgb8bit.bmp rename to extra/graphics/bitmap/test-images/rgb8bit.bmp diff --git a/unmaintained/graphics/bitmap/test-images/thiswayup24.bmp b/extra/graphics/bitmap/test-images/thiswayup24.bmp similarity index 100% rename from unmaintained/graphics/bitmap/test-images/thiswayup24.bmp rename to extra/graphics/bitmap/test-images/thiswayup24.bmp diff --git a/unmaintained/graphics/tags.txt b/extra/graphics/tags.txt similarity index 100% rename from unmaintained/graphics/tags.txt rename to extra/graphics/tags.txt diff --git a/unmaintained/graphics/viewer/authors.txt b/extra/graphics/viewer/authors.txt similarity index 100% rename from unmaintained/graphics/viewer/authors.txt rename to extra/graphics/viewer/authors.txt diff --git a/unmaintained/graphics/viewer/viewer.factor b/extra/graphics/viewer/viewer.factor similarity index 57% rename from unmaintained/graphics/viewer/viewer.factor rename to extra/graphics/viewer/viewer.factor index 938dc61c09..0533ffaf5d 100644 --- a/unmaintained/graphics/viewer/viewer.factor +++ b/extra/graphics/viewer/viewer.factor @@ -1,26 +1,21 @@ ! Copyright (C) 2007 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. - USING: arrays kernel math math.functions namespaces opengl -ui.gadgets ui.render ; +ui.gadgets ui.render accessors ; IN: graphics.viewer -TUPLE: graphics-gadget image ; +TUPLE: graphics-gadget < gadget image ; GENERIC: draw-image ( image -- ) GENERIC: width ( image -- w ) GENERIC: height ( image -- h ) M: graphics-gadget pref-dim* - graphics-gadget-image - [ width ] keep height abs 2array ; + image>> [ width ] keep height abs 2array ; M: graphics-gadget draw-gadget* ( gadget -- ) - origin get [ - graphics-gadget-image draw-image - ] with-translation ; + origin get [ image>> draw-image ] with-translation ; : ( bitmap -- gadget ) - \ graphics-gadget construct-gadget - [ set-graphics-gadget-image ] keep ; - + \ graphics-gadget new-gadget + swap >>image ; 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 ; diff --git a/unfinished/vocab-browser/vocab-browser.factor b/unfinished/vocab-browser/vocab-browser.factor index c5203a4894..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,10 +59,21 @@ IN: vocab-browser [ drop ] [ "Predicate Classes" $heading nl - [ pprint-class ] each + ! [ pprint-class ] each + [ { [ ] [ superclass ] } 1arr ] map + { "CLASS" "SUPERCLASS" } prefix + print-table + ] + 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 +91,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 @@ -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" } ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +