Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-10-31 03:13:46 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-10-31 03:13:46 (GMT)
commit4d6e0ee7eaeda61de245d541ad26c398be540282 (patch)
tree17d76938ec879098572fd3d4593c942f7f28284b /TurtleArt
parent5d2e211ec8bf54a984b803f90a4de7f9a6bd1fbd (diff)
fix problem with int stack names
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tabasics.py7
-rw-r--r--TurtleArt/talogo.py7
-rw-r--r--TurtleArt/tautils.py2
3 files changed, 10 insertions, 6 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py
index a80b3ae..ce84a49 100644
--- a/TurtleArt/tabasics.py
+++ b/TurtleArt/tabasics.py
@@ -1039,11 +1039,11 @@ buttons'))
self.tw.lc.def_prim(
'nop3', 1,
Primitive(self.tw.lc.prim_define_stack,
- arg_descs=[ArgSlot(TYPE_STRING)]))
+ arg_descs=[ArgSlot(TYPE_OBJECT)]))
primitive_dictionary['stack'] = Primitive(
self.tw.lc.prim_invoke_stack,
- arg_descs=[ArgSlot(TYPE_STRING)])
+ arg_descs=[ArgSlot(TYPE_OBJECT)])
palette.add_block('stack',
style='basic-style-1arg',
label=_('action'),
@@ -1052,7 +1052,8 @@ buttons'))
logo_command='action',
default=_('action'),
help_string=_('invokes named action stack'))
- self.tw.lc.def_prim('stack', 1, primitive_dictionary['stack'], True)
+ self.tw.lc.def_prim('stack', 1,
+ primitive_dictionary['stack'], True)
palette.add_block('storeinbox1',
hidden=True,
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py
index a0d12c2..2b297ef 100644
--- a/TurtleArt/talogo.py
+++ b/TurtleArt/talogo.py
@@ -818,8 +818,11 @@ class LogoCode:
return name
else:
# make sure '5' and '5.0' point to the same action stack
- if isinstance(name, (int, long)):
- name = float(name)
+ if isinstance(name, (int, long, float)):
+ if int(name) == name:
+ name = int(name)
+ else:
+ name = float(name)
return 'stack3' + str(name)
def load_heap(self, path):
diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py
index 634ee01..ef80877 100644
--- a/TurtleArt/tautils.py
+++ b/TurtleArt/tautils.py
@@ -819,7 +819,7 @@ def get_stack_name(blk):
return 'stack2'
elif top_block.name == 'hat':
try:
- return top_block.connections[1].values[0]
+ return str(top_block.connections[1].values[0])
except (AttributeError, TypeError, IndexError):
# AttributeError: t_b has no attribute 'connections' or t_b.c[1]
# has no attribute 'value'