# File mk, line 610
def show_error_and_edit(basename,target)
  rm(target) if File.exist?(target) && ! @edit.empty?
  errorfile,linenum,message = texlog_extract(basename + '.log',@warnings_to_skip)
  message.sort.reverse.each do |f, messages|
    unless messages == [""]
      messages.unshift("Messages for file #{f}:".fil) unless f.empty?
      puts messages.join(@sep)
    end
  end
  quit if @edit.empty?
  errorfile ||=  @edit;
  errorfile.sub!(/\{.*/,'') # file may have been reported
                            # with {dependencyfiles} attached
  errorfile.sub!(/ +$/,'')
  if errorfile =~ /\.bbl$/
    rm(errorfile)
    edit(bib_dep(basename)[0],1,true)
  else
    edit(errorfile,linenum,true) and quit
  end
end