From cb8499373dba0b559b979a4b9023ed13157211fe Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sun, 1 Dec 2019 11:25:03 -0600 Subject: [PATCH] modern: Fix tests and foo[[ ]] --- extra/modern/modern-tests.factor | 58 ++++++++++++++++---------------- extra/modern/modern.factor | 2 +- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/extra/modern/modern-tests.factor b/extra/modern/modern-tests.factor index c5b5ce47e5..86c1cc7111 100644 --- a/extra/modern/modern-tests.factor +++ b/extra/modern/modern-tests.factor @@ -4,31 +4,31 @@ USING: kernel modern modern.out modern.slices multiline sequences tools.test ; IN: modern.tests -{ f } [ "" upper-colon? ] unit-test -{ t } [ ":" upper-colon? ] unit-test -{ t } [ "::" upper-colon? ] unit-test -{ t } [ ":::" upper-colon? ] unit-test -{ t } [ "FOO:" upper-colon? ] unit-test -{ t } [ "FOO::" upper-colon? ] unit-test -{ t } [ "FOO:::" upper-colon? ] unit-test +{ f } [ "" upper-colon-form? ] unit-test +{ t } [ ":" upper-colon-form? ] unit-test +{ t } [ "::" upper-colon-form? ] unit-test +{ t } [ ":::" upper-colon-form? ] unit-test +{ t } [ "FOO:" upper-colon-form? ] unit-test +{ t } [ "FOO::" upper-colon-form? ] unit-test +{ t } [ "FOO:::" upper-colon-form? ] unit-test ! 'FOO: -{ f } [ "'" upper-colon? ] unit-test -{ t } [ "':" upper-colon? ] unit-test -{ t } [ "'::" upper-colon? ] unit-test -{ t } [ "':::" upper-colon? ] unit-test -{ t } [ "'FOO:" upper-colon? ] unit-test -{ t } [ "'FOO::" upper-colon? ] unit-test -{ t } [ "'FOO:::" upper-colon? ] unit-test +{ f } [ "'" upper-colon-form? ] unit-test +{ t } [ "':" upper-colon-form? ] unit-test +{ t } [ "'::" upper-colon-form? ] unit-test +{ t } [ "':::" upper-colon-form? ] unit-test +{ t } [ "'FOO:" upper-colon-form? ] unit-test +{ t } [ "'FOO::" upper-colon-form? ] unit-test +{ t } [ "'FOO:::" upper-colon-form? ] unit-test ! \FOO: is not an upper-colon form, it is deactivated by the \ -{ f } [ "\\" upper-colon? ] unit-test -{ f } [ "\\:" upper-colon? ] unit-test -{ f } [ "\\::" upper-colon? ] unit-test -{ f } [ "\\:::" upper-colon? ] unit-test -{ f } [ "\\FOO:" upper-colon? ] unit-test -{ f } [ "\\FOO::" upper-colon? ] unit-test -{ f } [ "\\FOO:::" upper-colon? ] unit-test +{ f } [ "\\" upper-colon-form? ] unit-test +{ f } [ "\\:" upper-colon-form? ] unit-test +{ f } [ "\\::" upper-colon-form? ] unit-test +{ f } [ "\\:::" upper-colon-form? ] unit-test +{ f } [ "\\FOO:" upper-colon-form? ] unit-test +{ f } [ "\\FOO::" upper-colon-form? ] unit-test +{ f } [ "\\FOO:::" upper-colon-form? ] unit-test ! Comment @@ -156,11 +156,11 @@ IN: modern.tests { f } [ "FOO" section-open? ] unit-test { f } [ "FOO:" section-open? ] unit-test -{ f } [ ";FOO" section-close? ] unit-test -{ f } [ "FOO" section-close? ] unit-test +{ f } [ ";FOO" section-close-form? ] unit-test +{ f } [ "FOO" section-close-form? ] unit-test -{ f } [ ":>" section-close? ] unit-test -{ f } [ ":::>" section-close? ] unit-test +{ f } [ ":>" section-close-form? ] unit-test +{ f } [ ":::>" section-close-form? ] unit-test ! Strings @@ -250,9 +250,9 @@ IN: modern.tests { t } [ "![[ ]]" [ rewrite-string-exact ] keep sequence= ] unit-test -{ t } [ "![=[ ]=]" [ rewrite-string-exact ] keep sequence= ] unit-test -{ t } [ "![==[ ]==]" [ rewrite-string-exact ] keep sequence= ] unit-test +{ t } [ "![0[ ]0]" [ rewrite-string-exact ] keep sequence= ] unit-test +{ t } [ "![00[ ]00]" [ rewrite-string-exact ] keep sequence= ] unit-test { t } [ "foo[[ ]]" [ rewrite-string-exact ] keep sequence= ] unit-test -{ t } [ "foo[=[ ]=]" [ rewrite-string-exact ] keep sequence= ] unit-test -{ t } [ "foo[==[ ]==]" [ rewrite-string-exact ] keep sequence= ] unit-test +{ t } [ "foo[11[ ]11]" [ rewrite-string-exact ] keep sequence= ] unit-test +{ t } [ "foo[123[ ]123]" [ rewrite-string-exact ] keep sequence= ] unit-test diff --git a/extra/modern/modern.factor b/extra/modern/modern.factor index e55c153765..f2e8cbd572 100644 --- a/extra/modern/modern.factor +++ b/extra/modern/modern.factor @@ -106,7 +106,7 @@ DEFER: lex-factor-nested DEFER: lex-factor-fallthrough MACRO:: read-matched ( $ch -- quot: ( string n tag -- string n' slice' ) ) - 10 [ char: 0 + ] map + { 48 49 50 51 52 53 54 55 56 57 $ch } $ch matching-delimiter 1string :> ( $openstreq $closestr1 ) ! digits ] |[ $string $n $tag | $string $n $tag