Skip to content

Commit d0b93bc

Browse files
committed
skip debugger, showing "I, PANIC" by default
added `*calm-debug-enabled*` variable, default to `nil`
1 parent ed5ddff commit d0b93bc

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

src/calm.lisp

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,41 @@
1010
(uiop:quit)
1111
(uiop:quit 0 nil)))
1212

13+
(defun default-draw ()
14+
(c:set-source-rgb (/ 12 255) (/ 55 255) (/ 132 255))
15+
(c:paint)
16+
(c:set-source-rgb 1 1 1)
17+
(c:move-to 30 100)
18+
(c:set-font-size 84)
19+
(c:show-text "DON'T PANIC"))
20+
21+
(defun error-draw ()
22+
(c:set-source-rgb (/ 132 255) (/ 12 255) (/ 55 255))
23+
(c:paint)
24+
(c:set-source-rgb 1 1 1)
25+
(c:set-font-size 16)
26+
(loop for x from 10 to 300 by 100
27+
do
28+
(loop for y from 20 to 500 by 20
29+
do
30+
(c:move-to x y)
31+
(c:show-text "I, PANIC"))
32+
))
33+
1334
(defun internal-draw ()
1435
"default drawing function, user should defun `draw'"
15-
(cond
16-
((fboundp 'draw) (funcall 'draw) (setf *calm-redraw* nil))
17-
((fboundp 'draw-once) (funcall 'draw-once) (setf *calm-redraw* nil))
18-
((fboundp 'draw-forever) (funcall 'draw-forever))
19-
(t
20-
(c:set-source-rgb (/ 12 255) (/ 55 255) (/ 132 255))
21-
(c:paint)
22-
(c:set-source-rgb 1 1 1)
23-
(c:move-to 30 100)
24-
(c:set-font-size 84)
25-
(c:show-text "DON'T PANIC"))))
36+
(handler-case
37+
(cond
38+
((fboundp 'draw) (funcall 'draw) (setf *calm-redraw* nil))
39+
((fboundp 'draw-once) (funcall 'draw-once) (setf *calm-redraw* nil))
40+
((fboundp 'draw-forever) (funcall 'draw-forever))
41+
(t (default-draw)))
42+
(error (c)
43+
(if *calm-debug-enabled*
44+
(invoke-debugger c)
45+
(progn
46+
(format t "Caught an error: ~a~%" c)
47+
(error-draw))))))
2648

2749
(defun internal-think ()
2850
"default thinking function, user should defun `think'

src/config.lisp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
(defparameter *calm-default-font-family* "Arial")
2020

2121
;; debug variable
22+
(defparameter *calm-debug-enabled* nil)
2223
(defparameter *calm-debug-variable-a* nil)
2324
(defparameter *calm-debug-variable-b* nil)
2425
(defparameter *calm-debug-variable-c* nil)

0 commit comments

Comments
 (0)