diff --git a/library/bootstrap/boot-stage2.factor b/library/bootstrap/boot-stage2.factor index 105a1ee7d5..4a55132ebd 100644 --- a/library/bootstrap/boot-stage2.factor +++ b/library/bootstrap/boot-stage2.factor @@ -1,81 +1,86 @@ ! Copyright (C) 2004, 2006 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: compiler generic help io io-internals kernel -kernel-internals math memory namespaces optimizer parser -sequences sequences-internals words ; +USING: compiler errors generic help io io-internals kernel +kernel-internals listener math memory namespaces optimizer +parser sequences sequences-internals words ; -"Cross-referencing..." print flush -H{ } clone crossref set-global xref-words -H{ } clone help-graph set-global xref-articles - -"compile" get [ - "native-io" get [ - unix? [ - "/library/unix/load.factor" run-resource +! Wrap everything in a catch which starts a listener so you can +! see what went wrong, instead of dealing with a fep +[ + "Cross-referencing..." print flush + H{ } clone crossref set-global xref-words + H{ } clone help-graph set-global xref-articles + + "compile" get [ + "native-io" get [ + unix? [ + "/library/unix/load.factor" run-resource + ] when + ] when + + windows? [ + "/library/windows/load.factor" run-resource + ] when + + parse-command-line + + "Compiling base..." print flush + + [ + \ + compile + \ = compile + { "kernel" "sequences" "assembler" } compile-vocabs + + "Compiling system..." print flush + compile-all + ] with-classstring write " compiled words" print - terpri - "Unless you're working on the compiler, ignore the errors above." print - "Not every word compiles, by design." print - terpri flush + [ symbol? ] word-subset length + number>string write " symbol words" print - "Initializing native I/O..." print flush - "native-io" get [ init-io ] when + all-words length + number>string write " words total" print - "cocoa" get [ - "/library/ui/cocoa/load.factor" run-resource - ] when + "Total bootstrap GC time: " write gc-time + number>string write " ms" print - "x11" get [ - "/library/ui/x11/load.factor" run-resource - ] when + "Bootstrapping is complete." print + "Now, you can run ./f factor.image" print flush + + "factor.image" resource-path save-image +] catch [ print-error listener ] when* - windows? "native-io" get and [ - "/library/windows/ui.factor" run-resource - "/library/windows/clipboard.factor" run-resource - compile-all - ] when -] when - -[ - boot - run-user-init - "shell" get "shells" lookup execute - 0 exit -] set-boot - -[ compiled? ] word-subset length -number>string write " compiled words" print - -[ symbol? ] word-subset length -number>string write " symbol words" print - -all-words length -number>string write " words total" print - -"Total bootstrap GC time: " write gc-time -number>string write " ms" print - -"Bootstrapping is complete." print -"Now, you can run ./f factor.image" print flush - -"factor.image" resource-path save-image 0 exit diff --git a/library/ui/x11/utilities.factor b/library/ui/x11/utilities.factor index d169e0f363..64a6456d55 100644 --- a/library/ui/x11/utilities.factor +++ b/library/ui/x11/utilities.factor @@ -26,7 +26,7 @@ SYMBOL: root : with-x ( display-string quot -- ) [ - reset-views + reset-windows swap initialize-x [ close-x ] cleanup ] with-scope ;