# File lib/gettext/tools.rb, line 57
  def msgmerge(defpo, refpo, app_version, options={})
    verbose = options.delete(:verbose)
    puts "msgmerge called" if verbose
    $stderr.print defpo + " "

    content = merge_po_files(defpo,refpo,options.delete(:msgmerge),verbose)
    
    if content.empty?
      # report failure
      failed_filename = refpo + "~"
      FileUtils.cp(refpo, failed_filename)
      $stderr.puts _("Failed to merge with %{defpo}") % {:defpo => defpo}
      $stderr.puts _("New .pot was copied to %{failed_filename}") %{:failed_filename => failed_filename}
      raise _("Check these po/pot-files. It may have syntax errors or something wrong.")
    else
      # update version and save merged data
      content.sub!(/(Project-Id-Version\:).*$/, "\\1 #{app_version}\\n\"")
      File.open(defpo, "w") {|f|f.write(content)}
    end
    
    self
  end