diff --git a/basis/xml/syntax/syntax.factor b/basis/xml/syntax/syntax.factor index 0f23aafa6e..abe0f90738 100644 --- a/basis/xml/syntax/syntax.factor +++ b/basis/xml/syntax/syntax.factor @@ -17,8 +17,8 @@ M: no-tag summary >alist swap '[ _ no-tag boa throw ] suffix '[ dup main>> _ case ] ; -: define-tags ( word -- ) - dup dup "xtable" word-prop compile-tags define ; +: define-tags ( word effect -- ) + [ dup dup "xtable" word-prop compile-tags ] dip define-declared ; :: define-tag ( string word quot -- ) quot string word "xtable" word-prop set-at @@ -27,16 +27,16 @@ M: no-tag summary PRIVATE> SYNTAX: TAGS: - CREATE - [ H{ } clone "xtable" set-word-prop ] - [ define-tags ] bi ; + CREATE complete-effect + [ drop H{ } clone "xtable" set-word-prop ] + [ define-tags ] + 2bi ; SYNTAX: TAG: scan scan-word parse-definition define-tag ; SYNTAX: XML-NS: - CREATE-WORD (( string -- name )) over set-stack-effect - scan '[ f swap _ ] define-memoized ; + CREATE-WORD scan '[ f swap _ ] (( string -- name )) define-memoized ; xml-test ] map ; -: base "vocab:xml/tests/xmltest/" ; +CONSTANT: base "vocab:xml/tests/xmltest/" MACRO: drop-output ( quot -- newquot ) dup infer out>> '[ @ _ ndrop ] ; diff --git a/basis/xml/writer/writer-tests.factor b/basis/xml/writer/writer-tests.factor index 421c2a2b5d..f19e845ab9 100644 --- a/basis/xml/writer/writer-tests.factor +++ b/basis/xml/writer/writer-tests.factor @@ -61,7 +61,7 @@ IN: xml.writer.tests [ " bar " string>xml pprint-xml>string ] unit-test [ "" ] [ "" xml>string ] unit-test -: test-file "resource:basis/xml/writer/test.xml" ; +CONSTANT: test-file "resource:basis/xml/writer/test.xml" [ ] [ "" string>xml test-file utf8 [ write-xml ] with-file-writer ] unit-test [ "x" ] [ test-file file>xml body>> name>> main>> ] unit-test