0.9.3.26:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 4 Aug 2005 09:31:42 +0000 (09:31 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 4 Aug 2005 09:31:42 +0000 (09:31 +0000)
Fix package locks / vops interaction (Zach Beane sbcl-devel
2005-07-24)
... just WITHOUT-PACKAGE-LOCKS.

NEWS
src/compiler/meta-vmdef.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index a69682a..4a3b2b9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,17 +6,19 @@ changes in sbcl-0.9.4 relative to sbcl-0.9.3:
     with non-standard methods for COMPUTE-APPLICABLE-METHODS no longer
     make invalid assumptions about method precedence order.  (reported
     by Bruno Haible)
+  * bug fix: degree sign (<U00B0>) could not be encoded in KOI8-R.
+  * bug fix: correct pathname printing with printer escaping is on.
+    (thanks to Kevin Reid)
+  * bug fix: complex VOP definitions in "user-space" no longer trigger
+    package locks.  (reported by Zach Beane)
   * optimizations: REMOVE-DUPLICATES now runs in linear time on
     lists in some cases.  This partially fixes bug 384.
   * flush all standard streams before prompting in the REPL and the
-    debugger
-  * eof selects abort in the debugger
+    debugger.
+  * minor incompatible change: eof selects abort in the debugger.
   * minor incompatible change: *INVOKE-DEBUGGER-HOOK* is run before
     *DEBUGGER-HOOK* => *DEBUGGER-HOOK* is not run when the debugger
-    is disabled
-  * bug fix: degree sign (<U00B0>) could not be encoded in KOI8-R.
-  * bug fix: correct pathname printing with printer escaping is on.
-    (thanks to Kevin Reid)
+    is disabled.
   * threads
     ** bug fix: release-foreground doesn't choke on session lock if
        there is only one thread in the session
index 3d5dfef..5515de7 100644 (file)
 \f
 (defvar *parse-vop-operand-count*)
 (defun make-operand-parse-temp ()
-  ;; FIXME: potentially causes breakage in contribs from locked
-  ;; packages.
-  (intern (format nil "OPERAND-PARSE-TEMP-~D" *parse-vop-operand-count*)
-          (symbol-package '*parse-vop-operand-count*)))
+  (without-package-locks
+   (intern (format nil "OPERAND-PARSE-TEMP-~D" *parse-vop-operand-count*)
+           (symbol-package '*parse-vop-operand-count*))))
 (defun make-operand-parse-load-tn ()
-  (intern (format nil "OPERAND-PARSE-LOAD-TN-~D" *parse-vop-operand-count*)
-          (symbol-package '*parse-vop-operand-count*)))
+  (without-package-locks
+   (intern (format nil "OPERAND-PARSE-LOAD-TN-~D" *parse-vop-operand-count*)
+           (symbol-package '*parse-vop-operand-count*))))
 
 ;;; Given a list of operand specifications as given to DEFINE-VOP,
 ;;; return a list of OPERAND-PARSE structures describing the fixed
index 3e81dbb..6fe64ba 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.3.25"
+"0.9.3.26"