run-program: proper handling of :if-input-does-not-exist NIL.
[sbcl.git] / src / code / cas.lisp
index 9fcb006..04f6aa2 100644 (file)
@@ -8,7 +8,9 @@
 ;;;; DEFCAS, and #'(CAS ...) functions -- making things mostly isomorphic with
 ;;;; SETF.
 
-(defglobal **cas-expanders** (make-hash-table :test #'eq :synchronized t))
+(defglobal **cas-expanders** (make-hash-table :test #'eq
+                                              #-sb-xc-host #-sb-xc-host
+                                              :synchronized t))
 
 (define-function-name-syntax cas (list)
   (destructuring-bind (cas symbol) list
@@ -42,12 +44,21 @@ EXPERIMENTAL: Interface subject to change."
 
 (defun get-cas-expansion (place &optional environment)
   #!+sb-doc
-  "Analogous to GET-SETF-EXPANSION. Return six values needed by the CAS
-machinary: a list of temporary variables, a list of values to which they must
-be bound, a temporary variable for the old value of PLACE, a temporary value
-for the new value of PLACE, a form using the aforementioned temporaries
-which performs the compare-and-swap operation, and a form using the aforementioned
-temporaries with which to perform a volatile read of the place.
+  "Analogous to GET-SETF-EXPANSION. Returns the following six values:
+
+ * list of temporary variables
+
+ * list of value-forms whose results those variable must be bound
+
+ * temporary variable for the old value of PLACE
+
+ * temporary variable for the new value of PLACE
+
+ * form using the aforementioned temporaries which performs the
+   compare-and-swap operation on PLACE
+
+ * form using the aforementioned temporaries with which to perform a volatile
+   read of PLACE
 
 Example: