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