=== modified file 'bin/sup-add' --- bin/sup-add 2007-06-04 04:32:29 +0000 +++ bin/sup-add 2007-09-07 07:11:43 +0000 @@ -18,7 +18,6 @@ For mbox files on local disk, use the form: mbox:, or - mbox:// For mbox files on remote machines, use the form: mbox+ssh:/// @@ -31,7 +30,6 @@ For Maildir folders, use the form: maildir:; or - maildir:// Options are: EOS @@ -93,7 +91,7 @@ end parsed_uri = URI(uri) - Trollop::die "no path component to uri: #{parsed_uri}" unless parsed_uri.path + Trollop::die "no path component to uri: #{parsed_uri}" unless parsed_uri.path or parsed_uri.opaque source = case parsed_uri.scheme === modified file 'lib/sup/maildir.rb' --- lib/sup/maildir.rb 2007-06-03 22:00:24 +0000 +++ lib/sup/maildir.rb 2007-09-07 17:55:47 +0000 @@ -14,7 +14,7 @@ yaml_properties :uri, :cur_offset, :usual, :archived, :id, :labels def initialize uri, last_date=nil, usual=true, archived=false, id=nil, labels=[] super uri, last_date, usual, archived, id - uri = URI(uri) + uri = Source.expand_uri uri raise ArgumentError, "not a maildir URI" unless uri.scheme == "maildir" raise ArgumentError, "maildir URI cannot have a host: #{uri.host}" if uri.host === modified file 'lib/sup/mbox/loader.rb' --- lib/sup/mbox/loader.rb 2007-07-04 04:02:25 +0000 +++ lib/sup/mbox/loader.rb 2007-09-07 18:45:33 +0000 @@ -14,7 +14,7 @@ case uri_or_fp when String - uri = URI(uri_or_fp) + uri = Source.expand_uri uri_or_fp raise ArgumentError, "not an mbox uri" unless uri.scheme == "mbox" raise ArgumentError, "mbox uri ('#{uri}') cannot have a host: #{uri.host}" if uri.host @f = File.open uri.path === modified file 'lib/sup/source.rb' --- lib/sup/source.rb 2007-07-04 04:02:25 +0000 +++ lib/sup/source.rb 2007-09-07 17:50:31 +0000 @@ -96,6 +96,16 @@ protected + def Source.expand_uri uri + u = URI(uri) + if u.opaque + o = u.opaque + u.opaque = nil + u.path = File.expand_path(o) + end + u + end + def cur_offset= o @cur_offset = o @dirty = true