parameters: (self)
docstring: undo (repeatedly) the last turtle action.
  
          No argument.
  
          undo (repeatedly) the last turtle action.
          Number of available undo actions is determined by the size of
          the undobuffer.
  
          Example (for a Turtle instance named turtle):
          >>> for i in range(4):
          ...     turtle.fd(50); turtle.lt(80)
          ...
          >>> for i in range(8):
          ...     turtle.undo()
          ...
docstring_summary: undo (repeatedly) the last turtle action.
docstring_tokens: undo ( repeatedly ) the last turtle action .
function: def undo(self):
          """undo (repeatedly) the last turtle action.
  
          No argument.
  
          undo (repeatedly) the last turtle action.
          Number of available undo actions is determined by the size of
          the undobuffer.
  
          Example (for a Turtle instance named turtle):
          >>> for i in range(4):
          ...     turtle.fd(50); turtle.lt(80)
          ...
          >>> for i in range(8):
          ...     turtle.undo()
          ...
          """
          if self.undobuffer is None:
              return
          item = self.undobuffer.pop()
          action = item[0]
          data = item[1:]
          if action == "seq":
              while data:
                  item = data.pop()
                  self._undo(item[0], item[1:])
          else:
              self._undo(action, data)
function_tokens: def undo ( self ) : if self . undobuffer is None : return item = self . undobuffer . pop ( ) action = item [ 0 ] data = item [ 1 : ] if action == "seq" : while data : item = data . pop ( ) self . _undo ( item [ 0 ] , item [ 1 : ] ) else : self . _undo ( action , data )