diff --git a/core/vocabs/loader/loader-tests.factor b/core/vocabs/loader/loader-tests.factor index e5bd74a981..533bea76fc 100644 --- a/core/vocabs/loader/loader-tests.factor +++ b/core/vocabs/loader/loader-tests.factor @@ -171,3 +171,11 @@ forget-junk ] with-compilation-unit [ ] [ "vocabs.loader.test.h" require ] unit-test + + +[ + "vocabs.loader.test.j" forget-vocab + "vocabs.loader.test.k" forget-vocab +] with-compilation-unit + +[ ] [ [ "vocabs.loader.test.j" require ] [ drop :1 ] recover ] unit-test diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor index 6fb0d08811..97fbfe8a07 100644 --- a/core/vocabs/loader/loader.factor +++ b/core/vocabs/loader/loader.factor @@ -65,6 +65,7 @@ ERROR: circular-dependency name ; [ +parsing+ >>source-loaded? dup vocab-source-path [ parse-file ] [ [ ] ] if* + [ +parsing+ >>source-loaded? ] dip [ % ] [ assert-depth ] if-bootstrapping +done+ >>source-loaded? drop ] [ ] [ f >>source-loaded? ] cleanup ; diff --git a/core/vocabs/loader/test/j/j.factor b/core/vocabs/loader/test/j/j.factor new file mode 100644 index 0000000000..6d545483a3 --- /dev/null +++ b/core/vocabs/loader/test/j/j.factor @@ -0,0 +1,2 @@ +IN: vocabs.loader.test.j +"vocabs.loader.test.k" require diff --git a/core/vocabs/loader/test/j/tags.txt b/core/vocabs/loader/test/j/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/j/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/vocabs/loader/test/k/k.factor b/core/vocabs/loader/test/k/k.factor new file mode 100644 index 0000000000..603b48b374 --- /dev/null +++ b/core/vocabs/loader/test/k/k.factor @@ -0,0 +1,2 @@ +IN: vocabs.loader.test.k +USE: vocabs.loader.test.j diff --git a/core/vocabs/loader/test/k/tags.txt b/core/vocabs/loader/test/k/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/k/tags.txt @@ -0,0 +1 @@ +unportable