From bcaade8005c087f089f712e5ac00905f03a6ab4b Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 27 Aug 2008 19:27:06 -0500 Subject: [PATCH] Fixing libraries for stack checker changes --- basis/xml/data/.data.factor.swo | Bin 16384 -> 0 bytes extra/db/db.factor | 4 +-- extra/db/queries/queries.factor | 2 +- extra/html/templates/chloe/chloe.factor | 11 ++++--- extra/namespaces/lib/lib-tests.factor | 4 ++- extra/namespaces/lib/lib.factor | 32 ++++++++----------- extra/xmode/loader/syntax/syntax.factor | 6 ++-- extra/xmode/marker/context/context.factor | 11 +++---- extra/xmode/rules/rules.factor | 18 ++++------- extra/xmode/utilities/utilities-tests.factor | 8 ++--- extra/xmode/utilities/utilities.factor | 8 ++--- 11 files changed, 49 insertions(+), 55 deletions(-) delete mode 100644 basis/xml/data/.data.factor.swo diff --git a/basis/xml/data/.data.factor.swo b/basis/xml/data/.data.factor.swo deleted file mode 100644 index 223c74706e77dd68dc05ac31c7acf3a954c1af33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 KT=v|or query-each r> { } like ; inline diff --git a/extra/db/queries/queries.factor b/extra/db/queries/queries.factor index 7960eecee5..3a751a9736 100644 --- a/extra/db/queries/queries.factor +++ b/extra/db/queries/queries.factor @@ -14,7 +14,7 @@ GENERIC: where ( specs obj -- ) : query-make ( class quot -- ) >r sql-props r> - [ 0 sql-counter rot with-variable ] { "" { } { } } nmake + [ 0 sql-counter rot with-variable ] curry { "" { } { } } nmake maybe-make-retryable ; inline M: db begin-transaction ( -- ) "BEGIN" sql-command ; diff --git a/extra/html/templates/chloe/chloe.factor b/extra/html/templates/chloe/chloe.factor index 103020ee0f..67a7dc2045 100644 --- a/extra/html/templates/chloe/chloe.factor +++ b/extra/html/templates/chloe/chloe.factor @@ -28,6 +28,7 @@ DEFER: process-template [ drop name-url chloe-ns = not ] assoc-filter ; : chloe-tag? ( tag -- ? ) + dup xml? [ body>> ] when { { [ dup tag? not ] [ f ] } { [ dup url>> chloe-ns = not ] [ f ] } @@ -112,12 +113,12 @@ CHLOE-TUPLE: checkbox CHLOE-TUPLE: code : process-chloe-tag ( tag -- ) - dup name-tag dup tags get at + dup main>> dup tags get at [ call ] [ "Unknown chloe tag: " prepend throw ] ?if ; : process-tag ( tag -- ) { - [ name-tag >lower tag-stack get push ] + [ main>> >lower tag-stack get push ] [ write-start-tag ] [ process-tag-children ] [ write-end-tag ] @@ -125,7 +126,7 @@ CHLOE-TUPLE: code } cleave ; : expand-attrs ( tag -- tag ) - dup [ tag? ] is? [ + dup [ tag? ] [ xml? ] bi or [ clone [ [ "@" ?head [ value present ] when ] assoc-map ] change-attrs @@ -134,8 +135,8 @@ CHLOE-TUPLE: code : process-template ( xml -- ) expand-attrs { - { [ dup [ chloe-tag? ] is? ] [ process-chloe-tag ] } - { [ dup [ tag? ] is? ] [ process-tag ] } + { [ dup chloe-tag? ] [ process-chloe-tag ] } + { [ dup [ tag? ] [ xml? ] bi or ] [ process-tag ] } { [ t ] [ write-item ] } } cond ; diff --git a/extra/namespaces/lib/lib-tests.factor b/extra/namespaces/lib/lib-tests.factor index 20769e161c..0bc2e6311a 100755 --- a/extra/namespaces/lib/lib-tests.factor +++ b/extra/namespaces/lib/lib-tests.factor @@ -1,6 +1,8 @@ IN: namespaces.lib.tests -USING: namespaces.lib tools.test ; +USING: namespaces.lib kernel tools.test ; [ ] [ [ ] { } nmake ] unit-test [ { 1 } { 2 } ] [ [ 1 0, 2 1, ] { { } { } } nmake ] unit-test + +[ [ ] [ call ] curry { { } } nmake ] must-infer diff --git a/extra/namespaces/lib/lib.factor b/extra/namespaces/lib/lib.factor index 4da3935727..da9fde9d79 100755 --- a/extra/namespaces/lib/lib.factor +++ b/extra/namespaces/lib/lib.factor @@ -1,8 +1,6 @@ - -! USING: kernel quotations namespaces sequences assocs.lib ; - USING: kernel namespaces namespaces.private quotations sequences - assocs.lib math.parser math generalizations locals mirrors ; + assocs.lib math.parser math generalizations locals mirrors + macros ; IN: namespaces.lib @@ -42,22 +40,20 @@ SYMBOL: building-seq : 4% ( seq -- ) 4 n% ; : 4# ( num -- ) 4 n# ; -MACRO:: nmake ( quot exemplars -- ) - [let | n [ exemplars length ] | - [ - [ - exemplars - [ 0 swap new-resizable ] map - building-seq set +MACRO: finish-nmake ( exemplars -- ) + length [ firstn ] curry ; - quot call +:: nmake ( quot exemplars -- ) + [ + exemplars + [ 0 swap new-resizable ] map + building-seq set - building-seq get - exemplars [ like ] 2map - n firstn - ] with-scope - ] - ] ; + quot call + + building-seq get + exemplars [ [ like ] 2map ] [ finish-nmake ] bi + ] with-scope ; inline : make-object ( quot class -- object ) new [ swap bind ] keep ; inline diff --git a/extra/xmode/loader/syntax/syntax.factor b/extra/xmode/loader/syntax/syntax.factor index 4c95a45832..8b66774d7f 100644 --- a/extra/xmode/loader/syntax/syntax.factor +++ b/extra/xmode/loader/syntax/syntax.factor @@ -1,4 +1,4 @@ -USING: xmode.tokens xmode.rules xmode.keyword-map xml.data +USING: accessors xmode.tokens xmode.rules xmode.keyword-map xml.data xml.utilities xml assocs kernel combinators sequences math.parser namespaces parser lexer xmode.utilities regexp io.files ; IN: xmode.loader.syntax @@ -7,7 +7,7 @@ SYMBOL: ignore-case? ! Rule tag parsing utilities : (parse-rule-tag) ( rule-set tag specs class -- ) - construct-rule swap init-from-tag swap add-rule ; inline + new swap init-from-tag swap add-rule ; inline : RULE: scan scan-word @@ -98,4 +98,4 @@ TAGS> : init-eol-span-tag ( -- ) [ drop init-eol-span ] , ; : parse-keyword-tag ( tag keyword-map -- ) - >r dup name-tag string>token swap children>string r> set-at ; + >r dup main>> string>token swap children>string r> set-at ; diff --git a/extra/xmode/marker/context/context.factor b/extra/xmode/marker/context/context.factor index 72ac3f2a3f..da20503fcb 100644 --- a/extra/xmode/marker/context/context.factor +++ b/extra/xmode/marker/context/context.factor @@ -1,4 +1,4 @@ -USING: kernel ; +USING: accessors kernel ; IN: xmode.marker.context ! Based on org.gjt.sp.jedit.syntax.TokenMarker.LineContext @@ -11,10 +11,9 @@ end : ( ruleset parent -- line-context ) over [ "no context" throw ] unless - { set-line-context-in-rule-set set-line-context-parent } - line-context construct ; + line-context new + swap >>parent + swap >>in-rule-set ; M: line-context clone - (clone) - dup line-context-parent clone - over set-line-context-parent ; + call-next-method [ clone ] change-parent ; diff --git a/extra/xmode/rules/rules.factor b/extra/xmode/rules/rules.factor index 3fcae02a54..50d2924b61 100755 --- a/extra/xmode/rules/rules.factor +++ b/extra/xmode/rules/rules.factor @@ -66,14 +66,11 @@ delegate chars ; -: construct-rule ( class -- rule ) - >r rule new r> construct-delegate ; inline +TUPLE: seq-rule < rule ; -TUPLE: seq-rule ; +TUPLE: span-rule < rule ; -TUPLE: span-rule ; - -TUPLE: eol-span-rule ; +TUPLE: eol-span-rule < rule ; : init-span ( rule -- ) dup rule-delegate [ drop ] [ @@ -85,16 +82,15 @@ TUPLE: eol-span-rule ; dup init-span t swap set-rule-no-line-break? ; -TUPLE: mark-following-rule ; +TUPLE: mark-following-rule < rule ; -TUPLE: mark-previous-rule ; +TUPLE: mark-previous-rule < rule ; -TUPLE: escape-rule ; +TUPLE: escape-rule < rule ; : ( string -- rule ) f f f f - escape-rule construct-rule - [ set-rule-start ] keep ; + escape-rule new swap >>start ; GENERIC: text-hash-char ( text -- ch ) diff --git a/extra/xmode/utilities/utilities-tests.factor b/extra/xmode/utilities/utilities-tests.factor index 55b6bbe26a..49a1265b09 100755 --- a/extra/xmode/utilities/utilities-tests.factor +++ b/extra/xmode/utilities/utilities-tests.factor @@ -1,7 +1,7 @@ IN: xmode.utilities.tests -USING: xmode.utilities tools.test xml xml.data kernel strings -vectors sequences io.files prettyprint assocs unicode.case ; - +USING: accessors xmode.utilities tools.test xml xml.data kernel +strings vectors sequences io.files prettyprint assocs +unicode.case ; [ "hi" 3 ] [ { 1 2 3 4 5 6 7 8 } [ H{ { 3 "hi" } } at ] map-find ] unit-test @@ -35,7 +35,7 @@ TAGS> { { "type" >upper set-company-type } } init-from-tag dup ] keep - tag-children [ tag? ] filter + children>> [ tag? ] filter [ parse-employee-tag ] with each ; [ diff --git a/extra/xmode/utilities/utilities.factor b/extra/xmode/utilities/utilities.factor index d6f9c42799..8f1a6184e8 100644 --- a/extra/xmode/utilities/utilities.factor +++ b/extra/xmode/utilities/utilities.factor @@ -1,10 +1,10 @@ -USING: sequences assocs kernel quotations namespaces xml.data -xml.utilities combinators macros parser lexer words ; +USING: accessors sequences assocs kernel quotations namespaces +xml.data xml.utilities combinators macros parser lexer words ; IN: xmode.utilities : implies >r not r> or ; inline -: child-tags ( tag -- seq ) tag-children [ tag? ] filter ; +: child-tags ( tag -- seq ) children>> [ tag? ] filter ; : map-find ( seq quot -- result elt ) f -rot @@ -53,5 +53,5 @@ SYMBOL: tag-handler-word : TAGS> tag-handler-word get - tag-handlers get >alist [ >r dup name-tag r> case ] curry + tag-handlers get >alist [ >r dup main>> r> case ] curry define ; parsing