# File mk, line 657
def show_error_and_edit(basename,target)
  File.delete(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 == [""]
      # puts "Messages for file #{f}:".yellow unless f.empty?
      puts messages
    end
  end
  quit if @edit.empty?
  errorfile ||=  @edit;
  errorfile.sub!(/\{.*/,'') # file may have been reported
                            # with {dependencyfiles} attached
  errorfile.sub!(/ +$/,'')
  edit(errorfile,linenum,true) and quit
end