diff --git a/core/parser/parser-tests.factor b/core/parser/parser-tests.factor index 37eb5f148e..df6c9dadc5 100755 --- a/core/parser/parser-tests.factor +++ b/core/parser/parser-tests.factor @@ -485,3 +485,5 @@ must-fail-with [ t ] [ "staging-problem-test-1" "parser.tests" lookup >boolean ] unit-test [ t ] [ "staging-problem-test-2" "parser.tests" lookup >boolean ] unit-test + +[ "DEFER: blah" eval ] [ error>> no-current-vocab? ] must-fail-with diff --git a/core/parser/parser.factor b/core/parser/parser.factor index 3f46d1dd30..46e93753b5 100755 --- a/core/parser/parser.factor +++ b/core/parser/parser.factor @@ -236,7 +236,7 @@ PREDICATE: unexpected-eof < unexpected ERROR: no-current-vocab ; M: no-current-vocab summary ( obj -- ) - drop "Current vocabulary is f, use IN:" ; + drop "Not in a vocabulary; IN: form required" ; : current-vocab ( -- str ) in get [ no-current-vocab ] unless* ; diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 7ed79f77f1..27c8609a99 100755 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -100,7 +100,7 @@ IN: bootstrap.syntax ] define-syntax "DEFER:" [ - scan in get create + scan current-vocab create dup old-definitions get [ delete-at ] with each set-word ] define-syntax