From 38eab40848539422e3ea764bed331d21a0ce8050 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 12 Feb 2020 08:42:56 -0800 Subject: [PATCH] vocabs.loader: prevent create-vocab if check-vocab fails. --- core/vocabs/loader/loader-tests.factor | 8 ++++++-- core/vocabs/loader/loader.factor | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/vocabs/loader/loader-tests.factor b/core/vocabs/loader/loader-tests.factor index 5f27237f8e..e7f09ed8d6 100644 --- a/core/vocabs/loader/loader-tests.factor +++ b/core/vocabs/loader/loader-tests.factor @@ -1,7 +1,8 @@ USING: accessors compiler.units continuations debugger definitions eval io.streams.string kernel math namespaces parser -prettyprint sequences sets source-files tools.test vocabs -vocabs.files vocabs.loader vocabs.parser vocabs.refresh words ; +prettyprint sequences sets source-files system tools.test vocabs +vocabs.files vocabs.loader vocabs.metadata vocabs.parser +vocabs.refresh words ; IN: vocabs.loader.tests ! This vocab should not exist, but just in case... @@ -192,3 +193,6 @@ forget-junk [ "mnop" [ "vocabs.loader.test." swap suffix forget-vocab ] each ] with-compilation-unit + +[ os unix? "windows" "unix" ? require ] +[ error>> unsupported-platform? ] must-fail-with diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor index b1d6e31359..7deb201229 100644 --- a/core/vocabs/loader/loader.factor +++ b/core/vocabs/loader/loader.factor @@ -159,7 +159,9 @@ M: vocab (require) M: vocab-link (require) vocab-name (require) ; -M: string (require) create-vocab (require) ; +M: string (require) + dup check-vocab-hook get call( vocab -- ) + create-vocab (require) ; PRIVATE>