effects.parser: allow generic methods not in current vocabs.

locals-and-roots
John Benediktsson 2016-03-30 17:21:58 -07:00
parent 57f434b80e
commit 24d9e3a491
2 changed files with 7 additions and 6 deletions

View File

@ -1,7 +1,8 @@
! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: arrays combinators continuations effects kernel lexer
make parser sequences sets splitting vocabs.parser words ;
USING: accessors arrays combinators continuations effects kernel
lexer make namespaces parser sequences sets splitting
vocabs.parser words ;
IN: effects.parser
DEFER: parse-effect
@ -57,11 +58,11 @@ CONSTANT: in-definition HS{ }
ERROR: can't-nest-definitions word ;
: set-in-definition ( -- )
current-vocab in-definition ?adjoin
manifest get current-vocab>> t or in-definition ?adjoin
[ last-word can't-nest-definitions ] unless ;
: unset-in-definition ( -- )
current-vocab in-definition delete ;
manifest get current-vocab>> t or in-definition delete ;
: with-definition ( quot -- )
[ set-in-definition ] prepose [ unset-in-definition ] [ ] cleanup ; inline

View File

@ -251,7 +251,7 @@ DEFER: foo
] unit-test
{ } [
"IN: azz2 USE: azz M: my-class a-generic ;"
"USE: azz M: my-class a-generic ;"
<string-reader> "azz-2" parse-stream drop
] unit-test
@ -261,7 +261,7 @@ DEFER: foo
] unit-test
{ } [
"IN: azz-2 USE: azz USE: math M: integer a-generic ;"
"USE: azz USE: math M: integer a-generic ;"
<string-reader> "azz-2" parse-stream drop
] unit-test