(def!macro cas (place old new &environment env)
"Synonym for COMPARE-AND-SWAP.
-Addtionally DEFUN, DEFGENERIC, DEFMETHOD, FLET, and LABELS can be also used to
+Additionally DEFUN, DEFGENERIC, DEFMETHOD, FLET, and LABELS can be also used to
define CAS-functions analogously to SETF-functions:
(defvar *foo* nil)
,new))))
EXPERIMENTAL: Interface subject to change."
- (flet ((invalid-place ()
- (error "Invalid place to CAS: ~S" place)))
(let ((expanded (sb!xc:macroexpand place environment)))
+ (flet ((invalid-place ()
+ (error "Invalid place to CAS: ~S -> ~S" place expanded)))
(unless (consp expanded)
;; FIXME: Allow (CAS *FOO* <OLD> <NEW>), maybe?
(invalid-place))