0.9.9.27:
[sbcl.git] / src / compiler / meta-vmdef.lisp
index 3d5dfef..41270d2 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
 ;;; beginning with T specifies a default. If it appears, it must be
 ;;; last. If no default is specified, and no clause matches, then an
 ;;; error is signalled.
-(def!macro sc-case (tn &rest forms)
+(def!macro sc-case (tn &body forms)
   (let ((n-sc (gensym))
         (n-tn (gensym)))
     (collect ((clauses))