def on_change(self, val):
        if self.in_changes > 0:
            # When we pop back to an old state, we have to replace the search string with what was
            # in effect at that state. We do that by deleting all the text and inserting the value
            # of the search string. This causes this on_change method to be called. We want to
            # ignore it, which is what we're doing here.
            self.in_changes -= 1
            return

        if self.current and self.current.search == val:
            # sometimes sublime calls us when nothing has changed
            return

        self.find(val)
dataset/ETHPy150Open grundprinzip/sublemacspro/jove.py/ISearchInfo.on_change/original