def get_term_capabilities(buffer)
hash = {}
`infocmp -C`.split(':').select{|x| x =~ /(.*)=(.*)/ and hash[$1]=$2.gsub('\\E',"\e").gsub(/\^(.)/){($1[0].ord ^ ((?a..?z).include?($1[0]) ? 0x60 : 0x40)).chr}}
@_rl_term_at7 = hash["@7"]
@_rl_term_DC = hash["DC"]
@_rl_term_IC = hash["IC"]
@_rl_term_clreol = hash["ce"]
@_rl_term_clrpag = hash["cl"]
@_rl_term_cr = hash["cr"]
@_rl_term_dc = hash["dc"]
@_rl_term_ei = hash["ei"]
@_rl_term_ic = hash["ic"]
@_rl_term_im = hash["im"]
@_rl_term_kD = hash["kD"]
@_rl_term_kH = hash["kH"]
@_rl_term_kI = hash["kI"]
@_rl_term_kd = hash["kd"]
@_rl_term_ke = hash["ke"]
@_rl_term_kh = hash["kh"]
@_rl_term_kl = hash["kl"]
@_rl_term_kr = hash["kr"]
@_rl_term_ks = hash["ks"]
@_rl_term_ku = hash["ku"]
@_rl_term_backspace = hash["le"]
@_rl_term_mm = hash["mm"]
@_rl_term_mo = hash["mo"]
@_rl_term_forward_char = hash["nd"]
@_rl_term_pc = hash["pc"]
@_rl_term_up = hash["up"]
@_rl_visible_bell = hash["vb"]
@_rl_term_vs = hash["vs"]
@_rl_term_ve = hash["ve"]
@tcap_initialized = true
end