diff --git a/core/compiler/units/units.factor b/core/compiler/units/units.factor index 01ee815511..f1f9131f08 100644 --- a/core/compiler/units/units.factor +++ b/core/compiler/units/units.factor @@ -61,6 +61,10 @@ GENERIC: definitions-changed ( assoc obj -- ) [ V{ } clone definition-observers set-global ] "compiler.units" add-init-hook +! This goes here because vocabs cannot depend on init +[ V{ } clone vocab-observers set-global ] +"vocabs" add-init-hook + : add-definition-observer ( obj -- ) definition-observers get push ; diff --git a/core/continuations/continuations.factor b/core/continuations/continuations.factor index d46b73f83d..56ac4a71e9 100644 --- a/core/continuations/continuations.factor +++ b/core/continuations/continuations.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: arrays vectors kernel kernel.private sequences namespaces make math splitting sorting quotations assocs -combinators combinators.private accessors words init ; +combinators combinators.private accessors words ; IN: continuations SYMBOL: error @@ -200,5 +200,3 @@ M: condition compute-restarts "kernel-error" 6 setenv ; PRIVATE> - -[ init-catchstack init-error-handler ] "continuations" add-init-hook \ No newline at end of file diff --git a/core/init/init.factor b/core/init/init.factor index 70464a4ba4..0140fcc0e8 100644 --- a/core/init/init.factor +++ b/core/init/init.factor @@ -1,6 +1,8 @@ ! Copyright (C) 2004, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel kernel.private sequences assocs namespaces namespaces.private ; +USING: continuations continuations.private kernel +kernel.private sequences assocs namespaces namespaces.private +continuations continuations.private ; IN: init SYMBOL: init-hooks @@ -14,7 +16,7 @@ init-hooks global [ drop V{ } clone ] cache drop dup init-hooks get at [ over call( -- ) ] unless init-hooks get set-at ; -: boot ( -- ) init-namespaces ; +: boot ( -- ) init-namespaces init-catchstack init-error-handler ; : boot-quot ( -- quot ) 20 getenv ; diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index 73ffd1a80c..6c12b7b325 100644 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2009 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs strings kernel sorting namespaces -sequences definitions init ; +sequences definitions ; IN: vocabs SYMBOL: dictionary @@ -69,8 +69,6 @@ SYMBOL: vocab-observers GENERIC: vocabs-changed ( obj -- ) -[ V{ } clone vocab-observers set-global ] "vocabs" add-init-hook - : add-vocab-observer ( obj -- ) vocab-observers get push ;