From f29300c6ba727579ce289766a25a240fc8288681 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 16 Nov 2008 19:47:52 -0600 Subject: [PATCH] Better error message when vocab top level forms leave crap on the stack --- core/vocabs/loader/loader-tests.factor | 9 +++++++-- core/vocabs/loader/loader.factor | 2 +- core/vocabs/loader/test/e/e.factor | 1 + core/vocabs/loader/test/e/tags.txt | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 core/vocabs/loader/test/e/e.factor create mode 100644 core/vocabs/loader/test/e/tags.txt diff --git a/core/vocabs/loader/loader-tests.factor b/core/vocabs/loader/loader-tests.factor index 5ba7f7ed88..3f06b9735c 100644 --- a/core/vocabs/loader/loader-tests.factor +++ b/core/vocabs/loader/loader-tests.factor @@ -1,9 +1,9 @@ -! Unit tests for vocabs.loader vocabulary IN: vocabs.loader.tests USING: vocabs.loader tools.test continuations vocabs math kernel arrays sequences namespaces io.streams.string parser source-files words assocs classes.tuple definitions -debugger compiler.units tools.vocabs accessors eval ; +debugger compiler.units tools.vocabs accessors eval +combinators ; ! This vocab should not exist, but just in case... [ ] [ @@ -151,3 +151,8 @@ forget-junk [ "xabbabbja" forget-vocab ] with-compilation-unit forget-junk + +[ ] [ [ "vocabs.loader.test.e" forget-vocab ] with-compilation-unit ] unit-test + +[ "vocabs.loader.test.e" require ] +[ relative-overflow? ] must-fail-with diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor index f48a3d1950..690b8b0d92 100644 --- a/core/vocabs/loader/loader.factor +++ b/core/vocabs/loader/loader.factor @@ -55,7 +55,7 @@ SYMBOL: load-help? f over set-vocab-source-loaded? [ vocab-source-path [ parse-file ] [ [ ] ] if* ] keep t swap set-vocab-source-loaded? - [ % ] [ call ] if-bootstrapping ; + [ % ] [ assert-depth ] if-bootstrapping ; : load-docs ( vocab -- vocab ) load-help? get [ diff --git a/core/vocabs/loader/test/e/e.factor b/core/vocabs/loader/test/e/e.factor new file mode 100644 index 0000000000..b85905ec0b --- /dev/null +++ b/core/vocabs/loader/test/e/e.factor @@ -0,0 +1 @@ +1 2 3 diff --git a/core/vocabs/loader/test/e/tags.txt b/core/vocabs/loader/test/e/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/e/tags.txt @@ -0,0 +1 @@ +unportable