Author: Lars Wassermann <[email protected]>
Branch: 
Changeset: r304:e1d89224e688
Date: 2013-04-21 13:32 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/e1d89224e688/

Log:    changed beCursorWithMask: to also accept forms as argument
        (BE_CURSOR primitive)

diff --git a/spyvm/primitives.py b/spyvm/primitives.py
--- a/spyvm/primitives.py
+++ b/spyvm/primitives.py
@@ -587,9 +587,17 @@
     if argcount == 1:
         # TODO: use mask
         w_mask = s_frame.peek(0)
-        if not isinstance(w_mask, model.W_WordsObject):
+        if isinstance(w_mask, model.W_WordsObject):
+            mask_words = w_mask.words
+        elif isinstance(w_mask, model.W_PointersObject):
+            # mask is a form object
+            w_contents = w_mask.fetch(interp.space, 0)
+            if isinstance(w_contents, model.W_WordsObject):
+                w_mask = w_contents.words
+            else:
+                raise PrimitiveFailedError
+        else:
             raise PrimitiveFailedError()
-        mask_words = w_mask.words
     w_bitmap = w_rcvr.fetch(interp.space, 0)
     if not isinstance(w_bitmap, model.W_WordsObject):
         raise PrimitiveFailedError()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to