code: def redo(self):
          ''' Redo the last undone action.
  
          This is only possible if no other actions have occurred since the
          last undo call.
          '''
          if self.canredo():
              undoable = self._redos.pop()
              with self._pausereceiver():
                  try:
                      undoable.do()
                  except:
                      self.clear()
                      raise
                  else:
                      self._undos.append(undoable)
              self.docallback(f redo(self):
          ''' Redo the last undone action.
  
          This is only possible if no other actions have occurred since the
          last undo call.
          '''
          if self.canredo():
              undoable = self._redos.pop()
              with self._pausereceiver():
                  try:
                      undoable.do()
                  except:
                      self.clear()
                      raise
                  else:
                      self._undos.append(undoable)
              self.docallback()
docs: Redo the last undone action.
  
          This is only possible if no other actions have occurred since the
          last undo call.