Subject: cl-acl-compat: won't compile properly with sbcl
Package: cl-acl-compat
Version: 1.2.42+cvs.2005.07.05-1
Severity: important
Tags: patch

When compiling acl-compat with sbcl 0.9.3.0-2, compilation of
ACL-COMPAT.MP:DISABLE-PROCESS fails with this error:

Symbol "CURRENT-THREAD-ID" not found in the SB-THREAD package.

After looking at the sbcl threads docs it seems that this symbol doesn't
exist anymore. A solution that worked for me was to replace
CURRENT-THREAD-ID with *CURRENT-THREAD*, which is a new SB-THREAD variable.
I've attached a patch with this solution.


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12
Locale: LANG=en_US.UTF-8, LC_CTYPE=el_GR.UTF-8 (charmap=UTF-8)

Versions of packages cl-acl-compat depends on:
ii  cl-ppcre                      1.2.11-1   Portable Regular Express Library 
f
ii  cl-puri                       1.3.1.2-1  Common Lisp Portable URI Library
ii  common-lisp-controller        4.16       This is a Common Lisp source and 
c

cl-acl-compat recommends no packages.

-- no debconf information
--- acl-mp.lisp.bak     2005-08-01 13:19:50.000000000 +0300
+++ acl-mp.lisp 2005-08-06 17:43:40.000000000 +0300
@@ -248,7 +248,7 @@
   ;; TODO: set process-whostate
   ;; Can't figure out how to safely block a thread from a different one
   ;; and handle all the locking nastiness.  So punt for now.
-  (if (eql (sb-thread:current-thread-id) (process-id process))
+  (if (eql sb-thread:*current-thread* (process-id process))
       ;; Keep waiting until we have a reason to run.  GC and other
       ;; things can break a wait prematurely.  Don't know if this is
       ;; expected or not.


Reply via email to