diff --git a/extra/modern/modern-tests.factor b/extra/modern/modern-tests.factor index b373988418..2218816bee 100644 --- a/extra/modern/modern-tests.factor +++ b/extra/modern/modern-tests.factor @@ -259,4 +259,7 @@ IN: modern.tests { } [ "[1,b)" string>literals drop ] unit-test -{ } [ "[1,b]" string>literals drop ] unit-test \ No newline at end of file +{ } [ "[1,b]" string>literals drop ] unit-test +{ } [ "REAL[5" string>literals drop ] unit-test +{ } [ "REAL[5]" string>literals drop ] unit-test +{ } [ "REAL[5][5]" string>literals drop ] unit-test diff --git a/extra/modern/modern.factor b/extra/modern/modern.factor index a33f9b366e..5495177181 100644 --- a/extra/modern/modern.factor +++ b/extra/modern/modern.factor @@ -126,9 +126,10 @@ MACRO:: read-matched ( $ch -- quot: ( string n tag -- string n' slice' ) ) [ $openstr-chars member? ] [ ! check that opening is good form + ! stop at (, ), or blank drop $string $n [ - { [ $ch = ] [ blank? ] } 1|| + { [ $ch = ] [ $ch matching-delimiter = ] [ blank? ] } 1|| ] t slice-until 3nip $ch = ] } 1&&