diff --git a/Makefile b/Makefile index 4b5d16b9c3..1042731065 100755 --- a/Makefile +++ b/Makefile @@ -140,7 +140,7 @@ factor: $(DLL_OBJS) $(EXE_OBJS) clean: rm -f vm/*.o - rm libfactor.a + rm -f libfactor.a vm/resources.o: windres vm/factor.rs vm/resources.o diff --git a/core/parser/parser-tests.factor b/core/parser/parser-tests.factor index 521aef0577..0c0bbf82d9 100755 --- a/core/parser/parser-tests.factor +++ b/core/parser/parser-tests.factor @@ -343,16 +343,26 @@ IN: temporary ] catch [ redefine-error? ] is? ] unit-test - [ t ] [ - [ - "IN: temporary \\ class-fwd-test TUPLE: class-fwd-test ;" - "redefining-a-class-3" parse-stream drop - ] catch [ forward-error? ] is? + [ ] [ + "IN: temporary TUPLE: class-fwd-test ;" + "redefining-a-class-3" parse-stream drop ] unit-test [ t ] [ [ - "IN: temporary \\ class-fwd-test TUPLE: class-fwd-test ; SYMBOL: class-fwd-test" + "IN: temporary \\ class-fwd-test" + "redefining-a-class-3" parse-stream drop + ] catch [ forward-error? ] is? + ] unit-test + + [ ] [ + "IN: temporary TUPLE: class-fwd-test ; SYMBOL: class-fwd-test" + "redefining-a-class-3" parse-stream drop + ] unit-test + + [ t ] [ + [ + "IN: temporary \\ class-fwd-test" "redefining-a-class-3" parse-stream drop ] catch [ forward-error? ] is? ] unit-test diff --git a/core/parser/parser.factor b/core/parser/parser.factor index ca7c4199a8..c51bc74d5f 100755 --- a/core/parser/parser.factor +++ b/core/parser/parser.factor @@ -237,7 +237,7 @@ M: no-word summary : forward-reference? ( word -- ? ) { - { [ dup old-definitions get key? not ] [ f ] } + { [ dup old-definitions get key? over old-definitions get key? or not ] [ f ] } { [ dup new-definitions get key? ] [ f ] } { [ dup new-definitions get key? ] [ f ] } { [ t ] [ t ] }