modern: Don't keep around duplicate closing delimiters like { ")" ")" } for stack effects.

modern-harvey2
Doug Coleman 2017-12-03 17:09:31 -06:00
parent 76ce988587
commit 411c2376c7
1 changed files with 2 additions and 2 deletions

View File

@ -3,7 +3,7 @@
USING: accessors arrays assocs combinators USING: accessors arrays assocs combinators
combinators.short-circuit continuations fry io.encodings.utf8 combinators.short-circuit continuations fry io.encodings.utf8
io.files kernel locals make math math.order modern.paths io.files kernel locals make math math.order modern.paths
modern.slices namespaces sequences sequences.deep modern.slices namespaces sequences sequences.deep sets
sequences.extras shuffle splitting splitting.monotonic strings sequences.extras shuffle splitting splitting.monotonic strings
unicode ; unicode ;
IN: modern IN: modern
@ -96,7 +96,7 @@ MACRO:: read-matched ( ch -- quot: ( n string tag -- n' string slice' ) )
2over nth-check-eof { 2over nth-check-eof {
{ [ dup openstreq member? ] [ ch read-double-matched ] } ! (=( or (( { [ dup openstreq member? ] [ ch read-double-matched ] } ! (=( or ((
{ [ dup blank? ] [ { [ dup blank? ] [
drop dup '[ _ matching-delimiter-string closestr1 2array lex-until ] dip drop dup '[ _ matching-delimiter-string closestr1 2array members lex-until ] dip
swap unclip-last 3array ] } ! ( foo ) swap unclip-last 3array ] } ! ( foo )
[ drop [ slice-til-whitespace drop ] dip span-slices ] ! (foo) [ drop [ slice-til-whitespace drop ] dip span-slices ] ! (foo)
} cond } cond