def prepare_line_annotation(expr, idx, multi_line=false)
v = "#{VAR}"
blocal = "__#{VAR}"
blocal2 = "___#{VAR}"
lastmatch = "____#{VAR}"
if multi_line
pp = safe_require_code "pp"
result = "((begin; #{lastmatch} = $~; PP.pp(#{v}, '', #{@width-5}).gsub(/\\r?\\n/, 'PPPROTECT'); ensure; $~ = #{lastmatch} end))"
else
pp = ''
result = "#{v}.inspect"
end
oneline_ize("\#{pp}\n\#{v} = (\#{expr})\n$stderr.puts(\"\#{MARKER}[\#{idx}] => \" + \#{v}.class.to_s + \" \" + \#{result}) || begin\n$stderr.puts local_variables\nlocal_variables.each{|\#{blocal}|\n\#{blocal2} = eval(\#{blocal})\nif \#{v} == \#{blocal2} && \#{blocal} != %\003\#{expr}\003.strip\n$stderr.puts(\"\#{MARKER}[\#{idx}] ==> \" + \#{blocal})\nelsif [\#{blocal2}] == \#{v}\n$stderr.puts(\"\#{MARKER}[\#{idx}] ==> [\" + \#{blocal} + \"]\")\nend\n}\nnil\nrescue Exception\nnil\nend || \#{v}\n").chomp
end