: unuse-words ( assoc -- )
<extra-words> qualified-vocabs remove! drop ;
+: with-words ( assoc quot -- )
+ '[ use-words @ ] over '[ _ unuse-words ] finally ; inline
+
TUPLE: ambiguous-use-error name words ;
: <ambiguous-use-error> ( name words -- error restarts )
[ call ] [
[ manifest get add-definition-observer call ]
[ manifest get remove-definition-observer ]
- [ ]
- cleanup
+ finally
] if-bootstrapping
] with-variable ; inline