]> gitweb.factorcode.org Git - factor.git/commitdiff
Rename (load-vocab) to (require), add tags.txt for "p" vocab loader test. Code format...
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 3 Nov 2011 01:07:22 +0000 (18:07 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 3 Nov 2011 01:07:22 +0000 (18:07 -0700)
basis/bootstrap/help/help.factor
core/vocabs/loader/loader-tests.factor
core/vocabs/loader/loader.factor
core/vocabs/loader/test/p/tags.txt [new file with mode: 0644]
core/vocabs/vocabs.factor

index 725bb5499344119336e40259fae931d137403d77..98f25575024152ceffd6a1fdd2ce2eb601ad16a1 100644 (file)
@@ -9,7 +9,7 @@ IN: bootstrap.help
 
     t load-help? set-global
 
-    [ dup lookup-vocab [ ] [ no-vocab ] ?if drop ] require-hook [
+    [ dup lookup-vocab [ drop ] [ no-vocab ] if ] require-hook [
         dictionary get values
         [ docs-loaded?>> not ] filter
         [ load-docs ] each
index dd0bc493d9acac56ffbe93564ec8fa354ba84e3e..8d5b61b96bba65475eb69fafc56c2f75eb5a60f9 100644 (file)
@@ -1,7 +1,7 @@
 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 accessors eval
+debugger compiler.units accessors eval vocabs.hierarchy
 combinators vocabs.parser grouping vocabs.files vocabs.refresh ;
 IN: vocabs.loader.tests
 
@@ -185,6 +185,8 @@ forget-junk
 [ ] [ "vocabs.loader.test.m" require ] unit-test
 [ t ] [ "vocabs.loader.test.n" lookup-vocab >boolean ] unit-test
 
+[ ] [ "vocabs" load ] unit-test
+[ f ] [ "vocabs.loader.test.p" lookup-vocab ] unit-test
 [ ] [ "vocabs.loader.test.p.private" require ] unit-test
 [ { "foo" } ] [ "vocabs.loader.test.p" words [ name>> ] map ] unit-test
 
index d5a344f6bd2ddcff78a0f5871877a2520786d826..d95aad11f236414f9227e4f7090bcd6a57b51724 100644 (file)
@@ -138,28 +138,29 @@ SYMBOL: blacklist
 : add-to-blacklist ( error vocab -- )
     vocab-name blacklist get dup [ set-at ] [ 3drop ] if ;
 
-GENERIC: (load-vocab) ( name -- vocab )
+GENERIC: (require) ( name -- )
 
-M: vocab (load-vocab)
+M: vocab (require)
     [
-        dup source-loaded?>> +parsing+ eq? [
+        dup source-loaded?>> +parsing+ eq?  [ drop ] [
             dup source-loaded?>> [ dup load-source ] unless
             dup docs-loaded?>> [ dup load-docs ] unless
-        ] unless
+            drop
+        ] if
     ] [ [ swap add-to-blacklist ] keep rethrow ] recover ;
 
-M: vocab-link (load-vocab)
-    vocab-name (load-vocab) ;
+M: vocab-link (require)
+    vocab-name (require) ;
 
-M: string (load-vocab) create-vocab (load-vocab) ;
+M: string (require) create-vocab (require) ;
 
 PRIVATE>
 
 [
-    dup vocab-name blacklist get at* [ rethrow ] [
-        drop dup find-vocab-root
-        [ (load-vocab) ] [ dup lookup-vocab [ ] [ no-vocab ] ?if ] if
-    ] if drop
+    dup vocab-name blacklist get at*
+    [ rethrow ]
+    [ drop dup find-vocab-root [ (require) ] [ drop ] if ]
+    if
 ] require-hook set-global
 
 M: vocab-spec where vocab-source-path dup [ 1 2array ] when ;
diff --git a/core/vocabs/loader/test/p/tags.txt b/core/vocabs/loader/test/p/tags.txt
new file mode 100644 (file)
index 0000000..ebb74b4
--- /dev/null
@@ -0,0 +1 @@
+not loaded
index 1b3c15a9b4cd9e21ab8ef637617830b897ad477f..f1fc12391edb9cf82ec11411558c99631fce3611 100644 (file)
@@ -140,7 +140,7 @@ GENERIC: require ( object -- )
 M: vocab require name>> require ;
 M: vocab-link require name>> require ;
 
-! When calling "foo.private" require, load "foo" instead, but only when
+! When calling "foo.private" require, load "foo" instead, but only when
 ! "foo.private" does not exist. The reason for this is that stage1 bootstrap
 ! starts out with some .private vocabs that contain primitives, and
 ! loading the public vocabs would cause circularity issues.