diff --git a/basis/ui/backend/gtk/gtk.factor b/basis/ui/backend/gtk/gtk.factor index 2c3f493038..ea6e668758 100644 --- a/basis/ui/backend/gtk/gtk.factor +++ b/basis/ui/backend/gtk/gtk.factor @@ -9,7 +9,7 @@ math.vectors namespaces sequences strings system threads ui ui.backend ui.backend.gtk.input-methods ui.backend.gtk.io ui.backend.x11.keys ui.clipboards ui.event-loop ui.gadgets ui.gadgets.private ui.gadgets.worlds ui.gestures ui.pixel-formats -ui.pixel-formats.private ui.private vocabs.loader ; +ui.private vocabs.loader ; IN: ui.backend.gtk SINGLETON: gtk-ui-backend diff --git a/core/vocabs/parser/parser.factor b/core/vocabs/parser/parser.factor index a8e7e12a70..9cf97f2fd5 100644 --- a/core/vocabs/parser/parser.factor +++ b/core/vocabs/parser/parser.factor @@ -115,7 +115,7 @@ ERROR: unbalanced-private-declaration vocab ; vocab-name "Already using ``" "'' vocabulary" surround note. ] [ manifest get - [ [ load-vocab ] dip search-vocabs>> push ] + [ [ ?load-vocab ] dip search-vocabs>> push ] [ [ vocab-name ] dip search-vocab-names>> adjoin ] 2bi ] if ; diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index 7db0fb8598..419219b0c6 100644 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -47,6 +47,11 @@ M: vocab lookup-vocab ; M: object lookup-vocab vocab-name dictionary get at ; +ERROR: no-vocab-named name ; + +: ?lookup-vocab ( vocab-spec -- vocab ) + dup lookup-vocab [ nip ] [ no-vocab-named ] if* ; + GENERIC: vocab-words-assoc ( vocab-spec -- assoc/f ) M: vocab vocab-words-assoc words>> ; @@ -156,3 +161,6 @@ M: string require : load-vocab ( name -- vocab ) [ require ] [ lookup-vocab ] bi ; + +: ?load-vocab ( name -- vocab ) + [ require ] [ ?lookup-vocab ] bi ;