def next_match char
      data = get_content
      row = focussed_index + 1
      row.upto(data.length-1) do |ix|
        #val = data[ix].chomp rescue return  # 2010-01-05 15:28 crashed on trueclass
        val = data[ix].to_s rescue return  # 2010-01-05 15:28 crashed on trueclass
        #if val[0,1] == char #and val != currval
        if val[0,1].casecmp(char) == 0 #AND VAL != CURRval
          return ix
        end
      end
      row = focussed_index - 1
      0.upto(row) do |ix|
        #val = data[ix].chomp
        val = data[ix].to_s
        #if val[0,1] == char #and val != currval
        if val[0,1].casecmp(char) == 0 #and val != currval
          return ix
        end
      end
      return -1
    end
def next_match char
      data = get_content
      row = focussed_index + 1
      row.upto(data.length-1) do |ix|
        #val = data[ix].chomp rescue return  # 2010-01-05 15:28 crashed on trueclass
        val = data[ix].to_s rescue return  # 2010-01-05 15:28 crashed on trueclass
        #if val[0,1] == char #and val != currval
        if val[0,1].casecmp(char) == 0 #AND VAL != CURRval
          return ix
        end
      end
      row = focussed_index - 1
      0.upto(row) do |ix|
        #val = data[ix].chomp
        val = data[ix].to_s
        #if val[0,1] == char #and val != currval
        if val[0,1].casecmp(char) == 0 #and val != currval
          return ix
        end
      end
      return -1
    end
finds the next match for the char pressed
 returning the index
 If we are only checking first char, then why chomp ?
 Please note that this is used now by tree, and list can have non-strings, so use to_s