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.