[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