#!/usr/bin/ruby # scan history def usage STDERR.print "usage: scanhist -h HISTORY ML-archive1 ML-archive2 ...\n" exit 1 end def html_quote(s) s.gsub!(/&/,"&") s.gsub!(//,">") s end if ARGV.size == 0 then usage end histfile = nil while ARGV[0] =~ /^-/ case ARGV.shift when "-h" histfile = ARGV.shift else usage end end if histfile.nil? then usage end patched = {} histline = {} f = open(histfile) while f.gets if /Subject: (\[w3m-dev.*\])/ then patched[$1] = true histline[$1] = $. end end f.close archive = {} subject = nil for fn in ARGV f = open(fn) while f.gets if /^From / then # beginning of a mail subject = nil elsif subject.nil? and /^Subject: / then $_ =~ /Subject: (\[w3m-dev.*\])/ subject = $1 archive[subject] = [$_.chop.sub(/^Subject:\s*/,""),false,fn+"#"+($.).to_s] elsif /^\+\+\+/ or /\*\*\*/ or /filename=.*(patch|diff).*/ or /^begin \d\d\d/ archive[subject][1] = true end end f.close end print "w3m patch configuration\n\n" print "
\n"
for sub in archive.keys.sort
  a = archive[sub]
  if a[1] then
    if patched[sub] then
      print "[+]"
    else
      print "[-]"
    end
    print ""
    print "",html_quote(a[0]),"\n"
  else
    if patched[sub] then
      print "[o]"
    else
      print "   "
    end
    print ""
    print "",html_quote(a[0]),"\n"
  end
end
print "
\n"