[Bese-devel] Two problems with CMUCL HEAD 2005-08-26 (19b) in UCW and ARNESI (dev)

Mac Chan emailmac at gmail.com
Sat Aug 27 07:11:27 UTC 2005


On 26 Aug 2005 23:10:11 -0300, Fabricio Chalub wrote:
> I'm trying UCW (latest dev repositories, etc.) on CMUCL HEAD
> (2005-08-26) (19b) and am having two different problems; the first is
> with the actual compilation of UCW per se and an attempt in fixing it is
> provided, while the second is in one of the examples.

Marco was kind enough to walk me thru these two problems on irc yesterday.
I'm not sure if this is a complete fix but here you go:


arnesi_dev diff

Index: src/call-cc/generic-functions.lisp
===================================================================
--- src/call-cc/generic-functions.lisp  (revision 203)
+++ src/call-cc/generic-functions.lisp  (working copy)
@@ -127,11 +127,11 @@
           ((or required-function-argument-form
                specialized-function-argument-form)
            (push (name arg) generic-lambda-list))
-          (keyword-function-argument-form
-           (pushnew '&key generic-lambda-list)
-           (push (list (list (keyword-name arg)
-                             (name arg)))
-                 generic-lambda-list))
+          
+                 (keyword-function-argument-form 
+                  (pushnew '&key generic-lambda-list) 
+                  (push (list (keyword-name arg)) generic-lambda-list))
+
           (rest-function-argument-form
            (push '&rest generic-lambda-list)
            (push (name arg) generic-lambda-list))
Index: src/lexenv.lisp
===================================================================
--- src/lexenv.lisp     (revision 203)
+++ src/lexenv.lisp     (working copy)
@@ -126,6 +126,9 @@
                   (eql 'system:macro (second func-spec)))
        ;; except that we don't return macros for now
        do (progn)
+       ;; sometimes, oddly, we get (NAME DEF) 
+       else if (symbolp (first func-spec)) 
+               collect (first func-spec)
      ;; if we get here we're confused :(
      else
        do (error "Sorry, don't know how to handle the lexcial
function spec ~S."




Also, here are some minor fixes for cmucl 

ucw_dev diff

Index: src/control.lisp
===================================================================
--- src/control.lisp    (revision 203)
+++ src/control.lisp    (working copy)
@@ -1,4 +1,4 @@
-(in-package :ucw)
+(in-package :it.bese.ucw)
 
 (defun threaded-lisp-p ()
   #+(and sbcl sb-thread) t
Index: bin/start.lisp
===================================================================
--- bin/start.lisp      (revision 203)
+++ bin/start.lisp      (working copy)
@@ -2,6 +2,19 @@
 
 (in-package :common-lisp-user)
 
+#+cmu
+(defun init-cmu-mp ()
+  ;; this isn't strictly necessary, but scheduling feels very coarse
+  ;; without startup-idle-and-top-level-loops, leading to answer delays
+  ;; of about 1s per request.
+  (unless (find-if
+           #'(lambda (proc) (string= (mp:process-name proc) "Top Level Loop"))
+           (mp:all-processes))
+    (mp::startup-idle-and-top-level-loops)))
+
+#+cmu
+(init-cmu-mp)
+
 ;;;; * UCW server initialization "script" 
 
@@ -66,6 +79,9 @@
 
 (register-application *default-server* ucw::*admin-application*)
 
+#+cmu
+(defparameter swank:*communication-style* :spawn)
+



More information about the bese-devel mailing list