diff --git a/core/compiler/units/units.factor b/core/compiler/units/units.factor old mode 100644 new mode 100755 index ab2c13866a..93994012e3 --- a/core/compiler/units/units.factor +++ b/core/compiler/units/units.factor @@ -68,8 +68,8 @@ GENERIC: definitions-changed ( assoc obj -- ) dup changed-vocabs update ; : finish-compilation-unit ( -- ) - changed-definitions notify-definition-observers - changed-words get keys recompile-hook get call ; + changed-words get keys recompile-hook get call + changed-definitions notify-definition-observers ; : with-compilation-unit ( quot -- ) [ diff --git a/core/vocabs/loader/loader-tests.factor b/core/vocabs/loader/loader-tests.factor index 9bce46ed49..d0c8768c08 100755 --- a/core/vocabs/loader/loader-tests.factor +++ b/core/vocabs/loader/loader-tests.factor @@ -31,7 +31,7 @@ debugger ; [ t ] [ "kernel" vocab-files "kernel" vocab vocab-files - "kernel" f \ vocab-link construct-boa vocab-files + "kernel" f vocab-files 3array all-equal? ] unit-test @@ -46,7 +46,7 @@ IN: temporary [ { 3 3 3 } ] [ "vocabs.loader.test.2" run "vocabs.loader.test.2" vocab run - "vocabs.loader.test.2" f \ vocab-link construct-boa run + "vocabs.loader.test.2" f run 3array ] unit-test @@ -117,7 +117,7 @@ IN: temporary [ 3 ] [ "count-me" get-global ] unit-test [ { "resource:core/kernel/kernel.factor" 1 } ] -[ "kernel" f \ vocab-link construct-boa where ] unit-test +[ "kernel" f where ] unit-test [ { "resource:core/kernel/kernel.factor" 1 } ] [ "kernel" vocab where ] unit-test diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index 7161ae7f0e..c47798e414 100755 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -85,11 +85,19 @@ SYMBOL: load-vocab-hook TUPLE: vocab-link name root ; +C: vocab-link + +M: vocab-link equal? + over vocab-link? + [ [ vocab-link-name ] 2apply = ] [ 2drop f ] if ; + +M: vocab-link hashcode* + vocab-link-name hashcode* ; + M: vocab-link vocab-name vocab-link-name ; : >vocab-link ( name root -- vocab ) - over vocab dup - [ 2nip ] [ drop \ vocab-link construct-boa ] if ; + over vocab dup [ 2nip ] [ drop ] if ; UNION: vocab-spec vocab vocab-link ; diff --git a/extra/ui/tools/browser/browser.factor b/extra/ui/tools/browser/browser.factor old mode 100644 new mode 100755 index 3efb58c3a0..693c161367 --- a/extra/ui/tools/browser/browser.factor +++ b/extra/ui/tools/browser/browser.factor @@ -3,7 +3,7 @@ USING: debugger ui.tools.workspace help help.topics kernel models ui.commands ui.gadgets ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.tracks ui.gestures -ui.gadgets.buttons compiler.units assocs words ; +ui.gadgets.buttons compiler.units assocs words vocabs ; IN: ui.tools.browser TUPLE: browser-gadget pane history ; @@ -42,9 +42,10 @@ M: browser-gadget ungraft* remove-definition-observer ; : showing-definition? ( defspec assoc -- ? ) - 2dup key? >r - >r dup word-link? [ link-name ] when r> key? - r> or ; + [ key? ] 2keep + [ >r dup word-link? [ link-name ] when r> key? ] 2keep + >r dup vocab-link? [ vocab ] when r> key? + or or ; M: browser-gadget definitions-changed ( assoc browser -- ) browser-gadget-history