[clfswm-cvs] r312 - in clfswm: . src

Philippe Brochard pbrochard at common-lisp.net
Sun Sep 5 12:48:00 UTC 2010


Author: pbrochard
Date: Sun Sep  5 08:47:59 2010
New Revision: 312

Log:
with-xlib-protect: Add a with-simple-restart on top of body execution.

Modified:
   clfswm/ChangeLog
   clfswm/src/xlib-util.lisp

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Sun Sep  5 08:47:59 2010
@@ -1,3 +1,8 @@
+2010-09-05  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/xlib-util.lisp (with-xlib-protect): Add a
+	with-simple-restart on top of body execution.
+
 2010-09-04  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/clfswm.lisp (main-loop): Protect all xlib functions with an

Modified: clfswm/src/xlib-util.lisp
==============================================================================
--- clfswm/src/xlib-util.lisp	(original)
+++ clfswm/src/xlib-util.lisp	Sun Sep  5 08:47:59 2010
@@ -67,7 +67,7 @@
 (defmacro with-xlib-protect (&body body)
   "Prevent Xlib errors"
   `(handler-case
-       (progn
+       (with-simple-restart (top-level "Return to clfswm's top level")
 	 , at body)
      ((or xlib:match-error xlib:window-error xlib:drawable-error) (c)
        (dbg "Ignore Xlib Error" c ',body))))
@@ -150,8 +150,7 @@
 (defun handle-event (&rest event-slots &key event-key &allow-other-keys)
   (with-xlib-protect
     (if (fboundp event-key)
-	(with-simple-restart (top-level "Return to clfswm's top level")
-	  (apply event-key event-slots))
+	(apply event-key event-slots)
 	#+:event-debug (pushnew (list *current-event-mode* event-key) *unhandled-events* :test #'equal)))
   t)
 




More information about the clfswm-cvs mailing list