diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-10-23 22:26:27 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-10-23 22:26:27 (GMT) |
commit | 2e0ed7253e7000fbf7bc4cad9ba7f68354cb6003 (patch) | |
tree | efa0ab4c7957bd815f91907dd3f3317ce769ca2f | |
parent | 206e2a3988249ecdd9f73d56730693020b9331e0 (diff) |
show value of top of stack in pop block
-rw-r--r-- | TurtleArt/talogo.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index dd41bd6..fb7e206 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -43,7 +43,7 @@ from tautils import get_pixbuf_from_journal, movie_media_type, convert, \ from gettext import gettext as _ VALUE_BLOCKS = ['box1', 'box2', 'color', 'shade', 'gray', 'scale', 'pensize', - 'heading', 'xcor', 'ycor'] + 'heading', 'xcor', 'ycor', 'pop'] import logging _logger = logging.getLogger('turtleart-activity') @@ -1099,13 +1099,18 @@ class LogoCode: def prim_push(self, val): """ Push value onto FILO """ self.heap.append(val) + self._update_label_value('pop', val) def prim_pop(self): """ Pop value off of FILO """ - try: - return self.heap.pop(-1) - except: + if len(self.heap) == 0: raise logoerror("#emptyheap") + else: + if len(self.heap) == 1: + self._update_label_value('pop') + else: + self._update_label_value('pop', self.heap[-2]) + return self.heap.pop(-1) def empty_heap(self): """ Empty FILO """ |