diff --git a/extra/alarms/alarms.factor b/extra/alarms/alarms.factor index 1ccfdcbd30..55a66c5231 100755 --- a/extra/alarms/alarms.factor +++ b/extra/alarms/alarms.factor @@ -85,5 +85,8 @@ PRIVATE> : later ( quot dt -- alarm ) from-now f add-alarm ; +: every ( quot dt -- alarm ) + [ from-now ] keep add-alarm ; + : cancel-alarm ( alarm -- ) alarm-entry [ alarms get-global heap-delete ] if-box? ; diff --git a/extra/http/server/cgi/cgi.factor b/extra/http/server/cgi/cgi.factor index 9950a9a4a4..cce3e5402d 100755 --- a/extra/http/server/cgi/cgi.factor +++ b/extra/http/server/cgi/cgi.factor @@ -41,18 +41,17 @@ IN: http.server.cgi ] when ] H{ } make-assoc ; -: cgi-descriptor ( name -- desc ) - [ - dup 1array +arguments+ set - cgi-variables +environment+ set - ] H{ } make-assoc ; +: ( name -- desc ) + + over 1array >>command + swap cgi-variables >>environment ; : serve-cgi ( name -- response ) 200 >>code "CGI output follows" >>message swap [ - stdio get swap cgi-descriptor [ + stdio get swap [ post? [ request get post-data>> write flush ] when diff --git a/extra/logging/insomniac/insomniac.factor b/extra/logging/insomniac/insomniac.factor index 0294085eda..83339af1c0 100755 --- a/extra/logging/insomniac/insomniac.factor +++ b/extra/logging/insomniac/insomniac.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: logging.analysis logging.server logging smtp io.sockets -kernel io.files io.streams.string namespaces raptor.cron assocs -io.encodings.utf8 ; +kernel io.files io.streams.string namespaces alarms assocs +io.encodings.utf8 accessors calendar ; IN: logging.insomniac SYMBOL: insomniac-smtp-host @@ -29,13 +29,14 @@ SYMBOL: insomniac-recipients : (email-log-report) ( service word-names -- ) [ - over >r - ?analyze-log dup [ - r> email-subject - insomniac-recipients get - insomniac-sender get - send-simple-message - ] [ r> 2drop ] if + dupd ?analyze-log dup [ + + swap >>body + insomniac-recipients get >>to + insomniac-sender get >>from + swap email-subject >>subject + send + ] [ 2drop ] if ] with-insomniac-smtp ; \ (email-log-report) NOTICE add-error-logging @@ -44,6 +45,5 @@ SYMBOL: insomniac-recipients "logging.insomniac" [ (email-log-report) ] with-logging ; : schedule-insomniac ( service word-names -- ) - { 25 } { 6 } f f f -rot [ - [ email-log-report ] assoc-each rotate-logs - ] 2curry schedule ; + [ [ email-log-report ] assoc-each rotate-logs ] 2curry + 1 days every drop ; diff --git a/extra/slides/slides.factor b/extra/slides/slides.factor index a0065d6fe3..b58253381c 100755 --- a/extra/slides/slides.factor +++ b/extra/slides/slides.factor @@ -6,10 +6,14 @@ IN: slides : stylesheet H{ - { default-style + { default-span-style H{ { font "sans-serif" } { font-size 36 } + } + } + { default-block-style + H{ { wrap-margin 1000 } } } diff --git a/extra/webapps/fjsc/authors.txt b/unmaintained/webapps/fjsc/authors.txt similarity index 100% rename from extra/webapps/fjsc/authors.txt rename to unmaintained/webapps/fjsc/authors.txt diff --git a/extra/webapps/fjsc/fjsc.factor b/unmaintained/webapps/fjsc/fjsc.factor similarity index 100% rename from extra/webapps/fjsc/fjsc.factor rename to unmaintained/webapps/fjsc/fjsc.factor diff --git a/extra/webapps/fjsc/head.furnace b/unmaintained/webapps/fjsc/head.furnace similarity index 100% rename from extra/webapps/fjsc/head.furnace rename to unmaintained/webapps/fjsc/head.furnace diff --git a/extra/webapps/fjsc/repl.furnace b/unmaintained/webapps/fjsc/repl.furnace similarity index 100% rename from extra/webapps/fjsc/repl.furnace rename to unmaintained/webapps/fjsc/repl.furnace diff --git a/extra/webapps/fjsc/resources/repl.js b/unmaintained/webapps/fjsc/resources/repl.js similarity index 100% rename from extra/webapps/fjsc/resources/repl.js rename to unmaintained/webapps/fjsc/resources/repl.js diff --git a/extra/webapps/fjsc/resources/termlib/faq.html b/unmaintained/webapps/fjsc/resources/termlib/faq.html similarity index 100% rename from extra/webapps/fjsc/resources/termlib/faq.html rename to unmaintained/webapps/fjsc/resources/termlib/faq.html diff --git a/extra/webapps/fjsc/resources/termlib/index.html b/unmaintained/webapps/fjsc/resources/termlib/index.html similarity index 100% rename from extra/webapps/fjsc/resources/termlib/index.html rename to unmaintained/webapps/fjsc/resources/termlib/index.html diff --git a/extra/webapps/fjsc/resources/termlib/multiterm_test.html b/unmaintained/webapps/fjsc/resources/termlib/multiterm_test.html similarity index 100% rename from extra/webapps/fjsc/resources/termlib/multiterm_test.html rename to unmaintained/webapps/fjsc/resources/termlib/multiterm_test.html diff --git a/extra/webapps/fjsc/resources/termlib/parser_sample.html b/unmaintained/webapps/fjsc/resources/termlib/parser_sample.html similarity index 100% rename from extra/webapps/fjsc/resources/termlib/parser_sample.html rename to unmaintained/webapps/fjsc/resources/termlib/parser_sample.html diff --git a/extra/webapps/fjsc/resources/termlib/readme.txt b/unmaintained/webapps/fjsc/resources/termlib/readme.txt similarity index 100% rename from extra/webapps/fjsc/resources/termlib/readme.txt rename to unmaintained/webapps/fjsc/resources/termlib/readme.txt diff --git a/extra/webapps/fjsc/resources/termlib/term_styles.css b/unmaintained/webapps/fjsc/resources/termlib/term_styles.css similarity index 100% rename from extra/webapps/fjsc/resources/termlib/term_styles.css rename to unmaintained/webapps/fjsc/resources/termlib/term_styles.css diff --git a/extra/webapps/fjsc/resources/termlib/termlib.js b/unmaintained/webapps/fjsc/resources/termlib/termlib.js similarity index 100% rename from extra/webapps/fjsc/resources/termlib/termlib.js rename to unmaintained/webapps/fjsc/resources/termlib/termlib.js diff --git a/extra/webapps/fjsc/resources/termlib/termlib_parser.js b/unmaintained/webapps/fjsc/resources/termlib/termlib_parser.js similarity index 100% rename from extra/webapps/fjsc/resources/termlib/termlib_parser.js rename to unmaintained/webapps/fjsc/resources/termlib/termlib_parser.js diff --git a/extra/webapps/fjsc/summary.txt b/unmaintained/webapps/fjsc/summary.txt similarity index 100% rename from extra/webapps/fjsc/summary.txt rename to unmaintained/webapps/fjsc/summary.txt diff --git a/extra/webapps/fjsc/tags.txt b/unmaintained/webapps/fjsc/tags.txt similarity index 100% rename from extra/webapps/fjsc/tags.txt rename to unmaintained/webapps/fjsc/tags.txt diff --git a/extra/webapps/help/authors.txt b/unmaintained/webapps/help/authors.txt similarity index 100% rename from extra/webapps/help/authors.txt rename to unmaintained/webapps/help/authors.txt diff --git a/extra/webapps/help/help.factor b/unmaintained/webapps/help/help.factor similarity index 100% rename from extra/webapps/help/help.factor rename to unmaintained/webapps/help/help.factor diff --git a/extra/webapps/numbers/authors.txt b/unmaintained/webapps/numbers/authors.txt similarity index 100% rename from extra/webapps/numbers/authors.txt rename to unmaintained/webapps/numbers/authors.txt diff --git a/extra/webapps/numbers/numbers.factor b/unmaintained/webapps/numbers/numbers.factor similarity index 100% rename from extra/webapps/numbers/numbers.factor rename to unmaintained/webapps/numbers/numbers.factor diff --git a/extra/webapps/pastebin/annotate-paste.furnace b/unmaintained/webapps/pastebin/annotate-paste.furnace similarity index 100% rename from extra/webapps/pastebin/annotate-paste.furnace rename to unmaintained/webapps/pastebin/annotate-paste.furnace diff --git a/extra/webapps/pastebin/annotation.furnace b/unmaintained/webapps/pastebin/annotation.furnace similarity index 100% rename from extra/webapps/pastebin/annotation.furnace rename to unmaintained/webapps/pastebin/annotation.furnace diff --git a/extra/webapps/pastebin/authors.txt b/unmaintained/webapps/pastebin/authors.txt similarity index 100% rename from extra/webapps/pastebin/authors.txt rename to unmaintained/webapps/pastebin/authors.txt diff --git a/extra/webapps/pastebin/footer.furnace b/unmaintained/webapps/pastebin/footer.furnace similarity index 100% rename from extra/webapps/pastebin/footer.furnace rename to unmaintained/webapps/pastebin/footer.furnace diff --git a/extra/webapps/pastebin/header.furnace b/unmaintained/webapps/pastebin/header.furnace similarity index 100% rename from extra/webapps/pastebin/header.furnace rename to unmaintained/webapps/pastebin/header.furnace diff --git a/extra/webapps/pastebin/modes.furnace b/unmaintained/webapps/pastebin/modes.furnace similarity index 100% rename from extra/webapps/pastebin/modes.furnace rename to unmaintained/webapps/pastebin/modes.furnace diff --git a/extra/webapps/pastebin/new-paste.furnace b/unmaintained/webapps/pastebin/new-paste.furnace similarity index 100% rename from extra/webapps/pastebin/new-paste.furnace rename to unmaintained/webapps/pastebin/new-paste.furnace diff --git a/extra/webapps/pastebin/paste-list.furnace b/unmaintained/webapps/pastebin/paste-list.furnace similarity index 100% rename from extra/webapps/pastebin/paste-list.furnace rename to unmaintained/webapps/pastebin/paste-list.furnace diff --git a/extra/webapps/pastebin/paste-summary.furnace b/unmaintained/webapps/pastebin/paste-summary.furnace similarity index 100% rename from extra/webapps/pastebin/paste-summary.furnace rename to unmaintained/webapps/pastebin/paste-summary.furnace diff --git a/extra/webapps/pastebin/pastebin.factor b/unmaintained/webapps/pastebin/pastebin.factor similarity index 100% rename from extra/webapps/pastebin/pastebin.factor rename to unmaintained/webapps/pastebin/pastebin.factor diff --git a/extra/webapps/pastebin/show-paste.furnace b/unmaintained/webapps/pastebin/show-paste.furnace similarity index 100% rename from extra/webapps/pastebin/show-paste.furnace rename to unmaintained/webapps/pastebin/show-paste.furnace diff --git a/extra/webapps/pastebin/style.css b/unmaintained/webapps/pastebin/style.css similarity index 100% rename from extra/webapps/pastebin/style.css rename to unmaintained/webapps/pastebin/style.css diff --git a/extra/webapps/pastebin/syntax.furnace b/unmaintained/webapps/pastebin/syntax.furnace similarity index 100% rename from extra/webapps/pastebin/syntax.furnace rename to unmaintained/webapps/pastebin/syntax.furnace diff --git a/extra/webapps/planet/authors.txt b/unmaintained/webapps/planet/authors.txt similarity index 100% rename from extra/webapps/planet/authors.txt rename to unmaintained/webapps/planet/authors.txt diff --git a/extra/webapps/planet/planet.factor b/unmaintained/webapps/planet/planet.factor similarity index 100% rename from extra/webapps/planet/planet.factor rename to unmaintained/webapps/planet/planet.factor diff --git a/extra/webapps/planet/planet.furnace b/unmaintained/webapps/planet/planet.furnace similarity index 100% rename from extra/webapps/planet/planet.furnace rename to unmaintained/webapps/planet/planet.furnace diff --git a/extra/webapps/planet/style.css b/unmaintained/webapps/planet/style.css similarity index 100% rename from extra/webapps/planet/style.css rename to unmaintained/webapps/planet/style.css