Update of /project/closure/cvsroot/closure/src/gui In directory clnet:/tmp/cvs-serv4927
Modified Files: clim-gui.lisp Log Message: New argument new-process to run-closure, which can be disabled to run closure in a "blocking" mode. Needed for clbuild, which wants to (quit) after the application is done.
--- /project/closure/cvsroot/closure/src/gui/clim-gui.lisp 2007/02/04 15:10:01 1.31 +++ /project/closure/cvsroot/closure/src/gui/clim-gui.lisp 2007/06/30 14:00:04 1.32 @@ -4,7 +4,7 @@ ;;; Created: 2002-07-22 ;;; Author: Gilbert Baumann gilbert@base-engineering.com ;;; License: MIT style (see below) -;;; $Id: clim-gui.lisp,v 1.31 2007/02/04 15:10:01 dlichteblau Exp $ +;;; $Id: clim-gui.lisp,v 1.32 2007/06/30 14:00:04 dlichteblau Exp $ ;;; --------------------------------------------------------------------------- ;;; (c) copyright 2002 by Gilbert Baumann
@@ -28,6 +28,11 @@ ;;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; $Log: clim-gui.lisp,v $ +;; Revision 1.32 2007/06/30 14:00:04 dlichteblau +;; New argument new-process to run-closure, which can be disabled to run +;; closure in a "blocking" mode. Needed for clbuild, which wants to (quit) +;; after the application is done. +;; ;; Revision 1.31 2007/02/04 15:10:01 dlichteblau ;; Tabbed browsing. ;; @@ -587,7 +592,7 @@ (clim-sys:process-wait "Waiting for closure init" (lambda () *closure-inited-p*)))))
-(defun run-closure () +(defun run-closure (&key (new-process t)) ;; Care for proxy (let* ((proxy (glisp:getenv "http_proxy")) (url (and proxy (url:parse-url proxy)))) @@ -618,17 +623,20 @@ :huge 24)) (gui::init-closure) ;; - (setf *closure-process* - (clim-sys:make-process - (lambda () - (unwind-protect - (progn - (setf *frame* (make-application-frame 'closure)) - (setf *pane* nil) - (run-frame-top-level *frame*)) - (ignore-errors (ws/netlib::commit-cache)) - (setf *closure-process* nil))) - :name "Closure"))) + (flet ((run-frame () + (unwind-protect + (progn + (setf *frame* (make-application-frame 'closure)) + (setf *pane* nil) + (run-frame-top-level *frame*)) + (ignore-errors (ws/netlib::commit-cache)) + (setf *closure-process* nil)))) + (cond (new-process + (setf *closure-process* + (clim-sys:make-process #'run-frame :name "Closure"))) + (t + (setf *closure-process* (clim-sys:current-process)) + (run-frame)))))
(defun write-status (string) (window-clear (find-pane-named *frame* 'status))