Fix bootstrap: delegate cannot depend on locals since locals depends on delegate

db4
Slava Pestov 2009-03-07 00:49:57 -06:00
parent bfb6b4642a
commit 00f586fc33
1 changed files with 7 additions and 5 deletions

View File

@ -4,7 +4,7 @@
USING: accessors arrays assocs classes.tuple definitions generic USING: accessors arrays assocs classes.tuple definitions generic
generic.standard hashtables kernel lexer math parser generic.standard hashtables kernel lexer math parser
generic.parser sequences sets slots words words.symbol fry generic.parser sequences sets slots words words.symbol fry
locals combinators.short-circuit compiler.units ; compiler.units ;
IN: delegate IN: delegate
<PRIVATE <PRIVATE
@ -70,10 +70,12 @@ M: consult-method reset-word
[ class>> ] [ group>> ] bi [ class>> ] [ group>> ] bi
\ protocol-consult word-prop delete-at ; \ protocol-consult word-prop delete-at ;
:: unconsult-method ( word consultation -- ) : unconsult-method ( word consultation -- )
consultation class>> word first method [ class>> swap first method ] keep
dup { [ ] [ "consultation" word-prop consultation eq? ] } 1&& over [
[ forget ] [ drop ] if ; over "consultation" word-prop eq?
[ forget ] [ drop ] if
] [ 2drop ] if ;
: unconsult-methods ( consultation -- ) : unconsult-methods ( consultation -- )
[ unconsult-method ] each-generic ; [ unconsult-method ] each-generic ;