docs: def executeCommand(self, command):
          """
          Executes the inputed command in the global scope.
          
          :param      command | <unicode>
          
          :return     <variant>
          """
          if not command.strip():
              return self.waitForInput()
          
          # store the current block
          self._history.append(command)
          self._currentHistoryIndex = len(self._history)
          
          lines = []
          for line in command.split('\n'):
              line = re.sub('^>>> ', '', line)
              line = re.sub('^\.\.\. ', '', line)
              lines.append(line)
          
          command = '\n'.join(lines)
          
          # ensure we are at the end
          self.moveCursor(QTextCursor.End)
          self.scrollToEnd()
          self.insertPlainText('\n')
          cmdresult = None
          
          try:
              cmdresult = eval(command, self.scope(), self.scope())
          
          except SyntaxError:
              exec(command) in self.scope(), self.scope()
          
          else:
              if cmdresult is not None:
                  # check to see if the command we executed actually caused
                  # the destruction of this object -- if it did, then
                  # the commands below will error
                  if self.isDestroyed():
                      return
                  
                  try:
                      result = projex.text.nativestring(repr(cmdresult))
                  except:
                      result = '<<< error formatting result to utf-8 >>>'
                  
                  self.information(result)
          
          finally:
              self.waitForInput()