Update of /project/mcclim/cvsroot/mcclim/Apps/Inspector In directory clnet:/tmp/cvs-serv11584/Apps/Inspector
Modified Files: inspector.lisp Log Message: Added some security to Clouseau to assist in my primitive debugging methods.
--- /project/mcclim/cvsroot/mcclim/Apps/Inspector/inspector.lisp 2008/01/05 12:20:34 1.41 +++ /project/mcclim/cvsroot/mcclim/Apps/Inspector/inspector.lisp 2008/02/03 23:42:01 1.42 @@ -85,10 +85,18 @@ (*print-level* 10)) (run-frame-top-level (make-application-frame 'inspector :obj obj))))) + + (when (typep *application-frame* 'inspector) + (restart-case (error "Clouseau called from inside Clouseau, possibly infinite recursion") + (continue () + :report "Continue by starting a new Clouseau instance") + (abort-clouseau () + :report "Abort this call to Clouseau" + (return-from inspector)))) (if new-process (clim-sys:make-process #'run - :name (format nil "Inspector Clouseau: ~S" - obj)) + :name (format nil "Inspector Clouseau: ~S" + obj)) (run)) obj))
@@ -766,7 +774,8 @@ (frame-exit *application-frame*))
(define-inspector-command (com-inspect :name t) () - (let ((obj (accept t :prompt "Select an object"))) + (let ((obj (accept t :prompt "Select an object")) + (*application-frame* nil)) ; To get around security. (inspector obj :new-process t)))
(define-inspector-command (com-toggle-show-list-cells :name t)