[mcclim-devel] a patch for mcclim/Lisp-Dep/mp-acl.lisp

Max-Gerd Retzlaff m.retzlaff at gmx.net
Thu Oct 13 15:13:40 UTC 2005


Hello,

what do you think about this patch for mcclim/Lisp-Dep/mp-acl.lisp?

Index: mp-acl.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Lisp-Dep/mp-acl.lisp,v
retrieving revision 1.5
diff -a -u -r1.5 mp-acl.lisp
--- mp-acl.lisp 10 Mar 2004 12:03:45 -0000      1.5
+++ mp-acl.lisp 13 Oct 2005 15:25:07 -0000
@@ -30,8 +30,24 @@
 (eval-when (:load-toplevel :compile-toplevel :execute)
   (pushnew :clim-mp *features*))
 
+#+nil
 (defun make-process (function &key name)
   (mp:process-run-function name function))
+
+;; In ACL each process has its own dynamic enviroment,
+;; therefore a special binding doesn't affect the global binding of
+;; the variable and the new process doesn't see that special binding.
+;; In other words:
+;;    (let ((*debugger-hook* #'clim-debugger:debugger))
+;;      (clim-listener::run-listener :new-process t))
+;; does not work, if *debugger-hook* is not explicitly bound to
+;; the current special binding for the new process.
+;; mgr, 20050706
+(defun make-process (function &key name)
+  (mp:process-run-function `(:name ,name
+                             :initial-bindings ((*debugger-hook* . ,*debugger-hook*)
+                                                , at excl:*cl-default-special-bindings*))
+                           function))
 
 (defun destroy-process (process)
   (mp:process-kill process))

Regards,
Max

-- 
Max-Gerd Retzlaff <m.retzlaff at gmx.net>

For your amusement:
You're currently going through a difficult transition period called "Life."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20051013/985607a0/attachment.sig>


More information about the mcclim-devel mailing list