]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/debugger/debugger.factor
e0abfe05be5b269844892cb4d378fccfefdc74de
[factor.git] / basis / ui / debugger / debugger.factor
1 ! Copyright (C) 2006, 2011 Slava Pestov.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: accessors continuations debugger io io.streams.string\r
4 kernel namespaces prettyprint ui ui.gadgets.worlds ;\r
5 IN: ui.debugger\r
6 \r
7 : error-alert ( error -- )\r
8     [ "Error" ] dip [ print-error ] with-string-writer\r
9     system-alert ;\r
10 \r
11 ! ( error -- )\r
12 [ error-alert ] ui-error-hook set-global\r
13 \r
14 ! ( error -- )\r
15 [\r
16     ui-running? [ dup error-alert ] [ dup print-error ] if die\r
17 ] callback-error-hook set-global\r
18 \r
19 M: world-error error.\r
20     "An error occurred while drawing the world " write\r
21     dup world>> pprint-short "." print\r
22     "This world has been deactivated to prevent cascading errors." print\r
23     error>> error. ;\r