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.