From a4208887b1e84b86624ba83df09571ad2f14ce14 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 7 Dec 2019 18:35:18 -0800 Subject: [PATCH] modern: Handle foo[3] and foo[3 --- extra/modern/modern-tests.factor | 5 ++++- extra/modern/modern.factor | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) 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&&