diff --git a/extra/modern/modern.factor b/extra/modern/modern.factor index 2b4a5b3754..6c10798da7 100644 --- a/extra/modern/modern.factor +++ b/extra/modern/modern.factor @@ -284,10 +284,12 @@ MACRO:: read-matched ( ch -- quot: ( string n tag -- string n' slice' ) ) dup ?last { { [ dup ";" sequence= ] [ drop unclip-last 3array ] } { [ dup ";" tail? ] [ drop unclip-last 3array ] } + ! XXX: this part is sketchy + ! FOO: asdf -- FOO: asdf ] FOO: asdf } FOO: asdf ) FOO: asdf ASDF> FOO: asdf BAR: { [ dup "--" sequence= ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } - { [ dup "]" sequence= ] [ "omg1" throw drop unclip-last -rot 2array [ rewind-slice ] dip ] } - { [ dup "}" sequence= ] [ "omg2" throw drop unclip-last -rot 2array [ rewind-slice ] dip ] } - { [ dup ")" sequence= ] [ B "opg3" throw drop unclip-last -rot 2array [ rewind-slice ] dip ] } ! (n*quot) breaks + { [ dup "]" sequence= ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } + { [ dup "}" sequence= ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } + { [ dup ")" sequence= ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } ! (n*quot) breaks { [ dup section-close? ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } { [ dup upper-colon? ] [ drop unclip-last -rot 2array [ rewind-slice ] dip ] } [ drop 2array ]