environment/lib/python2.7/site-packages/IPython/frontend/qt/console/console_widget.py
def _get_word_start_cursor(self, position):
        """ Find the start of the word to the left the given position. If a
            sequence of non-word characters precedes the first word, skip over
            them. (This emulates the behavior of bash, emacs, etc.)
        """
        document = self._control.document()
        position -= 1
        while position >= self._prompt_pos and \
                  not is_letter_or_number(document.characterAt(position)):
            position -= 1
        while position >= self._prompt_pos and \
                  is_letter_or_number(document.characterAt(position)):
            position -= 1
        cursor = self._control.textCursor()
        cursor.setPosition(position + 1)
        return cursor
def _get_word_start_cursor(self, position):
        """ Find the start of the word to the left the given position. If a
            sequence of non-word characters precedes the first word, skip over
            them. (This emulates the behavior of bash, emacs, etc.)
        """
        document = self._control.document()
        position -= 1
        while position >= self._prompt_pos and \
                  not is_letter_or_number(document.characterAt(position)):
            position -= 1
        while position >= self._prompt_pos and \
                  is_letter_or_number(document.characterAt(position)):
            position -= 1
        cursor = self._control.textCursor()
        cursor.setPosition(position + 1)
        return cursor
Find the start of the word to the left the given position. If a
            sequence of non-word characters precedes the first word, skip over
            them. (This emulates the behavior of bash, emacs, etc.)